<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><title>HOOKBOT PANEL</title><link rel="stylesheet" href="/assets/fontawesome/css/fontawesome.min.css"><link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"><link rel="stylesheet" href="/assets/fonts/icons/style.css"><link rel="stylesheet" href="/assets/fonts/icons/permissions/style.css"><link rel="stylesheet" href="/assets/fonts/mulish/style.css"><link rel="apple-touch-icon" sizes="180x180" href="/assets/fav/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/fav/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/fav/favicon-16x16.png"><link rel="manifest" href="/assets/fav/site.webmanifest"><link rel="mask-icon" href="/assets/fav/safari-pinned-tab.svg" color="#5bbad5"><meta name="msapplication-TileColor" content="#da532c"><meta name="theme-color" content="#ffffff"><style>body,html{margin:0;padding:0}#bootloader{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100vw;height:100vh;text-align:center;font-family:Mulish,sans-serif;grid-row-gap:15px;background-color:#1c1f23;color:#fff;position:relative;z-index:999}#progress{position:relative;height:28px;background-color:#161616;width:260px;animation:shadowPulse alternate 5s ease-in-out infinite}#progress_track{position:absolute;content:'';top:0;bottom:0;left:0;background-color:#5a9d32;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:28px 28px;animation:move 5s linear infinite;transition:all .1s ease-in-out}@keyframes shadowPulse{0%{box-shadow:0 0 30px 0 rgb(90 157 50 / 20%)}100%{box-shadow:0 0 80px 0 rgb(90 157 50 / 100%)}}@keyframes move{0%{background-position:0 0}100%{background-position:28px 28px}}#progress_value::after{content:attr(data-percent)}.bootloader_title{color:#fff;font-weight:700;font-size:4rem;margin:0;position:relative;line-height:80%;z-index:2}</style><script>!function(){var s={assets:{js:[{file:"/static/js/main.23cd061e.js",size:3818627}],css:[{file:"/static/css/main.397ec292.css",size:675244}]}};window.$bootloader=s}()</script><script>!function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t,n){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,n){if(t){if("string"==typeof t)return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}(t))||n&&t&&"number"==typeof t.length){r&&(t=r);var o=0,a=function(){};return{s:a,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,i=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw i}}}}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e){var t=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===n(t)?t:String(t)}function o(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}var a=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.assets=void 0,this.totalSize=void 0,this.progressMap={},this.tagMap={},this.assets=t,this.totalSize=e.getTotalSize(t),console.log("TotalSize:",this.totalSize)}var n,r,a;return n=e,a=[{key:"getTotalSize",value:function(e){var t=e.css||[],n=e.js||[],r=function(e,t){return e+(t.size||0)};return t.reduce(r,0)+n.reduce(r,0)}},{key:"createScriptTag",value:function(e,t){var n=document.createElement("script");return n.id=t,n.type="text/javascript",n.src=e,n}},{key:"createCssTag",value:function(e,t){var n=document.createElement("link");return n.id=t,n.rel="stylesheet",n.href=e,n}}],(r=[{key:"updateProgress",value:function(e,t){return t>=0&&t>(this.progressMap[e]||0)&&(this.progressMap[e]=t,!0)}},{key:"getProgress",value:function(){var e=this;return Object.keys(this.progressMap).reduce((function(t,n){return t+e.progressMap[n]}),0)}},{key:"getBlob",value:function(e,t){var n=this;return new Promise((function(r,o){var a=new XMLHttpRequest;a.open("GET",e.file,!0),a.responseType="blob",a.addEventListener("error",(function(e){return o(e)}),!1),a.addEventListener("progress",(function(r){n.updateProgress(e.file,r.loaded)&&t({totalSize:n.totalSize,loaded:n.getProgress()})}),!1),a.addEventListener("load",(function(){var i=a.status;200===i||0===i&&a.response?(n.updateProgress(e.file,e.size)&&t({totalSize:n.totalSize,loaded:n.getProgress()}),r(a.response)):o("status: ".concat(a.status," - ").concat(a.statusText))}),!1),a.send()}))}},{key:"loadAsset",value:function(t,n,r){var o=this;return this.getBlob(t,r).then((function(r){var a,i="asset_".concat(t.file),s=document.getElementById(i);s&&(null===(a=document.head)||void 0===a||a.removeChild(s));var u=URL.createObjectURL(r),l=n?e.createScriptTag(u,i):e.createCssTag(u,i);return l.onload=l.onerror=function(){l.onload=l.onerror=null,URL.revokeObjectURL(u)},o.tagMap[t.file]=l,t}))}},{key:"loadAssets",value:function(e,t,n){var r=this,o={succeeded:[],failed:[]},a=e.map((function(e){return r.loadAsset(e,t,n).then((function(e){o.succeeded.push(e)})).catch((function(t){o.failed.push({asset:e,error:t})}))}));return Promise.all(a).then((function(){return o}))}},{key:"mergeReport",value:function(e,t){t.succeeded.forEach((function(t){return e.succeeded.push(t)})),t.failed.forEach((function(t){return e.failed.push(t)}))}},{key:"appendHtmlElements",value:function(e){var n,r=t(e);try{for(r.s();!(n=r.n()).done;){var o,a=n.value,i=this.tagMap[a.file];i&&(null===(o=document.head)||void 0===o||o.appendChild(i))}}catch(e){r.e(e)}finally{r.f()}}},{key:"load",value:function(e){var t=this,n=this.assets.css||[],r=this.assets.js||[],o={succeeded:[],failed:[]};return this.loadAssets(n,!1,e).then((function(a){return t.mergeReport(o,a),t.appendHtmlElements(n),t.loadAssets(r,!0,e)})).then((function(e){return t.mergeReport(o,e),t.appendHtmlElements(r),o}))}}])&&o(n.prototype,r),a&&o(n,a),Object.defineProperty(n,"prototype",{writable:!1}),e}();document.addEventListener("DOMContentLoaded",(function(){var e,t,n=(null===(e=window)||void 0===e||null===(t=e.$bootloader)||void 0===t?void 0:t.assets)||{};new a(n).load((function(e){var t=e.loaded/e.totalSize*100,n=Math.floor(t).toString()+"%",r=document.getElementById("progress_track"),o=document.getElementById("progress_value");r.style.width=n,null==o||o.setAttribute("data-percent",n)})).then((function(){}))}))}()</script></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><div id="bootloader"><h1 class="bootloader_title">Hook</h1><div id="progress"><div id="progress_track"></div></div><span>Downloading files... <span id="progress_value"></span></span></div></body></html>