/*
***************************************************************************
* nProtect Online Security, 1.6.0
*
* For more information on this product, please see
* http://www.inca.co.kr / http://www.nprotect.com
*
* Copyright (c) INCA Internet Co.,Ltd All Rights Reserved.
*
* 본 코드에 대한 모든 권한은 (주)잉카인터넷에게 있으며 동의없이 사용/배포/가공할 수 없습니다.
*
***************************************************************************
*/
var nua = navigator.userAgent;
var ad = {
hE : 1,
cG : 2,
bb : 3,
fJ : 1,
jt : 2,
Ix : "__E2E_RESULT__",
wG : "__E2E_UNIQUE__",
jd : "__E2E_KEYPAD__",
k5 : "1.6.0",
Qd : "20151221100736188"
};
var uV = {
dV : {
Fz : "/emwp/jsp/cgg/nppfs.install.jsp",
Gf : "/pluginfree/jsp/nppfs.key.jsp",
zf : "/pluginfree/jsp/nppfs.remove.jsp",
eP : "/pluginfree/jsp/nppfs.ready.jsp",
zo : "/pluginfree/jsp/nppfs.keypad.jsp",
cM : "https://supdate.nprotect.net/nprotect/nos_service/nos.service",
dZ : "https",
gE : "pfs.nprotect.com",
fb : 14430,
l5 : 14440,
Cc : 10,
iI : "",
dk : ad.fJ,
kK : 300,
Ux : 100,
Qa : 15
},
ki : {
FW : false,
SK : true,
FD : false,
KV : false
}
};
var N = {
m02 : "[nProtect Online Security] 모듈을 찾을 수 없습니다. 접속경로를 확인하시거나 관리자에게 문의하십시오.",
m03 : 'Microsoft IE7 이하 브라이저에서는 입력 form 양식에 div[class="%p%"] 항목이 필요합니다.',
m04 : "서버에서 키값을 받을 수 없습니다. 키발급 경로를 확인하거나 지속적으로 문제 발생시 서버관리자에게 문의하십시오.",
m09 : "보안프로그램에서 개발자도구나 디버그도구를 탐지하였습니다.\n보안을 위하여 현재 페이지를 다시 호출합니다.",
m10 : "보안프로그램과의 연결이 원활하지 않습니다. 지속적으로 발생시 관리자에게 문의하십시오.",
m13 : "쿠키에 저장된 호스트(%h%)와 포트(%p%)가 있습니다. 이 호스트와 포트를 검사합니다.",
m14 : "사용 가능한 호스트(%h%)와 포트(%p%)를 찾았습니다. 이 호스트와 포트를 사용합니다.",
m15 : "업데이트 모듈이 실행중인 상태입니다.",
m24 : "초기 활성화된 객체(%p%)를 다시 활성화시킵니다.",
m25 : "초기 활성화된 객체(%p%)를 찾았습니다. 키보드보안 초기화 후에 다시 활성화시킵니다.",
m27 : "단말정보수집을 위한 [form] 필드가 존재하지 않습니다. 초기화값을 다시 확인하여 주십시오.",
m28 : "단말정보수집 모듈 초기화에 성공하였습니다.",
m29 : "단말정보수집 모듈을 초기화할 수 없습니다.",
m30 : "서버에서 키값을 얻어올 수 없습니다. 서버의 상태 또는 접속경로를 확인하여 주십시오.",
m31 : 'Microsoft IE7 이하 브라이저에서는 입력 form(%p1%) 양식에 div[class="%p2%"] 항목이 필요합니다.',
m38 : "개발자도구의 단축키는 사용할 수 없습니다.",
m39 : "오른쪽 마우스는 사용할 수 없습니다.",
m40 : "현재의 브라우저는 Ajax를 지원하지 않습니다.",
m43 : "추가하려는 항목의 상위객체를 찾을 수 없습니다.",
m44 : "생성하려는 입력양식과 값의 개수가 일치하지 않습니다.",
m46 : "한글키패드는 암호입력양식에서 사용할 수 없습니다. 암호입력양식에서는 숫자/문자형키패드만 지원합니다.",
m47 : "동적 확장은 10개까지 가능합니다. 동적 필드 로직을 10개 이하로 구성하십시오."
};
var pc_1 = 0;
var Mc = {
dB : new Date(),
info : function(a) {
this.print(a, "blue")
},
log : function(a) {
this.print(a, "black")
},
error : function(a) {
this.print(a, "red")
},
split : function() {
var a = [];
for (var b = 0; b < 80; b++) {
a.push("-")
}
this.print(a.join(""), "#ddd")
},
reset : function() {
this.dB = new Date()
},
dateText : function(a) {
if (L.au(a)) {
a = new Date()
}
return L.ep(a, "HH:mm:ss ms")
},
print : function(b, a) {
if (L.bn(b)) {
return
}
if (L.bn(a)) {
a = "black"
}
if (uV.dV.dk == ad.jt) {
if (window.console) {
window.console.log(this.dateText() + " : " + b)
} else {
L.xw(document, "byid", "nppfs-console-log");
if (pc_1 < 1000) {
nq("#nppfs-console-log").append(
'
' + this.dateText()
+ " : " + pc_1 + ". " + b + "
");
pc_1++
} else {
zp.hideLoading()
}
}
}
},
interval : function(b) {
if (uV.dV.dk == ad.jt) {
var c = this.dB;
var a = new Date();
Mc
.log("Task(" + b + ") 경과시간 : "
+ ((a.getTime() - c.getTime()) / 1000) + "s, 시작:"
+ L.ep(c, "HH:mm:ss ms") + ", 종료:"
+ L.ep(a, "HH:mm:ss ms"))
}
}
};
var D = new function() {
var d = navigator.appName;
var b = navigator.platform.toLowerCase();
function e(f) {
return nua.indexOf(f)
}
function a(f) {
return nua.indexOf(f) >= 0
}
function c(f) {
return nua.toLowerCase().indexOf(f) >= 0
}
this.ie = (d == "Microsoft Internet Explorer" || (d == "Netscape" && (a("MSIE") || a("Trident"))))
&& !a("QQBrowser");
this.ie64 = this.ie && a("Win64; x64");
this.edge = e("Mozilla") === 0 && a("Edge");
this.ff = a("Firefox") && e("Mozilla") === 0 && d == "Netscape"
&& !a("Navigator");
this.ns = a("Gecko") && a("Navigator");
this.b360 = a("360Browser") && a("Chrome") && a("Safari");
this.qq = a("QQBrowser") && a("Trident");
this.sf = a("Safari") && !a("Chrome");
this.op = a("Opera") || a("OPR");
this.cr = a("Chrome") && a("Safari") && !a("OPR") && !a("360Browser")
&& !a("Edge");
this.win = (b.indexOf("win") != -1) && !a("Windows Phone");
this.win9x = a("Windows 98") || a("Win98") || a("Windows ME")
|| a("Windows NT 4.0") || a("Windows NT 5.0") || a("Windows 2000");
this.mac = a("Mac");
this.lnx64 = a("Linux") && a("x86_64");
this.lnx32 = a("Linux") && (a("i386") || a("i686"));
this.lnx = a("Linux");
this.and = a("Android");
this.iph = a("iPhone");
this.ipo = a("iPod");
this.ipa = a("iPad");
this.fdr = c("fedora");
this.ubt = c("ubuntu");
this.winphone = c("windows phone");
this.winmob = (b == "windows mobile");
this.cR = null;
this.bd = null;
this.virtualMachine = false;
this.isMobileDevice = function() {
if (this.winmob || this.winphone || this.ipa || this.ipo || this.iph
|| this.and) {
return true
}
return false
};
this.gC = function() {
var f = null;
var k = nua;
if (D.win) {
var j = [ {
v : "5.0",
p : /(Windows NT 5.1|Windows XP)/
}, {
v : "5.2",
p : /Windows NT 5.2/
}, {
v : "6.0",
p : /Windows NT 6.0/
}, {
v : "7.0",
p : /(Windows 7|Windows NT 6.1)/
}, {
v : "8.1",
p : /(Windows 8.1|Windows NT 6.3)/
}, {
v : "8.0",
p : /(Windows 8|Windows NT 6.2)/
}, {
v : "10.0",
p : /(Windows 10|Windows NT 10.0)/
}, {
v : "3.0",
p : /Windows CE/
}, {
v : "3.1",
p : /Win16/
}, {
v : "3.2",
p : /(Windows 95|Win95|Windows_95)/
}, {
v : "3.5",
p : /(Win 9x 4.90|Windows ME)/
}, {
v : "3.6",
p : /(Windows 98|Win98)/
}, {
v : "3.7",
p : /Windows ME/
}, {
v : "4.0",
p : /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/
}, {
v : "4.0",
p : /(Windows NT 5.0|Windows 2000)/
} ];
for (var g = 0; g < j.length; g++) {
var m = j[g];
try {
if (m.p.test(k)) {
f = m.v;
break
}
} catch (l) {
}
}
} else {
if (D.mac) {
if (/Mac OS X 10_5/.test(k) || /Mac OS X 10.5/.test(k)) {
f = "10.5"
} else {
if (/Mac OS X 10_6/.test(k) || /Mac OS X 10.6/.test(k)) {
f = "10.6"
} else {
if (/Mac OS X 10_7/.test(k) || /Mac OS X 10.7/.test(k)) {
f = "10.7"
} else {
if (/Mac OS X 10_8/.test(k)
|| /Mac OS X 10.8/.test(k)) {
f = "10.8"
} else {
if (/Mac OS X 10_9/.test(k)
|| /Mac OS X 10.9/.test(k)) {
f = "10.9"
} else {
if (/Mac OS X 10_10/.test(k)
|| /Mac OS X 10.10/.test(k)) {
f = "10.10"
} else {
if (/Mac OS X 10_11/.test(k)
|| /Mac OS X 10.11/.test(k)) {
f = "10.11"
}
}
}
}
}
}
}
} else {
if (D.lnx) {
}
}
}
return f
};
this.iT = function() {
var f;
var j;
var i = nua;
if (D.ff) {
f = i.substring(i.toLowerCase().lastIndexOf("firefox"));
if (f.indexOf(" ") > -1) {
f = f.substring(0, f.indexOf(" "))
}
j = f.split("/");
return j[1]
} else {
if (D.op) {
if (i.lastIndexOf(" ") < i.lastIndexOf("/")) {
f = i.substring(i.lastIndexOf(" "));
j = f.split("/");
return j[1]
}
} else {
if (D.cr || D.b360) {
f = i.substring(i.toLowerCase().lastIndexOf("chrome"));
if (f.indexOf(" ") != -1) {
f = f.substring(0, f.indexOf(" "));
j = f.split("/");
return j[1]
}
} else {
if (D.sf) {
var g = new RegExp(/Version[\/\s](\d+\.\d+)/.test(nua));
var k = RegExp["$1"];
return k
} else {
if (D.ie || D.qq) {
if (i.indexOf("MSIE") > -1) {
fw = i.substring(i.indexOf("MSIE") + 4,
i.length);
fw = fw.replace(/(^\s*)|(\s*$)/gi, "");
j = fw.split(";");
j = j[0].split(" ");
return j[0]
} else {
return i.substring(i.indexOf("rv:") + 3, i
.indexOf("rv:") + 7)
}
} else {
if (D.edge) {
f = i.substring(i.toLowerCase().lastIndexOf(
"edge"));
if (f.indexOf(" ") != -1) {
f = f.substring(0, f.indexOf(" "));
j = f.split("/");
return j[1]
} else {
j = f.split("/");
return j[1]
}
}
}
}
}
}
}
};
this.isSupported = function(f) {
return this.iG(f) && this.jj(f)
};
this.iG = function(f) {
if (L.bn(this.cR)) {
this.cR = D.gC()
}
var g = this.cR;
if (D.win && f.aF.aX) {
if (D.win9x) {
return false
}
return L.ak(g, f.aF.di.qs, f.aF.di.Oc)
} else {
if (D.mac && f.jV.aX) {
return L.ak(g, f.jV.di.qs, f.jV.di.Oc)
} else {
if (D.lnx && f.bx.aX) {
return true
}
}
}
return false
};
this.jj = function(g) {
if (!this.iG(g)) {
return false
}
var f = null;
if (D.win) {
f = g.aF.al
} else {
if (D.mac) {
f = g.jV.al
} else {
if (D.lnx) {
f = g.bx.al
}
}
}
if (!L.au(f)) {
if (L.bn(this.bd)) {
this.bd = D.iT()
}
var i = D.bd;
if (D.ie && f.IE.aX) {
return L.ak(i, f.IE.qs, f.IE.Oc)
} else {
if (D.ff && f.FF.aX) {
return L.ak(i, f.FF.qs, f.FF.Oc)
} else {
if (D.cr && f.CR.aX) {
return L.ak(i, f.CR.qs, f.CR.Oc)
} else {
if (D.sf && f.SF.aX) {
return L.ak(i, f.SF.qs, f.SF.Oc)
} else {
if (D.edge && f.EG.aX) {
return L.ak(i, f.EG.qs, f.EG.Oc)
} else {
if (D.op && f.OP.aX) {
return L.ak(i, f.OP.qs, f.OP.Oc)
} else {
if (D.b360 && f.B360.aX) {
return L.ak(i, f.B360.qs, f.B360.Oc)
} else {
if (D.qq && f.QQ.aX) {
return L.ak(i, f.QQ.qs, f.QQ.Oc)
}
}
}
}
}
}
}
}
}
return false
};
this.isMetroUi = function() {
if (!this.ie) {
return false
}
if (!this.bd) {
return false
}
if (!L.db(this.bd, "10.0")) {
return false
}
var f = null;
try {
f = !!new ActiveXObject("htmlfile")
} catch (g) {
f = false
}
if (f) {
return false
}
if (window.screen.availWidth !== window.outerWidth) {
return false
}
return (window.screen.availWidth == window.outerWidth)
};
this.CB = function() {
return this.ie && (L.db("7.0", this.bd) || document.documentMode <= 7)
}
};
D.cR = D.gC();
D.bd = D.iT();
var npPfsDefine = D;
var Ye = {
d3 : "dbe56d9fe2fd0eeed7fb0d801a9aebb4b2b35cbb415274375a156ede74ea05db",
x5 : "cc4a325f3520fe940e37c37022b78a2eba64293f401459d64fc7f90702e007ba4032d8b3cdec2d2baada257520c2e358",
j3 : "1",
x6 : "0",
a4 : "59615036FA2C1A9EFC35D43EC6C77269",
h5 : "B303AA8350126650FCE9111D899E21F0",
d4 : "FA48FAE45FDF6C6F29DD4766E50F5931",
p0 : "201A9DFAC7ED61A876CA0B1D7AF18161",
ag : "14F1CF1F85E360D567D4A9C43B99C33B",
aj : "A0131152837EFEA26E0598577DE5E429",
kk : "94B53D15A6C345F18DB55F5C879B661E",
e2 : "47494638396101000100820031FFFFFF",
h6 : "44f6562326561da0f9d60ae7b59897f3e663fa01aea7d23d7f9da01fcfa34256",
j0 : "646ea6c45f8f9c854d29e8018c3bdbf4cdaf5ef5e60cca98336c28df081f5e41",
d8 : "a7c0d9bf836f0783e98523389d7e04d4d7f2f4eead0f3b8de5374fcc7b2464bc",
am : "b56ec7e0f4ef8af03f02da0f111f9f7e2c9ccd7767ab4f737e3247ebf08b779e",
dG : "4bf3c311dc6bceb0d53e2e07312021387950c4ddd3e4b31fa8e21b34c9a57849"
};
var bk = new function() {
this.cb = {};
this.JF = false;
this.bO = function(a, b) {
this.cd = {};
this.name = a;
this.state = b || ad.hE;
this.data;
this.parent;
this.iB = 0
};
this.bO.prototype = {
cP : function(a) {
a.parent = this;
this.cd[a.name] = a
},
setData : function(a) {
this.data = a
},
hN : function() {
return this.data
},
aO : function(a) {
this.state = a
},
it : function() {
return this.state
},
gX : function(d) {
if (!L.au(this.parent)) {
var b = this.parent;
var c = L.bj(b.cd);
if (c.length > 0) {
for (var a = 0; a < c.length; a++) {
var e = b.cA(c[a]);
e.state = d
}
}
}
},
cA : function(a) {
return this.cd[a]
},
bA : function() {
var d = true;
var b = L.bj(this.cd);
if (b.length > 0) {
for (var a = 0; a < b.length; a++) {
var c = this.cA(b[a]);
d = d && ((c) ? c.bA() : false)
}
if (d == true) {
this.aO(ad.bb)
}
} else {
d = (this.state == ad.bb)
}
return d
},
print : function() {
Mc.log("----> job " + this.name + ", " + this.bA());
var b = L.bj(this.cd);
if (b.length > 0) {
for (var a = 0; a < b.length; a++) {
var c = this.cA(b[a]);
c.print()
}
} else {
Mc.log("----> Task is empty..")
}
},
cv : function(a) {
Mc.log("Destory Task(" + a + ").....");
if (this.cA(a)) {
this.cA(a).cl();
delete this.cd[a]
}
},
cl : function(c) {
var b = L.bj(this.cd);
if (b.length > 0) {
for (var a = 0; a < b.length; a++) {
this.cv(b[a])
}
}
}
};
this.aC = function(a) {
this.cb[a.name] = a
};
this.aQ = function(a) {
return this.cb[a]
};
this.bA = function(a) {
return (this.cb[a]) ? this.cb[a].bA() : false
};
this.Cb = function(d, c, a) {
if (typeof (d) === "function") {
d();
return
}
if (L.au(a)) {
jx = 100
}
var e = false;
if (typeof (d) === "string") {
e = bk.bA(d)
} else {
if (typeof (d) === "object") {
if (d.length > 0) {
e = true;
for (var b = 0; b < d.length; b++) {
e = e && bk.bA(d[b])
}
} else {
e = true
}
}
}
if (this.JF == true) {
return
}
if (!e) {
Mc.log("wait for " + d + "...");
d.iB++;
if (d.iB > uV.dV.Ux) {
Mc.log("job " + d + " is stop by max wait count...");
return
}
setTimeout(function() {
bk.Cb(d, c, a)
}, a);
return
}
c()
};
this.cv = function(a) {
Mc.log("Destory job(" + a + ").....");
if (this.cb[a]) {
this.cb[a].cl()
}
delete this.cb[a]
};
this.cl = function() {
var b = L.bj(this.cb);
for (var a = 0; a < b.length; a++) {
bk.cv(b[a])
}
};
this.gy = function(d) {
var b = L.bj(this.cb);
for (var a = 0; a < b.length; a++) {
var c = this.cb[b[a]];
c.aO(d);
c.gX(d)
}
};
this.print = function() {
var b = L.bj(this.cb);
if (b.length > 0) {
for (var a = 0; a < b.length; a++) {
var c = this.aQ(b[a]);
c.print()
}
} else {
Mc.log("job is empty..")
}
}
};
var nq = (typeof (nosQuery) != "undefined") ? nosQuery : jQuery;
var L = new function() {
function a(b, c) {
if (b === undefined) {
b = 1
} else {
if (c === undefined) {
c = "0"
}
}
var d = "";
while (d.length < b) {
d += c
}
this.bY = function(e) {
var f = e.toString();
return d.substring(0, d.length - f.length) + f
}
}
this.au = function(b) {
if (typeof (b) == "undefined" || b == null) {
return true
}
return false
};
this.bn = function(b) {
if (typeof (b) == "undefined" || b == null || b == "") {
return true
}
return false
};
this.n2b = function(c, b) {
if (this.au(b)) {
b = ""
}
if (this.au(c)) {
return b
}
return c
};
this.gv = function() {
var b = new a(15);
return b.bY((new Date().getTime()).toString())
};
this.cC = function(d) {
if (this.au(d)) {
d = ""
}
var c = d.length;
var b = new a(4);
return b.bY((c).toString(16))
};
this.sz = function(b) {
return encodeURIComponent(b)
}, this.bj = function(d) {
var c = [];
for ( var b in d) {
if (typeof nexacro == "object" && nexacro._bInitPlatform) {
if (b == "getSetter" || b == "getNumSetter") {
continue
}
}
c.push(b)
}
return c
};
this.jC = function(b) {
this.bj(b).length
};
this.hH = function(c) {
var b = "";
if (!c) {
return
}
for (var d = 0; d < c.length; d++) {
b += ((c[d] < 16) ? "0" : "") + c[d].toString(16)
}
return b
};
this.ha = function(d) {
if (L.bn(d)) {
return ""
}
var c = "";
if (d.indexOf("0x") == 0 || d.indexOf("0X") == 0) {
d = d.substr(2)
}
if (d.length % 2) {
d += "0"
}
for (var b = 0; b < d.length; b += 2) {
c += String.fromCharCode(parseInt(d.slice(b, b + 2), 16))
}
return c
};
this.mL = function(d) {
var c;
var b = new Array();
for (c = 0; c < d; c++) {
b[c] = Math.round(Math.random() * 255)
}
return b
};
this.wm = function(d, e) {
var b = AES.eU / 8;
var c;
if (typeof d == "string" || d.indexOf) {
d = d.split("");
for (c = 0; c < d.length; c++) {
d[c] = d[c].charCodeAt(0) & 255
}
}
for (c = b - (d.length % b); c > 0 && c < b; c--) {
d[d.length] = 0
}
return d
};
this.getBytes = function(f) {
var e;
var b = [];
if (typeof f == "string" || f.indexOf) {
var c = [];
var g = f;
for (var e = 0; e < g.length; e++) {
var d = g.charCodeAt(e);
if (d < 128) {
c.push(d)
} else {
if (d < 2048) {
c.push(192 | (d >> 6), 128 | (d & 63))
} else {
if (d < 55296 || d >= 57344) {
c.push(224 | (d >> 12), 128 | ((d >> 6) & 63),
128 | (d & 63))
} else {
e++;
d = 65536 + (((d & 1023) << 10) | (g.charCodeAt(e) & 1023));
c.push(240 | (d >> 18), 128 | ((d >> 12) & 63),
128 | ((d >> 6) & 63), 128 | (d & 63))
}
}
}
}
return c
}
return b
};
this.encrypt = function(b, m, j, g) {
AES.eU = L.au(g) ? 128 : g;
AES.gl = L.au(m) ? 256 : m.length * 8;
var e = AES.eU / 8;
var f, l;
var k;
if (!b || !m) {
return
}
if (m.length * 8 != AES.gl) {
return
}
if (j == "CBC") {
k = this.mL(e)
} else {
j = "ECB";
k = new Array()
}
b = this.wm(b);
var c = new AES.F(m);
for (var d = 0; d < b.length / e; d++) {
l = b.slice(d * e, (d + 1) * e);
if (j == "CBC") {
for (var f = 0; f < e; f++) {
l[f] ^= k[d * e + f]
}
}
k = k.concat(AES.J(l, c))
}
return L.hH(k)
};
this.gu = function(m, k, g, f) {
AES.eU = L.au(f) ? 128 : f;
AES.gl = L.au(k) ? 256 : k.length * 8;
var d = AES.eU / 8;
var n = new Array();
var j;
var c;
if (!m || !k) {
return
}
if (typeof (m) == "string") {
m = m.split("");
for (e = 0; e < m.length; e++) {
m[e] = m[e].charCodeAt(0) & 255
}
}
if (k.length * 8 != AES.gl) {
return
}
if (!g) {
g = "ECB"
}
var b = new AES.gU(k);
for (c = (m.length / d) - 1; c > 0; c--) {
j = AES.er(m.slice(c * d, (c + 1) * d), b);
if (g == "CBC") {
for (var e = 0; e < d; e++) {
n[(c - 1) * d + e] = j[e] ^ m[(c - 1) * d + e]
}
} else {
n = j.concat(n)
}
}
if (g == "ECB") {
n = AES.er(m.slice(0, d), b).concat(n)
}
var l = n[n.length - 1];
while (typeof (l) == "undefined" || l == null || l == 0) {
n.pop();
l = n[n.length - 1]
}
return L.ha(L.hH(n))
};
this.send = function(d, c, g) {
var b = "";
if (this.au(g)) {
g = {}
}
if (this.au(g.async)) {
g.async = false
}
if (this.au(g.timeout) || g.timeout <= 0) {
g.timeout = 3000
}
if (this.au(g.ax)) {
g.ax = function(i) {
var e = "";
if (i.readyState == 4) {
if (i.status == 200) {
e = i.responseText
} else {
}
} else {
}
return e
}
}
Mc.log("REQ : " + c);
try {
nq.ajax({
url : d,
cache : false,
async : g.async,
type : "post",
data : c,
error : function(j, i, e) {
return g.ax(j)
},
success : function(i, e, j) {
b = i;
return g.ax(j)
}
})
} catch (f) {
g.ax({
readyState : 4,
status : 999,
responseText : ""
});
Mc.error("ERR : " + f)
}
return b
};
this.jI = {};
this.fs = function(d, c) {
if (L.au(c)) {
c = {}
}
if (L.au(c.async)) {
c.async = true
}
if (L.au(c.host)) {
c.host = zp.c6
}
if (L.au(c.port)) {
c.port = zp.cB
}
if (L.au(c.timeout) || c.timeout <= 0) {
c.timeout = 3000
}
if (L.au(c.ax)) {
c.ax = function(e) {
}
}
var b = function(f) {
var e = "";
if (f.readyState == 4) {
if (f.status == 200 || f.status == 999) {
e = f.responseText;
Mc.log("RES : " + f.responseText);
c.ax(f.responseText)
} else {
}
} else {
}
return e
};
Mc.log("REQ : " + d);
if (D.ie) {
return this.gj(d, b, c)
} else {
return this.gb(d, b, c)
}
};
this.gb = function(g, c, f) {
var b = zp.cZ(f.port, f.host);
try {
nq.ajax({
url : b,
cache : false,
async : f.async,
type : "post",
data : g,
error : function(j, i, e) {
c({
readyState : 4,
status : 999,
responseText : i + ":" + e
})
},
success : function(i, e, j) {
c(j)
}
})
} catch (d) {
c({
readyState : 4,
status : 999,
responseText : ""
});
Mc.error("ERR : " + d)
}
};
this.gj = function(i, d, g) {
var b = zp.cZ(g.port, g.host);
var c = setTimeout(function() {
d({
readyState : 4,
status : 999,
responseText : ""
})
}, g.timeout);
try {
nq.ajax({
url : b,
cache : false,
crossDomain : true,
async : false,
type : "GET",
dataType : "jsonp",
jsonp : "jsonp_callback",
contentType : "application/javascript",
timeout : g.timeout,
data : {
Code : i
},
error : function(k, j, e) {
if (j == "abort" || j == "timeout" || j == "parsererror"
|| j == "error") {
d({
readyState : 4,
status : 999,
responseText : j + ":" + e
})
}
},
success : function(j, e, k) {
if (j != null && j.RESULT != null) {
d({
readyState : 4,
status : 200,
responseText : j.RESULT
})
}
},
complete : function(j, e) {
clearTimeout(c)
}
})
} catch (f) {
d({
readyState : 4,
status : 999,
responseText : ""
});
Mc.error("ERR : " + f)
}
};
dW = {};
this.iV = function(b, d) {
var c = b;
if (!L.bn(d)) {
if (typeof (d) == "string") {
c = b + "_" + d
} else {
if (typeof (d) == "object") {
}
}
}
if (dW[c]) {
dW[c] = null
}
};
this.bZ = function(b, f) {
var e = null;
var d = b;
var g = null;
if (!L.bn(f)) {
if (typeof (f) == "string") {
e = nq("form[name='" + f + "']").get(0)
}
if (!L.au(e)) {
e = this.findParentForm(e);
f = nq(e).attr("name");
d = b + "_" + nq(e).attr("name")
}
}
if (typeof (b) === "string") {
if (nq("#" + b).get(0)) {
g = nq("#" + b).get(0)
} else {
var c = (e != null && e.length > 0) ? nq("[name='" + b + "']",
e) : nq("[name='" + b + "']");
g = (c != null && c.length > 0) ? c.get(0) : nq("#" + b).get(0)
}
}
return g
};
this.n5 = function(b) {
return document.createElement(b)
};
this.c1 = function(b, d, n) {
if (this.au(b)) {
return
}
var k = (!L.au(b)) ? nq(b).attr("name") : null;
if (L.bn(k)) {
Mc.log("폼 이름이 없어 동적필드 생성을 중단합니다.");
return
}
var c = d;
var f = n;
if (!L.au(f)) {
if (c.length != f.length) {
alert(N.m44)
}
}
var m = L.xw(L.bZ(k), "byclass", "nppfs-elements");
if (uV.dV.dk == ad.fJ) {
var l = [];
var g = false;
for (var j = 0; j < c.length; j++) {
var e = this.bZ(c[j], k);
if (L.au(e)) {
if (g == false) {
g = true
}
if (!L.au(f)) {
l.push('')
} else {
l.push('')
}
} else {
if (!L.au(f)) {
nq(e).val(f[j])
}
}
}
if (g == true) {
nq(m).append(l.join("\n"))
}
} else {
var l = [];
var g = false;
for (var j = 0; j < c.length; j++) {
var e = this.bZ(c[j], k);
if (L.au(e)) {
if (g == false) {
l
.push('");
nq(m).append(l.join("\n"))
}
nq(m).show()
}
};
this.copyDivision = function(b, d) {
var c = L.xw(b, "byclass", "nppfs-elements");
var e = L.xw(d, "byclass", "nppfs-elements");
if (!L.au(c) && !L.au(e)) {
nq("input", nq(c))
.each(
function(g, f) {
var i = f.name;
var j = f.value;
if (!L.au(d.elements[i])) {
d.elements[i].value = j
} else {
if (uV.dV.dk == ad.fJ) {
nq(e)
.append(
'')
} else {
nq(e)
.append(
"')
}
}
})
}
};
this.tY = false;
this.wT = function(d, c, b) {
var e = L.n5("div");
if (c == "byclass") {
e.setAttribute("class", b)
} else {
d = document.body;
e.setAttribute("id", b)
}
nq(d).prepend(e);
return e
};
this.findParentForm = function(e) {
var c = e;
var b = nq(e).parents("form");
if (b.length > 0) {
var d = b.last();
Mc.log("====== PARENT(new) ========> " + nq(e).attr("name")
+ " => " + nq(d.get(0)).attr("name"));
c = d.get(0)
}
return c
};
this.xw = function(d, c, b) {
if (L.bn(b)) {
return null
}
d = d || document;
if (d.tagName && d.tagName.toLowerCase() === "form") {
d = this.findParentForm(d)
}
var e = (c == "byid") ? nq("#" + b).get(0) : nq("div." + b, nq(d)).get(
0);
return e || this.wT(d, c, b)
};
this.so = function(b) {
b.preventDefault ? b.preventDefault() : b.returnValue = false
};
this.eD = function(d) {
var b = -1;
try {
var f = new Date();
b = f - d;
if (b > 100000) {
b = 99999
}
} catch (c) {
}
return b + ""
};
this.gn = function(e) {
var f = e.split(/ |,|\.|\_|\//g);
var d = new Array();
var c = 0;
for (var b = 0; b < f.length; b++) {
if (!L.bn(f[b])) {
d[c] = f[b];
c++
}
}
if (d.length > 0) {
return d
}
return null
};
this.db = function(f, b, j) {
if (this.bn(f)) {
return false
}
if (this.bn(b)) {
return false
}
var e = this.gn("" + f);
var d = e.length;
var g = this.gn("" + b);
var c = 0;
for (c = 0; c < d; c++) {
if (L.au(g[c])) {
g[c] = 0
}
e[c] = parseInt(e[c], 10);
g[c] = parseInt(g[c], 10);
if (e[c] > g[c]) {
return true
} else {
if (e[c] < g[c]) {
return false
}
}
}
if (c == d) {
return true
}
if (e.toString() == g.toString()) {
return true
}
return false
};
this.ak = function(e, d, c) {
var b = true;
if (!L.bn(d)) {
b = b && L.db(e, d)
}
if (!L.bn(c)) {
b = b && L.db(c, e)
}
return b
};
this.hf = function(c, g, b, j, f) {
try {
var d = c + "=" + escape(g) + ";";
if (b) {
if (b instanceof Date) {
if (isNaN(b.getTime())) {
b = new Date()
}
} else {
b = new Date(new Date().getTime() + parseInt(b, 10) * 1000
* 60 * 60 * 24)
}
d += "expires=" + b.toGMTString() + ";"
}
if (!!j) {
d += "path=" + j + ";"
}
if (!!f) {
d += "domain=" + f + ";"
}
document.cookie = d
} catch (i) {
}
};
this.jv = function(c) {
c = c + "=";
var e = document.cookie;
var f = e.indexOf(c);
var d = "";
if (f != -1) {
f += c.length;
var b = e.indexOf(";", f);
if (b == -1) {
b = e.length
}
d = e.substring(f, b)
}
return unescape(d)
};
this.show = function(c) {
if (this.bn(c)) {
return
}
if (typeof (c) !== "object") {
c = L.bZ(c)
}
try {
nq(c).show()
} catch (b) {
}
};
this.hide = function(c) {
if (this.bn(c)) {
return
}
if (typeof (c) !== "object") {
c = L.bZ(c)
}
try {
nq(c).hide()
} catch (b) {
}
};
this.val = function(b, c) {
if (!L.au(b) && typeof (b) == "object") {
if (typeof (c) == "undefined") {
return nq(b).val() || ""
} else {
nq(b).val(c)
}
}
};
this.readOnly = function(b, c) {
if (!L.au(b) && typeof (b) == "object") {
if (typeof (c) == "undefined") {
return nq(b).prop("readonly")
} else {
nq(b).prop("readonly", c)
}
}
};
this.ja = function(b, e, d, c) {
nq(e).bind(b, function(f) {
d(c)
})
};
this.removeEvent = function(b, e, d, c) {
nq(e).unbind(b, function(f) {
d(c)
})
};
this.addLoadEvent = function(d, c) {
var b = function() {
if (!L.au(c)) {
d(c)
} else {
d()
}
};
if (L.au(nq)) {
setTimeout(b, 500)
} else {
nq(document).ready(function() {
b()
})
}
};
this.u8d = function(b) {
var d = "";
var e = 0;
var f = c1 = c2 = 0;
while (e < b.length) {
f = b.charCodeAt(e);
if (f < 128) {
d += String.fromCharCode(f);
e++
} else {
if ((f > 191) && (f < 224)) {
c2 = b.charCodeAt(e + 1);
d += String.fromCharCode(((f & 31) << 6) | (c2 & 63));
e += 2
} else {
c2 = b.charCodeAt(e + 1);
c3 = b.charCodeAt(e + 2);
d += String.fromCharCode(((f & 15) << 12)
| ((c2 & 63) << 6) | (c3 & 63));
e += 3
}
}
}
return d
};
this.h2b = function(l) {
var f = "0123456789abcdef";
var b = new Array();
var k = 0;
for (var j = 0; j < l.length; j += 2) {
var g = f.indexOf(l.charAt(j));
var e = f.indexOf(l.charAt(j + 1));
var c = (g << 4) | e;
b[k++] = String.fromCharCode(c)
}
return b.join("")
};
this.dispatch = function(c, b) {
c = (typeof (c) == "function") ? c : window[c];
return c.apply(this, b || [])
};
this.getBounds = function(c, b) {
var c = (typeof (c) == "object") ? c : L.bZ(c, b);
if (!L.au(c)) {
var d = nq(c);
return {
left : d.offset().left,
top : d.offset().top,
width : d.outerWidth(),
height : d.outerHeight()
}
}
};
this.ep = function(c, e) {
function g(l, k) {
if (typeof (l) == "string") {
var j = "";
var d = 0;
while (d++ < k - l.length) {
j += "0"
}
return j + l
} else {
if (typeof (l) == "number") {
return g(l.toString(), k)
}
}
return l
}
if (!c.valueOf()) {
return " "
}
var b = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ];
var f = c;
return e.replace(/(yyyy|yy|MM|dd|E|hh|mm|ss|ms|a\/p)/gi, function(d) {
switch (d) {
case "yyyy":
return f.getFullYear();
case "yy":
return g((f.getFullYear() % 1000), 2);
case "MM":
return g((f.getMonth() + 1), 2);
case "dd":
return g(f.getDate(), 2);
case "E":
return b[f.getDay()];
case "HH":
return g(f.getHours(), 2);
case "hh":
return g(((h = f.getHours() % 12) ? h : 12), 2);
case "mm":
return g(f.getMinutes(), 2);
case "ss":
return g(f.getSeconds(), 2);
case "ms":
return g(f.getMilliseconds(), 3);
case "a/p":
return f.getHours() < 12 ? "AM" : "PM";
default:
return d
}
})
};
this.trim = function(c) {
if (c == null) {
return c
}
try {
return c.replace(/(^\s*)|(\s*$)/gi, "")
} catch (b) {
try {
return c.replace(/^\s+|\s+$/g, "")
} catch (b) {
}
}
return c
};
this.c3 = 0;
this.x7 = false;
this.mH = function(b) {
try {
Mc.log(new Error("Stack Trace").stack)
} catch (c) {
}
if (!L.au(b)) {
b.print()
}
Mc.log("ERROR COUNT : " + L.c3 + "");
if (L.c3 >= uV.dV.Qa) {
if (this.x7 == false) {
alert(N.m10);
Mc.log(N.m10);
this.x7 = true
}
if (!L.au(b)) {
b.aO(ad.bb)
}
bk.JF = true;
zp.hideLoading();
try {
location.reload()
} catch (c) {
}
return true
}
L.c3++;
return false
};
this.r9 = function(b, e, d) {
if (L.bn(b) || b == Ye.h5) {
var c = (d) ? L.mH(d) : L.mH();
if (c) {
return true
}
if (e) {
setTimeout(function() {
e()
}, uV.dV.kK)
}
return true
} else {
if (b == Ye.p0) {
zp.mW();
return true
}
}
L.c3 = 0;
return false
}
};
var hI = {
plugins : [],
define : function(a) {
if (L.bn(a.id)) {
alert("제품 식별 고유코드가 필요합니다.");
return
}
if (L.bn(a.controller)) {
alert("제품 제어 스크립트 객체가 필요합니다.");
return
}
this.plugins.push(a)
},
iK : function() {
var a = false;
nq(this.plugins).each(
function() {
if (!this.controller.isRunnable()
|| !this.controller.isSupported()) {
return true
}
var b = true;
if (typeof (this.isExecutable) == "function") {
b = this.isExecutable(zp.aG)
}
if (b == true && !L.au(this.handshake)
&& this.handshake == true) {
a = true;
return false
}
});
return a
},
io : function() {
var a = false;
nq(this.plugins).each(
function() {
if (!this.controller.isRunnable()
|| !this.controller.isSupported()) {
return true
}
if (!L.au(this.endtoend) && this.endtoend == true) {
a = true;
return false
}
});
return a
},
c7 : function() {
var a = false;
nq(this.plugins).each(
function() {
if (!this.controller.isSupported()) {
return true
}
var b = true;
if (typeof (this.isExecutable) == "function") {
b = this.isExecutable(zp.aG)
}
if (b == true && !L.au(this.runvirtualos)
&& this.runvirtualos == false) {
a = true;
return false
}
});
return a
},
iS : function() {
return this.plugins
},
init : function(a) {
nq(this.plugins).each(function() {
this.controller.init(a)
})
},
startup : function(a) {
nq(this.plugins).each(function() {
if (!this.controller.isRunnable()) {
return true
}
this.controller.startup(a)
})
},
bA : function() {
var a = true;
nq(this.plugins).each(function() {
if (!this.controller.isRunnable()) {
return true
}
a = a && this.controller.bA();
return a
});
return a
},
isSupported : function() {
var a = true;
nq(this.plugins).each(function() {
a = a && this.controller.isSupported();
return a
});
return a
},
bm : function(a) {
nq(this.plugins).each(function() {
this.controller.bm(a)
})
}
};
var npPfsPlugins = hI;
var zp = new function() {
this.aJ = null;
this.cB = -1;
this.cz = false;
this.dn = null;
var b = false;
var j = false;
var d = false;
this.aG = {};
function a(r) {
r = r || {};
r.Firewall = (!L.au(r.Firewall)) ? r.Firewall : true;
r.SecureKey = (!L.au(r.SecureKey)) ? r.SecureKey : true;
r.Fds = (!L.au(r.Fds)) ? r.Fds : true;
r.Keypad = (!L.au(r.Keypad)) ? r.Keypad : true;
r.AutoStartup = (!L.au(r.AutoStartup)) ? r.AutoStartup : true;
r.Form = r.Form || null;
r.Debug = (!L.au(r.Debug)) ? r.Debug : false;
r.Loading = r.Loading || {};
r.Loading.Default = (!L.au(r.Loading.Default)) ? r.Loading.Default
: false;
r.Loading.Before = r.Loading.Before || function() {
};
r.Loading.After = r.Loading.After || function() {
};
r.AutoScanAttrName = r.AutoScanAttrName || "npkencrypt";
r.AutoScanAttrValue = L.au(r.AutoScanAttrValue) ? "on"
: r.AutoScanAttrValue.toLowerCase();
r.MoveToInstall = r.MoveToInstall || function(s, t) {
location.replace(s)
};
if (r.Loading.Default == true) {
r.Loading.Before = function() {
zp.Wb()
};
r.Loading.After = function() {
zp.v3()
}
}
zp.aG = {
FW : r.Firewall && uV.ki.FW,
SK : r.SecureKey && uV.ki.SK,
FD : r.Fds && uV.ki.FD,
KV : r.Keypad && uV.ki.KV,
AS : r.AutoStartup,
FM : r.Form,
LD : {
DF : r.Loading.Default,
BF : r.Loading.Before,
AF : r.Loading.After
},
AN : r.AutoScanAttrName,
AV : (L.au(r.AutoScanAttrValue) ? "" : r.AutoScanAttrValue
.toLowerCase()),
MI : r.MoveToInstall
};
if (r.Debug == true) {
uV.dV.dk = ad.jt
} else {
uV.dV.dk = ad.fJ
}
}
this.v4 = null;
this.eventBinded = false;
this.init = function(w) {
if (bk.aQ("jhs") && bk.aQ("jhs").it() == ad.cG) {
return
}
nq(document).trigger({
type : "nppfs-before-init",
message : "NOS의 초기화를 시작합니다.",
time : new Date()
});
a(w);
zp.showLoading();
var t = null;
try {
t = document.activeElement;
if (t.tagName.toLowerCase() === "input" && !L.au(t.form)
&& !L.au(nq(t).attr("name"))) {
this.v4 = t;
Mc.log(N.m25.replace("%p%", nq(t).attr("name")));
t.blur()
}
} catch (u) {
}
(function() {
if (zp.eventBinded == false) {
nq(document)
.bind(
"keydown",
function(B) {
var E = (B || window.event);
if (L.au(E)) {
return
}
var z = E.keyCode;
var y = E.altKey;
var F = E.ctrlKey;
var A = E.shiftKey;
var x = E.metaKey;
var C = false;
if (D.win || D.lnx) {
C = (z == 123) || (F && A && z == 73);
if (D.ff) {
C = C
|| (F && A && (z == 75
|| z == 81 || z == 83));
C = C
|| (A && (z == 113
|| z == 116 || z == 118))
}
} else {
if (D.mac) {
C = (y && x && (z == 73));
if (D.ff) {
C = C
|| (y && x && (z == 75
|| z == 81 || z == 83));
C = C
|| (A && (z == 113
|| z == 116 || z == 118))
}
}
}
if (C == true) {
Mc.log(N.m38);
L.so(E);
return false
}
bh.jw(E)
});
nq(document).bind("mousedown", function(x) {
var y = (x || window.event);
if ((y.button == 2) || (y.button == 3)) {
Mc.log(N.m39);
L.so(y);
return false
}
})
}
zp.eventBinded = true
})();
if (L.bn(zp.aJ)) {
zp.aJ = L.gv();
Mc.log("UID : " + zp.aJ)
}
if (hI.io() == true && L.bn(zp.dn)) {
var r = uV.dV.Gf;
Mc.log(r);
var s = L.send(r, "id=" + zp.aJ, {
async : false,
ax : function(y) {
if (y.readyState == 4) {
if (y.status == 200) {
var x = y.responseText;
if (L.bn(x)) {
Mc.log(N.m04)
}
zp.dn = L.trim(x)
} else {
Mc.log(N.m04)
}
}
}
})
}
if (hI.iK() == true || hI.c7() == true) {
if (L.bn(this.cB) || this.cB <= 0) {
bk.aC(new bk.bO("jhs"));
zp.eC()
}
bk.Cb([ "jhs", "jcu" ], function() {
if (d == true || zp.cz == false) {
if (bk.JF == true) {
return
}
if (d == true) {
Mc.log(N.m01);
bk.JF = true;
bk.gy(ad.bb);
if (typeof (zp.aG.MI) == "function") {
zp.aG.MI(uV.dV.Fz, true)
}
} else {
Mc.log(N.m02);
bk.JF = true;
bk.gy(ad.bb);
if (typeof (zp.aG.MI) == "function") {
zp.aG.MI(uV.dV.Fz, false)
}
}
zp.hideLoading();
return
}
}, uV.dV.kK)
} else {
bk.aC(new bk.bO("jhs", ad.bb));
bk.aC(new bk.bO("jcu", ad.bb))
}
if (hI.c7() == true) {
zp.isVirtualMachine(function(x) {
})
} else {
bk.aC(new bk.bO("jvc", ad.bb))
}
hI.init({
form : zp.aG.FM
});
if (hI.iK() == true) {
bk.Cb([ "jhs", "jcu" ], function() {
m()
}, uV.dV.kK)
}
nq(document).trigger({
type : "nppfs-after-init",
message : "NOS의 초기화가 정상적으로 수행되었습니다.",
time : new Date()
});
if (zp.aG.AS == true) {
zp.startup()
} else {
zp.hideLoading()
}
try {
function v(y) {
y = (y || window.event);
if (typeof (npPfsExtension) != "undefined"
&& typeof (npPfsExtension.beforeFinalize) == "function") {
var x = npPfsExtension.beforeFinalize(y);
if (!L.au(x)) {
return x
}
}
hI.bm();
if (hI.iK() == true) {
g()
}
}
if (typeof (window.onbeforeunload) != "undefined") {
nq(window).bind("beforeunload", v)
} else {
nq(window).bind("unload", v)
}
} catch (u) {
Mc.log(u)
}
};
this.isStartup = false;
this.tY = false;
this.startup = function(r) {
nq(document).trigger({
type : "nppfs-before-startup",
message : "NOS의 구동을 시작합니다.",
time : new Date()
});
this.jl();
bk.Cb([ "jhs", "jcu" ], function() {
var t = new bk.bO("jsu");
hI.startup();
function s() {
if (hI.bA()) {
zp.hideLoading();
nq(document).trigger({
type : "nppfs-after-startup",
message : "NOS가 정상적으로 구동되었습니다.",
time : new Date()
})
$('#nubiz_back').hide();
} else {
setTimeout(s, uV.dV.kK)
}
}
setTimeout(s, uV.dV.kK)
}, uV.dV.kK)
};
var n = false;
this.isVirtualMachine = function(r) {
r = r || function() {
};
if (n == true) {
r(D.virtualMachine);
return
}
if (D.isMobileDevice() || D.isMetroUi()) {
Mc
.log("Can not be checked a virtual machine at Metro UI or Mobile.");
r(false);
return
}
if (!hI.iK()) {
n = true;
D.virtualMachine = false;
if (!L.au(r) && typeof (r) == "function") {
r(D.virtualMachine)
}
return
}
bk.Cb([ "jhs", "jcu" ], function() {
if (zp.cz == false) {
r(false);
return
}
var s = new bk.bO("jvc");
bk.aC(s);
var t = zp.cQ(Ye.d3, Ye.j3, Ye.j0, null);
L.fs(t, {
ax : function(u) {
Mc.log("가상머신 결과 RES : [" + u + "]");
if (L.bn(u)) {
setTimeout(function() {
bk.cv("jvc");
zp.isVirtualMachine(r)
}, uV.dV.kK);
return
} else {
if (u == Ye.a4) {
zp.aG.SK = false;
D.virtualMachine = true
} else {
if (u == Ye.h5) {
D.virtualMachine = false
} else {
if (u == Ye.p0) {
zp.mW()
} else {
D.virtualMachine = false
}
}
}
}
s.aO(ad.bb);
n = true;
if (!L.au(r) && typeof (r) == "function") {
r(D.virtualMachine)
}
}
})
}, uV.dV.kK)
};
this.waitSubmit = function(r) {
r()
};
this.mW = function() {
alert(N.m09);
location.reload()
};
this.copy = function(r, s) {
L.copyDivision(r, s)
};
this.Wb = function() {
var r = L.xw(document, "byid", "nppfs-loading-modal");
var background_element = document.createElement('div');
$(background_element).attr('id', 'nubiz_back');
document.body.appendChild(background_element);
if (L.au(r)) {
return
}
try {
$(background_element).css(
{
display : "block",
position : "fixed",
"z-index" : "10000",
top : "0",
left : "0",
height : "100%",
width : "100%",
'background-color' : "rgba( 255, 255, 255, 0.7)",
opacity : "0.7",
backgroundColor : "#ffffff",
filter : "alpha(opacity=70)"
}
);
nq(r).css(
{
display : "block",
position : "fixed",
"z-index" : "10001",
top : "30%",
left : "30%",
height : "40%",
width : "40%",
background : "rgba( 255, 255, 255, 0.7) url('data:image/gif;base64,R0lGODlhPAH9AOZ/AKyvtMTHzN7g43uDjq6yuePm6Ozt76Srs8jM0dLV2vf4+JyjrHJ8iujq7Pz8/bm+xNnb3uzu7+bo6m12g11odtXY3ODi5dzf4urs7fr6++7w8b7Dyfj4+YiRnJObpfLz9MTIzvb3+I6Wodrc4KqwuPDx8rS6wc7S1pScpoGJlvT09VWk43d3d1NgcH2Gkq+0vISMmLbU8ZicouDh44u96r7BxGxzfEtYad3q+Nve4ejp6tDR1PDw8Xd+hrm9wuPk5rW4vIOIkI6Tmc/R1cfJzKKmq2Oq5ZacpG95h7e8w+Xw+qzP7+71/Pb29/f6/crf9YmQmtjZ28Da83636KHJ7nGx55bD7KKnr9Pl9vX29/7+/vn5+vHy8/T19vP09eHk5vn6+uLk5+Ll5+Pl5/39/cvP1E9cbZadp7O4v01aa1Rgb8bKz6CnsLvAx1FebpGZo5igqdDU2Pv8/Pv7+4uTntnc37G2vmJufK60u2Rwfldjc7zBx87R1mdygP///////yH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlE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') 50% 50% no-repeat",
// opacity : "0.7",
// backgroundColor : "#ffffff",
// filter : "alpha(opacity=70)"
})
} catch (s) {
}
c = 0
};
this.v3 = function() {
var r = L.xw(document, "byid", "nppfs-loading-modal");
if (L.au(r)) {
return
}
nq(r).css({
display : "none",
width : "0px",
height : "0px"
});
i = 0
};
var c = 0;
this.showLoading = function() {
if (L.au(zp.aG) || L.au(zp.aG.LD) || L.au(zp.aG.LD.DF)
|| zp.aG.LD.DF == true) {
this.Wb()
} else {
if (!L.au(zp.aG.LD.BF) && typeof (zp.aG.LD.BF) == "function") {
if (c > 0) {
this.Wb()
} else {
c++;
zp.aG.LD.BF()
}
} else {
this.Wb()
}
}
};
var i = 0;
this.hideLoading = function() {
if (L.au(zp.aG) || L.au(zp.aG.LD) || L.au(zp.aG.LD.DF)
|| zp.aG.LD.DF == true) {
this.v3()
} else {
if (!L.au(zp.aG.LD.AF) && typeof (zp.aG.LD.AF) == "function") {
if (i > 0) {
this.v3()
} else {
i++;
zp.aG.LD.AF()
}
} else {
this.v3()
}
}
};
this.cZ = function(r, t) {
if (L.bn(r)) {
r = (this.cB > 0) ? this.cB : uV.dV.fb
}
if (L.bn(t)) {
t = (!L.bn(this.c6)) ? this.c6 : uV.dV.gE
}
var s = [];
s.push(uV.dV.dZ);
s.push("://");
s.push(t);
s
.push(((uV.dV.dZ == "http" && r == 80) || (uV.dV.dZ == "https" && r == 443)) ? ""
: ":" + r);
s.push(uV.dV.iI);
return s.join("")
};
this.qh = function(r, v, x) {
if (L.au(x) || typeof (x) != "array") {
var u = L.mL(16);
x = new Array(4);
x[0] = "";
x[1] = Ye.x5;
x[2] = L.hH(u)
+ L.encrypt(document.domain, L.ha(L.hH(u)), "ECB", 128);
x[3] = "1000"
}
var t = x.length;
var w = [];
w.push(r);
if (L.bn(v)) {
w.push("1")
} else {
w.push(v)
}
w.push(t);
for (var s = 0; s < t; s++) {
w.push(L.cC(x[s]));
w.push(x[s])
}
return w
};
this.cQ = function(r, s, t, v) {
var u = zp.qh(r, s);
if (!L.bn(t)) {
u.push(t)
}
if (!L.bn(v)) {
u.push(L.cC(v));
u.push(v)
}
return u.join("")
};
function e(r, t, A, s) {
if (bk.JF == true) {
return
}
var x = bk.aQ("jhs").cA("ths_" + t + "");
var B = "";
if (L.au(s)) {
s = {}
}
if (L.au(s.timeout) || s.timeout <= 0) {
s.timeout = 10000;
if (D.sf) {
s.timeout = 20000
}
}
var v = false;
var z = new bk.bO("jis_" + t + "");
bk.aC(z);
if (!D.sf) {
try {
var u = r + "/?code=" + Ye.e2 + "&dummy=" + L.gv();
Mc.log("이미지 경로 : " + u);
var w = L.n5("img");
nq(w).bind("load", function(C) {
delete w;
z.aO(ad.bb)
});
nq(w).bind("error", function(C) {
delete w;
z.aO(ad.bb);
x.aO(ad.bb);
v = true
});
w.src = u
} catch (y) {
z.aO(ad.bb)
}
} else {
z.aO(ad.bb)
}
bk.Cb("jis_" + t + "", function() {
if (v == true) {
s.ax("", t);
Mc.log("[nProtect Online Security, " + t
+ "] 모듈에 접근할 수 없어 종료합니다.");
return
}
Mc.log("hX(URL : " + r + ") port : [" + t + "]");
x.aO(ad.cG);
var H = "1";
var F = L.mL(16);
var C = L.hH(F) + L.encrypt(nua, L.ha(L.hH(F)), "ECB", 128);
C = H + L.cC(C) + C;
var E = zp.cQ(Ye.d3, Ye.j3, Ye.h6, C);
function G(J) {
if (J.readyState == 4) {
if (J.status == 200) {
Mc.log("RES 핸드쉐이크 : " + J.responseText);
var I = J.responseText;
if (L.bn(I) || I == Ye.h5) {
return
} else {
if (I == Ye.d4) {
if (b == false) {
b = true
}
x.gX(ad.bb);
s.ax("", t)
} else {
if (I == Ye.p0) {
zp.mW();
x.gX(ad.bb);
s.ax(Ye.a4, t);
b = false
} else {
if (I == Ye.ag) {
d = true;
b = false;
x.gX(ad.bb);
s.ax(Ye.Pm.Result.el, t)
} else {
if (I == Ye.aj) {
Mc.log("로컬 서버(" + A + ":" + t
+ ")에서 업데이트 확인을 요청하였습니다.");
j = true;
b = false;
x.gX(ad.bb);
s.ax(Ye.a4, t)
} else {
b = false;
s.ax(J.responseText, t)
}
}
}
}
}
} else {
s.ax("", t)
}
L.c3 = 0;
x.aO(ad.bb)
}
}
s.host = A;
s.port = t;
if (D.ie) {
L.gj(E, function(I) {
G(I)
}, s)
} else {
L.gb(E, function(I) {
G(I)
}, s)
}
}, 500)
}
function f(s, r) {
var t = new bk.bO("ths_" + r + "");
bk.aQ("jhs").cP(t);
e(zp.cZ(r, s), r, s, {
ax : function(u) {
if (u == Ye.a4) {
zp.c6 = s;
zp.cB = r;
zp.cz = true;
Mc.log(N.m14.replace("%h%", s).replace("%p%", r));
t.gX(ad.bb)
}
t.aO(ad.bb)
}
})
}
var p = false;
var q = false;
var l = false;
this.eC = function() {
zp.cz = false;
if (q == false) {
var s = L.jv("npPfsHost");
var r = L.jv("npPfsPort");
if (!L.bn(s) && !L.bn(r) && r > 0 && p == false) {
Mc.log(N.m13.replace("%h%", s).replace("%p%", r));
f(s, r);
p = true
} else {
f(uV.dV.gE, uV.dV.fb);
f("127.0.0.1", uV.dV.l5);
p = true;
q = true
}
} else {
for (var t = 0; t < uV.dV.Cc; t++) {
f(uV.dV.gE, uV.dV.fb + t);
f("127.0.0.1", uV.dV.l5 + t)
}
l = true
}
bk.Cb("jhs", function() {
if (b == true) {
Mc.log(N.m15);
bk.cv("jhs");
var u = new bk.bO("jhs");
bk.aC(u);
zp.eC()
} else {
if (j == true) {
bk.aC(new bk.bO("jcu"));
zp.ak()
} else {
if (zp.cz == true) {
L.hf("npPfsHost", zp.c6, 7, "/");
L.hf("npPfsPort", zp.cB, 7, "/");
q = true;
l = true;
bk.aC(new bk.bO("jcu", ad.bb))
} else {
L.hf("npPfsHost", "", -1, "/");
L.hf("npPfsPort", "", -1, "/");
if (l == false) {
bk.aQ("jhs").cl();
zp.eC()
}
bk.aC(new bk.bO("jcu", ad.bb))
}
}
}
}, 1000)
};
this.gq = "";
this.ak = function() {
if (L.bn(this.gq)) {
var r = "";
var s = uV.dV.cM;
Mc.log("업데이트버전 경로 : " + s + "");
var u = new bk.bO("jgv");
bk.aC(u);
var t = setTimeout(function() {
Mc.log("업데이트버전 다운로드 실패(Timeout 10초).");
u.aO(ad.bb);
zp.gq = ""
}, 10000);
try {
nq.ajax({
url : s,
cache : false,
crossDomain : true,
async : false,
type : "GET",
dataType : "jsonp",
jsonp : "jsonp_callback",
jsonpCallback : "VersionInfo",
contentType : "application/json",
error : function(y, x, w) {
zp.gq = ""
},
success : function(x, w, y) {
if (!L.bn(x)) {
zp.gq = x
}
},
complete : function(x, w) {
clearTimeout(t);
u.aO(ad.bb)
}
})
} catch (v) {
u.aO(ad.bb)
}
} else {
bk.aC(new bk.bO("jgv", ad.bb))
}
bk.Cb("jgv", function() {
var x = bk.aQ("jcu");
if (zp.gq === "") {
x.aO(ad.bb);
zp.cz = true;
d = false;
j = false
} else {
Mc.log("업데이트버전 정보 : " + zp.gq);
var y = "1";
var w = y + L.cC(zp.gq) + zp.gq;
var z = zp.cQ(Ye.d3, Ye.j3, Ye.am, w);
L.fs(z, {
ax : function(A) {
if (L.bn(A)) {
} else {
if (A == Ye.h5) {
} else {
if (A == Ye.a4) {
d = true
}
}
}
j = false;
x.aO(ad.bb)
}
})
}
}, uV.dV.kK)
};
this.isInstall = function(r) {
var s = new bk.bO("jhs");
bk.aC(s);
if (L.au(r)) {
r = {}
}
if (L.au(r.success)) {
r.success = function() {
}
}
if (L.au(r.fail)) {
r.fail = function() {
}
}
if (L.bn(this.cB) || this.cB <= 0 || d == true) {
zp.eC()
}
bk.Cb([ "jhs", "jcu" ], function() {
bk.aQ("jhs").gX(ad.bb);
if (zp.cz == false || d == true) {
r.fail()
} else {
r.success()
}
}, uV.dV.kK)
};
this.checkInstall = function(s) {
var r = bk.aQ("jhs");
if (L.au(r)) {
r = new bk.bO("jhs", ad.bb);
bk.aC(r)
}
var t = bk.aQ("jcu");
if (L.au(t)) {
t = new bk.bO("jcu", ad.bb);
bk.aC(t)
}
bk.Cb([ "jhs", "jcu" ], function() {
if (L.au(s)) {
s = {}
}
if (L.au(s.before)) {
s.before = function() {
}
}
if (L.au(s.after)) {
s.after = function() {
}
}
var u = bk.aQ("jsu");
if (L.au(u)) {
u = new bk.bO("jsu", ad.bb);
bk.aC(u);
s.before()
}
if (zp.cz == false || d == true || j == true) {
u.aO(ad.bb);
bk.cv("jhs");
bk.aC(new bk.bO("jhs"));
bk.cv("jcu");
bk.aC(new bk.bO("jcu"));
if (d == true || L.bn(this.cB) || this.cB <= 0) {
d = false;
zp.eC()
}
setTimeout(function() {
zp.checkInstall(s)
}, 1000);
return
} else {
s.after()
}
}, 2000)
};
var k = null;
function o() {
if (zp.cz == false) {
return
}
if (bk.JF == true) {
return
}
function r(t) {
if (L.r9(t, function() {
if (k != null) {
clearInterval(k);
k == null
}
setTimeout(function() {
o()
}, 3000)
})) {
return
}
if (k == null) {
k = setInterval(o, 3000)
}
}
nq(document).trigger({
type : "nppfs-keep-alive",
message : "NOS의 세션을 유지합니다.",
time : new Date()
});
var s = zp.cQ(Ye.d3, Ye.j3, Ye.d8, null);
L.fs(s, {
ax : r
})
}
function m() {
if (bk.JF == true) {
return
}
if (k != null) {
clearInterval(k)
}
k = setInterval(o, 3000)
}
function g() {
if (k != null) {
clearInterval(k)
}
}
this.isSupport = function() {
var r = hI.iS();
var s = true;
nq(r)
.each(
function() {
if (!L.au(this.controller)
&& !L.au(this.controller.isSupported)
&& typeof (this.controller.isSupported) == "function") {
s = s && this.controller.isSupported();
return s
}
});
return s
};
this.GetReplaceField = function(r, s) {
if (bh.isRunning() == true) {
return bh.iu(r, s)
}
};
this.GetResultField = function(r, s) {
if (bh.isRunning() == true) {
return bh.im(r, s)
}
};
this.RegistDynamicField = function(r, t) {
try {
zp.v4 = document.activeElement
} catch (s) {
}
if (bh.isRunning() == true) {
bh.eX(r, t)
}
};
this.ResetField = function(s, r) {
if (bh.isRunning() == true) {
bh.iM(s, r)
}
};
this.RescanField = function() {
try {
zp.v4 = document.activeElement
} catch (r) {
}
this.jl();
if (bh.isRunning() == true) {
bh.cU()
}
};
this.cI = null;
this.SetGlobalKeyValidation = function(r) {
this.cI = null;
if (L.au(r)) {
return
}
if (typeof (r) !== "function") {
return
}
this.cI = r
};
this.jl = function() {
nq(nq("form")).each(function(r, t) {
var s = this;
L.xw(s, "byclass", "nppfs-elements");
if (L.bn(nq(s).attr("name"))) {
var u = "d" + L.hH(L.mL(8));
nq(s).attr({
name : u
});
s.name = u
}
})
};
this.encryptValue = function(s, r) {
if (typeof (r) != "function") {
alert("데이터를 받아서 처리할 Callback함수를 지정해야 합니다.");
return
}
if (L.bn(s)) {
r("");
return
}
if (zp.cz == false || bk.JF == true) {
alert("NOS와 통신할 수 없습니다. npPfsStartup()으로 먼저 페이지를 초기화하십시오.");
r("");
return
}
var v = L.hH(L.getBytes(s));
Mc.log("파라메터...... : [" + v + "]");
var t = "1";
var w = t + L.cC(v) + v;
var u = zp.cQ(Ye.d3, Ye.j3, Ye.dG, w);
L.fs(u, {
ax : function(x) {
if (!L.bn(x)) {
r(x);
return
}
r("")
}
})
};
this.serializeArray = function(s, t) {
function v(x) {
var y = [ ad.wG, ad.Ix, ad.jd, "i_borun", "i_e2e_id", "i_e2e_key",
"i_tot_hash", "i_log_total", "i_elapsed_tm", "i_log_yn",
"i_version", "i_tot_log" ];
for (var w = 0; w < y.length; w++) {
if (y[w] == x) {
return w
}
}
return -1
}
var r = (typeof (s) == "object" && s != null) ? s : L.bZ(s);
t = typeof (t) == "undefined" ? true : t;
if (t == false) {
return nq(r).serializeArray()
}
var u = [];
nq.each(nq(r).serializeArray(), function() {
if (this.name.indexOf("__E2E__") > 0
|| this.name.indexOf("__KI_") == 0
|| this.name.indexOf("__KH_") == 0
|| this.name.indexOf("__KU_") == 0 || v(this.name) >= 0) {
u.push(this)
}
});
return u
};
this.toJson = function(s) {
var t = {};
var r = (typeof (s) == "object" && s != null) ? s : L.bZ(s);
nq.each(nq(r).serializeArray(), function() {
if (t[this.name] !== undefined) {
if (!t[this.name].push) {
t[this.name] = [ t[this.name] ]
}
t[this.name].push(this.value || "")
} else {
t[this.name] = this.value || ""
}
});
return t
};
this.IsVirtualMachine = this.isVirtualMachine;
this.IsMetroUi = this.isMetroUi;
this.IsInstall = this.isInstall;
this.IsSupport = this.isSupport;
this.CheckInstall = this.checkInstall
};
var npPfsCtrl = zp;
var bh = new function() {
var o = {
gP : "638817069c817c890fb217c4593790ccad6bf3cb3b83c9b12743000a54a10ff5",
support : {
aF : {
aX : true,
di : {
qs : "5.0",
Oc : "10.0"
},
al : {
IE : {
aX : true,
qs : "7.0",
Oc : "11.0"
},
FF : {
aX : true,
qs : "21.0"
},
CR : {
aX : true,
qs : "30.0"
},
OP : {
aX : true,
qs : "18.0"
},
SF : {
aX : true,
qs : "5.0"
},
EG : {
aX : true,
qs : "12.0"
},
fv : {
aX : false
},
B360 : {
aX : true,
qs : "7.5"
},
QQ : {
aX : true,
qs : "38.0"
}
}
},
jV : {
aX : false
},
bx : {
aX : false
}
},
eK : {
hZ : "#FF0000",
gx : "#A9D0F5",
Kq : "#FF0000",
Xe : "#AFD7AF"
}
};
var b = false;
this.isRunning = function() {
return b
};
this.isRunnable = function() {
var J = zp.aG.SK && D.isSupported(o.support);
return J
};
this.isSupported = function() {
if (D.isMobileDevice() || D.isMetroUi()) {
return false
}
if (D.virtualMachine == true) {
return false
}
return D.isSupported(o.support)
};
var H = "c440b2dc8dd8530855b673074455233ec7c2ce3047fc78b765c925083c1a62d1";
var s = "4e70b866cbc757b3a5e16cd59321470b9f5855332b7ad9a5941b84b074545e32";
var e = "82d3bdff4d027bcc6b92279dd6a8d6c57b5c4154955c5d79d9ae1e6b82e451c9";
var p = "b18af6b38b10110372cbcd17c08c5d620e9fe9a4c6001ec86495c262b5413b4a";
var B = "936fa08f438249117479376a9fc9e1f99742279de3138f442528e569b5322d2c";
var v = "cdfb24eabc257c1fd787eef88d908a101f415948a661a593a679edb23cdca2cc";
var F = "51e19985492115e41c6094fae9c3081427cec5549b61b493550afbcd49926391";
var A = "974a41855a1932f9a897a688548078e7e8c9c42d20b282a3ba03746a3cb378f1";
var y = "2339bc68c530558df31e5bb2a485065ffcc052ff2d59cfe5f4ceeb1b96b36581";
var a = "7b04192598ef4f20869b68f198fcbbaae3d1df762e4391bdc4e393ebae31a627";
var f = "6c7aa4a696003bedce9f328fef4cdf3d00ceb205d53c2f6e0755d2b198fee546";
this.ID = "";
this.av = null;
this.aJ = null;
this.dn = null;
this.hb = null;
this.Qb = "";
this.Dummy = "ON";
function l(J, O, M) {
var K = zp.qh(o.gP, Ye.j3);
K.push(J);
K.push(O);
return L.fs(K.join(""), M)
}
var u = function(K, M) {
var J = nq(K).attr(M);
return (L.au(J)) ? "" : J.toLowerCase()
};
this.init = function() {
this.aJ = zp.aJ;
this.dn = zp.dn
};
var G = false;
this.bA = function() {
if (!this.isSupported()) {
return true
}
return G
};
this.startup = function() {
if (zp.cz == false) {
return
}
if (bk.JF == true) {
return
}
bk.Cb("jvc", function() {
Mc.log("키보드보안 시작 및 가상머신여부 " + D.virtualMachine);
k()
}, uV.dV.kK)
};
this.bm = function() {
if (zp.cz == false) {
return
}
var J = B + "=" + bh.ID;
l(H, J, {
async : false
});
nq(document).trigger({
type : "nppfs-npk-finalized",
message : "키보드보안을 정상적으로 종료하였습니다.",
time : new Date()
})
};
function k() {
if (!bh.isSupported()) {
bk.aC(new bk.bO("jki", ad.bb));
bk.aC(new bk.bO("jkrf", ad.bb));
bk.aC(new bk.bO("jksc", ad.bb));
G = true;
return
}
nq(document).trigger({
type : "nppfs-npk-before-startup",
message : "키보드보안을 시작합니다.",
time : new Date()
});
if (G == true) {
bh.cU();
return
}
b = true;
var J = new bk.bO("jki");
bk.aC(J);
l(H, p, {
ax : function(K) {
if (L.r9(K, function() {
bk.cv("jki");
bh.startup()
}, J)) {
return
}
var M = K.split("&&");
if (M[0] == "ID") {
if (L.bn(M[1])) {
bk.cv("jki");
bh.startup();
return
}
bh.ID = M[1]
}
J.aO(ad.bb)
}
});
bk.Cb("jki", function() {
r()
}, uV.dV.kK);
bk.Cb([ "jkc", "jkb" ], function() {
I()
}, uV.dV.kK);
bk.Cb("jkrf", function() {
var M = new bk.bO("jksc", ad.cG);
bk.aC(M);
G = true;
var K = zp.v4;
if (!L.au(K)) {
try {
K.blur();
K.focus();
zp.v4 = null;
if (!L.bn(K.name)) {
Mc.log(N.m24.replace("%p%", K.name))
}
} catch (O) {
}
}
M.aO(ad.bb);
nq(document).trigger({
type : "nppfs-npk-after-startup",
message : "키보드보안이 정상적으로 시작되었습니다.",
time : new Date()
})
}, uV.dV.kK)
}
function r() {
if (bk.JF == true) {
return
}
var J = new bk.bO("jkc");
bk.aC(J);
if (false) {
var K = [];
K.push("Cert=");
K.push("PKI=5");
K.push("CertEnc=" + bh.dn);
K.push("ID=" + bh.ID);
l(s, K.join("&"), {
ax : function(M) {
if (L.r9(M, function() {
bk.cv("jkc");
r()
}, J)) {
return
}
J.aO(ad.bb)
}
})
} else {
J.aO(ad.bb)
}
bk.Cb([ "jki", "jkc" ], function() {
t()
}, uV.dV.kK);
bk.Cb([ "jkc" ], function() {
g()
}, uV.dV.kK)
}
function t() {
if (bk.JF == true) {
return
}
var J = new bk.bO("jkb");
bk.aC(J);
if (!false) {
J.aO(ad.bb);
return
}
var K = a + "=" + bh.ID;
l(H, K, {
ax : function(M) {
if (L.r9(M, function() {
bk.cv("jkb");
t()
}, J)) {
return
}
var P = M.split("&&");
if (L.au(P) || P.length != 2) {
bk.cv("jkb");
bh.jq();
return
}
if (P[0] == "CLIENTADDRESS") {
var O = P[1].split("&^&");
if (L.au(O) || O.length != 2 || L.bn(O[1])) {
bk.cv("jkb");
bh.jq();
return
}
bh.hb = O[1]
}
J.aO(ad.bb)
}
})
}
function g() {
if (bk.JF == true) {
return
}
var J = new bk.bO("jkrt");
bk.aC(J);
var K = f + "=" + bh.ID;
l(H, K, {
ax : function(M) {
if (L.r9(M, function() {
bk.cv("jkrt");
g()
}, J)) {
return
}
var P = M.split("&&");
if (L.au(P) || P.length != 2) {
bk.cv("jkrt");
bh.b7();
return
}
if (P[0] == "ENCREPLACETABLE") {
var O = P[1].split("&^&");
if (L.au(O) || O.length != 2 || L.bn(O[1])) {
bk.cv("jkrt");
bh.b7();
return
}
if (L.bn(bh.Qb)) {
bh.Qb = O[1]
}
}
J.aO(ad.bb)
}
})
}
this.cU = function() {
bk.Cb([ "jkc", "jkb" ], function() {
I()
}, uV.dV.kK);
bk
.Cb(
"jkrf",
function() {
var J = zp.v4;
if (!L.au(J)) {
if (typeof (J.tagName) == "undefined"
|| J.tagName.toLowerCase() != "input") {
try {
J = document.activeElement;
J.blur()
} catch (K) {
}
}
if (!L.au(J)
&& J.tagName
&& J.tagName.toLowerCase() == "input"
&& (J.type == "password"
|| J.type == "text" || J.type == "tel")) {
try {
J.focus();
zp.v4 = null;
if (!L.bn(nq(J).attr("name"))) {
Mc.log(N.m24.replace("%p%", nq(J)
.attr("name")))
}
} catch (K) {
}
}
}
}, uV.dV.kK)
};
function I() {
var J = bk.aQ("jkrf");
if (L.au(J)) {
J = new bk.bO("jkrf");
bk.aC(J)
}
J.aO(ad.cG);
try {
var M = 0;
nq("input[type=text], input[type=password]")
.each(
function() {
var O = this;
var P = this.form;
if (O.name == ad.Ix || O.name == ad.wG
|| O.name == ad.jd) {
return true
}
if (O.name.indexOf("__E2E__") > 0
|| O.name.indexOf("__KI_") == 0
|| O.name.indexOf("__KH_") == 0) {
return true
}
if (nq(O).hasClass("nppfs-npk")) {
return true
}
if (typeof (npPfsExtension) != "undefined"
&& typeof (npPfsExtension.secureKeyUiModifier) == "function") {
npPfsExtension.secureKeyUiModifier(O)
}
var R = u(O, zp.aG.AN);
if (R === "off") {
return true
}
O.blur();
nq(document)
.trigger(
{
type : "nppfs-npk-before-regist-field",
message : "키보드보안에 입력양식("
+ O.name
+ ")을 등록합니다.",
target : O,
form : (!L.au(P)) ? nq(P)
.attr("name")
: null,
name : O.name,
time : new Date()
});
L.c1(P, [ ad.Ix, ad.wG ], [ bh.hb, bh.aJ ]);
var Q = bh.f7(P, O);
if (!L.bn(Q)) {
L.c1(P, [ Q ])
}
M++
});
if (M == 0) {
J.aO(ad.bb);
return
}
} catch (K) {
Mc.log(K);
alert(K)
}
}
this.iM = function(K, J) {
if (typeof (J) == "string") {
J = L.bZ(J, K)
}
if (typeof (J) == "undefined") {
return
}
J.value = "";
var M = m(J);
if (!L.au(M)) {
M.value = ""
}
};
this.f7 = function(M, J) {
var K = "";
if (typeof (J) == "string") {
J = L.bZ(J, M)
}
if (typeof (J) == "undefined") {
return K
}
var O = nq(J);
O.bind("contextmenu", function() {
return false
});
O.bind("dragstart", function() {
return false
});
O.bind("click", q);
if (D.ie) {
O.bind("focusin", j);
O.bind("focusout", w)
} else {
O.bind("focus", j);
O.bind("blur", w)
}
if (D.ff) {
O.bind("keypress", C)
}
if (D.op) {
O.bind("selectstart", function() {
return false
})
}
O.bind("keydown", x);
nq(O).addClass("nppfs-npk");
try {
E(M, J);
var Q = u(O, zp.aG.AN);
if ((Q == zp.aG.AV && false) || Q === "re" || Q === "sub") {
K = J.name + "__E2E__"
}
} catch (P) {
}
return K
};
function E(M, P) {
if (bk.JF == true) {
return
}
var S = L.au(M) ? "blank" : M.name;
var O = bk.aQ("jkrf");
var U = new bk.bO("tkrf_" + S + "_" + P.name, ad.cG);
O.cP(U);
var K = u(P, zp.aG.AN);
var X = "OFF";
try {
if (L.bn(K)) {
X = "OFF"
} else {
if (K === "re") {
X = "RE"
} else {
if (K === "sub") {
X = "SUB"
} else {
X = "OFF"
}
}
}
} catch (W) {
}
var T = "ON";
try {
var J = u(P, "style");
var Z = J.split(";");
for (var R = 0; R < Z.length; R++) {
var Q = L.trim(Z[R]);
if (Q.indexOf("ime-mode:") == 0
|| Q.indexOf("-ms-ime-mode:") == 0) {
var Y = Z[R].split(":");
if (L.trim(Y[1]) == "disabled") {
T = "OFF";
break
}
}
}
} catch (W) {
T = "ON"
}
var V = [];
V.push("name=" + P.name);
V.push("Length=" + P.maxLength);
V.push("type=" + P.type);
V.push("E2E=" + X);
V.push("ID=" + bh.ID);
V.push("IME=" + T);
V.push("Dummy=" + bh.Dummy);
l(e, V.join("&"), {
ax : function(aa) {
if (L.r9(aa, function() {
bk.cv("tkrf_" + S + "_" + P.name);
E(M, P)
}, O)) {
return
}
var ab = u(P, zp.aG.AN);
if (!L.bn(aa)) {
if (ab === "re" || ab === "sub") {
nq(P).css({
color : o.eK.Kq,
"background-color" : o.eK.Xe
})
} else {
if (ab === zp.aG.AV && false) {
nq(P).css({
color : o.eK.hZ,
"background-color" : o.eK.gx
})
}
}
nq(document).trigger(
{
type : "nppfs-npk-after-regist-field",
message : "키보드보안에 입력양식(" + P.name
+ ")이 정상적으로 등록되었습니다.",
target : P,
form : (!L.au(M)) ? nq(M).attr("name") : null,
name : P.name,
time : new Date()
})
}
U.aO(ad.bb)
}
})
}
this.lh = function(J) {
J = (J || window.event);
if (L.au(J)) {
return false
}
if (bk.JF == true) {
return false
}
if (bk.aQ("jkrf").bA() == false) {
return false
}
if (bh.ID == "") {
L.so(J);
return false
}
return true
};
function q(M) {
M = (M || window.event);
if (!bh.lh(M)) {
L.so(M);
return
}
try {
var K = M.target ? M.target : M.srcElement;
if (K.type == "text" || K.type == "password" || K.type == "tel") {
var P = u(K, zp.aG.AN);
if ((P === zp.aG.AV && false) || P === "re" || P === "sub") {
var Q = K.value.length;
if (K.createTextRange) {
var J = K.createTextRange();
J.move("character", Q);
J.select()
} else {
if (K.setSelectionRange) {
K.setSelectionRange(Q, Q)
} else {
}
}
}
}
} catch (O) {
}
}
function C(M) {
M = (M || window.event);
if (!bh.lh(M)) {
L.so(M);
return
}
var K = 0;
var J = false;
if (window.event) {
K = window.event.keyCode
} else {
if (M) {
K = M.which
}
}
if (K == 8 || M.keyCode == 9) {
return true
}
if (112 <= M.keyCode && M.keyCode <= 123) {
J = false;
return
}
L.so(M);
if (M.ctrlKey == true && K == 97) {
J = false
} else {
if (M.ctrlKey == true && K == 99) {
J = false
} else {
if (M.ctrlKey == true && K == 118) {
J = false
} else {
if (M.ctrlKey == true && K == 120) {
J = false
}
}
}
}
return J
}
function j(K) {
K = (K || window.event);
if (!bh.lh(K)) {
L.so(K);
return
}
try {
var J = K.target ? K.target : K.srcElement;
if (nq(J).prop("readonly") == true
|| nq(J).prop("disabled") == true) {
L.so(K);
return
}
if (!L.au(J)) {
J.selectionStart = 0;
J.selectionEnd = 0;
J.focus();
var Q = u(J, zp.aG.AN);
if ((Q === zp.aG.AV && false) || Q === "re" || Q === "sub") {
J.value = "";
var M = m(J);
if (!L.au(M)) {
M.value = ""
}
}
}
bh.av = J;
var P = v + "=" + bh.ID + "=" + J.name;
l(H, P, {
ax : function(R) {
if (!D.CB()) {
if (L.r9(R, function() {
j(K)
})) {
return
}
}
}
});
nq(document).trigger({
type : "nppfs-npk-focusin",
message : "입력양식에 포커스가 들어왔습니다.",
target : J,
form : (!L.au(J.form)) ? nq(J.form).attr("name") : null,
name : J.name,
time : new Date()
})
} catch (O) {
}
}
function w(K) {
K = (K || window.event);
if (!bh.lh(K)) {
L.so(K);
return
}
try {
var J = K.target ? K.target : K.srcElement;
var O = F + "=" + bh.ID + "=" + bh.av.name;
l(H, O, {
ax : function(P) {
if (!D.CB()) {
if (L.r9(P, function() {
w(K)
})) {
return
}
}
}
});
nq(document).trigger({
type : "nppfs-npk-focusout",
message : "입력양식의 포커스가 사라졌습니다.",
target : J,
form : (!L.au(J.form)) ? nq(J.form).attr("name") : null,
name : J.name,
time : new Date()
});
nq(bh.av).trigger({
type : "change"
})
} catch (M) {
}
bh.av = null
}
function x(K) {
K = (K || window.event);
if (!bh.lh(K)) {
L.so(K);
return false
}
try {
var J = K.target ? K.target : K.srcElement;
if (L.au(J)
|| (J.type != "text" && J.type != "password" && J.type != "tel")) {
K.keyCode = 0;
K.cancelBubble = true;
L.so(K);
return false
}
var M = bh.av;
var Q = u(J, zp.aG.AN);
Mc.log("키보드보안 키다운 이벤트발생 : " + M.name + " : " + M.value + " : "
+ K.keyCode);
if (D.mac && D.sf && K.keyCode == 38) {
K.keyCode = 49
} else {
if (D.mac && D.sf && K.keyCode == 40) {
K.keyCode = 32
}
}
if (Q !== "" && K.keyCode == 8) {
try {
if (J.selectionStart != J.selectionEnd) {
K.keyCode = 0;
K.cancelBubble = true;
L.so(K);
return false
}
} catch (P) {
}
}
if (K.ctrlKey == true && (K.keyCode == 67 || K.keyCode == 86)) {
K.keyCode = 0;
K.cancelBubble = true;
L.so(K);
return false
} else {
if ((K.keyCode >= 32 && K.keyCode <= 40) || K.keyCode >= 45
&& K.keyCode <= 46) {
if (K.keyCode != 35
&& K.keyCode != 36
&& K.keyCode != 32
&& (Q !== "" || (K.keyCode != 37 && K.keyCode != 39 && K.keyCode != 46))) {
K.keyCode = 0;
K.cancelBubble = true;
L.so(K);
return false
}
} else {
if ((K.ctrlKey == true || K.metaKey == true)
&& (K.keyCode == 67 || K.keyCode == 86 || K.keyCode == 88)) {
L.so(K);
return false
} else {
if (K.keyCode == 93) {
K.keyCode = 0;
K.cancelBubble = true;
L.so(K);
return false
}
}
}
}
if (!L.au(K.charCode) && K.charCode != 0) {
return false
}
if (K.keyCode == 49 || K.keyCode == 32
|| (K.keyCode == 16 && D.win)) {
var O = A + "=" + bh.ID + "=" + J.name;
l(H, O, {
ax : function(R) {
if (L.r9(R, function() {
x(K)
})) {
return
}
var S = R.split("&&");
d(S[1], S[2])
}
});
L.so(K);
return false
} else {
if (K.keyCode == 8) {
var O = y + "=" + bh.ID + "=" + J.name;
l(H, O, {
ax : function(R) {
if (L.r9(R, function() {
x(K)
})) {
return
}
var S = R.split("&&");
n()
}
})
} else {
if (Q === ""
&& (K.keyCode == 37 || K.keyCode == 39
|| K.keyCode == 46 || K.keyCode == 36 || K.keyCode == 35)) {
} else {
if (K.keyCode == 9) {
} else {
if (K.keyCode == 13) {
} else {
if (Q == zp.aG.AV) {
L.so(K);
return false
} else {
if (D.mac && D.ff && Q === "") {
var O = A + "=" + bh.ID + "=" + J.name;
l(
H,
O,
{
ax : function(R) {
if (R === Ye.kk
|| R === Ye.a4) {
} else {
if (L.r9(R,
function() {
x(K)
})) {
return
}
var S = R
.split("&&");
d(S[1], S[2])
}
}
})
} else {
if (K.keyCode == 229) {
} else {
L.so(K);
return false
}
}
}
}
}
}
}
}
} catch (P) {
}
}
this.he = null;
this.jw = function(J) {
if (!L.au(J) && J.keyCode == 9) {
var K = new Date().getTime();
if (L.au(bh.he)) {
} else {
if (K - bh.he <= 150) {
L.so(J)
} else {
}
}
bh.he = K
}
};
function d(R, J) {
if (L.au(bh.av)) {
return
}
var ac = bh.av;
var af = ac.value;
var V = i(ac);
var M = V.start;
var K = V.end;
var aa = nq(ac).prop("maxlength");
if (M == K && !L.bn(aa) && !L.bn(af) && aa > 0 && af.length >= aa) {
return
}
if (nq(ac).prop("readonly") == true || nq(ac).prop("disabled") == true) {
return
}
try {
var X = L.ha(R);
if (L.bn(X)) {
return
}
var T = L.gu(X, L.ha(bh.ID), "ECB", 128);
if (L.bn(T)) {
return
}
if (T.length > 0) {
T = T.substring(0, 1)
}
if (L.bn(T)) {
return
}
var S = T.charCodeAt(0);
var ab = L.au(zp.cI);
ab = ab || typeof (zp.cI) !== "function";
ab = ab || zp.cI(S, ac);
if (typeof (npPfsExtension) != "undefined"
&& typeof (npPfsExtension.keyValidation) == "function") {
ab = ab && npPfsExtension.keyValidation(ac, S)
}
if (ab == false) {
if (S >= 65 & S <= 90 || S >= 97 & S <= 122 || S >= 48
&& S <= 57) {
var P = y + "=" + bh.ID;
l(H, P, {
ax : function(ag) {
if (L.r9(ag, function() {
x(event)
})) {
return
}
var ah = ag.split("&&")
}
})
}
Mc.log("The key value(" + S
+ ") is invalid, clear the keystroke.");
return
}
var U = u(ac, zp.aG.AN);
if ((U === zp.aG.AV && false) || U === "re" || U === "sub") {
var Z = m(ac);
if (L.au(Z)) {
return
}
if (U === "re" || U === "sub") {
var X = L.ha(J);
if (L.bn(X)) {
return
}
var W = L.gu(X, L.ha(bh.ID), "ECB", 128);
if (L.bn(W)) {
return
}
if (W.length > 0) {
W = W.substring(0, 1)
}
ac.value += T;
Z.value += W
} else {
if (U === zp.aG.AV) {
ac.value += T;
Z.value += J
}
}
} else {
var Q = c(ac);
if (M != K) {
var Y = ac.value.substring(0, M);
var O = ac.value.substring(K);
ac.value = Y + T + O;
z(ac, M + 1)
} else {
if (ac.value.length == 0 || Q == ac.value.length - 1) {
ac.value += T
} else {
var Y = ac.value.substring(0, Q);
var O = ac.value.substring(Q);
ac.value = Y + T + O;
z(ac, Q + 1)
}
}
}
Mc.log("키보드보안 값입력 완료 : " + ac.name + " : " + ac.value + " : "
+ T.charCodeAt(0));
nq(document).trigger({
type : "nppfs-npk-put-complete",
message : "키 값이 입력되었습니다.",
target : ac,
form : (!L.au(ac.form)) ? nq(ac.formm).attr("name") : null,
name : ac.name,
time : new Date()
});
var S = T.charCodeAt(0);
nq(ac).trigger({
type : "keypress",
which : S,
keyCode : S
});
nq(ac).trigger({
type : "keyup",
which : S,
keyCode : S
})
} catch (ae) {
}
}
function i(O) {
var M = {
start : 0,
end : 0
};
if (document.selection) {
var K = document.selection.createRange().getBookmark();
var P = O.createTextRange();
var J = P.duplicate();
P.moveToBookmark(K);
J.setEndPoint("EndToStart", P);
M.start = J.text.length;
M.end = M.start + P.text.length
} else {
if (typeof O.selectionStart == "number"
&& typeof O.selectionEnd == "number") {
M.start = O.selectionStart;
M.end = O.selectionEnd
}
}
return M
}
function z(K, M) {
if (K.createTextRange) {
var J = K.createTextRange();
J.move("character", M);
J.select()
} else {
if (K.setSelectionRange) {
K.setSelectionRange(M, M)
} else {
}
}
}
function c(K) {
var M = 0;
if (document.selection) {
K.focus();
var J = document.selection.createRange();
J.moveStart("character", -K.value.length);
M = J.text.length
} else {
if (K.selectionStart || K.selectionStart == "0") {
M = K.selectionStart
}
}
return (M)
}
function m(M) {
var J = M.name + "__E2E__";
var K = !L.au(M.form) ? M.form.name : null;
return L.bZ(J, K)
}
function n() {
try {
var M = bh.av;
var J = m(M);
if (!L.au(J)) {
var K = J.value;
var P = u(M, zp.aG.AN);
if (L.bn(P)) {
return
}
if (P === "re" || P === "sub") {
K = J.value.substring(0, J.value.length - 1)
} else {
if (P === zp.aG.AV) {
K = J.value.substring(0, J.value.length - 64)
}
}
J.value = K
}
Mc.log("키보드보안 값삭제 완료 : " + M.name + " : " + M.value)
} catch (O) {
}
}
this.resetColor = function(J) {
if (L.au(J)) {
return
}
var K = u(J, zp.aG.AN);
if (K === "re" || K === "sub") {
J.style.color = o.eK.Kq;
J.style.backgroundColor = o.eK.Xe
} else {
if (K === zp.aG.AV && false) {
J.style.color = o.eK.hZ;
J.style.backgroundColor = o.eK.gx
}
}
};
this.iu = function(K, O) {
if (L.au(O)) {
return
}
if (L.au(document.getElementsByName(O)[0])) {
return
}
if (bh.isRunnable()) {
var J = O + "__E2E__";
var M = L.bZ(J, K);
if (L.au(M) || L.au(M.value)) {
return
}
return M.value
}
};
this.im = function(K, O) {
if (bh.isRunnable()) {
if (L.au(bh.Qb)) {
return
}
var J = O;
if (typeof (J) == "string") {
J = L.bZ(O, K)
}
if (typeof (J) == "undefined") {
return ""
}
try {
var P = nq(J).attr(zp.aG.AN);
P = (L.au(P)) ? "" : P.toLowerCase();
if (P === "sub") {
return bh.ID + "=" + J.name
}
return bh.Qb
} catch (M) {
}
return bh.Qb
}
};
this.eX = function(J, M) {
if (!L.bn(J)) {
if (typeof (J) == "string") {
J = nq("form[name='" + J + "']").get(0)
}
}
if (typeof (M) == "string") {
L.iV(M, J);
M = L.bZ(M, J)
}
if (M == null || typeof (M) == "undefined") {
return
}
if (bh.isRunnable()) {
var K = bk.aQ("jki");
if (!L.au(K)) {
bk
.Cb(
[ "jkrf" ],
function() {
var Q = bh.f7(J, M);
if (!L.bn(Q)) {
L.c1(J, [ Q ], null)
}
var O = zp.v4;
if (!L.au(O)) {
if (typeof (O.tagName) == "undefined"
|| O.tagName.toLowerCase() != "input") {
try {
O = document.activeElement;
O.blur()
} catch (P) {
}
}
if (!L.au(O)
&& O.tagName
&& O.tagName.toLowerCase() == "input"
&& (O.type == "password"
|| O.type == "text" || O.type == "tel")) {
try {
O.focus();
zp.v4 = null;
if (!L.bn(O.name)) {
Mc.log(N.m24.replace("%p%",
O.name))
}
} catch (P) {
}
}
}
}, uV.dV.kK)
} else {
bh.startup()
}
}
}
};
hI.define({
id : "nppfs.npk.module",
name : "nProtect Online Security V1.0, Key Protection",
handshake : true,
endtoend : false,
runvirtualos : false,
controller : bh,
isExecutable : function(a) {
return zp.aG.SK
}
});
var AES = new function() {
var w = [ 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47,
94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145 ];
var f = [ 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215,
171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175,
156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165,
229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7,
18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160,
82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177,
91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77,
51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146,
157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19,
236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129,
79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224,
50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121,
231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122,
174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75,
189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185,
134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30,
135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104,
65, 153, 45, 15, 176, 84, 187, 22 ];
var n = [ 2774754246, 2222750968, 2574743534, 2373680118, 234025727,
3177933782, 2976870366, 1422247313, 1345335392, 50397442,
2842126286, 2099981142, 436141799, 1658312629, 3870010189,
2591454956, 1170918031, 2642575903, 1086966153, 2273148410,
368769775, 3948501426, 3376891790, 200339707, 3970805057,
1742001331, 4255294047, 3937382213, 3214711843, 4154762323,
2524082916, 1539358875, 3266819957, 486407649, 2928907069,
1780885068, 1513502316, 1094664062, 49805301, 1338821763,
1546925160, 4104496465, 887481809, 150073849, 2473685474,
1943591083, 1395732834, 1058346282, 201589768, 1388824469,
1696801606, 1589887901, 672667696, 2711000631, 251987210,
3046808111, 151455502, 907153956, 2608889883, 1038279391,
652995533, 1764173646, 3451040383, 2675275242, 453576978,
2659418909, 1949051992, 773462580, 756751158, 2993581788,
3998898868, 4221608027, 4132590244, 1295727478, 1641469623,
3467883389, 2066295122, 1055122397, 1898917726, 2542044179,
4115878822, 1758581177, 0, 753790401, 1612718144, 536673507,
3367088505, 3982187446, 3194645204, 1187761037, 3653156455,
1262041458, 3729410708, 3561770136, 3898103984, 1255133061,
1808847035, 720367557, 3853167183, 385612781, 3309519750,
3612167578, 1429418854, 2491778321, 3477423498, 284817897,
100794884, 2172616702, 4031795360, 1144798328, 3131023141,
3819481163, 4082192802, 4272137053, 3225436288, 2324664069,
2912064063, 3164445985, 1211644016, 83228145, 3753688163,
3249976951, 1977277103, 1663115586, 806359072, 452984805,
250868733, 1842533055, 1288555905, 336333848, 890442534, 804056259,
3781124030, 2727843637, 3427026056, 957814574, 1472513171,
4071073621, 2189328124, 1195195770, 2892260552, 3881655738,
723065138, 2507371494, 2690670784, 2558624025, 3511635870,
2145180835, 1713513028, 2116692564, 2878378043, 2206763019,
3393603212, 703524551, 3552098411, 1007948840, 2044649127,
3797835452, 487262998, 1994120109, 1004593371, 1446130276,
1312438900, 503974420, 3679013266, 168166924, 1814307912,
3831258296, 1573044895, 1859376061, 4021070915, 2791465668,
2828112185, 2761266481, 937747667, 2339994098, 854058965,
1137232011, 1496790894, 3077402074, 2358086913, 1691735473,
3528347292, 3769215305, 3027004632, 4199962284, 133494003,
636152527, 2942657994, 2390391540, 3920539207, 403179536,
3585784431, 2289596656, 1864705354, 1915629148, 605822008,
4054230615, 3350508659, 1371981463, 602466507, 2094914977,
2624877800, 555687742, 3712699286, 3703422305, 2257292045,
2240449039, 2423288032, 1111375484, 3300242801, 2858837708,
3628615824, 84083462, 32962295, 302911004, 2741068226, 1597322602,
4183250862, 3501832553, 2441512471, 1489093017, 656219450,
3114180135, 954327513, 335083755, 3013122091, 856756514,
3144247762, 1893325225, 2307821063, 2811532339, 3063651117,
572399164, 2458355477, 552200649, 1238290055, 4283782570,
2015897680, 2061492133, 2408352771, 4171342169, 2156497161,
386731290, 3669999461, 837215959, 3326231172, 3093850320,
3275833730, 2962856233, 1999449434, 286199582, 3417354363,
4233385128, 3602627437, 974525996 ];
var i = [ 1667483301, 2088564868, 2004348569, 2071721613, 4076011277,
1802229437, 1869602481, 3318059348, 808476752, 16843267,
1734856361, 724260477, 4278118169, 3621238114, 2880130534,
1987505306, 3402272581, 2189565853, 3385428288, 2105408135,
4210749205, 1499050731, 1195871945, 4042324747, 2913812972,
3570709351, 2728550397, 2947499498, 2627478463, 2762232823,
1920132246, 3233848155, 3082253762, 4261273884, 2475900334,
640044138, 909536346, 1061125697, 4160222466, 3435955023,
875849820, 2779075060, 3857043764, 4059166984, 1903288979,
3638078323, 825320019, 353708607, 67373068, 3351745874, 589514341,
3284376926, 404238376, 2526427041, 84216335, 2593796021, 117902857,
303178806, 2155879323, 3806519101, 3958099238, 656887401,
2998042573, 1970662047, 151589403, 2206408094, 741103732,
437924910, 454768173, 1852759218, 1515893998, 2694863867,
1381147894, 993752653, 3604395873, 3014884814, 690573947,
3823361342, 791633521, 2223248279, 1397991157, 3520182632, 0,
3991781676, 538984544, 4244431647, 2981198280, 1532737261,
1785386174, 3419114822, 3200149465, 960066123, 1246401758,
1280088276, 1482207464, 3486483786, 3503340395, 4025468202,
2863288293, 4227591446, 1128498885, 1296931543, 859006549,
2240090516, 1162185423, 4193904912, 33686534, 2139094657,
1347461360, 1010595908, 2678007226, 2829601763, 1364304627,
2745392638, 1077969088, 2408514954, 2459058093, 2644320700,
943222856, 4126535940, 3166462943, 3065411521, 3671764853,
555827811, 269492272, 4294960410, 4092853518, 3537026925,
3452797260, 202119188, 320022069, 3974939439, 1600110305,
2543269282, 1145342156, 387395129, 3301217111, 2812761586,
2122251394, 1027439175, 1684326572, 1566423783, 421081643,
1936975509, 1616953504, 2172721560, 1330618065, 3705447295,
572671078, 707417214, 2425371563, 2290617219, 1179028682,
4008625961, 3099093971, 336865340, 3739133817, 1583267042,
185275933, 3688607094, 3772832571, 842163286, 976909390, 168432670,
1229558491, 101059594, 606357612, 1549580516, 3267534685,
3553869166, 2896970735, 1650640038, 2442213800, 2509582756,
3840201527, 2038035083, 3890730290, 3368586051, 926379609,
1835915959, 2374828428, 3587551588, 1313774802, 2846444000,
1819072692, 1448520954, 4109693703, 3941256997, 1701169839,
2054878350, 2930657257, 134746136, 3132780501, 2021191816,
623200879, 774790258, 471611428, 2795919345, 3031724999,
3334903633, 3907570467, 3722289532, 1953818780, 522141217,
1263245021, 3183305180, 2341145990, 2324303749, 1886445712,
1044282434, 3048567236, 1718013098, 1212715224, 50529797,
4143380225, 235805714, 1633796771, 892693087, 1465364217,
3115936208, 2256934801, 3250690392, 488454695, 2661164985,
3789674808, 4177062675, 2560109491, 286335539, 1768542907,
3654920560, 2391672713, 2492740519, 2610638262, 505297954,
2273777042, 3924412704, 3469641545, 1431677695, 673730680,
3755976058, 2357986191, 2711706104, 2307459456, 218962455,
3216991706, 3873888049, 1111655622, 1751699640, 1094812355,
2576951728, 757946999, 252648977, 2964356043, 1414834428,
3149622742, 370551866 ];
var x = [ 1673962851, 2096661628, 2012125559, 2079755643, 4076801522,
1809235307, 1876865391, 3314635973, 811618352, 16909057,
1741597031, 727088427, 4276558334, 3618988759, 2874009259,
1995217526, 3398387146, 2183110018, 3381215433, 2113570685,
4209972730, 1504897881, 1200539975, 4042984432, 2906778797,
3568527316, 2724199842, 2940594863, 2619588508, 2756966308,
1927583346, 3231407040, 3077948087, 4259388669, 2470293139,
642542118, 913070646, 1065238847, 4160029431, 3431157708,
879254580, 2773611685, 3855693029, 4059629809, 1910674289,
3635114968, 828527409, 355090197, 67636228, 3348452039, 591815971,
3281870531, 405809176, 2520228246, 84545285, 2586817946, 118360327,
304363026, 2149292928, 3806281186, 3956090603, 659450151,
2994720178, 1978310517, 152181513, 2199756419, 743994412,
439627290, 456535323, 1859957358, 1521806938, 2690382752,
1386542674, 997608763, 3602342358, 3011366579, 693271337,
3822927587, 794718511, 2215876484, 1403450707, 3518589137, 0,
3988860141, 541089824, 4242743292, 2977548465, 1538714971,
1792327274, 3415033547, 3194476990, 963791673, 1251270218,
1285084236, 1487988824, 3481619151, 3501943760, 4022676207,
2857362858, 4226619131, 1132905795, 1301993293, 862344499,
2232521861, 1166724933, 4192801017, 33818114, 2147385727,
1352724560, 1014514748, 2670049951, 2823545768, 1369633617,
2740846243, 1082179648, 2399505039, 2453646738, 2636233885,
946882616, 4126213365, 3160661948, 3061301686, 3668932058,
557998881, 270544912, 4293204735, 4093447923, 3535760850,
3447803085, 202904588, 321271059, 3972214764, 1606345055,
2536874647, 1149815876, 388905239, 3297990596, 2807427751,
2130477694, 1031423805, 1690872932, 1572530013, 422718233,
1944491379, 1623236704, 2165938305, 1335808335, 3701702620,
574907938, 710180394, 2419829648, 2282455944, 1183631942,
4006029806, 3094074296, 338181140, 3735517662, 1589437022,
185998603, 3685578459, 3772464096, 845436466, 980700730, 169090570,
1234361161, 101452294, 608726052, 1555620956, 3265224130,
3552407251, 2890133420, 1657054818, 2436475025, 2503058581,
3839047652, 2045938553, 3889509095, 3364570056, 929978679,
1843050349, 2365688973, 3585172693, 1318900302, 2840191145,
1826141292, 1454176854, 4109567988, 3939444202, 1707781989,
2062847610, 2923948462, 135272456, 3127891386, 2029029496,
625635109, 777810478, 473441308, 2790781350, 3027486644,
3331805638, 3905627112, 3718347997, 1961401460, 524165407,
1268178251, 3177307325, 2332919435, 2316273034, 1893765232,
1048330814, 3044132021, 1724688998, 1217452104, 50726147,
4143383030, 236720654, 1640145761, 896163637, 1471084887,
3110719673, 2249691526, 3248052417, 490350365, 2653403550,
3789109473, 4176155640, 2553000856, 287453969, 1775418217,
3651760345, 2382858638, 2486413204, 2603464347, 507257374,
2266337927, 3922272489, 3464972750, 1437269845, 676362280,
3752164063, 2349043596, 2707028129, 2299101321, 219813645,
3211123391, 3872862694, 1115997762, 1758509160, 1099088705,
2569646233, 760903469, 253628687, 2960903088, 1420360788,
3144537787, 371997206 ];
var a = [ 3332727651, 4169432188, 4003034999, 4136467323, 4279104242,
3602738027, 3736170351, 2438251973, 1615867952, 33751297,
3467208551, 1451043627, 3877240574, 3043153879, 1306962859,
3969545846, 2403715786, 530416258, 2302724553, 4203183485,
4011195130, 3001768281, 2395555655, 4211863792, 1106029997,
3009926356, 1610457762, 1173008303, 599760028, 1408738468,
3835064946, 2606481600, 1975695287, 3776773629, 1034851219,
1282024998, 1817851446, 2118205247, 4110612471, 2203045068,
1750873140, 1374987685, 3509904869, 4178113009, 3801313649,
2876496088, 1649619249, 708777237, 135005188, 2505230279,
1181033251, 2640233411, 807933976, 933336726, 168756485, 800430746,
235472647, 607523346, 463175808, 3745374946, 3441880043,
1315514151, 2144187058, 3936318837, 303761673, 496927619,
1484008492, 875436570, 908925723, 3702681198, 3035519578,
1543217312, 2767606354, 1984772923, 3076642518, 2110698419,
1383803177, 3711886307, 1584475951, 328696964, 2801095507,
3110654417, 0, 3240947181, 1080041504, 3810524412, 2043195825,
3069008731, 3569248874, 2370227147, 1742323390, 1917532473,
2497595978, 2564049996, 2968016984, 2236272591, 3144405200,
3307925487, 1340451498, 3977706491, 2261074755, 2597801293,
1716859699, 294946181, 2328839493, 3910203897, 67502594,
4269899647, 2700103760, 2017737788, 632987551, 1273211048,
2733855057, 1576969123, 2160083008, 92966799, 1068339858,
566009245, 1883781176, 4043634165, 1675607228, 2009183926,
2943736538, 1113792801, 540020752, 3843751935, 4245615603,
3211645650, 2169294285, 403966988, 641012499, 3274697964,
3202441055, 899848087, 2295088196, 775493399, 2472002756,
1441965991, 4236410494, 2051489085, 3366741092, 3135724893,
841685273, 3868554099, 3231735904, 429425025, 2664517455,
2743065820, 1147544098, 1417554474, 1001099408, 193169544,
2362066502, 3341414126, 1809037496, 675025940, 2809781982,
3168951902, 371002123, 2910247899, 3678134496, 1683370546,
1951283770, 337512970, 2463844681, 201983494, 1215046692,
3101973596, 2673722050, 3178157011, 1139780780, 3299238498,
967348625, 832869781, 3543655652, 4069226873, 3576883175,
2336475336, 1851340599, 3669454189, 25988493, 2976175573,
2631028302, 1239460265, 3635702892, 2902087254, 4077384948,
3475368682, 3400492389, 4102978170, 1206496942, 270010376,
1876277946, 4035475576, 1248797989, 1550986798, 941890588,
1475454630, 1942467764, 2538718918, 3408128232, 2709315037,
3902567540, 1042358047, 2531085131, 1641856445, 226921355,
260409994, 3767562352, 2084716094, 1908716981, 3433719398,
2430093384, 100991747, 4144101110, 470945294, 3265487201,
1784624437, 2935576407, 1775286713, 395413126, 2572730817,
975641885, 666476190, 3644383713, 3943954680, 733190296, 573772049,
3535497577, 2842745305, 126455438, 866620564, 766942107,
1008868894, 361924487, 3374377449, 2269761230, 2868860245,
1350051880, 2776293343, 59739276, 1509466529, 159418761, 437718285,
1708834751, 3610371814, 2227585602, 3501746280, 2193834305,
699439513, 1517759789, 504434447, 2076946608, 2835108948,
1842789307, 742004246 ];
function c(z) {
return (z & 255)
}
function o(z) {
return ((z >> 8) & 255)
}
function m(z) {
return ((z >> 16) & 255)
}
function b(z) {
return ((z >> 24) & 255)
}
function s(C, B, z, A) {
return o(n[C & 255]) | (o(n[(B >> 8) & 255]) << 8)
| (o(n[(z >> 16) & 255]) << 16) | (o(n[A >>> 24]) << 24)
}
function j(E) {
var B, A;
var C = E.length;
var z = new Array(C / 4);
if (!E || C % 4) {
return
}
for (B = 0, A = 0; A < C; A += 4) {
z[B++] = E[A] | (E[A + 1] << 8) | (E[A + 2] << 16)
| (E[A + 3] << 24)
}
return z
}
function g(C) {
var B;
var A = 0, z = C.length;
var E = new Array(z * 4);
for (B = 0; B < z; B++) {
E[A++] = c(C[B]);
E[A++] = o(C[B]);
E[A++] = m(C[B]);
E[A++] = b(C[B])
}
return E
}
var u = 8;
var v = 14;
this.F = function(J) {
var F, E, C, z, O;
var H;
var A = new Array(v + 1);
var I = J.length;
var B = new Array(u);
var M = new Array(u);
var G = 0;
if (I == 16) {
H = 10;
F = 4
} else {
if (I == 24) {
H = 12;
F = 6
} else {
if (I == 32) {
H = 14;
F = 8
} else {
return
}
}
}
for (E = 0; E < v + 1; E++) {
A[E] = new Array(4)
}
for (E = 0, C = 0; C < I; C++, E += 4) {
B[C] = J.charCodeAt(E) | (J.charCodeAt(E + 1) << 8)
| (J.charCodeAt(E + 2) << 16) | (J.charCodeAt(E + 3) << 24)
}
for (C = F - 1; C >= 0; C--) {
M[C] = B[C]
}
z = 0;
O = 0;
for (C = 0; (C < F) && (z < H + 1);) {
for (; (C < F) && (O < 4); C++, O++) {
A[z][O] = M[C]
}
if (O == 4) {
z++;
O = 0
}
}
while (z < H + 1) {
var K = M[F - 1];
M[0] ^= f[o(K)] | (f[m(K)] << 8) | (f[b(K)] << 16)
| (f[c(K)] << 24);
M[0] ^= w[G++];
if (F != 8) {
for (C = 1; C < F; C++) {
M[C] ^= M[C - 1]
}
} else {
for (C = 1; C < F / 2; C++) {
M[C] ^= M[C - 1]
}
K = M[F / 2 - 1];
M[F / 2] ^= f[c(K)] | (f[o(K)] << 8) | (f[m(K)] << 16)
| (f[b(K)] << 24);
for (C = F / 2 + 1; C < F; C++) {
M[C] ^= M[C - 1]
}
}
for (C = 0; (C < F) && (z < H + 1);) {
for (; (C < F) && (O < 4); C++, O++) {
A[z][O] = M[C]
}
if (O == 4) {
z++;
O = 0
}
}
}
this.aU = H;
this.bo = A;
return this
};
this.eU = 128;
this.gl = 256;
var r = [ 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243,
215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68,
196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76,
149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118,
91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152,
22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253,
237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171,
0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44,
30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58,
145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230,
115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28,
117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98,
14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219,
192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49,
177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74,
13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174,
42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126,
186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125 ];
var k = [ 1353184337, 1399144830, 3282310938, 2522752826, 3412831035,
4047871263, 2874735276, 2466505547, 1442459680, 4134368941,
2440481928, 625738485, 4242007375, 3620416197, 2151953702,
2409849525, 1230680542, 1729870373, 2551114309, 3787521629,
41234371, 317738113, 2744600205, 3338261355, 3881799427,
2510066197, 3950669247, 3663286933, 763608788, 3542185048,
694804553, 1154009486, 1787413109, 2021232372, 1799248025,
3715217703, 3058688446, 397248752, 1722556617, 3023752829,
407560035, 2184256229, 1613975959, 1165972322, 3765920945,
2226023355, 480281086, 2485848313, 1483229296, 436028815,
2272059028, 3086515026, 601060267, 3791801202, 1468997603,
715871590, 120122290, 63092015, 2591802758, 2768779219, 4068943920,
2997206819, 3127509762, 1552029421, 723308426, 2461301159,
4042393587, 2715969870, 3455375973, 3586000134, 526529745,
2331944644, 2639474228, 2689987490, 853641733, 1978398372,
971801355, 2867814464, 111112542, 1360031421, 4186579262,
1023860118, 2919579357, 1186850381, 3045938321, 90031217,
1876166148, 4279586912, 620468249, 2548678102, 3426959497,
2006899047, 3175278768, 2290845959, 945494503, 3689859193,
1191869601, 3910091388, 3374220536, 0, 2206629897, 1223502642,
2893025566, 1316117100, 4227796733, 1446544655, 517320253,
658058550, 1691946762, 564550760, 3511966619, 976107044,
2976320012, 266819475, 3533106868, 2660342555, 1338359936,
2720062561, 1766553434, 370807324, 179999714, 3844776128,
1138762300, 488053522, 185403662, 2915535858, 3114841645,
3366526484, 2233069911, 1275557295, 3151862254, 4250959779,
2670068215, 3170202204, 3309004356, 880737115, 1982415755,
3703972811, 1761406390, 1676797112, 3403428311, 277177154,
1076008723, 538035844, 2099530373, 4164795346, 288553390,
1839278535, 1261411869, 4080055004, 3964831245, 3504587127,
1813426987, 2579067049, 4199060497, 577038663, 3297574056,
440397984, 3626794326, 4019204898, 3343796615, 3251714265,
4272081548, 906744984, 3481400742, 685669029, 646887386,
2764025151, 3835509292, 227702864, 2613862250, 1648787028,
3256061430, 3904428176, 1593260334, 4121936770, 3196083615,
2090061929, 2838353263, 3004310991, 999926984, 2809993232,
1852021992, 2075868123, 158869197, 4095236462, 28809964,
2828685187, 1701746150, 2129067946, 147831841, 3873969647,
3650873274, 3459673930, 3557400554, 3598495785, 2947720241,
824393514, 815048134, 3227951669, 935087732, 2798289660,
2966458592, 366520115, 1251476721, 4158319681, 240176511,
804688151, 2379631990, 1303441219, 1414376140, 3741619940,
3820343710, 461924940, 3089050817, 2136040774, 82468509,
1563790337, 1937016826, 776014843, 1511876531, 1389550482,
861278441, 323475053, 2355222426, 2047648055, 2383738969,
2302415851, 3995576782, 902390199, 3991215329, 1018251130,
1507840668, 1064563285, 2043548696, 3208103795, 3939366739,
1537932639, 342834655, 2262516856, 2180231114, 1053059257,
741614648, 1598071746, 1925389590, 203809468, 2336832552,
1100287487, 1895934009, 3736275976, 2632234200, 2428589668,
1636092795, 1890988757, 1952214088, 1113045200 ];
var t = [ 2817806672, 1698790995, 2752977603, 1579629206, 1806384075,
1167925233, 1492823211, 65227667, 4197458005, 1836494326,
1993115793, 1275262245, 3622129660, 3408578007, 1144333952,
2741155215, 1521606217, 465184103, 250234264, 3237895649,
1966064386, 4031545618, 2537983395, 4191382470, 1603208167,
2626819477, 2054012907, 1498584538, 2210321453, 561273043,
1776306473, 3368652356, 2311222634, 2039411832, 1045993835,
1907959773, 1340194486, 2911432727, 2887829862, 986611124,
1256153880, 823846274, 860985184, 2136171077, 2003087840,
2926295940, 2692873756, 722008468, 1749577816, 4249194265,
1826526343, 4168831671, 3547573027, 38499042, 2401231703,
2874500650, 686535175, 3266653955, 2076542618, 137876389,
2267558130, 2780767154, 1778582202, 2182540636, 483363371,
3027871634, 4060607472, 3798552225, 4107953613, 3188000469,
1647628575, 4272342154, 1395537053, 1442030240, 3783918898,
3958809717, 3968011065, 4016062634, 2675006982, 275692881,
2317434617, 115185213, 88006062, 3185986886, 2371129781,
1573155077, 3557164143, 357589247, 4221049124, 3921532567,
1128303052, 2665047927, 1122545853, 2341013384, 1528424248,
4006115803, 175939911, 256015593, 512030921, 0, 2256537987,
3979031112, 1880170156, 1918528590, 4279172603, 948244310,
3584965918, 959264295, 3641641572, 2791073825, 1415289809,
775300154, 1728711857, 3881276175, 2532226258, 2442861470,
3317727311, 551313826, 1266113129, 437394454, 3130253834,
715178213, 3760340035, 387650077, 218697227, 3347837613,
2830511545, 2837320904, 435246981, 125153100, 3717852859,
1618977789, 637663135, 4117912764, 996558021, 2130402100,
692292470, 3324234716, 4243437160, 4058298467, 3694254026,
2237874704, 580326208, 298222624, 608863613, 1035719416, 855223825,
2703869805, 798891339, 817028339, 1384517100, 3821107152,
380840812, 3111168409, 1217663482, 1693009698, 2365368516,
1072734234, 746411736, 2419270383, 1313441735, 3510163905,
2731183358, 198481974, 2180359887, 3732579624, 2394413606,
3215802276, 2637835492, 2457358349, 3428805275, 1182684258,
328070850, 3101200616, 4147719774, 2948825845, 2153619390,
2479909244, 768962473, 304467891, 2578237499, 2098729127,
1671227502, 3141262203, 2015808777, 408514292, 3080383489,
2588902312, 1855317605, 3875515006, 3485212936, 3893751782,
2615655129, 913263310, 161475284, 2091919830, 2997105071,
591342129, 2493892144, 1721906624, 3159258167, 3397581990,
3499155632, 3634836245, 2550460746, 3672916471, 1355644686,
4136703791, 3595400845, 2968470349, 1303039060, 76997855,
3050413795, 2288667675, 523026872, 1365591679, 3932069124,
898367837, 1955068531, 1091304238, 493335386, 3537605202,
1443948851, 1205234963, 1641519756, 211892090, 351820174,
1007938441, 665439982, 3378624309, 3843875309, 2974251580,
3755121753, 1945261375, 3457423481, 935818175, 3455538154,
2868731739, 1866325780, 3678697606, 4088384129, 3295197502,
874788908, 1084473951, 3273463410, 635616268, 1228679307,
2500722497, 27801969, 3003910366, 3837057180, 3243664528,
2227927905, 3056784752, 1550600308, 1471729730 ];
var q = [ 4098969767, 1098797925, 387629988, 658151006, 2872822635,
2636116293, 4205620056, 3813380867, 807425530, 1991112301,
3431502198, 49620300, 3847224535, 717608907, 891715652, 1656065955,
2984135002, 3123013403, 3930429454, 4267565504, 801309301,
1283527408, 1183687575, 3547055865, 2399397727, 2450888092,
1841294202, 1385552473, 3201576323, 1951978273, 3762891113,
3381544136, 3262474889, 2398386297, 1486449470, 3106397553,
3787372111, 2297436077, 550069932, 3464344634, 3747813450,
451248689, 1368875059, 1398949247, 1689378935, 1807451310,
2180914336, 150574123, 1215322216, 1167006205, 3734275948,
2069018616, 1940595667, 1265820162, 534992783, 1432758955,
3954313000, 3039757250, 3313932923, 936617224, 674296455,
3206787749, 50510442, 384654466, 3481938716, 2041025204, 133427442,
1766760930, 3664104948, 84334014, 886120290, 2797898494, 775200083,
4087521365, 2315596513, 4137973227, 2198551020, 1614850799,
1901987487, 1857900816, 557775242, 3717610758, 1054715397,
3863824061, 1418835341, 3295741277, 100954068, 1348534037,
2551784699, 3184957417, 1082772547, 3647436702, 3903896898,
2298972299, 434583643, 3363429358, 2090944266, 1115482383,
2230896926, 0, 2148107142, 724715757, 287222896, 1517047410,
251526143, 2232374840, 2923241173, 758523705, 252339417,
1550328230, 1536938324, 908343854, 168604007, 1469255655,
4004827798, 2602278545, 3229634501, 3697386016, 2002413899,
303830554, 2481064634, 2696996138, 574374880, 454171927, 151915277,
2347937223, 3056449960, 504678569, 4049044761, 1974422535,
2582559709, 2141453664, 33005350, 1918680309, 1715782971,
4217058430, 1133213225, 600562886, 3988154620, 3837289457,
836225756, 1665273989, 2534621218, 3330547729, 1250262308,
3151165501, 4188934450, 700935585, 2652719919, 3000824624,
2249059410, 3245854947, 3005967382, 1890163129, 2484206152,
3913753188, 4238918796, 4037024319, 2102843436, 857927568,
1233635150, 953795025, 3398237858, 3566745099, 4121350017,
2057644254, 3084527246, 2906629311, 976020637, 2018512274,
1600822220, 2119459398, 2381758995, 3633375416, 959340279,
3280139695, 1570750080, 3496574099, 3580864813, 634368786,
2898803609, 403744637, 2632478307, 1004239803, 650971512,
1500443672, 2599158199, 1334028442, 2514904430, 4289363686,
3156281551, 368043752, 3887782299, 1867173430, 2682967049,
2955531900, 2754719666, 1059729699, 2781229204, 2721431654,
1316239292, 2197595850, 2430644432, 2805143000, 82922136,
3963746266, 3447656016, 2434215926, 1299615190, 4014165424,
2865517645, 2531581700, 3516851125, 1783372680, 750893087,
1699118929, 1587348714, 2348899637, 2281337716, 201010753,
1739807261, 3683799762, 283718486, 3597472583, 3617229921,
2704767500, 4166618644, 334203196, 2848910887, 1639396809,
484568549, 1199193265, 3533461983, 4065673075, 337148366,
3346251575, 4149471949, 4250885034, 1038029935, 1148749531,
2949284339, 1756970692, 607661108, 2747424576, 488010435,
3803974693, 1009290057, 234832277, 2822336769, 201907891,
3034094820, 1449431233, 3413860740, 852848822, 1816687708,
3100656215 ];
var p = [ 1364240372, 2119394625, 449029143, 982933031, 1003187115,
535905693, 2896910586, 1267925987, 542505520, 2918608246,
2291234508, 4112862210, 1341970405, 3319253802, 645940277,
3046089570, 3729349297, 627514298, 1167593194, 1575076094,
3271718191, 2165502028, 2376308550, 1808202195, 65494927,
362126482, 3219880557, 2514114898, 3559752638, 1490231668,
1227450848, 2386872521, 1969916354, 4101536142, 2573942360,
668823993, 3199619041, 4028083592, 3378949152, 2108963534,
1662536415, 3850514714, 2539664209, 1648721747, 2984277860,
3146034795, 4263288961, 4187237128, 1884842056, 2400845125,
2491903198, 1387788411, 2871251827, 1927414347, 3814166303,
1714072405, 2986813675, 788775605, 2258271173, 3550808119,
821200680, 598910399, 45771267, 3982262806, 2318081231, 2811409529,
4092654087, 1319232105, 1707996378, 114671109, 3508494900,
3297443494, 882725678, 2728416755, 87220618, 2759191542, 188345475,
1084944224, 1577492337, 3176206446, 1056541217, 2520581853,
3719169342, 1296481766, 2444594516, 1896177092, 74437638,
1627329872, 421854104, 3600279997, 2311865152, 1735892697,
2965193448, 126389129, 3879230233, 2044456648, 2705787516,
2095648578, 4173930116, 0, 159614592, 843640107, 514617361,
1817080410, 4261150478, 257308805, 1025430958, 908540205,
174381327, 1747035740, 2614187099, 607792694, 212952842,
2467293015, 3033700078, 463376795, 2152711616, 1638015196,
1516850039, 471210514, 3792353939, 3236244128, 1011081250,
303896347, 235605257, 4071475083, 767142070, 348694814, 1468340721,
2940995445, 4005289369, 2751291519, 4154402305, 1555887474,
1153776486, 1530167035, 2339776835, 3420243491, 3060333805,
3093557732, 3620396081, 1108378979, 322970263, 2216694214,
2239571018, 3539484091, 2920362745, 3345850665, 491466654,
3706925234, 233591430, 2010178497, 728503987, 2845423984,
301615252, 1193436393, 2831453436, 2686074864, 1457007741,
586125363, 2277985865, 3653357880, 2365498058, 2553678804,
2798617077, 2770919034, 3659959991, 1067761581, 753179962,
1343066744, 1788595295, 1415726718, 4139914125, 2431170776,
777975609, 2197139395, 2680062045, 1769771984, 1873358293,
3484619301, 3359349164, 279411992, 3899548572, 3682319163,
3439949862, 1861490777, 3959535514, 2208864847, 3865407125,
2860443391, 554225596, 4024887317, 3134823399, 1255028335,
3939764639, 701922480, 833598116, 707863359, 3325072549, 901801634,
1949809742, 4238789250, 3769684112, 857069735, 4048197636,
1106762476, 2131644621, 389019281, 1989006925, 1129165039,
3428076970, 3839820950, 2665723345, 1276872810, 3250069292,
1182749029, 2634345054, 22885772, 4201870471, 4214112523,
3009027431, 2454901467, 3912455696, 1829980118, 2592891351,
930745505, 1502483704, 3951639571, 3471714217, 3073755489,
3790464284, 2050797895, 2623135698, 1430221810, 410635796,
1941911495, 1407897079, 1599843069, 3742658365, 2022103876,
3397514159, 3107898472, 942421028, 3261022371, 376619805,
3154912738, 680216892, 4282488077, 963707304, 148812556,
3634160820, 1687208278, 2069988555, 3580933682, 1215585388,
3494008760 ];
var y = [ 0, 185403662, 370807324, 488053522, 741614648, 658058550,
976107044, 824393514, 1483229296, 1399144830, 1316117100,
1165972322, 1952214088, 2136040774, 1648787028, 1766553434,
2966458592, 3151862254, 2798289660, 2915535858, 2632234200,
2548678102, 2331944644, 2180231114, 3904428176, 3820343710,
4272081548, 4121936770, 3297574056, 3481400742, 3533106868,
3650873274, 2075868123, 1890988757, 1839278535, 1722556617,
1468997603, 1552029421, 1100287487, 1251476721, 601060267,
685669029, 902390199, 1053059257, 266819475, 82468509, 436028815,
317738113, 3412831035, 3227951669, 3715217703, 3598495785,
3881799427, 3964831245, 4047871263, 4199060497, 2466505547,
2551114309, 2233069911, 2383738969, 3208103795, 3023752829,
2838353263, 2720062561, 4134368941, 4250959779, 3765920945,
3950669247, 3663286933, 3511966619, 3426959497, 3343796615,
2919579357, 2768779219, 3089050817, 3004310991, 2184256229,
2302415851, 2485848313, 2670068215, 1186850381, 1303441219,
1353184337, 1537932639, 1787413109, 1636092795, 2090061929,
2006899047, 517320253, 366520115, 147831841, 63092015, 853641733,
971801355, 620468249, 804688151, 2379631990, 2262516856,
2613862250, 2428589668, 2715969870, 2867814464, 3086515026,
3170202204, 3586000134, 3736275976, 3282310938, 3366526484,
4186579262, 4068943920, 4019204898, 3835509292, 1023860118,
906744984, 723308426, 538035844, 288553390, 440397984, 120122290,
203809468, 1701746150, 1852021992, 1937016826, 2021232372,
1230680542, 1113045200, 1598071746, 1414376140, 4158319681,
4242007375, 3787521629, 3939366739, 3689859193, 3504587127,
3455375973, 3338261355, 2947720241, 2764025151, 3114841645,
2997206819, 2206629897, 2290845959, 2510066197, 2660342555,
1191869601, 1275557295, 1360031421, 1511876531, 1799248025,
1613975959, 2099530373, 1982415755, 526529745, 342834655,
158869197, 41234371, 861278441, 945494503, 625738485, 776014843,
2355222426, 2272059028, 2591802758, 2440481928, 2689987490,
2874735276, 3058688446, 3175278768, 3557400554, 3741619940,
3256061430, 3374220536, 4164795346, 4080055004, 3995576782,
3844776128, 1018251130, 935087732, 715871590, 564550760, 277177154,
461924940, 111112542, 227702864, 1691946762, 1876166148,
1925389590, 2043548696, 1223502642, 1138762300, 1593260334,
1442459680, 28809964, 179999714, 397248752, 480281086, 763608788,
646887386, 999926984, 815048134, 1507840668, 1389550482,
1338359936, 1154009486, 1978398372, 2129067946, 1676797112,
1761406390, 2976320012, 3127509762, 2809993232, 2893025566,
2639474228, 2522752826, 2336832552, 2151953702, 3910091388,
3791801202, 4279586912, 4095236462, 3309004356, 3459673930,
3542185048, 3626794326, 2047648055, 1895934009, 1813426987,
1729870373, 1446544655, 1563790337, 1076008723, 1261411869,
577038663, 694804553, 880737115, 1064563285, 240176511, 90031217,
407560035, 323475053, 3403428311, 3251714265, 3703972811,
3620416197, 3873969647, 3991215329, 4042393587, 4227796733,
2461301159, 2579067049, 2226023355, 2409849525, 3196083615,
3045938321, 2828685187, 2744600205 ];
var l = [ 0, 218697227, 437394454, 387650077, 874788908, 959264295,
775300154, 591342129, 1749577816, 1698790995, 1918528590,
2136171077, 1550600308, 1365591679, 1182684258, 1266113129,
3499155632, 3717852859, 3397581990, 3347837613, 3837057180,
3921532567, 4272342154, 4088384129, 3101200616, 3050413795,
2731183358, 2948825845, 2365368516, 2180359887, 2532226258,
2615655129, 3141262203, 3056784752, 2703869805, 2887829862,
2401231703, 2182540636, 2500722497, 2550460746, 3547573027,
3732579624, 3378624309, 3295197502, 3881276175, 3932069124,
4249194265, 4031545618, 1806384075, 1721906624, 1907959773,
2091919830, 1603208167, 1384517100, 1167925233, 1217663482,
65227667, 250234264, 435246981, 351820174, 935818175, 986611124,
768962473, 551313826, 1836494326, 1618977789, 2003087840,
2054012907, 1498584538, 1415289809, 1128303052, 1313441735,
88006062, 137876389, 523026872, 304467891, 823846274, 1007938441,
722008468, 637663135, 3185986886, 2968470349, 2817806672,
2868731739, 2311222634, 2227927905, 2479909244, 2665047927,
3584965918, 3634836245, 3485212936, 3266653955, 3783918898,
3968011065, 4221049124, 4136703791, 3595400845, 3678697606,
3428805275, 3243664528, 3798552225, 4016062634, 4168831671,
4117912764, 3188000469, 3003910366, 2752977603, 2837320904,
2317434617, 2267558130, 2419270383, 2637835492, 115185213,
198481974, 483363371, 298222624, 855223825, 1072734234, 686535175,
635616268, 1855317605, 1671227502, 1955068531, 2039411832,
1521606217, 1471729730, 1084473951, 1303039060, 3672916471,
3622129660, 3237895649, 3455538154, 4006115803, 3821107152,
4107953613, 4191382470, 2997105071, 3215802276, 2830511545,
2780767154, 2256537987, 2341013384, 2626819477, 2442861470,
175939911, 125153100, 275692881, 493335386, 1045993835, 860985184,
608863613, 692292470, 1647628575, 1866325780, 2015808777,
1966064386, 1443948851, 1528424248, 1275262245, 1091304238,
1641519756, 1826526343, 2076542618, 1993115793, 1442030240,
1492823211, 1340194486, 1122545853, 161475284, 76997855, 328070850,
512030921, 1035719416, 817028339, 665439982, 715178213, 2974251580,
3159258167, 2874500650, 2791073825, 2237874704, 2288667675,
2675006982, 2457358349, 3641641572, 3557164143, 3273463410,
3457423481, 3979031112, 3760340035, 4147719774, 4197458005,
3080383489, 3130253834, 2911432727, 2692873756, 2210321453,
2394413606, 2578237499, 2493892144, 3755121753, 3537605202,
3317727311, 3368652356, 3958809717, 3875515006, 4058298467,
4243437160, 1728711857, 1778582202, 2098729127, 1880170156,
1395537053, 1579629206, 1228679307, 1144333952, 256015593,
38499042, 357589247, 408514292, 996558021, 913263310, 561273043,
746411736, 211892090, 27801969, 380840812, 465184103, 948244310,
898367837, 580326208, 798891339, 1693009698, 1776306473,
2130402100, 1945261375, 1355644686, 1573155077, 1256153880,
1205234963, 3694254026, 3510163905, 3324234716, 3408578007,
3893751782, 3843875309, 4060607472, 4279172603, 3027871634,
3111168409, 2926295940, 2741155215, 2153619390, 2371129781,
2588902312, 2537983395 ];
var e = [ 0, 151915277, 303830554, 454171927, 607661108, 758523705,
908343854, 1059729699, 1215322216, 1098797925, 1517047410,
1398949247, 1816687708, 1699118929, 2119459398, 2002413899,
2430644432, 2582559709, 2197595850, 2347937223, 3034094820,
3184957417, 2797898494, 2949284339, 3633375416, 3516851125,
3398237858, 3280139695, 4238918796, 4121350017, 4004827798,
3887782299, 1004239803, 852848822, 700935585, 550069932, 534992783,
384654466, 234832277, 82922136, 1940595667, 2057644254, 1639396809,
1756970692, 1469255655, 1587348714, 1167006205, 1283527408,
2872822635, 2721431654, 3106397553, 2955531900, 2399397727,
2249059410, 2636116293, 2484206152, 3813380867, 3930429454,
4049044761, 4166618644, 3346251575, 3464344634, 3580864813,
3697386016, 1991112301, 2141453664, 1689378935, 1841294202,
1385552473, 1536938324, 1082772547, 1233635150, 1054715397,
936617224, 750893087, 634368786, 451248689, 334203196, 150574123,
33005350, 3863824061, 4014165424, 4098969767, 4250885034,
3262474889, 3413860740, 3496574099, 3647436702, 2923241173,
2805143000, 3156281551, 3039757250, 2315596513, 2198551020,
2551784699, 2434215926, 1299615190, 1148749531, 1600822220,
1449431233, 1766760930, 1614850799, 2069018616, 1918680309,
84334014, 201907891, 387629988, 504678569, 557775242, 674296455,
857927568, 976020637, 3717610758, 3566745099, 3481938716,
3330547729, 4188934450, 4037024319, 3954313000, 3803974693,
2514904430, 2632478307, 2281337716, 2398386297, 2984135002,
3100656215, 2747424576, 2865517645, 3963746266, 3847224535,
4267565504, 4149471949, 3363429358, 3245854947, 3664104948,
3547055865, 2754719666, 2906629311, 3056449960, 3206787749,
2148107142, 2298972299, 2450888092, 2602278545, 2090944266,
1974422535, 1857900816, 1739807261, 1486449470, 1368875059,
1250262308, 1133213225, 886120290, 1038029935, 650971512,
801309301, 283718486, 434583643, 49620300, 201010753, 3617229921,
3734275948, 3313932923, 3431502198, 4087521365, 4205620056,
3787372111, 3903896898, 2682967049, 2531581700, 2381758995,
2230896926, 3151165501, 3000824624, 2848910887, 2696996138,
1199193265, 1316239292, 1432758955, 1550328230, 1665273989,
1783372680, 1901987487, 2018512274, 252339417, 100954068,
488010435, 337148366, 724715757, 574374880, 959340279, 807425530,
2599158199, 2481064634, 2297436077, 2180914336, 3201576323,
3084527246, 2898803609, 2781229204, 3533461983, 3683799762,
3229634501, 3381544136, 4137973227, 4289363686, 3837289457,
3988154620, 168604007, 50510442, 403744637, 287222896, 775200083,
658151006, 1009290057, 891715652, 1115482383, 1265820162,
1348534037, 1500443672, 1715782971, 1867173430, 1951978273,
2102843436, 2704767500, 2822336769, 3005967382, 3123013403,
2232374840, 2348899637, 2534621218, 2652719919, 3913753188,
3762891113, 4217058430, 4065673075, 3447656016, 3295741277,
3747813450, 3597472583, 836225756, 953795025, 600562886, 717608907,
368043752, 484568549, 133427442, 251526143, 2041025204, 1890163129,
1807451310, 1656065955, 1570750080, 1418835341, 1334028442,
1183687575 ];
var d = [ 0, 235605257, 471210514, 303896347, 942421028, 908540205,
607792694, 707863359, 1884842056, 2119394625, 1817080410,
1648721747, 1215585388, 1182749029, 1415726718, 1516850039,
3769684112, 4005289369, 4238789250, 4071475083, 3634160820,
3600279997, 3297443494, 3397514159, 2431170776, 2665723345,
2365498058, 2197139395, 2831453436, 2798617077, 3033700078,
3134823399, 3682319163, 3580933682, 3345850665, 3378949152,
3814166303, 3982262806, 4282488077, 4048197636, 2871251827,
2770919034, 3073755489, 3107898472, 2467293015, 2634345054,
2400845125, 2165502028, 1003187115, 901801634, 668823993,
701922480, 65494927, 233591430, 535905693, 301615252, 1267925987,
1167593194, 1468340721, 1502483704, 1941911495, 2108963534,
1873358293, 1638015196, 2918608246, 2751291519, 2984277860,
3219880557, 2514114898, 2614187099, 2311865152, 2277985865,
3719169342, 3550808119, 3250069292, 3484619301, 3850514714,
3951639571, 4187237128, 4154402305, 1296481766, 1129165039,
1364240372, 1599843069, 1969916354, 2069988555, 1769771984,
1735892697, 1025430958, 857069735, 554225596, 788775605, 87220618,
188345475, 421854104, 389019281, 1989006925, 2022103876,
1788595295, 1687208278, 1319232105, 1084944224, 1387788411,
1555887474, 114671109, 148812556, 449029143, 348694814, 1056541217,
821200680, 586125363, 753179962, 2520581853, 2553678804,
2318081231, 2216694214, 2920362745, 2686074864, 2986813675,
3154912738, 3865407125, 3899548572, 4201870471, 4101536142,
3729349297, 3494008760, 3261022371, 3428076970, 1106762476,
1341970405, 1575076094, 1407897079, 2044456648, 2010178497,
1707996378, 1808202195, 833598116, 1067761581, 767142070,
598910399, 159614592, 126389129, 362126482, 463376795, 2705787516,
2940995445, 3176206446, 3009027431, 2573942360, 2539664209,
2239571018, 2339776835, 3508494900, 3742658365, 3439949862,
3271718191, 3912455696, 3879230233, 4112862210, 4214112523,
2592891351, 2491903198, 2258271173, 2291234508, 2728416755,
2896910586, 3199619041, 2965193448, 3939764639, 3839820950,
4139914125, 4173930116, 3539484091, 3706925234, 3471714217,
3236244128, 2050797895, 1949809742, 1714072405, 1747035740,
1108378979, 1276872810, 1577492337, 1343066744, 174381327,
74437638, 376619805, 410635796, 843640107, 1011081250, 777975609,
542505520, 3959535514, 3792353939, 4028083592, 4263288961,
3559752638, 3659959991, 3359349164, 3325072549, 2623135698,
2454901467, 2152711616, 2386872521, 2759191542, 2860443391,
3093557732, 3060333805, 212952842, 45771267, 279411992, 514617361,
882725678, 982933031, 680216892, 645940277, 2095648578, 1927414347,
1627329872, 1861490777, 1153776486, 1255028335, 1490231668,
1457007741, 930745505, 963707304, 728503987, 627514298, 257308805,
22885772, 322970263, 491466654, 1193436393, 1227450848, 1530167035,
1430221810, 2131644621, 1896177092, 1662536415, 1829980118,
3620396081, 3653357880, 3420243491, 3319253802, 4024887317,
3790464284, 4092654087, 4261150478, 2811409529, 2845423984,
3146034795, 3046089570, 2680062045, 2444594516, 2208864847,
2376308550 ];
this.gU = function(A) {
var E, z;
var C = new Array(v + 1);
var B = new AES.F(A);
var F = B.aU;
for (E = 0; E < v + 1; E++) {
C[E] = new Array(4);
C[E][0] = B.bo[E][0];
C[E][1] = B.bo[E][1];
C[E][2] = B.bo[E][2];
C[E][3] = B.bo[E][3]
}
for (E = 1; E < F; E++) {
z = C[E][0];
C[E][0] = y[c(z)] ^ l[o(z)] ^ e[m(z)] ^ d[b(z)];
z = C[E][1];
C[E][1] = y[c(z)] ^ l[o(z)] ^ e[m(z)] ^ d[b(z)];
z = C[E][2];
C[E][2] = y[c(z)] ^ l[o(z)] ^ e[m(z)] ^ d[b(z)];
z = C[E][3];
C[E][3] = y[c(z)] ^ l[o(z)] ^ e[m(z)] ^ d[b(z)]
}
this.bo = C;
this.aU = F;
return this
};
this.J = function(B, O) {
var z;
var A, F, E, C;
var J = j(B);
var G = O.aU;
var M = J[0];
var K = J[1];
var I = J[2];
var H = J[3];
for (z = 0; z < G - 1; z++) {
A = M ^ O.bo[z][0];
F = K ^ O.bo[z][1];
E = I ^ O.bo[z][2];
C = H ^ O.bo[z][3];
M = n[A & 255] ^ i[(F >> 8) & 255] ^ x[(E >> 16) & 255]
^ a[C >>> 24];
K = n[F & 255] ^ i[(E >> 8) & 255] ^ x[(C >> 16) & 255]
^ a[A >>> 24];
I = n[E & 255] ^ i[(C >> 8) & 255] ^ x[(A >> 16) & 255]
^ a[F >>> 24];
H = n[C & 255] ^ i[(A >> 8) & 255] ^ x[(F >> 16) & 255]
^ a[E >>> 24]
}
z = G - 1;
A = M ^ O.bo[z][0];
F = K ^ O.bo[z][1];
E = I ^ O.bo[z][2];
C = H ^ O.bo[z][3];
J[0] = s(A, F, E, C) ^ O.bo[G][0];
J[1] = s(F, E, C, A) ^ O.bo[G][1];
J[2] = s(E, C, A, F) ^ O.bo[G][2];
J[3] = s(C, A, F, E) ^ O.bo[G][3];
return g(J)
};
this.er = function(B, I) {
var z;
var A, F, E, C;
var G = I.aU;
var H = j(B);
for (z = G; z > 1; z--) {
A = H[0] ^ I.bo[z][0];
F = H[1] ^ I.bo[z][1];
E = H[2] ^ I.bo[z][2];
C = H[3] ^ I.bo[z][3];
H[0] = k[c(A)] ^ t[o(C)] ^ q[m(E)] ^ p[b(F)];
H[1] = k[c(F)] ^ t[o(A)] ^ q[m(C)] ^ p[b(E)];
H[2] = k[c(E)] ^ t[o(F)] ^ q[m(A)] ^ p[b(C)];
H[3] = k[c(C)] ^ t[o(E)] ^ q[m(F)] ^ p[b(A)]
}
A = H[0] ^ I.bo[1][0];
F = H[1] ^ I.bo[1][1];
E = H[2] ^ I.bo[1][2];
C = H[3] ^ I.bo[1][3];
H[0] = r[c(A)] | (r[o(C)] << 8) | (r[m(E)] << 16) | (r[b(F)] << 24);
H[1] = r[c(F)] | (r[o(A)] << 8) | (r[m(C)] << 16) | (r[b(E)] << 24);
H[2] = r[c(E)] | (r[o(F)] << 8) | (r[m(A)] << 16) | (r[b(C)] << 24);
H[3] = r[c(C)] | (r[o(E)] << 8) | (r[m(F)] << 16) | (r[b(A)] << 24);
H[0] ^= I.bo[0][0];
H[1] ^= I.bo[0][1];
H[2] ^= I.bo[0][2];
H[3] ^= I.bo[0][3];
return g(H)
}
};
npPfsCtrl.isStartup = false;
function npPfsStartup(form, firewall, securekey, fds, keypad, e2eattr, e2eval) {
function isNull(val) {
if (typeof (val) == "undefined" || val === null)
return true;
return false;
}
function isBlank(val) {
if (typeof (val) == "undefined" || val === null || val === "")
return true;
return false;
}
function n2b(val, def) {
def = (isBlank(def)) ? "" : def;
return (isBlank(val)) ? def : val;
}
function setCookie(key, value) {
try {
L.hf(key, value, 0, "/");
} catch (e) {
try {
npCommon.setCookie(key, value, 0, "/");
} catch (e) {
}
}
}
function getCookie(key) {
var value = null;
try {
value = L.jv(key);
} catch (e) {
try {
value = npCommon.getCookie(key);
} catch (e) {
}
}
return value;
}
var options = {
Firewall : n2b(firewall, false),
SecureKey : n2b(securekey, false),
Fds : n2b(fds, false),
Keypad : n2b(keypad, false),
AutoStartup : true,
Debug : false,
Form : (isNull(form)) ? null : form,
AutoScanAttrName : n2b(e2eattr, "npkencrypt"),
// AutoScanAttrName : n2b(e2eattr, "enc"),
AutoScanAttrValue : n2b(e2eval, "on"),
MoveToInstall : function(url, isUpdate) {
var message = "보안프로그램을 설치하셔야 이용이 가능한 서비스입니다. [확인]을 선택하시면 설치페이지로 연결됩니다.";
if (isUpdate) {
message = "보안프로그램을 업데이트하셔야 이용이 가능한 서비스입니다. [확인]을 선택하시면 재설치페이지로 연결됩니다.";
}
if (url !== null && url !== "") {
if (confirm(message)) {
var postback = document.getElementById("nppfs-postback");
if (!isNull(postback)
&& postback.tagName.toLowerCase() == "form") {
postback.action = url;
postback.submit();
} else {
url = url + "?redirect="
+ encodeURIComponent(location.href);
var a = document.createElement("a");
if (a.click) {
a.setAttribute("href", url);
a.style.display = "none";
document.body.appendChild(a);
a.click();
} else {
location.href = url;
}
}
// location.href = url;
// location.replace(url);
} else {
// setCookie("npPfsIgnore", "true");
$('#nubiz_back').hide();
}
} else {
alert("모듈이 설치되어 있지 않습니다.");
}
},
Loading : {
Default : true,
Before : function() {
// alert("작업시작 전에 사용자 로딩함수를 여기에 구현합니다.");
},
After : function() {
// alert("작업시작 후에 사용자 로딩함수를 여기에 구현합니다.");
$('#nubiz_back').hide();
}
}
};
// setCookie("npPfsIgnore", "");
// if("true" !== getCookie("npPfsIgnore")) {
// setCookie("npPfsIgnore", "");
npPfsCtrl.init(options);
npPfsCtrl.isStartup = true;
// }
}
/*
* uV.dV.Gf = "/pluginfree/jsp/nppfs.key.jsp"; // 키발급 경로 uV.dV.zf = "/pluginfree/jsp/nppfs.remove.jsp"; //
* 키삭제 경로 uV.dV.zo = "/pluginfree/jsp/nppfs.keypad.jsp; // 마우스입력기
* 페이지 uV.dV.eP = "/pluginfree/jsp/nppfs.ready.jsp"; // 초기화상태 확인경로
* uV.dV.Fz = "/pluginfree/jsp/nppfs.install.jsp; // 설치안내 페이지
*/
/*
* function checkInstallKeyCryptPlugin(){ if(typeof(bh) == "undefined") { return
* false; } if(typeof(D) != "undefined" && D.virtualMachine == true){ return
* false; } return true; }
*
* npPfsCtrl.SetGlobalKeyValidation(function(keyCode, element) {
* //console.log("global key validataion"); // true : do process biz logic,
* false : stop event if(keyCode >= 48 && keyCode <=57) return false; return
* true; });
*
*
* npPfsCtrl.makeJson = function(original, formname, keyName){ var ret =
* original;
*
* if(typeof(ret) == "undefined" || ret == null) ret = {}; if(typeof(keyName) ==
* "undefined" || keyName == null || keyName == "") keyName =
* "__nppfs_json_vo__";
*
* ret[keyName] = npPfsCtrl.toJson(formname);
*
* return original; }
*/