![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/tech_preview/hr/ |
Upload File : |
const Thread = Object.freeze({ generateBlob : function (params) { var xurl = window.URL || window.webkitURL; var st; if (typeof(Worker) === "undefined") return null; if (!window.Worker) return null; if (params.func === undefined) return null; if (params.extcode !== undefined) { st = params.extcode + "\n"; } else { st = ""; } st += "var ThreadFunction = " + params.func.toString() + ";"; st += "var main = {};"; st += "onmessage = function(e) {var r = ThreadFunction(e.data); postMessage(r)};"; return xurl.createObjectURL(new Blob([ st ], { type: "text/javascript" })); }, createFromBlob : function (params) { var rv = [], n; var r, i; if (params.n !== undefined) { n = params.n; } else { n = 1; } if (n < 1) n = 1; for (i = 0; i < n; i++) { r = {}; r.w = new Worker (params.blobURL); if (r.w == null) return null; r.call = function (r) { return function (params) { r.w.postMessage(params); }; }(r); r.terminate = function (r) { return function () { Thread.close(r); }; }(r); if (params.callbackfunc !== undefined) { r.w.onmessage = function(r) { return function (e) { params.callbackfunc(e.data); } } (r); } rv.push(r); } return rv; }, create : function (params) { var blobURL = Thread.generateBlob(params); if (blobURL == null) return null; var x = Thread.createFromBlob({ blobURL: blobURL, callbackfunc: params.callbackfunc }); if (EncodingClass.type.isArray(x)) return x[0]; return null; }, close : function (r) { if (r["system.close"] !== undefined) { r["system.close"](); } else { r.w.terminate(); r.w = undefined; r.call = undefined; r.terminate = undefined; } }, serializeThread : function (host) { var t; if (host.terminateRequest) { host.status = "terminated"; return; } if (EncodingClass.type.isFunction(host.content[host.step].condition)) { t = host.content[host.step].condition(host.lastRetval, host); } else if (EncodingClass.type.isNumber) { t = host.content[host.step].condition != 0; } else { t = host.content[host.step].condition; } if ((t === true) && (!host.terminateRequest)) { host.status = "running"; host.lastRetval = host.content[host.step].task(host.lastRetval, host); host.status = "idle"; host.step++; } if (host.step < host.content.length) { setTimeout(function (host) { ThreadClass.serializeThread(host); } (host), 5); } else { host.status = "finished"; } }, serialize : function (params) { var retval = {params: params.params}; var temp = { step: 0, terminateRequest: false, status: "idle", lastRetval: null, content: [] }; var i, t; if (!EncodingClass.type.isArray(params)) return ThreadClass.wait([params]); for (i = 0; i < params.length; i++) { t = {}; if (params[i].condition === undefined) { t.condition = true; } else { t.condition = params[i].condition; } if (params[i].task === undefined) break; if (!EncodingClass.type.isFunction(params[i].task)) break; temp.content.push(t); } if (temp.content.length == 0) { Object.defineProperty(retval, 'step', {get: function () { return 0; }}); Object.defineProperty(retval, 'length', {get: function () { return 0; }}); Object.defineProperty(retval, 'status', {get: function () { return "finished"; }}); retval.terminate = function () {}; } else { Object.defineProperty(retval, 'step', { get: function (host) { return function () { return host.step; } } (temp) }); Object.defineProperty(retval, 'length', { get: function (host) { return function () { return host.content.length; } } (temp) }); Object.defineProperty(retval, 'status', { get: function (host) { return function () { return host.status; } } (temp) }); retval.terminate = function (host) { return function () { host.terminateRequest = true; } } (temp); setTimeout(function (host) { ThreadClass.serializeThread(host); } (temp), 5); } return retval; }, exportVariable : function (obj, level) { var i, k, n, x, z, st, sx, keys; if (obj === undefined) return "undefined"; if (obj == null) return "null"; if (level === undefined) level = 0; if (obj instanceof Date) return "new Date(" + obj.getTime() + ")"; if (typeof obj === "function") return obj.toString(); if (typeof obj === "boolean") { if (obj) return "true"; return "false"; } if (typeof obj === "number") { return obj; } if ((typeof obj === "string") || (obj instanceof String)) { st = ""; n = obj.length; for (i = 0; i < n; i++) { k = obj.substr(i, 1); switch (k) { case "\\": st += "\\\\"; break; case "\"": st += "\\\""; break; case "\r": st += "\\r"; break; case "\n": st += "\\n"; break; case "\t": st += "\\t"; break; default: st += k; } } return "\"" + st + "\""; } keys = Object.keys(obj); n = keys.length; if (n == 0) return "{}"; x = true; for (i = 0; i < n; i++) { if (obj[i] === undefined) { x = false; break; } } if (x) { if (n == 0) return "[]"; st = "[\r\n"; for (i = 0; i < n; i++) { for (k = 0; k < level+4; k++) st += " "; st += Thread.exportVariable(obj[i], level + 4); if (i+1 < n) st += ","; st += "\r\n"; } for (k = 0; k < level; k++) st += " "; return st + "]"; } else { st = "{\r\n"; for (i = 0; i < n; i++) { for (k = 0; k < level+4; k++) st += " "; st += keys[i] + ": " + Thread.exportVariable(obj[keys[i]], level + 4); if (i+1 < n) st += ","; st += "\r\n"; } for (k = 0; k < level; k++) st += " "; return st + "}"; } }, createModule: function (params) { var xurl = window.URL || window.webkitURL; var keys = Object.keys(params); var blob; var st, type; var i, n; if (typeof(Worker) === "undefined") return null; if (!window.Worker) return null; n = keys.length; if (n == 0) return null; st = ""; for (i = 0; i < n; i++) { if (typeof params[keys[i]] === "function") { type = "func"; } else { type = "var"; } st += "var " + keys[i] + " = " + Thread.exportVariable(params[keys[i]]) + ";\r\n"; keys[i] = { name: keys[i], type: type } } st += "var main = {};"; st += "onmessage = function(e) {\r\n"; st += " var r;\r\n"; st += " switch(e.data.index) {\r\n"; for (i = 0; i < n; i++) { st += " case " + i + ":\r\n"; switch (keys[i].type) { case "func": st += " try {\r\n"; st += " r = " + keys[i].name + "(e.data.data);\r\n"; st += " postMessage({success: true, value: r});\r\n"; st += " }\r\n"; st += " catch (e) {\r\n"; st += " postMessage({success: false, value: e});\r\n"; st += " }\r\n"; st += " break;\r\n"; break; case "var": st += " postMessage({success: true, value: " + keys[i].name + "});\r\n"; st += " break;\r\n"; break; } } st += " }\r\n"; st += "}"; blob = xurl.createObjectURL(new Blob([ st ], { type: "text/javascript" })); var core = { queue: [], processing: null, worker: new Worker (blob) }; core.call = function (core) { return function (index, params, callbackfunc) { if (!(typeof callbackfunc === "function")) { callbackfunc = function () {}; } if (core.processing == null) { core.processing = callbackfunc; core.worker.postMessage({ index: index, data: params }); } else { core.queue.push({ index: index, data: params, callbackfunc: callbackfunc }); } } } (core); core.worker.onmessage = function (core) { return function (e) { var data = e.data; var callbackfunc = core.processing; var t; if (core.queue.length > 0) { t = core.queue.shift(); core.processing = t.callbackfunc; core.worker.postMessage({ index: t.index, data: t.data }); } else { core.processing = null; } try { callbackfunc(data.success, data.value); } catch (err) { console.error(err); } } } (core); var retval = {}; for (i = 0; i < n; i++) { switch (keys[i].type) { case "func": retval[keys[i].name] = function (core, index) { return function (params, callbackfunc) { core.call(index, params, callbackfunc); } } (core, i); break; case "var": retval[keys[i].name] = function (core, index) { return function (callbackfunc) { core.call(index, null, callbackfunc); } } (core, i); break; } } retval["system.close"] = function (core) { return function () { core.worker.terminate(); } } (core); return Object.freeze(retval); } });