PageSourceSearch

https://trusupfiji.com/javascript/common_min.js?version=202601100120

js trusupfiji.com collected 2026-10-03 18:38:21 UTC 859,695 bytes, 5,019 lines download raw bytes

vendor: 23,883 bytes, lines 1-214
1/**
2 * @fileoverview
3 * - Using the 'QRCode for Javascript library'
4 * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.
5 * - this library has no dependencies.
6 * 
7 * @author davidshimjs
8 * @see <a href="http://www.d-project.com/" target="_blank">http://www.d-project.com/</a>
9 * @see <a href="http://jeromeetienne.github.com/jquery-qrcode/" target="_blank">http://jeromeetienne.github.com/jquery-qrcode/</a>
10 */
11var QRCode;
12
13(function () {
14    //---------------------------------------------------------------------
15    // QRCode for JavaScript
16    //
17    // Copyright (c) 2009 Kazuhiko Arase
18    //
19    // URL: http://www.d-project.com/
20    //
21    // Licensed under the MIT license:
22    //   http://www.opensource.org/licenses/mit-license.php
23    //
24    // The word "QR Code" is registered trademark of 
25    // DENSO WAVE INCORPORATED
26    //   http://www.denso-wave.com/qrcode/faqpatent-e.html
27    //
28    //---------------------------------------------------------------------
29    function QR8bitByte(data){this.mode=QRMode.MODE_8BIT_BYTE;this.data=data;}
30    QR8bitByte.prototype={getLength:function(buffer){return this.data.length;},write:function(buffer){for(var i=0;i<this.data.length;i++){buffer.put(this.data.charCodeAt(i),8);}}};function QRCodeModel(typeNumber,errorCorrectLevel){this.typeNumber=typeNumber;this.errorCorrectLevel=errorCorrectLevel;this.modules=null;this.moduleCount=0;this.dataCache=null;this.dataList=[];}
31    QRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+","+col);}
32    return this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row<this.moduleCount;row++){this.modules[row]=new Array(this.moduleCount);for(var col=0;col<this.moduleCount;col++){this.modules[row][col]=null;}}
33    this.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-7,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(test,maskPattern);if(this.typeNumber>=7){this.setupTypeNumber(test);}
34    if(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}
35    this.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}
36    return pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row<this.modules.length;row++){var y=row*cs;for(var col=0;col<this.modules[row].length;col++){var x=col*cs;var dark=this.modules[row][col];if(dark){qr_mc.beginFill(0,100);qr_mc.moveTo(x,y);qr_mc.lineTo(x+cs,y);qr_mc.lineTo(x+cs,y+cs);qr_mc.lineTo(x,y+cs);qr_mc.endFill();}}}
37    return qr_mc;},setupTimingPattern:function(){for(var r=8;r<this.moduleCount-8;r++){if(this.modules[r][6]!=null){continue;}
38    this.modules[r][6]=(r%2==0);}
39    for(var c=8;c<this.moduleCount-8;c++){if(this.modules[6][c]!=null){continue;}
40    this.modules[6][c]=(c%2==0);}},setupPositionAdjustPattern:function(){var pos=QRUtil.getPatternPosition(this.typeNumber);for(var i=0;i<pos.length;i++){for(var j=0;j<pos.length;j++){var row=pos[i];var col=pos[j];if(this.modules[row][col]!=null){continue;}
41    for(var r=-2;r<=2;r++){for(var c=-2;c<=2;c++){if(r==-2||r==2||c==-2||c==2||(r==0&&c==0)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}}}},setupTypeNumber:function(test){var bits=QRUtil.getBCHTypeNumber(this.typeNumber);for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}
42    for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}
43    for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}
44    this.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex<data.length){dark=(((data[byteIndex]>>>bitIndex)&1)==1);}
45    var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}
46    this.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}
47    row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;i<dataList.length;i++){var data=dataList[i];buffer.put(data.mode,4);buffer.put(data.getLength(),QRUtil.getLengthInBits(data.mode,typeNumber));data.write(buffer);}
48    var totalDataCount=0;for(var i=0;i<rsBlocks.length;i++){totalDataCount+=rsBlocks[i].dataCount;}
49    if(buffer.getLengthInBits()>totalDataCount*8){throw new Error("code length overflow. ("
50    +buffer.getLengthInBits()
51    +">"
52    +totalDataCount*8
53    +")");}
54    if(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}
55    while(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}
56    while(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}
57    buffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}
58    buffer.put(QRCodeModel.PAD1,8);}
59    return QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r<rsBlocks.length;r++){var dcCount=rsBlocks[r].dataCount;var ecCount=rsBlocks[r].totalCount-dcCount;maxDcCount=Math.max(maxDcCount,dcCount);maxEcCount=Math.max(maxEcCount,ecCount);dcdata[r]=new Array(dcCount);for(var i=0;i<dcdata[r].length;i++){dcdata[r][i]=0xff&buffer.buffer[i+offset];}
60    offset+=dcCount;var rsPoly=QRUtil.getErrorCorrectPolynomial(ecCount);var rawPoly=new QRPolynomial(dcdata[r],rsPoly.getLength()-1);var modPoly=rawPoly.mod(rsPoly);ecdata[r]=new Array(rsPoly.getLength()-1);for(var i=0;i<ecdata[r].length;i++){var modIndex=i+modPoly.getLength()-ecdata[r].length;ecdata[r][i]=(modIndex>=0)?modPoly.get(modIndex):0;}}
61    var totalCodeCount=0;for(var i=0;i<rsBlocks.length;i++){totalCodeCount+=rsBlocks[i].totalCount;}
62    var data=new Array(totalCodeCount);var index=0;for(var i=0;i<maxDcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<dcdata[r].length){data[index++]=dcdata[r][i];}}}
63    for(var i=0;i<maxEcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<ecdata[r].length){data[index++]=ecdata[r][i];}}}
64    return data;};var QRMode={MODE_NUMBER:1<<0,MODE_ALPHA_NUM:1<<1,MODE_8BIT_BYTE:1<<2,MODE_KANJI:1<<3};var QRErrorCorrectLevel={L:1,M:0,Q:3,H:2};var QRMaskPattern={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var QRUtil={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:(1<<10)|(1<<8)|(1<<5)|(1<<4)|(1<<2)|(1<<1)|(1<<0),G18:(1<<12)|(1<<11)|(1<<10)|(1<<9)|(1<<8)|(1<<5)|(1<<2)|(1<<0),G15_MASK:(1<<14)|(1<<12)|(1<<10)|(1<<4)|(1<<1),getBCHTypeInfo:function(data){var d=data<<10;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)>=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}
65    return((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}
66    return(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}
67    return digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i<errorCorrectLength;i++){a=a.multiply(new QRPolynomial([1,QRMath.gexp(i)],0));}
68    return a;},getLengthInBits:function(mode,type){if(1<=type&&type<10){switch(mode){case QRMode.MODE_NUMBER:return 10;case QRMode.MODE_ALPHA_NUM:return 9;case QRMode.MODE_8BIT_BYTE:return 8;case QRMode.MODE_KANJI:return 8;default:throw new Error("mode:"+mode);}}else if(type<27){switch(mode){case QRMode.MODE_NUMBER:return 12;case QRMode.MODE_ALPHA_NUM:return 11;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 10;default:throw new Error("mode:"+mode);}}else if(type<41){switch(mode){case QRMode.MODE_NUMBER:return 14;case QRMode.MODE_ALPHA_NUM:return 13;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 12;default:throw new Error("mode:"+mode);}}else{throw new Error("type:"+type);}},getLostPoint:function(qrCode){var moduleCount=qrCode.getModuleCount();var lostPoint=0;for(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount;col++){var sameCount=0;var dark=qrCode.isDark(row,col);for(var r=-1;r<=1;r++){if(row+r<0||moduleCount<=row+r){continue;}
69    for(var c=-1;c<=1;c++){if(col+c<0||moduleCount<=col+c){continue;}
70    if(r==0&&c==0){continue;}
71    if(dark==qrCode.isDark(row+r,col+c)){sameCount++;}}}
72    if(sameCount>5){lostPoint+=(3+sameCount-5);}}}
73    for(var row=0;row<moduleCount-1;row++){for(var col=0;col<moduleCount-1;col++){var count=0;if(qrCode.isDark(row,col))count++;if(qrCode.isDark(row+1,col))count++;if(qrCode.isDark(row,col+1))count++;if(qrCode.isDark(row+1,col+1))count++;if(count==0||count==4){lostPoint+=3;}}}
74    for(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount-6;col++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row,col+1)&&qrCode.isDark(row,col+2)&&qrCode.isDark(row,col+3)&&qrCode.isDark(row,col+4)&&!qrCode.isDark(row,col+5)&&qrCode.isDark(row,col+6)){lostPoint+=40;}}}
75    for(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount-6;row++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row+1,col)&&qrCode.isDark(row+2,col)&&qrCode.isDark(row+3,col)&&qrCode.isDark(row+4,col)&&!qrCode.isDark(row+5,col)&&qrCode.isDark(row+6,col)){lostPoint+=40;}}}
76    var darkCount=0;for(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount;row++){if(qrCode.isDark(row,col)){darkCount++;}}}
77    var ratio=Math.abs(100*darkCount/moduleCount/moduleCount-50)/5;lostPoint+=ratio*10;return lostPoint;}};var QRMath={glog:function(n){if(n<1){throw new Error("glog("+n+")");}
78    return QRMath.LOG_TABLE[n];},gexp:function(n){while(n<0){n+=255;}
79    while(n>=256){n-=255;}
80    return QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<<i;}
81    for(var i=8;i<256;i++){QRMath.EXP_TABLE[i]=QRMath.EXP_TABLE[i-4]^QRMath.EXP_TABLE[i-5]^QRMath.EXP_TABLE[i-6]^QRMath.EXP_TABLE[i-8];}
82    for(var i=0;i<255;i++){QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]]=i;}
83    function QRPolynomial(num,shift){if(num.length==undefined){throw new Error(num.length+"/"+shift);}
84    var offset=0;while(offset<num.length&&num[offset]==0){offset++;}
85    this.num=new Array(num.length-offset+shift);for(var i=0;i<num.length-offset;i++){this.num[i]=num[i+offset];}}
86    QRPolynomial.prototype={get:function(index){return this.num[index];},getLength:function(){return this.num.length;},multiply:function(e){var num=new Array(this.getLength()+e.getLength()-1);for(var i=0;i<this.getLength();i++){for(var j=0;j<e.getLength();j++){num[i+j]^=QRMath.gexp(QRMath.glog(this.get(i))+QRMath.glog(e.get(j)));}}
87    return new QRPolynomial(num,0);},mod:function(e){if(this.getLength()-e.getLength()<0){return this;}
88    var ratio=QRMath.glog(this.get(0))-QRMath.glog(e.get(0));var num=new Array(this.getLength());for(var i=0;i<this.getLength();i++){num[i]=this.get(i);}
89    for(var i=0;i<e.getLength();i++){num[i]^=QRMath.gexp(QRMath.glog(e.get(i))+ratio);}
90    return new QRPolynomial(num,0).mod(e);}};function QRRSBlock(totalCount,dataCount){this.totalCount=totalCount;this.dataCount=dataCount;}
91    QRRSBlock.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];QRRSBlock.getRSBlocks=function(typeNumber,errorCorrectLevel){var rsBlock=QRRSBlock.getRsBlockTable(typeNumber,errorCorrectLevel);if(rsBlock==undefined){throw new Error("bad rs block @ typeNumber:"+typeNumber+"/errorCorrectLevel:"+errorCorrectLevel);}
92    var length=rsBlock.length/3;var list=[];for(var i=0;i<length;i++){var count=rsBlock[i*3+0];var totalCount=rsBlock[i*3+1];var dataCount=rsBlock[i*3+2];for(var j=0;j<count;j++){list.push(new QRRSBlock(totalCount,dataCount));}}
93    return list;};QRRSBlock.getRsBlockTable=function(typeNumber,errorCorrectLevel){switch(errorCorrectLevel){case QRErrorCorrectLevel.L:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+0];case QRErrorCorrectLevel.M:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+1];case QRErrorCorrectLevel.Q:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+2];case QRErrorCorrectLevel.H:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+3];default:return undefined;}};function QRBitBuffer(){this.buffer=[];this.length=0;}
94    QRBitBuffer.prototype={get:function(index){var bufIndex=Math.floor(index/8);return((this.buffer[bufIndex]>>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i<length;i++){this.putBit(((num>>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}
95    if(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}
96    this.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];
97    
98    function _isSupportCanvas() {
99        return typeof CanvasRenderingContext2D != "undefined";
100    }
101    
102    // android 2.x doesn't support Data-URI spec
103    function _getAndroid() {
104        var android = false;
105        var sAgent = navigator.userAgent;
106        
107        if (/android/i.test(sAgent)) { // android
108            android = true;
109            aMat = sAgent.toString().match(/android ([0-9]\.[0-9])/i);
110            
111            if (aMat && aMat[1]) {
112                android = parseFloat(aMat[1]);
113            }
114        }
115        
116        return android;
117    }
118    
119    // Drawing in DOM by using Table tag
120    var Drawing = !_isSupportCanvas() ? (function () {
121        var Drawing = function (el, htOption) {
122            this._el = el;
123            this._htOption = htOption;
124        };
125            
126        /**
127         * Draw the QRCode
128         * 
129         * @param {QRCode} oQRCode
130         */
131        Drawing.prototype.draw = function (oQRCode) {
132            var _htOption = this._htOption;
133            var _el = this._el;
134            var nCount = oQRCode.getModuleCount();
135            var nWidth = Math.floor(_htOption.width / nCount);
136            var nHeight = Math.floor(_htOption.height / nCount);
137            var aHTML = ['<table style="border:0;border-collapse:collapse;">'];
138            
139            for (var row = 0; row < nCount; row++) {
140                aHTML.push('<tr>');
141                
142                for (var col = 0; col < nCount; col++) {
143                    aHTML.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + nWidth + 'px;height:' + nHeight + 'px;background-color:' + (oQRCode.isDark(row, col) ? _htOption.colorDark : _htOption.colorLight) + ';"></td>');
144                }
145                
146                aHTML.push('</tr>');
147            }
148            
149            aHTML.push('</table>');
150            _el.innerHTML = aHTML.join('');
151            
152            // Fix the margin values as real size.
153            var elTable = _el.childNodes[0];
154            var nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;
155            var nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;
156            
157            if (nLeftMarginTable > 0 && nTopMarginTable > 0) {
158                elTable.style.margin = nTopMarginTable + "px " + nLeftMarginTable + "px";   
159            }
160        };
161        
162        /**
163         * Clear the QRCode
164         */
165        Drawing.prototype.clear = function () {
166            this._el.innerHTML = '';
167        };
168        
169        return Drawing;
170    })() : (function () { // Drawing in Canvas
171        function _onMakeImage() {
172            this._elImage.src = this._elCanvas.toDataURL("image/png");
173            this._elImage.style.display = "block";
174            this._elCanvas.style.display = "none";          
175        }
176        
177        // Android 2.1 bug workaround
178        // http://code.google.com/p/android/issues/detail?id=5141
179        if (this._android && this._android <= 2.1) {
180            var factor = 1 / window.devicePixelRatio;
181            var drawImage = CanvasRenderingContext2D.prototype.drawImage; 
182            CanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {
183                if (("nodeName" in image) && /img/i.test(image.nodeName)) {
184                    for (var i = arguments.length - 1; i >= 1; i--) {
185                        arguments[i] = arguments[i] * factor;
186                    }
187                } else if (typeof dw == "undefined") {
188                    arguments[1] *= factor;
189                    arguments[2] *= factor;
190                    arguments[3] *= factor;
191                    arguments[4] *= factor;
192                }
193                
194                drawImage.apply(this, arguments); 
195            };
196        }
197        
198        /**
199         * Check whether the user's browser supports Data URI or not
200         * 
201         * @private
202         * @param {Function} fSuccess Occurs if it supports Data URI
203         * @param {Function} fFail Occurs if it doesn't support Data URI
204         */
205        function _safeSetDataURI(fSuccess, fFail) {
206            var self = this;
207            self._fFail = fFail;
208            self._fSuccess = fSuccess;
209
210            // Check it just once
211            if (self._bSupportDataURI === null) {
212                var el = document.createElement("img");
213                var fOnError = function() {
214                    self._bSupportDataURI = false;
215
216                    if (self._fFail) {
217                        _fFail.call(self);
218                    }
219                };
220                var fOnSuccess = function() {
221                    self._bSupportDataURI = true;
222
223                    if (self._fSuccess) {
224                        self._fSuccess.call(self);
225                    }
226                };
227
228                el.onabort = fOnError;
229                el.onerror = fOnError;
230                el.onload = fOnSuccess;
231                el.src = "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; // the Image contains 1px data.
232                return;
233            } else if (self._bSupportDataURI === true && self._fSuccess) {
234                self._fSuccess.call(self);
235            } else if (self._bSupportDataURI === false && self._fFail) {
236                self._fFail.call(self);
237            }
238        };
239        
240        /**
241         * Drawing QRCode by using canvas
242         * 
243         * @constructor
244         * @param {HTMLElement} el
245         * @param {Object} htOption QRCode Options 
246         */
247        var Drawing = function (el, htOption) {
248            this._bIsPainted = false;
249            this._android = _getAndroid();
250        
251            this._htOption = htOption;
252            this._elCanvas = document.createElement("canvas");
253            this._elCanvas.width = htOption.width;
254            this._elCanvas.height = htOption.height;
255            el.appendChild(this._elCanvas);
256            this._el = el;
257            this._oContext = this._elCanvas.getContext("2d");
258            this._bIsPainted = false;
259            this._elImage = document.createElement("img");
260            this._elImage.style.display = "none";
261            this._el.appendChild(this._elImage);
262            this._bSupportDataURI = null;
263        };
264            
265        /**
266         * Draw the QRCode
267         * 
268         * @param {QRCode} oQRCode 
269         */
270        Drawing.prototype.draw = function (oQRCode) {
271            var _elImage = this._elImage;
272            var _oContext = this._oContext;
273            var _htOption = this._htOption;
274
275            var nCount = oQRCode.getModuleCount();
276            var nWidth = Math.floor(_htOption.width / nCount);
277            var nHeight = Math.floor(_htOption.height / nCount);
278            var nLeftOffset = Math.floor(_htOption.width % nCount / 2);
279            var nTopOffset = Math.floor(_htOption.height % nCount / 2);
280            _elImage.style.display = "none";
281            this.clear();
282
283            for (var row = 0; row < nCount; row++) {
284                for (var col = 0; col < nCount; col++) {
285                    var nLeft = col * nWidth + nLeftOffset;
286                    var nTop = row * nHeight + nTopOffset;
287                    _oContext.fillStyle = oQRCode.isDark(row, col)
288                          ? _htOption.colorDark : _htOption.colorLight;
289                    _oContext.fillRect(nLeft, nTop, nWidth, nHeight);
290                }
291            }
292
293            this._bIsPainted = true;
294        };
295            
296        /**
297         * Make the image from Canvas if the browser supports Data URI.
298         */
299        Drawing.prototype.makeImage = function () {
300            if (this._bIsPainted) {
301                _safeSetDataURI.call(this, _onMakeImage);
302            }
303        };
304            
305        /**
306         * Return whether the QRCode is painted or not
307         * 
308         * @return {Boolean}
309         */
310        Drawing.prototype.isPainted = function () {
311            return this._bIsPainted;
312        };
313        
314        /**
315         * Clear the QRCode
316         */
317        Drawing.prototype.clear = function () {
318            this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);
319            this._bIsPainted = false;
320        };
321        
322        /**
323         * @private
324         * @param {Number} nNumber
325         */
326        Drawing.prototype.round = function (nNumber) {
327            if (!nNumber) {
328                return nNumber;
329            }
330            
331            return Math.floor(nNumber * 1000) / 1000;
332        };
333        
334        return Drawing;
335    })();
336    
337    /**
338     * Get the type by string length
339     * 
340     * @private
341     * @param {String} sText
342     * @param {Number} nCorrectLevel
343     * @return {Number} type
344     */
345    function _getTypeNumber(sText, nCorrectLevel) {         
346        var nType = 1;
347        
348        for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {
349            var nLimit = 0;
350            
351            switch (nCorrectLevel) {
352                case QRErrorCorrectLevel.L :
353                    nLimit = QRCodeLimitLength[i][0];
354                    break;
355                case QRErrorCorrectLevel.M :
356                    nLimit = QRCodeLimitLength[i][1];
357                    break;
358                case QRErrorCorrectLevel.Q :
359                    nLimit = QRCodeLimitLength[i][2];
360                    break;
361                case QRErrorCorrectLevel.H :
362                    nLimit = QRCodeLimitLength[i][3];
363                    break;
364            }
365            
366            if (sText.length <= nLimit) {
367                break;
368            } else {
369                nType++;
370            }
371        }
372        
373        if (nType > QRCodeLimitLength.length) {
374            throw new Error("Too long data");
375        }
376        
377        return nType;
378    }
379    
380    /**
381     * @class QRCode
382     * @constructor
383     * @example 
384     * new QRCode(document.getElementById("test"), "http://jindo.dev.naver.com/collie");
385     *
386     * @example
387     * var oQRCode = new QRCode("test", {
388     *    text : "http://naver.com",
389     *    width : 128,
390     *    height : 128
391     * });
392     * 
393     * oQRCode.clear(); // Clear the QRCode.
394     * oQRCode.makeCode("http://map.naver.com"); // Re-create the QRCode.
395     *
396     * @param {HTMLElement|String} el target element or 'id' attribute of element.
397     * @param {Object|String} vOption
398     * @param {String} vOption.text QRCode link data
399     * @param {Number} [vOption.width=256]
400     * @param {Number} [vOption.height=256]
401     * @param {String} [vOption.colorDark="#000000"]
402     * @param {String} [vOption.colorLight="#ffffff"]
403     * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] 
404     */
405    QRCode = function (el, vOption) {
406        this._htOption = {
407            width : 256, 
408            height : 256,
409            typeNumber : 4,
410            colorDark : "#000000",
411            colorLight : "#ffffff",
412            correctLevel : QRErrorCorrectLevel.H
413        };
414        
415        if (typeof vOption === 'string') {
416            vOption = {
417                text : vOption
418            };
419        }
420        
421        // Overwrites options
422        if (vOption) {
423            for (var i in vOption) {
424                this._htOption[i] = vOption[i];
425            }
426        }
427        
428        if (typeof el == "string") {
429            el = document.getElementById(el);
430        }
431        
432        this._android = _getAndroid();
433        this._el = el;
434        this._oQRCode = null;
435        this._oDrawing = new Drawing(this._el, this._htOption);
436        
437        if (this._htOption.text) {
438            this.makeCode(this._htOption.text); 
439        }
440    };
441    
442    /**
443     * Make the QRCode
444     * 
445     * @param {String} sText link data
446     */
447    QRCode.prototype.makeCode = function (sText) {
448        var version = _getTypeNumber(sText, this._htOption.correctLevel);
449        if (version < this._htOption.codeMinVersion)
450          version = this._htOption.codeMinVersion;
451
452        this._oQRCode = new QRCodeModel(version, this._htOption.correctLevel);
453        this._oQRCode.addData(sText);
454        this._oQRCode.make();
455        this._el.title = sText;
456        this._oDrawing.draw(this._oQRCode);         
457        this.makeImage();
458    };
459    
460    /**
461     * Make the Image from Canvas element
462     * - It occurs automatically
463     * - Android below 3 doesn't support Data-URI spec.
464     * 
465     * @private
466     */
467    QRCode.prototype.makeImage = function () {
468        if (typeof this._oDrawing.makeImage == "function" && (!this._android || this._android >= 3)) {
469            this._oDrawing.makeImage();
470        }
471    };
472    
473    /**
474     * Clear the QRCode
475     */
476    QRCode.prototype.clear = function () {
477        this._oDrawing.clear();
478    };
479    
480    /**
481     * @name QRCode.CorrectLevel
482     */
483    QRCode.CorrectLevel = QRErrorCorrectLevel;
484})();
485jQuery.extend({
486	
487
488    createUploadIframe: function(id, uri)
489	{
490			//create frame
491            var frameId = 'jUploadFrame' + id;
492            var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';
493			if(window.ActiveXObject)
494			{
495                if(typeof uri== 'boolean'){
496					iframeHtml += ' src="' + 'javascript:false' + '"';
497
498                }
499                else if(typeof uri== 'string'){
500					iframeHtml += ' src="' + uri + '"';
501
502                }	
503			}
504			iframeHtml += ' />';
505			jQuery(iframeHtml).appendTo(document.body);
506
507            return jQuery('#' + frameId).get(0);			
508    },
509    createUploadForm: function(id, fileElementsId, data)
510	{
511		//create form	
512		var formId = 'jUploadForm' + id;
513		var fileId = 'jUploadFile' + id;
514		var form = jQuery('<form  action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');	
515		if(data)
516		{
517			for(var i in data)
518			{
519				if(i == "json"){
520					var ele = document.createElement("input");
521					ele.type = "hidden";
522					ele.name = i;
523					ele.value = YAHOO.lang.JSON.stringify(data[i]);
524					jQuery(ele).appendTo(form);
525				}else
526					jQuery('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);
527			}			
528		}		
529		for(var i in fileElementsId){
530			var oldElement = jQuery('#' + fileElementsId[i]);
531			var newElement = jQuery(oldElement).clone();
532			jQuery(oldElement).attr('id', fileId+i);
533			jQuery(oldElement).before(newElement);
534			jQuery(oldElement).appendTo(form);
535		}
536
537		
538		//set attributes
539		jQuery(form).css('position', 'absolute');
540		jQuery(form).css('top', '-1200px');
541		jQuery(form).css('left', '-1200px');
542		jQuery(form).appendTo('body');		
543		return form;
544    },
545
546    ajaxFileUpload: function(s) {
547        // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout		
548        s = jQuery.extend({}, jQuery.ajaxSettings, s);
549        var id = new Date().getTime()        
550		var form = jQuery.createUploadForm(id, s.fileElementsId, (typeof(s.data)=='undefined'?false:s.data));
551		var io = jQuery.createUploadIframe(id, s.secureuri);
552		var frameId = 'jUploadFrame' + id;
553		var formId = 'jUploadForm' + id;		
554        // Watch for a new set of requests
555        if ( s.global && ! jQuery.active++ )
556		{
557			jQuery.event.trigger( "ajaxStart" );
558		}            
559        var requestDone = false;
560        // Create the request object
561        var xml = {}   
562        if ( s.global )
563            jQuery.event.trigger("ajaxSend", [xml, s]);
564        // Wait for a response to come back
565        var uploadCallback = function(isTimeout)
566		{			
567			var io = document.getElementById(frameId);
568            try 
569			{
570				/*
571					upload in most browser response comes like below
572					<body><pre>response text</pre></body>
573
574					upload in IE response comes like below
575					<body>response text</body>
576				*/
577				xml.responseText = null;
578				var ioContent = (io.contentWindow || io.contentDocument);
579				if(ioContent)
580				{
581					var ioDocument = (ioContent.document || ioContent);
582					xml.responseText = $(ioDocument.body).text();
583				}
584            }catch(e)
585			{
586				jQuery.handleError(s, xml, null, e);
587			}
588            if ( xml || isTimeout == "timeout") 
589			{				
590                requestDone = true;
591                var status;
592                try {
593                    status = "success";
594                    // Make sure that the request was successful or notmodified
595                    if ( status != "error" )
596					{
597                        // process the data (runs the xml through httpData regardless of callback)
598                        var data = jQuery.uploadHttpData( xml, s.dataType );    
599                        // If a local callback was specified, fire it and pass it the data
600                        if ( s.success )
601                            s.success( data, status );
602                        // Fire the global callback
603                        if( s.global )
604                            jQuery.event.trigger( "ajaxSuccess", [xml, s] );
605                    } else
606                        jQuery.handleError(s, xml, status);
607                } catch(e) 
608				{
609                    status = "error";
610                    jQuery.handleError(s, xml, status, e);
611                }
612
613                // The request was completed
614                if( s.global )
615                    jQuery.event.trigger( "ajaxComplete", [xml, s] );
616
617                // Handle the global AJAX counter
618                if ( s.global && ! --jQuery.active )
619                    jQuery.event.trigger( "ajaxStop" );
620
621                // Process result
622                if ( s.complete )
623                    s.complete(xml, status);
624
625                jQuery(io).unbind()
626
627                setTimeout(function()
628									{	try 
629										{
630											jQuery(io).remove();
631											jQuery(form).remove();	
632											
633										} catch(e) 
634										{
635											jQuery.handleError(s, xml, null, e);
636										}									
637
638									}, 100)
639
640                xml = null
641
642            }
643        }
644        // Timeout checker
645        if ( s.timeout > 0 ) 
646		{
647            setTimeout(function(){
648                // Check to see if the request is still happening
649                if( !requestDone ) uploadCallback( "timeout" );
650            }, s.timeout);
651        }
652        try 
653		{
654
655			var form = jQuery('#' + formId);
656			jQuery(form).attr('action', s.url);
657			jQuery(form).attr('method', 'POST');
658			jQuery(form).attr('target', frameId);
659            if(form.encoding)
660			{
661				jQuery(form).attr('encoding', 'multipart/form-data');      			
662            }
663            else
664			{	
665				jQuery(form).attr('enctype', 'multipart/form-data');			
666            }			
667            jQuery(form).submit();
668
669        } catch(e) 
670		{			
671            jQuery.handleError(s, xml, null, e);
672        }
673		
674		jQuery('#' + frameId).load(uploadCallback);
675        return {abort: function () {}};	
676
677    },
678
vendor: 4,104 bytes, lines 679-698
679    uploadHttpData: function( r, type ) {
680        return r.responseText;
681    }
682})
683
684/*
685CryptoJS v3.1.2
686code.google.com/p/crypto-js
687(c) 2009-2013 by Jeff Mott. All rights reserved.
688code.google.com/p/crypto-js/wiki/License
689*/
690var CryptoJS=CryptoJS||function(u,p){var d={},l=d.lib={},s=function(){},t=l.Base={extend:function(a){s.prototype=this;var c=new s;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},
691r=l.WordArray=t.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=p?c:4*a.length},toString:function(a){return(a||v).stringify(this)},concat:function(a){var c=this.words,e=a.words,j=this.sigBytes;a=a.sigBytes;this.clamp();if(j%4)for(var k=0;k<a;k++)c[j+k>>>2]|=(e[k>>>2]>>>24-8*(k%4)&255)<<24-8*((j+k)%4);else if(65535<e.length)for(k=0;k<a;k+=4)c[j+k>>>2]=e[k>>>2];else c.push.apply(c,e);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<
69232-8*(c%4);a.length=u.ceil(c/4)},clone:function(){var a=t.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],e=0;e<a;e+=4)c.push(4294967296*u.random()|0);return new r.init(c,a)}}),w=d.enc={},v=w.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++){var k=c[j>>>2]>>>24-8*(j%4)&255;e.push((k>>>4).toString(16));e.push((k&15).toString(16))}return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j+=2)e[j>>>3]|=parseInt(a.substr(j,
6932),16)<<24-4*(j%8);return new r.init(e,c/2)}},b=w.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++)e.push(String.fromCharCode(c[j>>>2]>>>24-8*(j%4)&255));return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j++)e[j>>>2]|=(a.charCodeAt(j)&255)<<24-8*(j%4);return new r.init(e,c)}},x=w.Utf8={stringify:function(a){try{return decodeURIComponent(escape(b.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return b.parse(unescape(encodeURIComponent(a)))}},
694q=l.BufferedBlockAlgorithm=t.extend({reset:function(){this._data=new r.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=x.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,e=c.words,j=c.sigBytes,k=this.blockSize,b=j/(4*k),b=a?u.ceil(b):u.max((b|0)-this._minBufferSize,0);a=b*k;j=u.min(4*a,j);if(a){for(var q=0;q<a;q+=k)this._doProcessBlock(e,q);q=e.splice(0,a);c.sigBytes-=j}return new r.init(q,j)},clone:function(){var a=t.clone.call(this);
695a._data=this._data.clone();return a},_minBufferSize:0});l.Hasher=q.extend({cfg:t.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){q.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(b,e){return(new a.init(e)).finalize(b)}},_createHmacHelper:function(a){return function(b,e){return(new n.HMAC.init(a,
696e)).finalize(b)}}});var n=d.algo={};return d}(Math);
697(function(){var u=CryptoJS,p=u.lib.WordArray;u.enc.Base64={stringify:function(d){var l=d.words,p=d.sigBytes,t=this._map;d.clamp();d=[];for(var r=0;r<p;r+=3)for(var w=(l[r>>>2]>>>24-8*(r%4)&255)<<16|(l[r+1>>>2]>>>24-8*((r+1)%4)&255)<<8|l[r+2>>>2]>>>24-8*((r+2)%4)&255,v=0;4>v&&r+0.75*v<p;v++)d.push(t.charAt(w>>>6*(3-v)&63));if(l=t.charAt(64))for(;d.length%4;)d.push(l);return d.join("")},parse:function(d){var l=d.length,s=this._map,t=s.charAt(64);t&&(t=d.indexOf(t),-1!=t&&(l=t));for(var t=[],r=0,w=0;w<
698l;w++)if(w%4){var v=s.indexOf(d.charAt(w-1))<<2*(w%4),b=s.indexOf(d.charAt(w))>>>6-2*(w%4);t[r>>>2]|=(v|b)<<24-8*(r%4);r++}return p.create(t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
698+/="}})();
699(function(u){function p(b,n,a,c,e,j,k){b=b+(n&a|~n&c)+e+k;return(b<<j|b>>>32-j)+n}function d(b,n,a,c,e,j,k){b=b+(n&c|a&~c)+e+k;return(b<<j|b>>>32-j)+n}function l(b,n,a,c,e,j,k){b=b+(n^a^c)+e+k;return(b<<j|b>>>32-j)+n}function s(b,n,a,c,e,j,k){b=b+(a^(n|~c))+e+k;return(b<<j|b>>>32-j)+n}for(var t=CryptoJS,r=t.lib,w=r.WordArray,v=r.Hasher,r=t.algo,b=[],x=0;64>x;x++)b[x]=4294967296*u.abs(u.sin(x+1))|0;r=r.MD5=v.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878])},
700_doProcessBlock:function(q,n){for(var a=0;16>a;a++){var c=n+a,e=q[c];q[c]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360}var a=this._hash.words,c=q[n+0],e=q[n+1],j=q[n+2],k=q[n+3],z=q[n+4],r=q[n+5],t=q[n+6],w=q[n+7],v=q[n+8],A=q[n+9],B=q[n+10],C=q[n+11],u=q[n+12],D=q[n+13],E=q[n+14],x=q[n+15],f=a[0],m=a[1],g=a[2],h=a[3],f=p(f,m,g,h,c,7,b[0]),h=p(h,f,m,g,e,12,b[1]),g=p(g,h,f,m,j,17,b[2]),m=p(m,g,h,f,k,22,b[3]),f=p(f,m,g,h,z,7,b[4]),h=p(h,f,m,g,r,12,b[5]),g=p(g,h,f,m,t,17,b[6]),m=p(m,g,h,f,w,22,b[7]),
701f=p(f,m,g,h,v,7,b[8]),h=p(h,f,m,g,A,12,b[9]),g=p(g,h,f,m,B,17,b[10]),m=p(m,g,h,f,C,22,b[11]),f=p(f,m,g,h,u,7,b[12]),h=p(h,f,m,g,D,12,b[13]),g=p(g,h,f,m,E,17,b[14]),m=p(m,g,h,f,x,22,b[15]),f=d(f,m,g,h,e,5,b[16]),h=d(h,f,m,g,t,9,b[17]),g=d(g,h,f,m,C,14,b[18]),m=d(m,g,h,f,c,20,b[19]),f=d(f,m,g,h,r,5,b[20]),h=d(h,f,m,g,B,9,b[21]),g=d(g,h,f,m,x,14,b[22]),m=d(m,g,h,f,z,20,b[23]),f=d(f,m,g,h,A,5,b[24]),h=d(h,f,m,g,E,9,b[25]),g=d(g,h,f,m,k,14,b[26]),m=d(m,g,h,f,v,20,b[27]),f=d(f,m,g,h,D,5,b[28]),h=d(h,f,
702m,g,j,9,b[29]),g=d(g,h,f,m,w,14,b[30]),m=d(m,g,h,f,u,20,b[31]),f=l(f,m,g,h,r,4,b[32]),h=l(h,f,m,g,v,11,b[33]),g=l(g,h,f,m,C,16,b[34]),m=l(m,g,h,f,E,23,b[35]),f=l(f,m,g,h,e,4,b[36]),h=l(h,f,m,g,z,11,b[37]),g=l(g,h,f,m,w,16,b[38]),m=l(m,g,h,f,B,23,b[39]),f=l(f,m,g,h,D,4,b[40]),h=l(h,f,m,g,c,11,b[41]),g=l(g,h,f,m,k,16,b[42]),m=l(m,g,h,f,t,23,b[43]),f=l(f,m,g,h,A,4,b[44]),h=l(h,f,m,g,u,11,b[45]),g=l(g,h,f,m,x,16,b[46]),m=l(m,g,h,f,j,23,b[47]),f=s(f,m,g,h,c,6,b[48]),h=s(h,f,m,g,w,10,b[49]),g=s(g,h,f,m,
703E,15,b[50]),m=s(m,g,h,f,r,21,b[51]),f=s(f,m,g,h,u,6,b[52]),h=s(h,f,m,g,k,10,b[53]),g=s(g,h,f,m,B,15,b[54]),m=s(m,g,h,f,e,21,b[55]),f=s(f,m,g,h,v,6,b[56]),h=s(h,f,m,g,x,10,b[57]),g=s(g,h,f,m,t,15,b[58]),m=s(m,g,h,f,D,21,b[59]),f=s(f,m,g,h,z,6,b[60]),h=s(h,f,m,g,C,10,b[61]),g=s(g,h,f,m,j,15,b[62]),m=s(m,g,h,f,A,21,b[63]);a[0]=a[0]+f|0;a[1]=a[1]+m|0;a[2]=a[2]+g|0;a[3]=a[3]+h|0},_doFinalize:function(){var b=this._data,n=b.words,a=8*this._nDataBytes,c=8*b.sigBytes;n[c>>>5]|=128<<24-c%32;var e=u.floor(a/
7044294967296);n[(c+64>>>9<<4)+15]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360;n[(c+64>>>9<<4)+14]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360;b.sigBytes=4*(n.length+1);this._process();b=this._hash;n=b.words;for(a=0;4>a;a++)c=n[a],n[a]=(c<<8|c>>>24)&16711935|(c<<24|c>>>8)&4278255360;return b},clone:function(){var b=v.clone.call(this);b._hash=this._hash.clone();return b}});t.MD5=v._createHelper(r);t.HmacMD5=v._createHmacHelper(r)})(Math);
705(function(){var u=CryptoJS,p=u.lib,d=p.Base,l=p.WordArray,p=u.algo,s=p.EvpKDF=d.extend({cfg:d.extend({keySize:4,hasher:p.MD5,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,r){for(var p=this.cfg,s=p.hasher.create(),b=l.create(),u=b.words,q=p.keySize,p=p.iterations;u.length<q;){n&&s.update(n);var n=s.update(d).finalize(r);s.reset();for(var a=1;a<p;a++)n=s.finalize(n),s.reset();b.concat(n)}b.sigBytes=4*q;return b}});u.EvpKDF=function(d,l,p){return s.create(p).compute(d,
706l)}})();
707CryptoJS.lib.Cipher||function(u){var p=CryptoJS,d=p.lib,l=d.Base,s=d.WordArray,t=d.BufferedBlockAlgorithm,r=p.enc.Base64,w=p.algo.EvpKDF,v=d.Cipher=t.extend({cfg:l.extend(),createEncryptor:function(e,a){return this.create(this._ENC_XFORM_MODE,e,a)},createDecryptor:function(e,a){return this.create(this._DEC_XFORM_MODE,e,a)},init:function(e,a,b){this.cfg=this.cfg.extend(b);this._xformMode=e;this._key=a;this.reset()},reset:function(){t.reset.call(this);this._doReset()},process:function(e){this._append(e);return this._process()},
708finalize:function(e){e&&this._append(e);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(b,k,d){return("string"==typeof k?c:a).encrypt
vendor: 6,444 bytes, lines 708-736
708(e,b,k,d)},decrypt:function(b,k,d){return("string"==typeof k?c:a).decrypt(e,b,k,d)}}}});d.StreamCipher=v.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var b=p.mode={},x=function(e,a,b){var c=this._iv;c?this._iv=u:c=this._prevBlock;for(var d=0;d<b;d++)e[a+d]^=
709c[d]},q=(d.BlockCipherMode=l.extend({createEncryptor:function(e,a){return this.Encryptor.create(e,a)},createDecryptor:function(e,a){return this.Decryptor.create(e,a)},init:function(e,a){this._cipher=e;this._iv=a}})).extend();q.Encryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize;x.call(this,e,a,c);b.encryptBlock(e,a);this._prevBlock=e.slice(a,a+c)}});q.Decryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize,d=e.slice(a,a+c);b.decryptBlock(e,a);x.call(this,
710e,a,c);this._prevBlock=d}});b=b.CBC=q;q=(p.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c<<24|c<<16|c<<8|c,l=[],n=0;n<c;n+=4)l.push(d);c=s.create(l,c);a.concat(c)},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}};d.BlockCipher=v.extend({cfg:v.cfg.extend({mode:b,padding:q}),reset:function(){v.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;this._mode=c.call(a,
711this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var n=d.CipherParams=l.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),b=(p.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;a=a.salt;return(a?s.create([1398893684,
7121701076831]).concat(a).concat(b):b).toString(r)},parse:function(a){a=r.parse(a);var b=a.words;if(1398893684==b[0]&&1701076831==b[1]){var c=s.create(b.slice(2,4));b.splice(0,4);a.sigBytes-=16}return n.create({ciphertext:a,salt:c})}},a=d.SerializableCipher=l.extend({cfg:l.extend({format:b}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var l=a.createEncryptor(c,d);b=l.finalize(b);l=l.cfg;return n.create({ciphertext:b,key:c,iv:l.iv,algorithm:a,mode:l.mode,padding:l.padding,blockSize:a.blockSize,formatter:d.format})},
713decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),p=(p.kdf={}).OpenSSL={execute:function(a,b,c,d){d||(d=s.random(8));a=w.create({keySize:b+c}).compute(a,d);c=s.create(a.words.slice(b),4*c);a.sigBytes=4*b;return n.create({key:a,iv:c,salt:d})}},c=d.PasswordBasedCipher=a.extend({cfg:a.cfg.extend({kdf:p}),encrypt:function(b,c,d,l){l=this.cfg.extend(l);d=l.kdf.execute(d,
714b.keySize,b.ivSize);l.iv=d.iv;b=a.encrypt.call(this,b,c,d.key,l);b.mixIn(d);return b},decrypt:function(b,c,d,l){l=this.cfg.extend(l);c=this._parse(c,l.format);d=l.kdf.execute(d,b.keySize,b.ivSize,c.salt);l.iv=d.iv;return a.decrypt.call(this,b,c,d.key,l)}})}();
715(function(){for(var u=CryptoJS,p=u.lib.BlockCipher,d=u.algo,l=[],s=[],t=[],r=[],w=[],v=[],b=[],x=[],q=[],n=[],a=[],c=0;256>c;c++)a[c]=128>c?c<<1:c<<1^283;for(var e=0,j=0,c=0;256>c;c++){var k=j^j<<1^j<<2^j<<3^j<<4,k=k>>>8^k&255^99;l[e]=k;s[k]=e;var z=a[e],F=a[z],G=a[F],y=257*a[k]^16843008*k;t[e]=y<<24|y>>>8;r[e]=y<<16|y>>>16;w[e]=y<<8|y>>>24;v[e]=y;y=16843009*G^65537*F^257*z^16843008*e;b[k]=y<<24|y>>>8;x[k]=y<<16|y>>>16;q[k]=y<<8|y>>>24;n[k]=y;e?(e=z^a[a[a[G^z]]],j^=a[a[j]]):e=j=1}var H=[0,1,2,4,8,
71616,32,64,128,27,54],d=d.AES=p.extend({_doReset:function(){for(var a=this._key,c=a.words,d=a.sigBytes/4,a=4*((this._nRounds=d+6)+1),e=this._keySchedule=[],j=0;j<a;j++)if(j<d)e[j]=c[j];else{var k=e[j-1];j%d?6<d&&4==j%d&&(k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255]):(k=k<<8|k>>>24,k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255],k^=H[j/d|0]<<24);e[j]=e[j-d]^k}c=this._invKeySchedule=[];for(d=0;d<a;d++)j=a-d,k=d%4?e[j]:e[j-4],c[d]=4>d||4>=j?k:b[l[k>>>24]]^x[l[k>>>16&255]]^q[l[k>>>
7178&255]]^n[l[k&255]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,t,r,w,v,l)},decryptBlock:function(a,c){var d=a[c+1];a[c+1]=a[c+3];a[c+3]=d;this._doCryptBlock(a,c,this._invKeySchedule,b,x,q,n,s);d=a[c+1];a[c+1]=a[c+3];a[c+3]=d},_doCryptBlock:function(a,b,c,d,e,j,l,f){for(var m=this._nRounds,g=a[b]^c[0],h=a[b+1]^c[1],k=a[b+2]^c[2],n=a[b+3]^c[3],p=4,r=1;r<m;r++)var q=d[g>>>24]^e[h>>>16&255]^j[k>>>8&255]^l[n&255]^c[p++],s=d[h>>>24]^e[k>>>16&255]^j[n>>>8&255]^l[g&255]^c[p++],t=
718d[k>>>24]^e[n>>>16&255]^j[g>>>8&255]^l[h&255]^c[p++],n=d[n>>>24]^e[g>>>16&255]^j[h>>>8&255]^l[k&255]^c[p++],g=q,h=s,k=t;q=(f[g>>>24]<<24|f[h>>>16&255]<<16|f[k>>>8&255]<<8|f[n&255])^c[p++];s=(f[h>>>24]<<24|f[k>>>16&255]<<16|f[n>>>8&255]<<8|f[g&255])^c[p++];t=(f[k>>>24]<<24|f[n>>>16&255]<<16|f[g>>>8&255]<<8|f[h&255])^c[p++];n=(f[n>>>24]<<24|f[g>>>16&255]<<16|f[h>>>8&255]<<8|f[k&255])^c[p++];a[b]=q;a[b+1]=s;a[b+2]=t;a[b+3]=n},keySize:8});u.AES=p._createHelper(d)})();
719/*
720Copyright (c) 2017 Thomas Parisot
721
722Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
723associated documentation files (the "Software"), to deal in the Software without restriction,
724including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
725and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
726subject to the following conditions:
727
728The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
729
730THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
731FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
732 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
733
734github.com/oncletom/tld.js/blob/master/LICENSE
735*/
736(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}
736var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){window.TLDJS=window.TLDJS||require("tldjs")},{tldjs:2}],2:[function(require,module,exports){"use strict";var Trie=require("./lib/suffix-trie.js");var allRules=Trie.fromJson(require("./rules.json"));var extractHostname=require("./lib/clean-host.js");var getDomain=require("./lib/domain.js");var getPublicSuffix=require("./lib/public-suffix.js");var getSubdomain=require("./lib/subdomain.js");var isValid=require("./lib/is-valid.js");var isIp=require("./lib/is-ip.js");var tldExists=require("./lib/tld-exists.js");var TLD_EXISTS=1;var PUBLIC_SUFFIX=2;var DOMAIN=3;var SUB_DOMAIN=4;var ALL=5;function factory(options){var rules=options.rules||allRules||{};var validHosts=options.validHosts||[];var _extractHostname=options.extractHostname||extractHostname;function parse(url,_step){var step=_step||ALL;var result={hostname:_extractHostname(url),isValid:null,isIp:null,tldExists:false,publicSuffix:null,domain:null,subdomain:null};if(result.hostname===null){result.isIp=false;result.isValid=false;return result}result.isIp=isIp(result.hostname);if(result.isIp){result.isValid=true;return result}result.isValid=isValid(result.hostname);if(result.isValid===false)return result;if(step===ALL||step===TLD_EXISTS){result.tldExists=tldExists(rules,result.hostname)}if(step===TLD_EXISTS)return result;result.publicSuffix=getPublicSuffix(rules,result.hostname);if(step===PUBLIC_SUFFIX)return result;result.domain=getDomain(validHosts,result.publicSuffix,result.hostname);if(step===DOMAIN)return result;result.subdomain=getSubdomain(result.hostname,result.domain);return result}return{extractHostname:_extractHostname,isValid:isValid,parse:parse,tldExists:function(url){return parse(url,TLD_EXISTS).tldExists},getPublicSuffix:function(url){return parse(url,PUBLIC_SUFFIX).publicSuffix},getDomain:function(url){return parse(url,DOMAIN).domain},getSubdomain:function(url){return parse(url,SUB_DOMAIN).subdomain},fromUserSettings:factory}}module.exports=factory({})},{"./lib/clean-host.js":3,"./lib/domain.js":4,"./lib/is-ip.js":6,"./lib/is-valid.js":7,"./lib/public-suffix.js":8,"./lib/subdomain.js":9,"./lib/suffix-trie.js":10,"./lib/tld-exists.js":11,"./rules.json":12}],3:[function(require,module,exports){var URL=require("url");var isValid=require("./is-valid.js");var hasPrefixRE=/^(([a-z][a-z0-9+.-]*)?:)?\/\//;function trimTrailingDots(value){if(value[value.length-1]==="."){return value.substr(0,value.length-1)}return value}function checkTrimmingNeeded(value){return value.length>0&&(value.charCodeAt(0)<=32||value.charCodeAt(value.length-1)<=32)}function checkLowerCaseNeeded(value){for(var i=0;i<value.length;i+=1){var code=value.charCodeAt(i);if(code>=65&&code<=90){return true}}return false}module.exports=function extractHostname(value){if(isValid(value)){return trimTrailingDots(value)}var url=value;if(typeof url!=="string"){url=""+url}var needsTrimming=checkTrimmingNeeded(url);if(needsTrimming){url=url.trim()}var needsLowerCase=checkLowerCaseNeeded(url);if(needsLowerCase){url=url.toLowerCase()}if((needsLowerCase||needsTrimming)&&isValid(url)){return trimTrailingDots(url)}if(!hasPrefixRE.test(url)){url="//"+url}var parts=URL.parse(url,null,true);if(parts.hostname){return trimTrailingDots(parts.hostname)}return null}},{"./is-valid.js":7,url:17}],4:[function(require,module,exports){"use strict";function endsWith(str,pattern){return str.lastIndexOf(pattern)===str.length-pattern.length}function shareSameDomainSuffix(hostname,vhost){if(endsWith(hostname,vhost)){return hostname.length===vhost.length||hostname[hostname.length-vhost.length-1]==="."}return false}function extractDomainWithSuffix(hostname,publicSuffix){var publicSuffixIndex=hostname.length-publicSuffix.length-2;var lastDotBeforeSuffixIndex=hostname.lastIndexOf(".",publicSuffixIndex);if(lastDotBeforeSuffixIndex===-1){return hostname}return hostname.substr(lastDotBeforeSuffixIndex+1)}module.exports=function getDomain(validHosts,suffix,hostname){for(var i=0;i<validHosts.length;i+=1){var vhost=validHosts[i];if(shareSameDomainSuffix(hostname,vhost)){return vhost}}if(suffix===null){return null}
736if(suffix.length===hostname.length){return null}return extractDomainWithSuffix(hostname,suffix)}},{}],5:[function(require,module,exports){"use strict";module.exports=function extractTldFromHost(hostname){var lastDotIndex=hostname.lastIndexOf(".");if(lastDotIndex===-1){return null}return hostname.substr(lastDotIndex+1)}},{}],6:[function(require,module,exports){"use strict";function isProbablyIpv4(hostname){var numberOfDots=0;for(var i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(code===46){numberOfDots+=1}else if(code<48||code>57){return false}}return numberOfDots===3&&hostname[0]!=="."&&hostname[hostname.length-1]!=="."}function isProbablyIpv6(hostname){var hasColon=false;for(var i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(code===58){hasColon=true}else if(!(code>=48&&code<=57||code>=97&&code<=102)){return false}}return hasColon}module.exports=function isIp(hostname){if(typeof hostname!=="string"){return false}if(hostname.length===0){return false}return isProbablyIpv6(hostname)||isProbablyIpv4(hostname)}},{}],7:[function(require,module,exports){"use strict";function isDigit(code){return code>=48&&code<=57}function isAlpha(code){return code>=97&&code<=122}module.exports=function isValid(hostname){if(typeof hostname!=="string"){return false}if(hostname.length>255){return false}if(hostname.length===0){return false}var firstCharCode=hostname.charCodeAt(0);if(!(isAlpha(firstCharCode)||isDigit(firstCharCode))){return false}var lastDotIndex=-1;var lastCharCode;var code;var len=hostname.length;for(var i=0;i<len;i+=1){code=hostname.charCodeAt(i);if(code===46){if(i-lastDotIndex>64||lastCharCode===46||lastCharCode===45){return false}lastDotIndex=i}else if(!(isAlpha(code)||isDigit(code)||code===45)){return false}lastCharCode=code}return len-lastDotIndex-1<=63&&lastCharCode!==45}},{}],8:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function getPublicSuffix(rules,hostname){if(rules.hasTld(hostname)){return hostname}var candidate=rules.suffixLookup(hostname);if(candidate===null){return extractTldFromHost(hostname)}return candidate}},{"./from-host.js":5}],9:[function(require,module,exports){"use strict";module.exports=function getSubdomain(hostname,domain){if(domain===null){return null}return hostname.substr(0,hostname.length-domain.length-1)}},{}],10:[function(require,module,exports){"use strict";var VALID_HOSTNAME_VALUE=0;function minIndex(a,b){if(a===null){return b}else if(b===null){return a}return a<b?a:b}function insertInTrie(rule,trie){var parts=rule.parts;var node=trie;for(var i=0;i<parts.length;i+=1){var part=parts[i];var nextNode=node[part];if(nextNode===undefined){nextNode=Object.create(null);node[part]=nextNode}node=nextNode}node.$=VALID_HOSTNAME_VALUE;return trie}function lookupInTrie(parts,trie,index){var part;var nextNode;var publicSuffixIndex=null;if(trie.$!==undefined){publicSuffixIndex=index+1}if(index===-1){return publicSuffixIndex}part=parts[index];nextNode=trie[part];if(nextNode!==undefined){publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))}nextNode=trie["*"];if(nextNode!==undefined){publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))}return publicSuffixIndex}function SuffixTrie(rules){this.exceptions=Object.create(null);this.rules=Object.create(null);if(rules){for(var i=0;i<rules.length;i+=1){var rule=rules[i];if(rule.exception){insertInTrie(rule,this.exceptions)}else{insertInTrie(rule,this.rules)}}}}SuffixTrie.fromJson=function(json){var trie=new SuffixTrie;trie.exceptions=json.exceptions;trie.rules=json.rules;return trie};SuffixTrie.prototype.hasTld=function(value){return this.rules[value]!==undefined};SuffixTrie.prototype.suffixLookup=function(hostname){var parts=hostname.split(".");var publicSuffixIndex=lookupInTrie(parts,this.rules,parts.length-1);if(publicSuffixIndex===null){return null}var exceptionIndex=lookupInTrie(parts,this.exceptions,parts.length-1);if(exceptionIndex!==null){return parts.slice(exceptionIndex+1).join(".")}return parts.slice(publicSuffixIndex).join(".")};module.exports=SuffixTrie},{}],11:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function tldExists(rules,hostname){if(rules.hasTld(hostname)){return true}var hostTld=extractTldFromHost(hostname);if(hostTld===null){return false}return rules.hasTld(hostTld)}},{"./from-host.js":5}],12:[function(require,module,exports){module.exports={exceptions:{ck:{www:{$:0}},jp:{kawasaki:{city:{$:0}},kitakyushu:{city:{$:0}},kobe:{city:{$:0}},nagoya:{city:{$:0}},sapporo:{city:{$:0}},sendai:{city:{$:0}},yokohama:{city:{$:0}}}},rules:{ac:{$:0,com:{$:0},edu:{$:0},gov:{$:0}
736,net:{$:0},mil:{$:0},org:{$:0}},ad:{$:0,nom:{$:0}},ae:{$:0,co:{$:0},net:{$:0},org:{$:0},sch:{$:0},ac:{$:0},gov:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},aero:{$:0,"accident-investigation":{$:0},"accident-prevention":{$:0},aerobatic:{$:0},aeroclub:{$:0},aerodrome:{$:0},agents:{$:0},aircraft:{$:0},airline:{$:0},airport:{$:0},"air-surveillance":{$:0},airtraffic:{$:0},"air-traffic-control":{$:0},ambulance:{$:0},amusement:{$:0},association:{$:0},author:{$:0},ballooning:{$:0},broker:{$:0},caa:{$:0},cargo:{$:0},catering:{$:0},certification:{$:0},championship:{$:0},charter:{$:0},civilaviation:{$:0},club:{$:0},conference:{$:0},consultant:{$:0},consulting:{$:0},control:{$:0},council:{$:0},crew:{$:0},design:{$:0},dgca:{$:0},educator:{$:0},emergency:{$:0},engine:{$:0},engineer:{$:0},entertainment:{$:0},equipment:{$:0},exchange:{$:0},express:{$:0},federation:{$:0},flight:{$:0},freight:{$:0},fuel:{$:0},gliding:{$:0},government:{$:0},groundhandling:{$:0},group:{$:0},hanggliding:{$:0},homebuilt:{$:0},insurance:{$:0},journal:{$:0},journalist:{$:0},leasing:{$:0},logistics:{$:0},magazine:{$:0},maintenance:{$:0},media:{$:0},microlight:{$:0},modelling:{$:0},navigation:{$:0},parachuting:{$:0},paragliding:{$:0},"passenger-association":{$:0},pilot:{$:0},press:{$:0},production:{$:0},recreation:{$:0},repbody:{$:0},res:{$:0},research:{$:0},rotorcraft:{$:0},safety:{$:0},scientist:{$:0},services:{$:0},show:{$:0},skydiving:{$:0},software:{$:0},student:{$:0},trader:{$:0},trading:{$:0},trainer:{$:0},union:{$:0},workinggroup:{$:0},works:{$:0}},af:{$:0,gov:{$:0},com:{$:0},org:{$:0}
vendor: 2,434 bytes, line 736
736,net:{$:0},edu:{$:0}},ag:{$:0,com:{$:0},org:{$:0},net:{$:0},co:{$:0},nom:{$:0}},ai:{$:0,off:{$:0},com:{$:0},net:{$:0},org:{$:0},nom:{$:0}},al:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},am:{$:0,blogspot:{$:0}},ao:{$:0,ed:{$:0},gv:{$:0},og:{$:0},co:{$:0},pb:{$:0},it:{$:0}},aq:{$:0},ar:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gob:{$:0},gov:{$:0},int:{$:0},mil:{$:0},musica:{$:0},net:{$:0},org:{$:0},tur:{$:0}},arpa:{$:0,e164:{$:0},"in-addr":{$:0},ip6:{$:0},iris:{$:0},uri:{$:0},urn:{$:0}},as:{$:0,gov:{$:0}},asia:{$:0,cloudns:{$:0}},at:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gv:{$:0},or:{$:0},futurecms:{"*":{$:0}},futurehosting:{$:0},futuremailing:{$:0},ortsinfo:{ex:{"*":{$:0}},kunden:{"*":{$:0}}},biz:{$:0},info:{$:0},priv:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},au:{$:0,com:{$:0,blogspot:{$:0}},net:{$:0},org:{$:0},edu:{$:0,act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},gov:{$:0,qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},asn:{$:0},id:{$:0},info:{$:0},conf:{$:0},oz:{$:0},act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},aw:{$:0,com:{$:0}},ax:{$:0},az:{$:0,com:{$:0},net:{$:0},int:{$:0},gov:{$:0},org:{$:0},edu:{$:0},info:{$:0},pp:{$:0},mil:{$:0},name:{$:0},pro:{$:0},biz:{$:0}},ba:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0}},bb:{$:0,biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},net:{$:0},org:{$:0},store:{$:0},tv:{$:0}},bd:{"*":{$:0}},be:{$:0,ac:{$:0},webhosting:{$:0},blogspot:{$:0},transurl:{"*":{$:0}}},bf:{$:0,gov:{$:0}},bg:{0:{$:0},1:{$:0},2:{$:0},3:{$:0},4:{$:0},5:{$:0},6:{$:0},7:{$:0},8:{$:0},9:{$:0},$:0,a:{$:0},b:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},g:{$:0},h:{$:0},i:{$:0},j:{$:0},k:{$:0},l:{$:0},m:{$:0},n:{$:0},o:{$:0},p:{$:0},q:{$:0},r:{$:0},s:{$:0},t:{$:0},u:{$:0},v:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},blogspot:{$:0},barsy:{$:0}},bh:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0}},bi:{$:0,co:{$:0},com:{$:0},edu:{$:0},or:{$:0},org:{$:0}},biz:{$:0,cloudns:{$:0},dyndns:{$:0},"for-better":{$:0},"for-more":{$:0},"for-some":{$:0},"for-the":{$:0},selfip:{$:0},webhop:{$:0},mmafan:{$:0},myftp:{$:0},"no-ip":{$:0},dscloud:{$:0}},bj:{$:0,asso:{$:0},barreau:{$:0},gouv:{$:0},blogspot:{$:0}},bm:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bn:{"*":{$:0}},bo:{$:0,com:{$:0},edu:{$:0},gob:{$:0},int:{$:0},org:{$:0}
736,net:{$:0},mil:{$:0},tv:{$:0},web:{$:0},academia:{$:0},agro:{$:0},arte:{$:0},blog:{$:0},bolivia:{$:0},ciencia:{$:0},cooperativa:{$:0},democracia:{$:0},deporte:{$:0},ecologia:{$:0},economia:{$:0},empresa:{$:0},indigena:{$:0},industria:{$:0},info:{$:0},medicina:{$:0},movimiento:{$:0},musica:{$:0},natural:{$:0},nombre:{$:0},noticias:{$:0},patria:{$:0},politica:{$:0},profesional:{$:0},plurinacional:{$:0},pueblo:{$:0},revista:{$:0},salud:{$:0},tecnologia:{$:0},tksat:{$:0},transporte:{$:0},wiki:{$:0}},br:{$:0,"9guacu":{$:0},abc:{$:0},adm:{$:0},adv:{$:0},agr:{$:0},aju:{$:0},am:{$:0},anani:{$:0},aparecida:{$:0},arq:{$:0},art:{$:0},ato:{$:0},b:{$:0},belem:{$:0},bhz:{$:0},bio:{$:0},blog:{$:0},bmd:{$:0},boavista:{$:0},bsb:{$:0},campinagrande:{$:0},campinas:{$:0},caxias:{$:0},cim:{$:0},cng:{$:0},cnt:{$:0},com:{$:0,blogspot:{$:0}},contagem:{$:0},coop:{$:0},cri:{$:0},cuiaba:{$:0},curitiba:{$:0},def:{$:0},ecn:{$:0},eco:{$:0},edu:{$:0},emp:{$:0},eng:{$:0},esp:{$:0},etc:{$:0},eti:{$:0},far:{$:0},feira:{$:0},flog:{$:0},floripa:{$:0},fm:{$:0},fnd:{$:0},fortal:{$:0},fot:{$:0},foz:{$:0},fst:{$:0},g12:{$:0},ggf:{$:0},goiania:{$:0},gov:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},gru:{$:0},imb:{$:0},ind:{$:0},inf:{$:0},jab:{$:0},jampa:{$:0},jdf:{$:0},joinville:{$:0},jor:{$:0},jus:{$:0},leg:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},lel:{$:0},londrina:{$:0},macapa:{$:0},maceio:{$:0},manaus:{$:0},maringa:{$:0},mat:{$:0},med:{$:0},mil:{$:0},morena:{$:0},mp:{$:0},mus:{$:0},natal:{$:0},net:{$:0},niteroi:{$:0},nom:{"*":{$:0}},not:{$:0},ntr:{$:0},odo:{$:0},org:{$:0},osasco:{$:0},palmas:{$:0},poa:{$:0},ppg:{$:0},pro:{$:0},psc:{$:0},psi:{$:0},pvh:{$:0},qsl:{$:0},radio:{$:0},rec:{$:0},recife:{$:0},ribeirao:{$:0},rio:{$:0},riobranco:{$:0},riopreto:{$:0},salvador:{$:0},sampa:{$:0},santamaria:{$:0},santoandre:{$:0},saobernardo:{$:0},saogonca:{$:0},sjc:{$:0},slg:{$:0},slz:{$:0},sorocaba:{$:0},srv:{$:0},taxi:{$:0},teo:{$:0},the:{$:0},tmp:{$:0},trd:{$:0},tur:{$:0},tv:{$:0},udi:{$:0},vet:{$:0},vix:{$:0},vlog:{$:0},wiki:{$:0},zlg:{$:0}},bs:{$:0,com:{$:0}
vendor: 11,922 bytes, line 736
736,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},we:{$:0}},bt:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bv:{$:0},bw:{$:0,co:{$:0},org:{$:0}},by:{$:0,gov:{$:0},mil:{$:0},com:{$:0,blogspot:{$:0}},of:{$:0},nym:{$:0}},bz:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},za:{$:0},nym:{$:0}},ca:{$:0,ab:{$:0},bc:{$:0},mb:{$:0},nb:{$:0},nf:{$:0},nl:{$:0},ns:{$:0},nt:{$:0},nu:{$:0},on:{$:0},pe:{$:0},qc:{$:0},sk:{$:0},yk:{$:0},gc:{$:0},"1password":{$:0},awdev:{"*":{$:0}},co:{$:0},blogspot:{$:0},"no-ip":{$:0}},cat:{$:0},cc:{$:0,cloudns:{$:0},ftpaccess:{$:0},"game-server":{$:0},myphotos:{$:0},scrapping:{$:0},twmail:{$:0},fantasyleague:{$:0}},cd:{$:0,gov:{$:0}},cf:{$:0,blogspot:{$:0}},cg:{$:0},ch:{$:0,square7:{$:0},blogspot:{$:0},gotdns:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},ci:{$:0,org:{$:0},or:{$:0},com:{$:0},co:{$:0},edu:{$:0},ed:{$:0},ac:{$:0},net:{$:0},go:{$:0},asso:{$:0},"xn--aroport-bya":{$:0},int:{$:0},presse:{$:0},md:{$:0},gouv:{$:0}},ck:{"*":{$:0}},cl:{$:0,gov:{$:0},gob:{$:0},co:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},cm:{$:0,co:{$:0},com:{$:0},gov:{$:0},net:{$:0}},cn:{$:0,ac:{$:0},com:{$:0,amazonaws:{compute:{"*":{$:0}},eb:{"cn-north-1":{$:0}},elb:{"*":{$:0}},"cn-north-1":{s3:{$:0}}}},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0},mil:{$:0},"xn--55qx5d":{$:0},"xn--io0a7i":{$:0},"xn--od0alg":{$:0},ah:{$:0},bj:{$:0},cq:{$:0},fj:{$:0},gd:{$:0},gs:{$:0},gz:{$:0},gx:{$:0},ha:{$:0},hb:{$:0},he:{$:0},hi:{$:0},hl:{$:0},hn:{$:0},jl:{$:0},js:{$:0},jx:{$:0},ln:{$:0},nm:{$:0},nx:{$:0},qh:{$:0},sc:{$:0},sd:{$:0},sh:{$:0},sn:{$:0},sx:{$:0},tj:{$:0},xj:{$:0},xz:{$:0},yn:{$:0},zj:{$:0},hk:{$:0},mo:{$:0},tw:{$:0}},co:{$:0,arts:{$:0},com:{$:0,blogspot:{$:0}},edu:{$:0},firm:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0},net:{$:0},nom:{$:0},org:{$:0},rec:{$:0},web:{$:0},nodum:{$:0}},com:{$:0,"1password":{$:0},amazonaws:{compute:{"*":{$:0}},"compute-1":{"*":{$:0}},"us-east-1":{$:0,dualstack:{s3:{$:0}}},elb:{"*":{$:0}},s3:{$:0},"s3-ap-northeast-1":{$:0},"s3-ap-northeast-2":{$:0},"s3-ap-south-1":{$:0},"s3-ap-southeast-1":{$:0},"s3-ap-southeast-2":{$:0},"s3-ca-central-1":{$:0},"s3-eu-central-1":{$:0},"s3-eu-west-1":{$:0},"s3-eu-west-2":{$:0},"s3-eu-west-3":{$:0},"s3-external-1":{$:0},"s3-fips-us-gov-west-1":{$:0},"s3-sa-east-1":{$:0},"s3-us-gov-west-1":{$:0},"s3-us-east-2":{$:0},"s3-us-west-1":{$:0},"s3-us-west-2":{$:0},"ap-northeast-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-south-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ca-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-3":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"us-east-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-northeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-2":{dualstack:{s3:{$:0}}},"eu-west-1":{dualstack:{s3:{$:0}}},"sa-east-1":{dualstack:{s3:{$:0}}},"s3-website-us-east-1":{$:0},"s3-website-us-west-1":{$:0},"s3-website-us-west-2":{$:0},"s3-website-ap-northeast-1":{$:0},"s3-website-ap-southeast-1":{$:0},"s3-website-ap-southeast-2":{$:0},"s3-website-eu-west-1":{$:0},"s3-website-sa-east-1":{$:0}},elasticbeanstalk:{$:0,"ap-northeast-1":{$:0},"ap-northeast-2":{$:0},"ap-south-1":{$:0},"ap-southeast-1":{$:0},"ap-southeast-2":{$:0},"ca-central-1":{$:0},"eu-central-1":{$:0},"eu-west-1":{$:0},"eu-west-2":{$:0},"eu-west-3":{$:0},"sa-east-1":{$:0},"us-east-1":{$:0},"us-east-2":{$:0},"us-gov-west-1":{$:0},"us-west-1":{$:0},"us-west-2":{$:0}},"on-aptible":{$:0},myasustor:{$:0},betainabox:{$:0},bplaced:{$:0},ar:{$:0},br:{$:0},cn:{$:0},de:{$:0},eu:{$:0},gb:{$:0},hu:{$:0},jpn:{$:0},kr:{$:0},mex:{$:0},no:{$:0},qc:{$:0},ru:{$:0},sa:{$:0},se:{$:0},uk:{$:0},us:{$:0},uy:{$:0},za:{$:0},africa:{$:0},gr:{$:0},co:{$:0},xenapponazure:{$:0},jdevcloud:{$:0},wpdevcloud:{$:0},cloudcontrolled:{$:0},cloudcontrolapp:{$:0},drayddns:{$:0},dreamhosters:{$:0},mydrobo:{$:0},"dyndns-at-home":{$:0},"dyndns-at-work":{$:0},"dyndns-blog":{$:0},"dyndns-free":{$:0},"dyndns-home":{$:0},"dyndns-ip":{$:0},"dyndns-mail":{$:0},"dyndns-office":{$:0},"dyndns-pics":{$:0},"dyndns-remote":{$:0},"dyndns-server":{$:0},"dyndns-web":{$:0},"dyndns-wiki":{$:0},"dyndns-work":{$:0},blogdns:{$:0},cechire:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},"dyn-o-saur":{$:0},dynalias:{$:0},"est-a-la-maison":{$:0},"est-a-la-masion":{$:0},"est-le-patron":{$:0},"est-mon-blogueur":{$:0},"from-ak":{$:0},"from-al":{$:0},"from-ar":{$:0},"from-ca":{$:0},"from-ct":{$:0},"from-dc":{$:0},"from-de":{$:0},"from-fl":{$:0},"from-ga":{$:0},"from-hi":{$:0},"from-ia":{$:0},"from-id":{$:0},"from-il":{$:0},"from-in":{$:0},"from-ks":{$:0},"from-ky":{$:0},"from-ma":{$:0},"from-md":{$:0},"from-mi":{$:0},"from-mn":{$:0},"from-mo":{$:0},"from-ms":{$:0},"from-mt":{$:0},"from-nc":{$:0},"from-nd":{$:0},"from-ne":{$:0},"from-nh":{$:0},"from-nj":{$:0},"from-nm":{$:0},"from-nv":{$:0},"from-oh":{$:0},"from-ok":{$:0},"from-or":{$:0},"from-pa":{$:0},"from-pr":{$:0},"from-ri":{$:0},"from-sc":{$:0},"from-sd":{$:0},"from-tn":{$:0},"from-tx":{$:0},"from-ut":{$:0},"from-va":{$:0},"from-vt":{$:0},"from-wa":{$:0},"from-wi":{$:0},"from-wv":{$:0},"from-wy":{$:0},getmyip:{$:0},gotdns:{$:0},"hobby-site":{$:0},homelinux:{$:0},homeunix:{$:0},iamallama:{$:0},"is-a-anarchist":{$:0},"is-a-blogger":{$:0},"is-a-bookkeeper":{$:0},"is-a-bulls-fan":{$:0},"is-a-caterer":{$:0},"is-a-chef":{$:0},"is-a-conservative":{$:0},"is-a-cpa":{$:0},"is-a-cubicle-slave":{$:0},"is-a-democrat":{$:0},"is-a-designer":{$:0},"is-a-doctor":{$:0},"is-a-financialadvisor":{$:0},"is-a-geek":{$:0},"is-a-green":{$:0},"is-a-guru":{$:0},"is-a-hard-worker":{$:0},"is-a-hunter":{$:0},"is-a-landscaper":{$:0},"is-a-lawyer":{$:0},"is-a-liberal":{$:0},"is-a-libertarian":{$:0},"is-a-llama":{$:0},"is-a-musician":{$:0},"is-a-nascarfan":{$:0},"is-a-nurse":{$:0},"is-a-painter":{$:0},"is-a-personaltrainer":{$:0},"is-a-photographer":{$:0},"is-a-player":{$:0},"is-a-republican":{$:0},"is-a-rockstar":{$:0},"is-a-socialist":{$:0},"is-a-student":{$:0},"is-a-teacher":{$:0},"is-a-techie":{$:0},"is-a-therapist":{$:0},"is-an-accountant":{$:0},"is-an-actor":{$:0},"is-an-actress":{$:0},"is-an-anarchist":{$:0},"is-an-artist":{$:0},"is-an-engineer":{$:0},"is-an-entertainer":{$:0},"is-certified":{$:0},"is-gone":{$:0},"is-into-anime":{$:0},"is-into-cars":{$:0},"is-into-cartoons":{$:0},"is-into-games":{$:0},"is-leet":{$:0},"is-not-certified":{$:0},"is-slick":{$:0},"is-uberleet":{$:0},"is-with-theband":{$:0},"isa-geek":{$:0},"isa-hockeynut":{$:0},issmarterthanyou:{$:0},"likes-pie":{$:0},likescandy:{$:0},"neat-url":{$:0},"saves-the-whales":{$:0},selfip:{$:0},"sells-for-less":{$:0},"sells-for-u":{$:0},servebbs:{$:0},"simple-url":{$:0},"space-to-rent":{$:0},"teaches-yoga":{$:0},writesthisblog:{$:0},ddnsfree:{$:0},ddnsgeek:{$:0},giize:{$:0},gleeze:{$:0},kozow:{$:0},loseyourip:{$:0},ooguy:{$:0},theworkpc:{$:0},mytuleap:{$:0},evennode:{"eu-1":{$:0},"eu-2":{$:0},"eu-3":{$:0},"eu-4":{$:0},"us-1":{$:0},"us-2":{$:0},"us-3":{$:0},"us-4":{$:0}},fbsbx:{apps:{$:0}},firebaseapp:{$:0},flynnhub:{$:0},"freebox-os":{$:0},freeboxos:{$:0},githubusercontent:{$:0},"0emm":{"*":{$:0}},appspot:{$:0},blogspot:{$:0},codespot:{$:0},googleapis:{$:0},googlecode:{$:0},pagespeedmobilizer:{$:0},publishproxy:{$:0},withgoogle:{$:0},withyoutube:{$:0},herokuapp:{$:0},herokussl:{$:0},pixolino:{$:0},joyent:{cns:{"*":{$:0}}},barsyonline:{$:0},meteorapp:{$:0,eu:{$:0}},bitballoon:{$:0},netlify:{$:0},"4u":{$:0},nfshost:{$:0},blogsyte:{$:0},ciscofreak:{$:0},damnserver:{$:0},ditchyourip:{$:0},dnsiskinky:{$:0},dynns:{$:0},geekgalaxy:{$:0},"health-carereform":{$:0},homesecuritymac:{$:0},homesecuritypc:{$:0},myactivedirectory:{$:0},mysecuritycamera:{$:0},"net-freaks":{$:0},onthewifi:{$:0},point2this:{$:0},quicksytes:{$:0},securitytactics:{$:0},serveexchange:{$:0},servehumour:{$:0},servep2p:{$:0},servesarcasm:{$:0},stufftoread:{$:0},unusualperson:{$:0},workisboring:{$:0},"3utilities":{$:0},ddnsking:{$:0},myvnc:{$:0},servebeer:{$:0},servecounterstrike:{$:0},serveftp:{$:0},servegame:{$:0},servehalflife:{$:0},servehttp:{$:0},serveirc:{$:0},servemp3:{$:0},servepics:{$:0},servequake:{$:0},operaunite:{$:0},outsystemscloud:{$:0},ownprovider:{$:0},pgfog:{$:0},pagefrontapp:{$:0},gotpantheon:{$:0},prgmr:{xen:{$:0}},qa2:{$:0},"dev-myqnapcloud":{$:0},"alpha-myqnapcloud":{$:0},myqnapcloud:{$:0},quipelements:{"*":{$:0}},rackmaze:{$:0},rhcloud:{$:0},logoip:{$:0},scrysec:{$:0},"firewall-gateway":{$:0},myshopblocks:{$:0},"1kapp":{$:0},appchizi:{$:0},applinzi:{$:0},sinaapp:{$:0},vipsinaapp:{$:0},"bounty-full":{$:0,alpha:{$:0},beta:{$:0}},"temp-dns":{$:0},dsmynas:{$:0},familyds:{$:0},bloxcms:{$:0},"townnews-staging":{$:0},hk:{$:0},remotewd:{$:0},yolasite:{$:0}},coop:{$:0},cr:{$:0,ac:{$:0},co:{$:0},ed:{$:0},fi:{$:0},go:{$:0},or:{$:0},sa:{$:0}},cu:{$:0,com:{$:0},edu:{$:0},org:{$:0},net:{$:0},gov:{$:0},inf:{$:0}},cv:{$:0,blogspot:{$:0}},cw:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},cx:{$:0,gov:{$:0},ath:{$:0},info:{$:0}},cy:{$:0,ac:{$:0},biz:{$:0},com:{$:0,blogspot:{$:0}},ekloges:{$:0},gov:{$:0},ltd:{$:0},name:{$:0},net:{$:0},org:{$:0},parliament:{$:0},press:{$:0},pro:{$:0},tm:{$:0}},cz:{$:0,co:{$:0},realm:{$:0},e4:{$:0},blogspot:{$:0},metacentrum:{cloud:{$:0},custom:{$:0}}},de:{$:0,bplaced:{$:0},square7:{$:0},com:{$:0},cosidns:{dyn:{$:0}},"dynamisches-dns":{$:0},dnsupdater:{$:0},"internet-dns":{$:0},"l-o-g-i-n":{$:0},dnshome:{$:0},fuettertdasnetz:{$:0},isteingeek:{$:0},istmein:{$:0},lebtimnetz:{$:0},leitungsen:{$:0},traeumtgerade:{$:0},ddnss:{$:0,dyn:{$:0},dyndns:{$:0}},dyndns1:{$:0},"dyn-ip24":{$:0},"home-webserver":{$:0,dyn:{$:0}},"myhome-server":{$:0},goip:{$:0},blogspot:{$:0},keymachine:{$:0},"git-repos":{$:0},"lcube-server":{$:0},"svn-repos":{$:0},barsy:{$:0},logoip:{$:0},"firewall-gateway":{$:0},"my-gateway":{$:0},"my-router":{$:0},spdns:{$:0},"taifun-dns":{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0},"dd-dns":{$:0},"dray-dns":{$:0},draydns:{$:0},"dyn-vpn":{$:0},dynvpn:{$:0},"mein-vigor":{$:0},"my-vigor":{$:0},"my-wan":{$:0},"syno-ds":{$:0},"synology-diskstation":{$:0},"synology-ds":{$:0}},dj:{$:0},dk:{$:0,biz:{$:0},co:{$:0},firm:{$:0},reg:{$:0},store:{$:0},blogspot:{$:0}},dm:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},do:{$:0,art:{$:0},com:{$:0},edu:{$:0},gob:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},sld:{$:0},web:{$:0}},dz:{$:0,com:{$:0},org:{$:0},net:{$:0},gov:{$:0},edu:{$:0},asso:{$:0},pol:{$:0},art:{$:0}},ec:{$:0,com:{$:0},info:{$:0},net:{$:0},fin:{$:0},k12:{$:0},med:{$:0},pro:{$:0},org:{$:0},edu:{$:0},gov:{$:0},gob:{$:0},mil:{$:0}},edu:{$:0},ee:{$:0,edu:{$:0},gov:{$:0},riik:{$:0},lib:{$:0},med:{$:0},com:{$:0,blogspot:{$:0}},pri:{$:0},aip:{$:0},org:{$:0},fie:{$:0}},eg:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},eun:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sci:{$:0}},er:{"*":{$:0}},es:{$:0,com:{$:0,blogspot:{$:0}},nom:{$:0},org:{$:0},gob:{$:0},edu:{$:0}},et:{$:0,com:{$:0},gov:{$:0},org:{$:0},edu:{$:0},biz:{$:0},name:{$:0},info:{$:0},net:{$:0}},eu:{$:0,"1password":{$:0},mycd:{$:0},cloudns:{$:0},barsy:{$:0},wellbeingzone:{$:0},spdns:{$:0},transurl:{"*":{$:0}},diskstation:{$:0}},fi:{$:0,aland:{$:0},dy:{$:0},blogspot:{$:0},iki:{$:0}},fj:{"*":{$:0}},fk:{"*":{$:0}},fm:{$:0},fo:{$:0},fr:{$:0,com:{$:0},asso:{$:0},nom:{$:0},prd:{$:0},presse:{$:0},tm:{$:0},aeroport:{$:0},assedic:{$:0},avocat:{$:0},avoues:{$:0},cci:{$:0},chambagri:{$:0},"chirurgiens-dentistes":{$:0},"experts-comptables":{$:0},"geometre-expert":{$:0},gouv:{$:0},greta:{$:0},"huissier-justice":{$:0},medecin:{$:0},notaires:{$:0},pharmacien:{$:0},port:{$:0},veterinaire:{$:0},"fbx-os":{$:0},fbxos:{$:0},"freebox-os":{$:0},freeboxos:{$:0},blogspot:{$:0},"on-web":{$:0},"chirurgiens-dentistes-en-france":{$:0}},ga:{$:0},gb:{$:0},gd:{$:0,nom:{$:0}},ge:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}
736,net:{$:0},pvt:{$:0}},gf:{$:0},gg:{$:0,co:{$:0},net:{$:0},org:{$:0},cya:{$:0}},gh:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}},gi:{$:0,com:{$:0},ltd:{$:0},gov:{$:0},mod:{$:0},edu:{$:0},org:{$:0}},gl:{$:0,co:{$:0},com:{$:0},edu:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gm:{$:0},gn:{$:0,ac:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},gov:{$:0},gp:{$:0,com:{$:0},net:{$:0},mobi:{$:0},edu:{$:0},org:{$:0},asso:{$:0}},gq:{$:0},gr:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0},blogspot:{$:0},nym:{$:0}},gs:{$:0},gt:{$:0,com:{$:0},edu:{$:0},gob:{$:0},ind:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gu:{"*":{$:0}},gw:{$:0},gy:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},hk:{$:0,com:{$:0},edu:{$:0},gov:{$:0},idv:{$:0},net:{$:0},org:{$:0},"xn--55qx5d":{$:0},"xn--wcvs22d":{$:0},"xn--lcvr32d":{$:0},"xn--mxtq1m":{$:0},"xn--gmqw5a":{$:0},"xn--ciqpn":{$:0},"xn--gmq050i":{$:0},"xn--zf0avx":{$:0},"xn--io0a7i":{$:0},"xn--mk0axi":{$:0},"xn--od0alg":{$:0},"xn--od0aq3b":{$:0},"xn--tn0ag":{$:0},"xn--uc0atv":{$:0},"xn--uc0ay4a":{$:0},blogspot:{$:0},ltd:{$:0},inc:{$:0}},hm:{$:0},hn:{$:0,com:{$:0},edu:{$:0},org:{$:0}
vendor: 2,174 bytes, line 736
736,net:{$:0},mil:{$:0},gob:{$:0},nom:{$:0}},hr:{$:0,iz:{$:0},from:{$:0},name:{$:0},com:{$:0},blogspot:{$:0}},ht:{$:0,com:{$:0},shop:{$:0},firm:{$:0},info:{$:0},adult:{$:0},net:{$:0},pro:{$:0},org:{$:0},med:{$:0},art:{$:0},coop:{$:0},pol:{$:0},asso:{$:0},edu:{$:0},rel:{$:0},gouv:{$:0},perso:{$:0}},hu:{2e3:{$:0},$:0,co:{$:0},info:{$:0},org:{$:0},priv:{$:0},sport:{$:0},tm:{$:0},agrar:{$:0},bolt:{$:0},casino:{$:0},city:{$:0},erotica:{$:0},erotika:{$:0},film:{$:0},forum:{$:0},games:{$:0},hotel:{$:0},ingatlan:{$:0},jogasz:{$:0},konyvelo:{$:0},lakas:{$:0},media:{$:0},news:{$:0},reklam:{$:0},sex:{$:0},shop:{$:0},suli:{$:0},szex:{$:0},tozsde:{$:0},utazas:{$:0},video:{$:0},blogspot:{$:0}},id:{$:0,ac:{$:0},biz:{$:0},co:{$:0,blogspot:{$:0}},desa:{$:0},go:{$:0},mil:{$:0},my:{$:0},net:{$:0},or:{$:0},sch:{$:0},web:{$:0}},ie:{$:0,gov:{$:0},blogspot:{$:0}},il:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gov:{$:0},idf:{$:0},k12:{$:0},muni:{$:0},net:{$:0},org:{$:0}},im:{$:0,ac:{$:0},co:{$:0,ltd:{$:0},plc:{$:0}},com:{$:0},net:{$:0},org:{$:0},tt:{$:0},tv:{$:0},ro:{$:0},nom:{$:0}},in:{$:0,co:{$:0},firm:{$:0},net:{$:0},org:{$:0},gen:{$:0},ind:{$:0},nic:{$:0},ac:{$:0},edu:{$:0},res:{$:0},gov:{$:0},mil:{$:0},cloudns:{$:0},blogspot:{$:0},barsy:{$:0}},info:{$:0,cloudns:{$:0},"dynamic-dns":{$:0},dyndns:{$:0},"barrel-of-knowledge":{$:0},"barrell-of-knowledge":{$:0},"for-our":{$:0},"groks-the":{$:0},"groks-this":{$:0},"here-for-more":{$:0},knowsitall:{$:0},selfip:{$:0},webhop:{$:0},nsupdate:{$:0},dvrcam:{$:0},ilovecollege:{$:0},"no-ip":{$:0},"v-info":{$:0}},int:{$:0,eu:{$:0}},io:{$:0,com:{$:0},backplaneapp:{$:0},boxfuse:{$:0},browsersafetymark:{$:0},dedyn:{$:0},drud:{$:0},definima:{$:0},enonic:{$:0,customer:{$:0}},github:{$:0},gitlab:{$:0},"hasura-app":{$:0},ngrok:{$:0},nodeart:{stage:{$:0}},nodum:{$:0},nid:{$:0},pantheonsite:{$:0},protonet:{$:0},vaporcloud:{$:0},resindevice:{$:0},resinstaging:{devices:{$:0}},hzc:{$:0},sandcats:{$:0},s5y:{"*":{$:0}},shiftedit:{$:0},lair:{apps:{$:0}},stolos:{"*":{$:0}},spacekit:{$:0},thingdust:{dev:{cust:{$:0}},disrec:{cust:{$:0}},prod:{cust:{$:0}},testing:{cust:{$:0}}},wedeploy:{$:0}},iq:{$:0,gov:{$:0},edu:{$:0},mil:{$:0},com:{$:0},org:{$:0}
736,net:{$:0}},ir:{$:0,ac:{$:0},co:{$:0},gov:{$:0},id:{$:0},net:{$:0},org:{$:0},sch:{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0}},is:{$:0,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},int:{$:0},cupcake:{$:0},blogspot:{$:0}},it:{$:0,gov:{$:0},edu:{$:0},abr:{$:0},abruzzo:{$:0},"aosta-valley":{$:0},aostavalley:{$:0},bas:{$:0},basilicata:{$:0},cal:{$:0},calabria:{$:0},cam:{$:0},campania:{$:0},"emilia-romagna":{$:0},emiliaromagna:{$:0},emr:{$:0},"friuli-v-giulia":{$:0},"friuli-ve-giulia":{$:0},"friuli-vegiulia":{$:0},"friuli-venezia-giulia":{$:0},"friuli-veneziagiulia":{$:0},"friuli-vgiulia":{$:0},"friuliv-giulia":{$:0},"friulive-giulia":{$:0},friulivegiulia:{$:0},"friulivenezia-giulia":{$:0},friuliveneziagiulia:{$:0},friulivgiulia:{$:0},fvg:{$:0},laz:{$:0},lazio:{$:0},lig:{$:0},liguria:{$:0},lom:{$:0},lombardia:{$:0},lombardy:{$:0},lucania:{$:0},mar:{$:0},marche:{$:0},mol:{$:0},molise:{$:0},piedmont:{$:0},piemonte:{$:0},pmn:{$:0},pug:{$:0},puglia:{$:0},sar:{$:0},sardegna:{$:0},sardinia:{$:0},sic:{$:0},sicilia:{$:0},sicily:{$:0},taa:{$:0},tos:{$:0},toscana:{$:0},"trentino-a-adige":{$:0},"trentino-aadige":{$:0},"trentino-alto-adige":{$:0},"trentino-altoadige":{$:0},"trentino-s-tirol":{$:0},"trentino-stirol":{$:0},"trentino-sud-tirol":{$:0},"trentino-sudtirol":{$:0},"trentino-sued-tirol":{$:0},"trentino-suedtirol":{$:0},"trentinoa-adige":{$:0},trentinoaadige:{$:0},"trentinoalto-adige":{$:0},trentinoaltoadige:{$:0},"trentinos-tirol":{$:0},trentinostirol:{$:0},"trentinosud-tirol":{$:0},trentinosudtirol:{$:0},"trentinosued-tirol":{$:0},trentinosuedtirol:{$:0},tuscany:{$:0},umb:{$:0},umbria:{$:0},"val-d-aosta":{$:0},"val-daosta":{$:0},"vald-aosta":{$:0},valdaosta:{$:0},"valle-aosta":{$:0},"valle-d-aosta":{$:0},"valle-daosta":{$:0},valleaosta:{$:0},"valled-aosta":{$:0},valledaosta:{$:0},"vallee-aoste":{$:0},valleeaoste:{$:0},vao:{$:0},vda:{$:0},ven:{$:0},veneto:{$:0},ag:{$:0},agrigento:{$:0},al:{$:0},alessandria:{$:0},"alto-adige":{$:0},altoadige:{$:0},an:{$:0},ancona:{$:0},"andria-barletta-trani":{$:0},"andria-trani-barletta":{$:0},andriabarlettatrani:{$:0},andriatranibarletta:{$:0},ao:{$:0},aosta:{$:0},aoste:{$:0},ap:{$:0},aq:{$:0},aquila:{$:0},ar:{$:0},arezzo:{$:0},"ascoli-piceno":{$:0},ascolipiceno:{$:0},asti:{$:0},at:{$:0},av:{$:0},avellino:{$:0},ba:{$:0},balsan:{$:0},bari:{$:0},"barletta-trani-andria":{$:0},barlettatraniandria:{$:0},belluno:{$:0},benevento:{$:0},bergamo:{$:0},bg:{$:0},bi:{$:0},biella:{$:0},bl:{$:0},bn:{$:0},bo:{$:0},bologna:{$:0},bolzano:{$:0},bozen:{$:0},br:{$:0},brescia:{$:0},brindisi:{$:0},bs:{$:0},bt:{$:0},bz:{$:0},ca:{$:0},cagliari:{$:0},caltanissetta:{$:0},"campidano-medio":{$:0},campidanomedio:{$:0},campobasso:{$:0},"carbonia-iglesias":{$:0},carboniaiglesias:{$:0},"carrara-massa":{$:0},carraramassa:{$:0},caserta:{$:0},catania:{$:0},catanzaro:{$:0},cb:{$:0},ce:{$:0},"cesena-forli":{$:0},cesenaforli:{$:0},ch:{$:0},chieti:{$:0},ci:{$:0},cl:{$:0},cn:{$:0},co:{$:0},como:{$:0},cosenza:{$:0},cr:{$:0},cremona:{$:0},crotone:{$:0},cs:{$:0},ct:{$:0},cuneo:{$:0},cz:{$:0},"dell-ogliastra":{$:0},dellogliastra:{$:0},en:{$:0},enna:{$:0},fc:{$:0},fe:{$:0},fermo:{$:0},ferrara:{$:0},fg:{$:0},fi:{$:0},firenze:{$:0},florence:{$:0},fm:{$:0},foggia:{$:0},"forli-cesena":{$:0},forlicesena:{$:0},fr:{$:0},frosinone:{$:0},ge:{$:0},genoa:{$:0},genova:{$:0},go:{$:0},gorizia:{$:0},gr:{$:0},grosseto:{$:0},"iglesias-carbonia":{$:0},iglesiascarbonia:{$:0},im:{$:0},imperia:{$:0},is:{$:0},isernia:{$:0},kr:{$:0},"la-spezia":{$:0},laquila:{$:0},laspezia:{$:0},latina:{$:0},lc:{$:0},le:{$:0},lecce:{$:0},lecco:{$:0},li:{$:0},livorno:{$:0},lo:{$:0},lodi:{$:0},lt:{$:0},lu:{$:0},lucca:{$:0},macerata:{$:0},mantova:{$:0},"massa-carrara":{$:0},massacarrara:{$:0},matera:{$:0},mb:{$:0},mc:{$:0},me:{$:0},"medio-campidano":{$:0},mediocampidano:{$:0},messina:{$:0},mi:{$:0},milan:{$:0},milano:{$:0},mn:{$:0},mo:{$:0},modena:{$:0},"monza-brianza":{$:0},"monza-e-della-brianza":{$:0},monza:{$:0},monzabrianza:{$:0},monzaebrianza:{$:0},monzaedellabrianza:{$:0},ms:{$:0},mt:{$:0},na:{$:0},naples:{$:0},napoli:{$:0},no:{$:0},novara:{$:0},nu:{$:0},nuoro:{$:0},og:{$:0},ogliastra:{$:0},"olbia-tempio":{$:0},olbiatempio:{$:0},or:{$:0},oristano:{$:0},ot:{$:0},pa:{$:0},padova:{$:0},padua:{$:0},palermo:{$:0},parma:{$:0},pavia:{$:0},pc:{$:0},pd:{$:0},pe:{$:0},perugia:{$:0},"pesaro-urbino":{$:0},pesarourbino:{$:0},pescara:{$:0},pg:{$:0},pi:{$:0},piacenza:{$:0},pisa:{$:0},pistoia:{$:0}
736,pn:{$:0},po:{$:0},pordenone:{$:0},potenza:{$:0},pr:{$:0},prato:{$:0},pt:{$:0},pu:{$:0},pv:{$:0},pz:{$:0},ra:{$:0},ragusa:{$:0},ravenna:{$:0},rc:{$:0},re:{$:0},"reggio-calabria":{$:0},"reggio-emilia":{$:0},reggiocalabria:{$:0},reggioemilia:{$:0},rg:{$:0},ri:{$:0},rieti:{$:0},rimini:{$:0},rm:{$:0},rn:{$:0},ro:{$:0},roma:{$:0},rome:{$:0},rovigo:{$:0},sa:{$:0},salerno:{$:0},sassari:{$:0},savona:{$:0},si:{$:0},siena:{$:0},siracusa:{$:0},so:{$:0},sondrio:{$:0},sp:{$:0},sr:{$:0},ss:{$:0},suedtirol:{$:0},sv:{$:0},ta:{$:0},taranto:{$:0},te:{$:0},"tempio-olbia":{$:0},tempioolbia:{$:0},teramo:{$:0},terni:{$:0},tn:{$:0},to:{$:0},torino:{$:0},tp:{$:0},tr:{$:0},"trani-andria-barletta":{$:0},"trani-barletta-andria":{$:0},traniandriabarletta:{$:0},tranibarlettaandria:{$:0},trapani:{$:0},trentino:{$:0},trento:{$:0},treviso:{$:0},trieste:{$:0},ts:{$:0},turin:{$:0},tv:{$:0},ud:{$:0},udine:{$:0},"urbino-pesaro":{$:0},urbinopesaro:{$:0},va:{$:0},varese:{$:0},vb:{$:0},vc:{$:0},ve:{$:0},venezia:{$:0},venice:{$:0},verbania:{$:0},vercelli:{$:0},verona:{$:0},vi:{$:0},"vibo-valentia":{$:0},vibovalentia:{$:0},vicenza:{$:0},viterbo:{$:0},vr:{$:0},vs:{$:0},vt:{$:0},vv:{$:0},blogspot:{$:0}},je:{$:0,co:{$:0},net:{$:0},org:{$:0}},jm:{"*":{$:0}},jo:{$:0,com:{$:0},org:{$:0}
736,net:{$:0},edu:{$:0},sch:{$:0},gov:{$:0},mil:{$:0},name:{$:0}},jobs:{$:0},jp:{$:0,ac:{$:0},ad:{$:0},co:{$:0},ed:{$:0},go:{$:0},gr:{$:0},lg:{$:0},ne:{$:0
vendor: 23,752 bytes, line 736
736},or:{$:0},aichi:{$:0,aisai:{$:0},ama:{$:0},anjo:{$:0},asuke:{$:0},chiryu:{$:0},chita:{$:0},fuso:{$:0},gamagori:{$:0},handa:{$:0},hazu:{$:0},hekinan:{$:0},higashiura:{$:0},ichinomiya:{$:0},inazawa:{$:0},inuyama:{$:0},isshiki:{$:0},iwakura:{$:0},kanie:{$:0},kariya:{$:0},kasugai:{$:0},kira:{$:0},kiyosu:{$:0},komaki:{$:0},konan:{$:0},kota:{$:0},mihama:{$:0},miyoshi:{$:0},nishio:{$:0},nisshin:{$:0},obu:{$:0},oguchi:{$:0},oharu:{$:0},okazaki:{$:0},owariasahi:{$:0},seto:{$:0},shikatsu:{$:0},shinshiro:{$:0},shitara:{$:0},tahara:{$:0},takahama:{$:0},tobishima:{$:0},toei:{$:0},togo:{$:0},tokai:{$:0},tokoname:{$:0},toyoake:{$:0},toyohashi:{$:0},toyokawa:{$:0},toyone:{$:0},toyota:{$:0},tsushima:{$:0},yatomi:{$:0}},akita:{$:0,akita:{$:0},daisen:{$:0},fujisato:{$:0},gojome:{$:0},hachirogata:{$:0},happou:{$:0},higashinaruse:{$:0},honjo:{$:0},honjyo:{$:0},ikawa:{$:0},kamikoani:{$:0},kamioka:{$:0},katagami:{$:0},kazuno:{$:0},kitaakita:{$:0},kosaka:{$:0},kyowa:{$:0},misato:{$:0},mitane:{$:0},moriyoshi:{$:0},nikaho:{$:0},noshiro:{$:0},odate:{$:0},oga:{$:0},ogata:{$:0},semboku:{$:0},yokote:{$:0},yurihonjo:{$:0}},aomori:{$:0,aomori:{$:0},gonohe:{$:0},hachinohe:{$:0},hashikami:{$:0},hiranai:{$:0},hirosaki:{$:0},itayanagi:{$:0},kuroishi:{$:0},misawa:{$:0},mutsu:{$:0},nakadomari:{$:0},noheji:{$:0},oirase:{$:0},owani:{$:0},rokunohe:{$:0},sannohe:{$:0},shichinohe:{$:0},shingo:{$:0},takko:{$:0},towada:{$:0},tsugaru:{$:0},tsuruta:{$:0}},chiba:{$:0,abiko:{$:0},asahi:{$:0},chonan:{$:0},chosei:{$:0},choshi:{$:0},chuo:{$:0},funabashi:{$:0},futtsu:{$:0},hanamigawa:{$:0},ichihara:{$:0},ichikawa:{$:0},ichinomiya:{$:0},inzai:{$:0},isumi:{$:0},kamagaya:{$:0},kamogawa:{$:0},kashiwa:{$:0},katori:{$:0},katsuura:{$:0},kimitsu:{$:0},kisarazu:{$:0},kozaki:{$:0},kujukuri:{$:0},kyonan:{$:0},matsudo:{$:0},midori:{$:0},mihama:{$:0},minamiboso:{$:0},mobara:{$:0},mutsuzawa:{$:0},nagara:{$:0},nagareyama:{$:0},narashino:{$:0},narita:{$:0},noda:{$:0},oamishirasato:{$:0},omigawa:{$:0},onjuku:{$:0},otaki:{$:0},sakae:{$:0},sakura:{$:0},shimofusa:{$:0},shirako:{$:0},shiroi:{$:0},shisui:{$:0},sodegaura:{$:0},sosa:{$:0},tako:{$:0},tateyama:{$:0},togane:{$:0},tohnosho:{$:0},tomisato:{$:0},urayasu:{$:0},yachimata:{$:0},yachiyo:{$:0},yokaichiba:{$:0},yokoshibahikari:{$:0},yotsukaido:{$:0}},ehime:{$:0,ainan:{$:0},honai:{$:0},ikata:{$:0},imabari:{$:0},iyo:{$:0},kamijima:{$:0},kihoku:{$:0},kumakogen:{$:0},masaki:{$:0},matsuno:{$:0},matsuyama:{$:0},namikata:{$:0},niihama:{$:0},ozu:{$:0},saijo:{$:0},seiyo:{$:0},shikokuchuo:{$:0},tobe:{$:0},toon:{$:0},uchiko:{$:0},uwajima:{$:0},yawatahama:{$:0}},fukui:{$:0,echizen:{$:0},eiheiji:{$:0},fukui:{$:0},ikeda:{$:0},katsuyama:{$:0},mihama:{$:0},minamiechizen:{$:0},obama:{$:0},ohi:{$:0},ono:{$:0},sabae:{$:0},sakai:{$:0},takahama:{$:0},tsuruga:{$:0},wakasa:{$:0}},fukuoka:{$:0,ashiya:{$:0},buzen:{$:0},chikugo:{$:0},chikuho:{$:0},chikujo:{$:0},chikushino:{$:0},chikuzen:{$:0},chuo:{$:0},dazaifu:{$:0},fukuchi:{$:0},hakata:{$:0},higashi:{$:0},hirokawa:{$:0},hisayama:{$:0},iizuka:{$:0},inatsuki:{$:0},kaho:{$:0},kasuga:{$:0},kasuya:{$:0},kawara:{$:0},keisen:{$:0},koga:{$:0},kurate:{$:0},kurogi:{$:0},kurume:{$:0},minami:{$:0},miyako:{$:0},miyama:{$:0},miyawaka:{$:0},mizumaki:{$:0},munakata:{$:0},nakagawa:{$:0},nakama:{$:0},nishi:{$:0},nogata:{$:0},ogori:{$:0},okagaki:{$:0},okawa:{$:0},oki:{$:0},omuta:{$:0},onga:{$:0},onojo:{$:0},oto:{$:0},saigawa:{$:0},sasaguri:{$:0},shingu:{$:0},shinyoshitomi:{$:0},shonai:{$:0},soeda:{$:0},sue:{$:0},tachiarai:{$:0},tagawa:{$:0},takata:{$:0},toho:{$:0},toyotsu:{$:0},tsuiki:{$:0},ukiha:{$:0},umi:{$:0},usui:{$:0},yamada:{$:0},yame:{$:0},yanagawa:{$:0},yukuhashi:{$:0}},fukushima:{$:0,aizubange:{$:0},aizumisato:{$:0},aizuwakamatsu:{$:0},asakawa:{$:0},bandai:{$:0},date:{$:0},fukushima:{$:0},furudono:{$:0},futaba:{$:0},hanawa:{$:0},higashi:{$:0},hirata:{$:0},hirono:{$:0},iitate:{$:0},inawashiro:{$:0},ishikawa:{$:0},iwaki:{$:0},izumizaki:{$:0},kagamiishi:{$:0},kaneyama:{$:0},kawamata:{$:0},kitakata:{$:0},kitashiobara:{$:0},koori:{$:0},koriyama:{$:0},kunimi:{$:0},miharu:{$:0},mishima:{$:0},namie:{$:0},nango:{$:0},nishiaizu:{$:0},nishigo:{$:0},okuma:{$:0},omotego:{$:0},ono:{$:0},otama:{$:0},samegawa:{$:0},shimogo:{$:0},shirakawa:{$:0},showa:{$:0},soma:{$:0},sukagawa:{$:0},taishin:{$:0},tamakawa:{$:0},tanagura:{$:0},tenei:{$:0},yabuki:{$:0},yamato:{$:0},yamatsuri:{$:0},yanaizu:{$:0},yugawa:{$:0}},gifu:{$:0,anpachi:{$:0},ena:{$:0},gifu:{$:0},ginan:{$:0},godo:{$:0},gujo:{$:0},hashima:{$:0},hichiso:{$:0},hida:{$:0},higashishirakawa:{$:0},ibigawa:{$:0},ikeda:{$:0},kakamigahara:{$:0},kani:{$:0},kasahara:{$:0},kasamatsu:{$:0},kawaue:{$:0},kitagata:{$:0},mino:{$:0},minokamo:{$:0},mitake:{$:0},mizunami:{$:0},motosu:{$:0},nakatsugawa:{$:0},ogaki:{$:0},sakahogi:{$:0},seki:{$:0},sekigahara:{$:0},shirakawa:{$:0},tajimi:{$:0},takayama:{$:0},tarui:{$:0},toki:{$:0},tomika:{$:0},wanouchi:{$:0},yamagata:{$:0},yaotsu:{$:0},yoro:{$:0}},gunma:{$:0,annaka:{$:0},chiyoda:{$:0},fujioka:{$:0},higashiagatsuma:{$:0},isesaki:{$:0},itakura:{$:0},kanna:{$:0},kanra:{$:0},katashina:{$:0},kawaba:{$:0},kiryu:{$:0},kusatsu:{$:0},maebashi:{$:0},meiwa:{$:0},midori:{$:0},minakami:{$:0},naganohara:{$:0},nakanojo:{$:0},nanmoku:{$:0},numata:{$:0},oizumi:{$:0},ora:{$:0},ota:{$:0},shibukawa:{$:0},shimonita:{$:0},shinto:{$:0},showa:{$:0},takasaki:{$:0},takayama:{$:0},tamamura:{$:0},tatebayashi:{$:0},tomioka:{$:0},tsukiyono:{$:0},tsumagoi:{$:0},ueno:{$:0},yoshioka:{$:0}},hiroshima:{$:0,asaminami:{$:0},daiwa:{$:0},etajima:{$:0},fuchu:{$:0},fukuyama:{$:0},hatsukaichi:{$:0},higashihiroshima:{$:0},hongo:{$:0},jinsekikogen:{$:0},kaita:{$:0},kui:{$:0},kumano:{$:0},kure:{$:0},mihara:{$:0},miyoshi:{$:0},naka:{$:0},onomichi:{$:0},osakikamijima:{$:0},otake:{$:0},saka:{$:0},sera:{$:0},seranishi:{$:0},shinichi:{$:0},shobara:{$:0},takehara:{$:0}},hokkaido:{$:0,abashiri:{$:0},abira:{$:0},aibetsu:{$:0},akabira:{$:0},akkeshi:{$:0},asahikawa:{$:0},ashibetsu:{$:0},ashoro:{$:0},assabu:{$:0},atsuma:{$:0},bibai:{$:0},biei:{$:0},bifuka:{$:0},bihoro:{$:0},biratori:{$:0},chippubetsu:{$:0},chitose:{$:0},date:{$:0},ebetsu:{$:0},embetsu:{$:0},eniwa:{$:0},erimo:{$:0},esan:{$:0},esashi:{$:0},fukagawa:{$:0},fukushima:{$:0},furano:{$:0},furubira:{$:0},haboro:{$:0},hakodate:{$:0},hamatonbetsu:{$:0},hidaka:{$:0},higashikagura:{$:0},higashikawa:{$:0},hiroo:{$:0},hokuryu:{$:0},hokuto:{$:0},honbetsu:{$:0},horokanai:{$:0},horonobe:{$:0},ikeda:{$:0},imakane:{$:0},ishikari:{$:0},iwamizawa:{$:0},iwanai:{$:0},kamifurano:{$:0},kamikawa:{$:0},kamishihoro:{$:0},kamisunagawa:{$:0},kamoenai:{$:0},kayabe:{$:0},kembuchi:{$:0},kikonai:{$:0},kimobetsu:{$:0},kitahiroshima:{$:0},kitami:{$:0},kiyosato:{$:0},koshimizu:{$:0},kunneppu:{$:0},kuriyama:{$:0},kuromatsunai:{$:0},kushiro:{$:0},kutchan:{$:0},kyowa:{$:0},mashike:{$:0},matsumae:{$:0},mikasa:{$:0},minamifurano:{$:0},mombetsu:{$:0},moseushi:{$:0},mukawa:{$:0},muroran:{$:0},naie:{$:0},nakagawa:{$:0},nakasatsunai:{$:0},nakatombetsu:{$:0},nanae:{$:0},nanporo:{$:0},nayoro:{$:0},nemuro:{$:0},niikappu:{$:0},niki:{$:0},nishiokoppe:{$:0},noboribetsu:{$:0},numata:{$:0},obihiro:{$:0},obira:{$:0},oketo:{$:0},okoppe:{$:0},otaru:{$:0},otobe:{$:0},otofuke:{$:0},otoineppu:{$:0},oumu:{$:0},ozora:{$:0},pippu:{$:0},rankoshi:{$:0},rebun:{$:0},rikubetsu:{$:0},rishiri:{$:0},rishirifuji:{$:0},saroma:{$:0},sarufutsu:{$:0},shakotan:{$:0},shari:{$:0},shibecha:{$:0},shibetsu:{$:0},shikabe:{$:0},shikaoi:{$:0},shimamaki:{$:0},shimizu:{$:0},shimokawa:{$:0},shinshinotsu:{$:0},shintoku:{$:0},shiranuka:{$:0},shiraoi:{$:0},shiriuchi:{$:0},sobetsu:{$:0},sunagawa:{$:0},taiki:{$:0},takasu:{$:0},takikawa:{$:0},takinoue:{$:0},teshikaga:{$:0},tobetsu:{$:0},tohma:{$:0},tomakomai:{$:0},tomari:{$:0},toya:{$:0},toyako:{$:0},toyotomi:{$:0},toyoura:{$:0},tsubetsu:{$:0},tsukigata:{$:0},urakawa:{$:0},urausu:{$:0},uryu:{$:0},utashinai:{$:0},wakkanai:{$:0},wassamu:{$:0},yakumo:{$:0},yoichi:{$:0}},hyogo:{$:0,aioi:{$:0},akashi:{$:0},ako:{$:0},amagasaki:{$:0},aogaki:{$:0},asago:{$:0},ashiya:{$:0},awaji:{$:0},fukusaki:{$:0},goshiki:{$:0},harima:{$:0},himeji:{$:0},ichikawa:{$:0},inagawa:{$:0},itami:{$:0},kakogawa:{$:0},kamigori:{$:0},kamikawa:{$:0},kasai:{$:0},kasuga:{$:0},kawanishi:{$:0},miki:{$:0},minamiawaji:{$:0},nishinomiya:{$:0},nishiwaki:{$:0},ono:{$:0},sanda:{$:0},sannan:{$:0},sasayama:{$:0},sayo:{$:0},shingu:{$:0},shinonsen:{$:0},shiso:{$:0},sumoto:{$:0},taishi:{$:0},taka:{$:0},takarazuka:{$:0},takasago:{$:0},takino:{$:0},tamba:{$:0},tatsuno:{$:0},toyooka:{$:0},yabu:{$:0},yashiro:{$:0},yoka:{$:0},yokawa:{$:0}},ibaraki:{$:0,ami:{$:0},asahi:{$:0},bando:{$:0},chikusei:{$:0},daigo:{$:0},fujishiro:{$:0},hitachi:{$:0},hitachinaka:{$:0},hitachiomiya:{$:0},hitachiota:{$:0},ibaraki:{$:0},ina:{$:0},inashiki:{$:0},itako:{$:0},iwama:{$:0},joso:{$:0},kamisu:{$:0},kasama:{$:0},kashima:{$:0},kasumigaura:{$:0},koga:{$:0},miho:{$:0},mito:{$:0},moriya:{$:0},naka:{$:0},namegata:{$:0},oarai:{$:0},ogawa:{$:0},omitama:{$:0},ryugasaki:{$:0},sakai:{$:0},sakuragawa:{$:0},shimodate:{$:0},shimotsuma:{$:0},shirosato:{$:0},sowa:{$:0},suifu:{$:0},takahagi:{$:0},tamatsukuri:{$:0},tokai:{$:0},tomobe:{$:0},tone:{$:0},toride:{$:0},tsuchiura:{$:0},tsukuba:{$:0},uchihara:{$:0},ushiku:{$:0},yachiyo:{$:0},yamagata:{$:0},yawara:{$:0},yuki:{$:0}},ishikawa:{$:0,anamizu:{$:0},hakui:{$:0},hakusan:{$:0},kaga:{$:0},kahoku:{$:0},kanazawa:{$:0},kawakita:{$:0},komatsu:{$:0},nakanoto:{$:0},nanao:{$:0},nomi:{$:0},nonoichi:{$:0},noto:{$:0},shika:{$:0},suzu:{$:0},tsubata:{$:0},tsurugi:{$:0},uchinada:{$:0},wajima:{$:0}},iwate:{$:0,fudai:{$:0},fujisawa:{$:0},hanamaki:{$:0},hiraizumi:{$:0},hirono:{$:0},ichinohe:{$:0},ichinoseki:{$:0},iwaizumi:{$:0},iwate:{$:0},joboji:{$:0},kamaishi:{$:0},kanegasaki:{$:0},karumai:{$:0},kawai:{$:0},kitakami:{$:0},kuji:{$:0},kunohe:{$:0},kuzumaki:{$:0},miyako:{$:0},mizusawa:{$:0},morioka:{$:0},ninohe:{$:0},noda:{$:0},ofunato:{$:0},oshu:{$:0},otsuchi:{$:0},rikuzentakata:{$:0},shiwa:{$:0},shizukuishi:{$:0},sumita:{$:0},tanohata:{$:0},tono:{$:0},yahaba:{$:0},yamada:{$:0}},kagawa:{$:0,ayagawa:{$:0},higashikagawa:{$:0},kanonji:{$:0},kotohira:{$:0},manno:{$:0},marugame:{$:0},mitoyo:{$:0},naoshima:{$:0},sanuki:{$:0},tadotsu:{$:0},takamatsu:{$:0},tonosho:{$:0},uchinomi:{$:0},utazu:{$:0},zentsuji:{$:0}},kagoshima:{$:0,akune:{$:0},amami:{$:0},hioki:{$:0},isa:{$:0},isen:{$:0},izumi:{$:0},kagoshima:{$:0},kanoya:{$:0},kawanabe:{$:0},kinko:{$:0},kouyama:{$:0},makurazaki:{$:0},matsumoto:{$:0},minamitane:{$:0},nakatane:{$:0},nishinoomote:{$:0},satsumasendai:{$:0},soo:{$:0},tarumizu:{$:0},yusui:{$:0}},kanagawa:{$:0,aikawa:{$:0},atsugi:{$:0},ayase:{$:0},chigasaki:{$:0},ebina:{$:0},fujisawa:{$:0},hadano:{$:0},hakone:{$:0},hiratsuka:{$:0},isehara:{$:0},kaisei:{$:0},kamakura:{$:0},kiyokawa:{$:0},matsuda:{$:0},minamiashigara:{$:0},miura:{$:0},nakai:{$:0},ninomiya:{$:0},odawara:{$:0},oi:{$:0},oiso:{$:0},sagamihara:{$:0},samukawa:{$:0},tsukui:{$:0},yamakita:{$:0},yamato:{$:0},yokosuka:{$:0},yugawara:{$:0},zama:{$:0},zushi:{$:0}},kochi:{$:0,aki:{$:0},geisei:{$:0},hidaka:{$:0},higashitsuno:{$:0},ino:{$:0},kagami:{$:0},kami:{$:0},kitagawa:{$:0},kochi:{$:0},mihara:{$:0},motoyama:{$:0},muroto:{$:0},nahari:{$:0},nakamura:{$:0},nankoku:{$:0},nishitosa:{$:0},niyodogawa:{$:0},ochi:{$:0},okawa:{$:0},otoyo:{$:0},otsuki:{$:0},sakawa:{$:0},sukumo:{$:0},susaki:{$:0},tosa:{$:0},tosashimizu:{$:0},toyo:{$:0},tsuno:{$:0},umaji:{$:0},yasuda:{$:0},yusuhara:{$:0}},kumamoto:{$:0,amakusa:{$:0},arao:{$:0},aso:{$:0},choyo:{$:0},gyokuto:{$:0},kamiamakusa:{$:0},kikuchi:{$:0},kumamoto:{$:0},mashiki:{$:0},mifune:{$:0},minamata:{$:0},minamioguni:{$:0},nagasu:{$:0},nishihara:{$:0},oguni:{$:0},ozu:{$:0},sumoto:{$:0},takamori:{$:0},uki:{$:0},uto:{$:0},yamaga:{$:0},yamato:{$:0},yatsushiro:{$:0}},kyoto:{$:0,ayabe:{$:0},fukuchiyama:{$:0},higashiyama:{$:0},ide:{$:0},ine:{$:0},joyo:{$:0},kameoka:{$:0},kamo:{$:0},kita:{$:0},kizu:{$:0},kumiyama:{$:0},kyotamba:{$:0},kyotanabe:{$:0},kyotango:{$:0},maizuru:{$:0},minami:{$:0},minamiyamashiro:{$:0},miyazu:{$:0},muko:{$:0},nagaokakyo:{$:0},nakagyo:{$:0},nantan:{$:0},oyamazaki:{$:0},sakyo:{$:0},seika:{$:0},tanabe:{$:0},uji:{$:0},ujitawara:{$:0},wazuka:{$:0},yamashina:{$:0},yawata:{$:0}},mie:{$:0,asahi:{$:0},inabe:{$:0},ise:{$:0},kameyama:{$:0},kawagoe:{$:0},kiho:{$:0},kisosaki:{$:0},kiwa:{$:0},komono:{$:0},kumano:{$:0},kuwana:{$:0},matsusaka:{$:0},meiwa:{$:0},mihama:{$:0},minamiise:{$:0},misugi:{$:0},miyama:{$:0},nabari:{$:0},shima:{$:0},suzuka:{$:0},tado:{$:0},taiki:{$:0},taki:{$:0},tamaki:{$:0},toba:{$:0},tsu:{$:0},udono:{$:0},ureshino:{$:0},watarai:{$:0},yokkaichi:{$:0}},miyagi:{$:0,furukawa:{$:0},higashimatsushima:{$:0},ishinomaki:{$:0},iwanuma:{$:0},kakuda:{$:0},kami:{$:0},kawasaki:{$:0},marumori:{$:0},matsushima:{$:0},minamisanriku:{$:0},misato:{$:0},murata:{$:0},natori:{$:0},ogawara:{$:0},ohira:{$:0},onagawa:{$:0},osaki:{$:0},rifu:{$:0},semine:{$:0},shibata:{$:0},shichikashuku:{$:0},shikama:{$:0},shiogama:{$:0},shiroishi:{$:0},tagajo:{$:0},taiwa:{$:0},tome:{$:0},tomiya:{$:0},wakuya:{$:0},watari:{$:0},yamamoto:{$:0},zao:{$:0}},miyazaki:{$:0,aya:{$:0},ebino:{$:0},gokase:{$:0},hyuga:{$:0},kadogawa:{$:0},kawaminami:{$:0},kijo:{$:0},kitagawa:{$:0},kitakata:{$:0},kitaura:{$:0},kobayashi:{$:0},kunitomi:{$:0},kushima:{$:0},mimata:{$:0},miyakonojo:{$:0},miyazaki:{$:0},morotsuka:{$:0},nichinan:{$:0},nishimera:{$:0},nobeoka:{$:0},saito:{$:0},shiiba:{$:0},shintomi:{$:0},takaharu:{$:0},takanabe:{$:0},takazaki:{$:0},tsuno:{$:0}},nagano:{$:0,achi:{$:0},agematsu:{$:0},anan:{$:0},aoki:{$:0},asahi:{$:0},azumino:{$:0},chikuhoku:{$:0},chikuma:{$:0},chino:{$:0},fujimi:{$:0},hakuba:{$:0},hara:{$:0},hiraya:{$:0},iida:{$:0},iijima:{$:0},iiyama:{$:0},iizuna:{$:0},ikeda:{$:0},ikusaka:{$:0},ina:{$:0},karuizawa:{$:0},kawakami:{$:0},kiso:{$:0},kisofukushima:{$:0},kitaaiki:{$:0},komagane:{$:0},komoro:{$:0},matsukawa:{$:0},matsumoto:{$:0},miasa:{$:0},minamiaiki:{$:0},minamimaki:{$:0},minamiminowa:{$:0},minowa:{$:0},miyada:{$:0},miyota:{$:0},mochizuki:{$:0},nagano:{$:0},nagawa:{$:0},nagiso:{$:0},nakagawa:{$:0},nakano:{$:0},nozawaonsen:{$:0},obuse:{$:0},ogawa:{$:0},okaya:{$:0},omachi:{$:0},omi:{$:0},ookuwa:{$:0},ooshika:{$:0},otaki:{$:0},otari:{$:0},sakae:{$:0},sakaki:{$:0},saku:{$:0},sakuho:{$:0},shimosuwa:{$:0},shinanomachi:{$:0},shiojiri:{$:0},suwa:{$:0},suzaka:{$:0},takagi:{$:0},takamori:{$:0},takayama:{$:0},tateshina:{$:0},tatsuno:{$:0},togakushi:{$:0},togura:{$:0},tomi:{$:0},ueda:{$:0},wada:{$:0},yamagata:{$:0},yamanouchi:{$:0},yasaka:{$:0},yasuoka:{$:0}},nagasaki:{$:0,chijiwa:{$:0},futsu:{$:0},goto:{$:0},hasami:{$:0},hirado:{$:0},iki:{$:0},isahaya:{$:0},kawatana:{$:0},kuchinotsu:{$:0},matsuura:{$:0},nagasaki:{$:0},obama:{$:0},omura:{$:0},oseto:{$:0},saikai:{$:0},sasebo:{$:0},seihi:{$:0},shimabara:{$:0},shinkamigoto:{$:0},togitsu:{$:0},tsushima:{$:0},unzen:{$:0}},nara:{$:0,ando:{$:0},gose:{$:0},heguri:{$:0},higashiyoshino:{$:0},ikaruga:{$:0},ikoma:{$:0},kamikitayama:{$:0},kanmaki:{$:0},kashiba:{$:0},kashihara:{$:0},katsuragi:{$:0},kawai:{$:0},kawakami:{$:0},kawanishi:{$:0},koryo:{$:0},kurotaki:{$:0},mitsue:{$:0},miyake:{$:0},nara:{$:0},nosegawa:{$:0},oji:{$:0},ouda:{$:0},oyodo:{$:0},sakurai:{$:0},sango:{$:0},shimoichi:{$:0},shimokitayama:{$:0},shinjo:{$:0},soni:{$:0},takatori:{$:0},tawaramoto:{$:0},tenkawa:{$:0},tenri:{$:0},uda:{$:0},yamatokoriyama:{$:0},yamatotakada:{$:0},yamazoe:{$:0},yoshino:{$:0}},niigata:{$:0,aga:{$:0},agano:{$:0},gosen:{$:0},itoigawa:{$:0},izumozaki:{$:0},joetsu:{$:0},kamo:{$:0},kariwa:{$:0},kashiwazaki:{$:0},minamiuonuma:{$:0},mitsuke:{$:0},muika:{$:0},murakami:{$:0},myoko:{$:0},nagaoka:{$:0},niigata:{$:0},ojiya:{$:0},omi:{$:0},sado:{$:0},sanjo:{$:0},seiro:{$:0},seirou:{$:0},sekikawa:{$:0},shibata:{$:0},tagami:{$:0},tainai:{$:0},tochio:{$:0},tokamachi:{$:0},tsubame:{$:0},tsunan:{$:0},uonuma:{$:0},yahiko:{$:0},yoita:{$:0},yuzawa:{$:0}},oita:{$:0,beppu:{$:0},bungoono:{$:0},bungotakada:{$:0},hasama:{$:0},hiji:{$:0},himeshima:{$:0},hita:{$:0},kamitsue:{$:0},kokonoe:{$:0},kuju:{$:0},kunisaki:{$:0},kusu:{$:0},oita:{$:0},saiki:{$:0},taketa:{$:0},tsukumi:{$:0},usa:{$:0},usuki:{$:0},yufu:{$:0}},okayama:{$:0,akaiwa:{$:0},asakuchi:{$:0},bizen:{$:0},hayashima:{$:0},ibara:{$:0},kagamino:{$:0},kasaoka:{$:0},kibichuo:{$:0},kumenan:{$:0},kurashiki:{$:0},maniwa:{$:0},misaki:{$:0},nagi:{$:0},niimi:{$:0},nishiawakura:{$:0},okayama:{$:0},satosho:{$:0},setouchi:{$:0},shinjo:{$:0},shoo:{$:0},soja:{$:0},takahashi:{$:0},tamano:{$:0},tsuyama:{$:0},wake:{$:0},yakage:{$:0}},okinawa:{$:0,aguni:{$:0},ginowan:{$:0},ginoza:{$:0},gushikami:{$:0},haebaru:{$:0},higashi:{$:0},hirara:{$:0},iheya:{$:0},ishigaki:{$:0},ishikawa:{$:0},itoman:{$:0},izena:{$:0},kadena:{$:0},kin:{$:0},kitadaito:{$:0},kitanakagusuku:{$:0},kumejima:{$:0},kunigami:{$:0},minamidaito:{$:0},motobu:{$:0},nago:{$:0},naha:{$:0},nakagusuku:{$:0},nakijin:{$:0},nanjo:{$:0},nishihara:{$:0},ogimi:{$:0},okinawa:{$:0},onna:{$:0},shimoji:{$:0},taketomi:{$:0},tarama:{$:0},tokashiki:{$:0},tomigusuku:{$:0},tonaki:{$:0},urasoe:{$:0},uruma:{$:0},yaese:{$:0},yomitan:{$:0},yonabaru:{$:0},yonaguni:{$:0},zamami:{$:0}},osaka:{$:0,abeno:{$:0},chihayaakasaka:{$:0},chuo:{$:0},daito:{$:0},fujiidera:{$:0},habikino:{$:0},hannan:{$:0},higashiosaka:{$:0},higashisumiyoshi:{$:0},higashiyodogawa:{$:0},hirakata:{$:0},ibaraki:{$:0},ikeda:{$:0},izumi:{$:0},izumiotsu:{$:0},izumisano:{$:0},kadoma:{$:0},kaizuka:{$:0},kanan:{$:0},kashiwara:{$:0},katano:{$:0},kawachinagano:{$:0},kishiwada:{$:0},kita:{$:0},kumatori:{$:0},matsubara:{$:0},minato:{$:0},minoh:{$:0},misaki:{$:0},moriguchi:{$:0},neyagawa:{$:0},nishi:{$:0},nose:{$:0},osakasayama:{$:0},sakai:{$:0},sayama:{$:0},sennan:{$:0},settsu:{$:0},shijonawate:{$:0},shimamoto:{$:0},suita:{$:0},tadaoka:{$:0},taishi:{$:0},tajiri:{$:0},takaishi:{$:0},takatsuki:{$:0},tondabayashi:{$:0},toyonaka:{$:0},toyono:{$:0},yao:{$:0}},saga:{$:0,ariake:{$:0},arita:{$:0},fukudomi:{$:0},genkai:{$:0},hamatama:{$:0},hizen:{$:0},imari:{$:0},kamimine:{$:0},kanzaki:{$:0},karatsu:{$:0},kashima:{$:0},kitagata:{$:0},kitahata:{$:0},kiyama:{$:0},kouhoku:{$:0},kyuragi:{$:0},nishiarita:{$:0},ogi:{$:0},omachi:{$:0},ouchi:{$:0},saga:{$:0},shiroishi:{$:0},taku:{$:0},tara:{$:0},tosu:{$:0},yoshinogari:{$:0}},saitama:{$:0,arakawa:{$:0},asaka:{$:0},chichibu:{$:0},fujimi:{$:0},fujimino:{$:0},fukaya:{$:0},hanno:{$:0},hanyu:{$:0},hasuda:{$:0},hatogaya:{$:0},hatoyama:{$:0},hidaka:{$:0},higashichichibu:{$:0},higashimatsuyama:{$:0},honjo:{$:0},ina:{$:0},iruma:{$:0},iwatsuki:{$:0},kamiizumi:{$:0},kamikawa:{$:0},kamisato:{$:0},kasukabe:{$:0},kawagoe:{$:0},kawaguchi:{$:0},kawajima:{$:0},kazo:{$:0},kitamoto:{$:0},koshigaya:{$:0},kounosu:{$:0},kuki:{$:0},kumagaya:{$:0},matsubushi:{$:0},minano:{$:0},misato:{$:0},miyashiro:{$:0},miyoshi:{$:0},moroyama:{$:0},nagatoro:{$:0},namegawa:{$:0},niiza:{$:0},ogano:{$:0},ogawa:{$:0},ogose:{$:0},okegawa:{$:0},omiya:{$:0},otaki:{$:0},ranzan:{$:0},ryokami:{$:0},saitama:{$:0},sakado:{$:0},satte:{$:0},sayama:{$:0},shiki:{$:0},shiraoka:{$:0},soka:{$:0},sugito:{$:0},toda:{$:0},tokigawa:{$:0},tokorozawa:{$:0},tsurugashima:{$:0},urawa:{$:0},warabi:{$:0},yashio:{$:0},yokoze:{$:0},yono:{$:0},yorii:{$:0},yoshida:{$:0},yoshikawa:{$:0},yoshimi:{$:0}},shiga:{$:0,aisho:{$:0},gamo:{$:0},higashiomi:{$:0},hikone:{$:0},koka:{$:0},konan:{$:0},kosei:{$:0},koto:{$:0},kusatsu:{$:0},maibara:{$:0},moriyama:{$:0},nagahama:{$:0},nishiazai:{$:0},notogawa:{$:0},omihachiman:{$:0},otsu:{$:0},ritto:{$:0},ryuoh:{$:0},takashima:{$:0},takatsuki:{$:0},torahime:{$:0},toyosato:{$:0},yasu:{$:0}},shimane:{$:0,akagi:{$:0},ama:{$:0},gotsu:{$:0},hamada:{$:0},higashiizumo:{$:0},hikawa:{$:0},hikimi:{$:0},izumo:{$:0},kakinoki:{$:0},masuda:{$:0},matsue:{$:0},misato:{$:0},nishinoshima:{$:0},ohda:{$:0},okinoshima:{$:0},okuizumo:{$:0},shimane:{$:0},tamayu:{$:0},tsuwano:{$:0},unnan:{$:0},yakumo:{$:0},yasugi:{$:0},yatsuka:{$:0}},shizuoka:{$:0,arai:{$:0},atami:{$:0},fuji:{$:0},fujieda:{$:0},fujikawa:{$:0},fujinomiya:{$:0},fukuroi:{$:0},gotemba:{$:0},haibara:{$:0},hamamatsu:{$:0},higashiizu:{$:0},ito:{$:0},iwata:{$:0},izu:{$:0},izunokuni:{$:0},kakegawa:{$:0},kannami:{$:0},kawanehon:{$:0},kawazu:{$:0},kikugawa:{$:0},kosai:{$:0},makinohara:{$:0},matsuzaki:{$:0},minamiizu:{$:0},mishima:{$:0},morimachi:{$:0},nishiizu:{$:0},numazu:{$:0},omaezaki:{$:0},shimada:{$:0},shimizu:{$:0},shimoda:{$:0},shizuoka:{$:0},susono:{$:0},yaizu:{$:0},yoshida:{$:0}},tochigi:{$:0,ashikaga:{$:0},bato:{$:0},haga:{$:0},ichikai:{$:0},iwafune:{$:0},kaminokawa:{$:0},kanuma:{$:0},karasuyama:{$:0},kuroiso:{$:0},mashiko:{$:0},mibu:{$:0},moka:{$:0},motegi:{$:0},nasu:{$:0},nasushiobara:{$:0},nikko:{$:0},nishikata:{$:0},nogi:{$:0},ohira:{$:0},ohtawara:{$:0},oyama:{$:0},sakura:{$:0},sano:{$:0},shimotsuke:{$:0},shioya:{$:0},takanezawa:{$:0},tochigi:{$:0},tsuga:{$:0},ujiie:{$:0},utsunomiya:{$:0},yaita:{$:0}},tokushima:{$:0,aizumi:{$:0},anan:{$:0},ichiba:{$:0},itano:{$:0},kainan:{$:0},komatsushima:{$:0},matsushige:{$:0},mima:{$:0},minami:{$:0},miyoshi:{$:0},mugi:{$:0},nakagawa:{$:0},naruto:{$:0},sanagochi:{$:0},shishikui:{$:0},tokushima:{$:0},wajiki:{$:0}},tokyo:{$:0,adachi:{$:0},akiruno:{$:0},akishima:{$:0},aogashima:{$:0},arakawa:{$:0},bunkyo:{$:0},chiyoda:{$:0},chofu:{$:0},chuo:{$:0},edogawa:{$:0},fuchu:{$:0},fussa:{$:0},hachijo:{$:0},hachioji:{$:0},hamura:{$:0},higashikurume:{$:0},higashimurayama:{$:0},higashiyamato:{$:0},hino:{$:0},hinode:{$:0},hinohara:{$:0},inagi:{$:0},itabashi:{$:0},katsushika:{$:0},kita:{$:0},kiyose:{$:0},kodaira:{$:0},koganei:{$:0},kokubunji:{$:0},komae:{$:0},koto:{$:0},kouzushima:{$:0},kunitachi:{$:0},machida:{$:0},meguro:{$:0},minato:{$:0},mitaka:{$:0},mizuho:{$:0},musashimurayama:{$:0},musashino:{$:0},nakano:{$:0},nerima:{$:0},ogasawara:{$:0},okutama:{$:0},ome:{$:0},oshima:{$:0},ota:{$:0},setagaya:{$:0},shibuya:{$:0},shinagawa:{$:0},shinjuku:{$:0},suginami:{$:0},sumida:{$:0},tachikawa:{$:0},taito:{$:0},tama:{$:0},toshima:{$:0}},tottori:{$:0,chizu:{$:0},hino:{$:0},kawahara:{$:0},koge:{$:0},kotoura:{$:0},misasa:{$:0},nanbu:{$:0},nichinan:{$:0},sakaiminato:{$:0},tottori:{$:0},wakasa:{$:0},yazu:{$:0},yonago:{$:0}},toyama:{$:0,asahi:{$:0},fuchu:{$:0},fukumitsu:{$:0},funahashi:{$:0},himi:{$:0},imizu:{$:0},inami:{$:0},johana:{$:0},kamiichi:{$:0},kurobe:{$:0},nakaniikawa:{$:0},namerikawa:{$:0},nanto:{$:0},nyuzen:{$:0},oyabe:{$:0},taira:{$:0},takaoka:{$:0},tateyama:{$:0},toga:{$:0},tonami:{$:0},toyama:{$:0},unazuki:{$:0},uozu:{$:0},yamada:{$:0}},wakayama:{$:0,arida:{$:0},aridagawa:{$:0},gobo:{$:0},hashimoto:{$:0},hidaka:{$:0},hirogawa:{$:0},inami:{$:0},iwade:{$:0},kainan:{$:0},kamitonda:{$:0},katsuragi:{$:0},kimino:{$:0},kinokawa:{$:0},kitayama:{$:0},koya:{$:0},koza:{$:0},kozagawa:{$:0},kudoyama:{$:0},kushimoto:{$:0},mihama:{$:0},misato:{$:0},nachikatsuura:{$:0},shingu:{$:0},shirahama:{$:0},taiji:{$:0},tanabe:{$:0},wakayama:{$:0},yuasa:{$:0},yura:{$:0}},yamagata:{$:0,asahi:{$:0},funagata:{$:0},higashine:{$:0},iide:{$:0},kahoku:{$:0},kaminoyama:{$:0},kaneyama:{$:0},kawanishi:{$:0},mamurogawa:{$:0},mikawa:{$:0},murayama:{$:0},nagai:{$:0},nakayama:{$:0},nanyo:{$:0},nishikawa:{$:0},obanazawa:{$:0},oe:{$:0},oguni:{$:0},ohkura:{$:0},oishida:{$:0},sagae:{$:0},sakata:{$:0},sakegawa:{$:0},shinjo:{$:0},shirataka:{$:0},shonai:{$:0},takahata:{$:0},tendo:{$:0},tozawa:{$:0},tsuruoka:{$:0},yamagata:{$:0},yamanobe:{$:0},yonezawa:{$:0},yuza:{$:0}},yamaguchi:{$:0,abu:{$:0},hagi:{$:0},hikari:{$:0},hofu:{$:0},iwakuni:{$:0},kudamatsu:{$:0},mitou:{$:0},nagato:{$:0},oshima:{$:0},shimonoseki:{$:0},shunan:{$:0},tabuse:{$:0},tokuyama:{$:0},toyota:{$:0},ube:{$:0},yuu:{$:0}},yamanashi:{$:0,chuo:{$:0},doshi:{$:0},fuefuki:{$:0},fujikawa:{$:0},fujikawaguchiko:{$:0},fujiyoshida:{$:0},hayakawa:{$:0},hokuto:{$:0},ichikawamisato:{$:0},kai:{$:0},kofu:{$:0},koshu:{$:0},kosuge:{$:0},"minami-alps":{$:0},minobu:{$:0},nakamichi:{$:0},nanbu:{$:0},narusawa:{$:0},nirasaki:{$:0},nishikatsura:{$:0},oshino:{$:0},otsuki:{$:0},showa:{$:0},tabayama:{$:0},tsuru:{$:0},uenohara:{$:0},yamanakako:{$:0},yamanashi:{$:0}},"xn--
7364pvxs":{$:0},"xn--vgu402c":{$:0},"xn--c3s14m":{$:0},"xn--f6qx53a":{$:0},"xn--8pvr4u":{$:0},"xn--uist22h":{$:0},"xn--djrs72d6uy":{$:0},"xn--mkru45i":{$:0},"xn--0trq7p7nn":{$:0},"xn--8ltr62k":{$:0},"xn--2m4a15e":{$:0},"xn--efvn9s":{$:0},"xn--32vp30h":{$:0},"xn--4it797k":{$:0},"xn--1lqs71d":{$:0},"xn--5rtp49c":{$:0},"xn--5js045d":{$:0},"xn--ehqz56n":{$:0},"xn--1lqs03n":{$:0},"xn--qqqt11m":{$:0},"xn--kbrq7o":{$:0},"xn--pssu33l":{$:0},"xn--ntsq17g":{$:0},"xn--uisz3g":{$:0},"xn--6btw5a":{$:0},"xn--1ctwo":{$:0},"xn--6orx2r":{$:0},"xn--rht61e":{$:0},"xn--rht27z":{$:0},"xn--djty4k":{$:0},"xn--nit225k":{$:0},"xn--rht3d":{$:0},"xn--klty5x":{$:0},"xn--kltx9a":{$:0},"xn--kltp7d":{$:0},"xn--uuwu58a":{$:0},"xn--zbx025d":{$:0},"xn--ntso0iqx3a":{$:0},"xn--elqq16h":{$:0},"xn--4it168d":{$:0},"xn--klt787d":{$:0},"xn--rny31h":{$:0},"xn--7t0a264c":{$:0},"xn--5rtq34k":{$:0},"xn--k7yn95e":{$:0},"xn--tor131o":{$:0},"xn--d5qv7z876c":{$:0},kawasaki:{"*":{$:0}},kitakyushu:{"*":{$:0}},kobe:{"*":{$:0}},nagoya:{"*":{$:0}},sapporo:{"*":{$:0}},sendai:{"*":{$:0}},yokohama:{"*":{$:0}},blogspot:{$:0}},ke:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},go:{$:0},info:{$:0},me:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0}},kg:{$:0,org:{$:0}
736,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0}},kh:{"*":{$:0}},ki:{$:0,edu:{$:0},biz:{$:0},net:{$:0},org:{$:0},gov:{$:0},info:{$:0},com:{$:0}},km:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},ass:{$:0},com:{$:0},coop:{$:0},asso:{$:0},presse:{$:0},medecin:{$:0},notaires:{$:0},pharmaciens:{$:0},veterinaire:{$:0},gouv:{$:0}},kn:{$:0,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},kp:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},rep:{$:0},tra:{$:0}},kr:{$:0,ac:{$:0},co:{$:0},es:{$:0},go:{$:0},hs:{$:0},kg:{$:0},mil:{$:0},ms:{$:0},ne:{$:0},or:{$:0},pe:{$:0},re:{$:0},sc:{$:0},busan:{$:0},chungbuk:{$:0},chungnam:{$:0},daegu:{$:0},daejeon:{$:0},gangwon:{$:0},gwangju:{$:0},gyeongbuk:{$:0},gyeonggi:{$:0},gyeongnam:{$:0},incheon:{$:0},jeju:{$:0},jeonbuk:{$:0},jeonnam:{$:0},seoul:{$:0},ulsan:{$:0},blogspot:{$:0}},kw:{"*":{$:0}},ky:{$:0,edu:{$:0},gov:{$:0},com:{$:0},org:{$:0},net:{$:0}},kz:{$:0,org:{$:0},edu:{$:0},net:{$:0},gov:{$:0},mil:{$:0},com:{$:0},nym:{$:0}},la:{$:0,int:{$:0},net:{$:0},info:{$:0},edu:{$:0},gov:{$:0},per:{$:0},com:{$:0},org:{$:0},bnr:{$:0},c:{$:0},nym:{$:0}},lb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},lc:{$:0,com:{$:0}
736,net:{$:0},co:{$:0},org:{$:0},edu:{$:0},gov:{$:0},oy:{$:0}},li:{$:0,blogspot:{$:0},nom:{$:0},nym:{$:0}},lk:{$:0,gov:{$:0},sch:{$:0},net:{$:0},int:{$:0},com:{$:0},org:{$:0},edu:{$:0},ngo:{$:0},soc:{$:0},web:{$:0},ltd:{$:0},assn:{$:0},grp:{$:0},hotel:{$:0},ac:{$:0}},lr:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},ls:{$:0,co:{$:0},org:{$:0}},lt:{$:0,gov:{$:0},blogspot:{$:0},nym:{$:0}},lu:{$:0,blogspot:{$:0},nym:{$:0}},lv:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0},id:{$:0},net:{$:0},asn:{$:0},conf:{$:0}},ly:{$:0,com:{$:0},net:{$:0},gov:{$:0},plc:{$:0},edu:{$:0},sch:{$:0},med:{$:0},org:{$:0},id:{$:0}},ma:{$:0,co:{$:0},net:{$:0},gov:{$:0},org:{$:0},ac:{$:0},press:{$:0}},mc:{$:0,tm:{$:0},asso:{$:0}},md:{$:0,blogspot:{$:0}},me:{$:0,co:{$:0},net:{$:0},org:{$:0},edu:{$:0},ac:{$:0},gov:{$:0},its:{$:0},priv:{$:0},c66:{$:0},daplie:{$:0,localhost:{$:0}},filegear:{$:0},brasilia:{$:0},ddns:{$:0},dnsfor:{$:0},hopto:{$:0},loginto:{$:0},noip:{$:0},webhop:{$:0},nym:{$:0},diskstation:{$:0},dscloud:{$:0},i234:{$:0},myds:{$:0},synology:{$:0},wedeploy:{$:0},yombo:{$:0}},mg:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},com:{$:0},co:{$:0}},mh:{$:0},mil:{$:0},mk:{$:0,com:{$:0},org:{$:0}
736,net:{$:0},edu:{$:0},gov:{$:0},inf:{$:0},name:{$:0},blogspot:{$:0},nom:{$:0}},ml:{$:0,com:{$:0},edu:{$:0},gouv:{$:0},gov:{$:0},net:{$:0},org:{$:0},presse:{$:0}},mm:{"*":{$:0}},mn:{$:0,gov:{$:0},edu:{$:0},org:{$:0},nyc:{$:0}},mo:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},mobi:{$:0,dscloud:{$:0}},mp:{$:0},mq:{$:0},mr:{$:0,gov:{$:0},blogspot:{$:0}},ms:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},mt:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},net:{$:0},org:{$:0}},mu:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},ac:{$:0},co:{$:0},or:{$:0}},museum:{$:0,academy:{$:0},agriculture:{$:0},air:{$:0},airguard:{$:0},alabama:{$:0},alaska:{$:0},amber:{$:0},ambulance:{$:0},american:{$:0},americana:{$:0},americanantiques:{$:0},americanart:{$:0},amsterdam:{$:0},and:{$:0},annefrank:{$:0},anthro:{$:0},anthropology:{$:0},antiques:{$:0},aquarium:{$:0},arboretum:{$:0},archaeological:{$:0},archaeology:{$:0},architecture:{$:0},art:{$:0},artanddesign:{$:0},artcenter:{$:0},artdeco:{$:0},arteducation:{$:0},artgallery:{$:0},arts:{$:0},artsandcrafts:{$:0},asmatart:{$:0},assassination:{$:0},assisi:{$:0},association:{$:0},astronomy:{$:0},atlanta:{$:0},austin:{$:0},australia:{$:0},automotive:{$:0},aviation:{$:0},axis:{$:0},badajoz:{$:0},baghdad:{$:0},bahn:{$:0},bale:{$:0},baltimore:{$:0},barcelona:{$:0},baseball:{$:0},basel:{$:0},baths:{$:0},bauern:{$:0},beauxarts:{$:0},beeldengeluid:{$:0},bellevue:{$:0},bergbau:{$:0},berkeley:{$:0},berlin:{$:0},bern:{$:0},bible:{$:0},bilbao:{$:0},bill:{$:0},birdart:{$:0},birthplace:{$:0},bonn:{$:0},boston:{$:0},botanical:{$:0},botanicalgarden:{$:0},botanicgarden:{$:0},botany:{$:0},brandywinevalley:{$:0},brasil:{$:0},bristol:{$:0},british:{$:0},britishcolumbia:{$:0},broadcast:{$:0},brunel:{$:0},brussel:{$:0},brussels:{$:0},bruxelles:{$:0},building:{$:0},burghof:{$:0},bus:{$:0},bushey:{$:0},cadaques:{$:0},california:{$:0},cambridge:{$:0},can:{$:0},canada:{$:0},capebreton:{$:0},carrier:{$:0},cartoonart:{$:0},casadelamoneda:{$:0},castle:{$:0},castres:{$:0},celtic:{$:0},center:{$:0},chattanooga:{$:0},cheltenham:{$:0},chesapeakebay:{$:0},chicago:{$:0},children:{$:0},childrens:{$:0},childrensgarden:{$:0},chiropractic:{$:0},chocolate:{$:0},christiansburg:{$:0},cincinnati:{$:0},cinema:{$:0},circus:{$:0},civilisation:{$:0},civilization:{$:0},civilwar:{$:0},clinton:{$:0},clock:{$:0},coal:{$:0},coastaldefence:{$:0},cody:{$:0},coldwar:{$:0},collection:{$:0},colonialwilliamsburg:{$:0},coloradoplateau:{$:0},columbia:{$:0},columbus:{$:0},communication:{$:0},communications:{$:0},community:{$:0},computer:{$:0},computerhistory:{$:0},"xn--comunicaes-v6a2o":{$:0},contemporary:{$:0},contemporaryart:{$:0},convent:{$:0},copenhagen:{$:0},corporation:{$:0},"xn--correios-e-telecomunicaes-ghc29a":{$:0},corvette:{$:0},costume:{$:0},countryestate:{$:0},county:{$:0},crafts:{$:0},cranbrook:{$:0},creation:{$:0},cultural:{$:0},culturalcenter:{$:0},culture:{$:0},cyber:{$:0},cymru:{$:0},dali:{$:0},dallas:{$:0},database:{$:0},ddr:{$:0},decorativearts:{$:0},delaware:{$:0},delmenhorst:{$:0},denmark:{$:0},depot:{$:0},design:{$:0},detroit:{$:0},dinosaur:{$:0},discovery:{$:0},dolls:{$:0},donostia:{$:0},durham:{$:0},eastafrica:{$:0},eastcoast:{$:0},education:{$:0},educational:{$:0},egyptian:{$:0},eisenbahn:{$:0},elburg:{$:0},elvendrell:{$:0},embroidery:{$:0},encyclopedic:{$:0},england:{$:0},entomology:{$:0},environment:{$:0},environmentalconservation:{$:0},epilepsy:{$:0},essex:{$:0},estate:{$:0},ethnology:{$:0},exeter:{$:0},exhibition:{$:0},family:{$:0},farm:{$:0},farmequipment:{$:0},farmers:{$:0},farmstead:{$:0},field:{$:0},figueres:{$:0},filatelia:{$:0},film:{$:0},fineart:{$:0},finearts:{$:0},finland:{$:0},flanders:{$:0},florida:{$:0},force:{$:0},fortmissoula:{$:0},fortworth:{$:0},foundation:{$:0},francaise:{$:0},frankfurt:{$:0},franziskaner:{$:0},freemasonry:{$:0},freiburg:{$:0},fribourg:{$:0},frog:{$:0},fundacio:{$:0},furniture:{$:0},gallery:{$:0},garden:{$:0},gateway:{$:0},geelvinck:{$:0},gemological:{$:0},geology:{$:0},georgia:{$:0},giessen:{$:0},glas:{$:0},glass:{$:0},gorge:{$:0},grandrapids:{$:0},graz:{$:0},guernsey:{$:0},halloffame:{$:0},hamburg:{$:0},handson:{$:0},harvestcelebration:{$:0},hawaii:{$:0},health:{$:0},heimatunduhren:{$:0},hellas:{$:0},helsinki:{$:0},hembygdsforbund:{$:0},heritage:{$:0},histoire:{$:0},historical:{$:0},historicalsociety:{$:0},historichouses:{$:0},historisch:{$:0},historisches:{$:0},history:{$:0},historyofscience:{$:0},horology:{$:0},house:{$:0},humanities:{$:0},illustration:{$:0},imageandsound:{$:0},indian:{$:0},indiana:{$:0},indianapolis:{$:0},indianmarket:{$:0},intelligence:{$:0},interactive:{$:0},iraq:{$:0},iron:{$:0},isleofman:{$:0},jamison:{$:0},jefferson:{$:0},jerusalem:{$:0},jewelry:{$:0},jewish:{$:0},jewishart:{$:0},jfk:{$:0},journalism:{$:0},judaica:{$:0},judygarland:{$:0},juedisches:{$:0},juif:{$:0},karate:{$:0},karikatur:{$:0},kids:{$:0},koebenhavn:{$:0},koeln:{$:0},kunst:{$:0},kunstsammlung:{$:0},kunstunddesign:{$:0},labor:{$:0},labour:{$:0},lajolla:{$:0},lancashire:{$:0},landes:{$:0},lans:{$:0},"xn--lns-qla":{$:0},larsson:{$:0},lewismiller:{$:0},lincoln:{$:0},linz:{$:0},living:{$:0},livinghistory:{$:0},localhistory:{$:0},london:{$:0},losangeles:{$:0},louvre:{$:0},loyalist:{$:0},lucerne:{$:0},luxembourg:{$:0},luzern:{$:0},mad:{$:0},madrid:{$:0},mallorca:{$:0},manchester:{$:0},mansion:{$:0},mansions:{$:0},manx:{$:0},marburg:{$:0},maritime:{$:0},maritimo:{$:0},maryland:{$:0},marylhurst:{$:0},media:{$:0},medical:{$:0},medizinhistorisches:{$:0},meeres:{$:0},memorial:{$:0},mesaverde:{$:0},michigan:{$:0},midatlantic:{$:0},military:{$:0},mill:{$:0},miners:{$:0},mining:{$:0},minnesota:{$:0},missile:{$:0},missoula:{$:0},modern:{$:0},moma:{$:0},money:{$:0},monmouth:{$:0},monticello:{$:0},montreal:{$:0},moscow:{$:0},motorcycle:{$:0},muenchen:{$:0},muenster:{$:0},mulhouse:{$:0},muncie:{$:0},museet:{$:0},museumcenter:{$:0},museumvereniging:{$:0},music:{$:0},national:{$:0},nationalfirearms:{$:0},nationalheritage:{$:0},nativeamerican:{$:0},naturalhistory:{$:0},naturalhistorymuseum:{$:0},naturalsciences:{$:0},nature:{$:0},naturhistorisches:{$:0},natuurwetenschappen:{$:0},naumburg:{$:0},naval:{$:0},nebraska:{$:0},neues:{$:0},newhampshire:{$:0},newjersey:{$:0},newmexico:{$:0},newport:{$:0},newspaper:{$:0},newyork:{$:0},niepce:{$:0},norfolk:{$:0},north:{$:0},nrw:{$:0}
736,nuernberg:{$:0},nuremberg:{$:0},nyc:{$:0},nyny:{$:0},oceanographic:{$:0},oceanographique:{$:0},omaha:{$:0},online:{$:0},ontario:{$:0},openair:{$:0},oregon:{$:0},oregontrail:{$:0},otago:{$:0},oxford:{$:0},pacific:{$:0},paderborn:{$:0},palace:{$:0},paleo:{$:0},palmsprings:{$:0},panama:{$:0},paris:{$:0},pasadena:{$:0},pharmacy:{$:0},philadelphia:{$:0},philadelphiaarea:{$:0},philately:{$:0},phoenix:{$:0},photography:{$:0},pilots:{$:0},pittsburgh:{$:0},planetarium:{$:0},plantation:{$:0},plants:{$:0},plaza:{$:0},portal:{$:0},portland:{$:0},portlligat:{$:0},"posts-and-telecommunications":{$:0},preservation:{$:0},presidio:{$:0},press:{$:0},project:{$:0},public:{$:0},pubol:{$:0},quebec:{$:0},railroad:{$:0},railway:{$:0},research:{$:0},resistance:{$:0},riodejaneiro:{$:0},rochester:{$:0},rockart:{$:0},roma:{$:0},russia:{$:0},saintlouis:{$:0},salem:{$:0},salvadordali:{$:0},salzburg:{$:0},sandiego:{$:0},sanfrancisco:{$:0},santabarbara:{$:0},santacruz:{$:0},santafe:{$:0},saskatchewan:{$:0},satx:{$:0},savannahga:{$:0},schlesisches:{$:0},schoenbrunn:{$:0},schokoladen:{$:0},school:{$:0},schweiz:{$:0},science:{$:0},scienceandhistory:{$:0},scienceandindustry:{$:0},sciencecenter:{$:0},sciencecenters:{$:0},"science-fiction":{$:0},sciencehistory:{$:0},sciences:{$:0},sciencesnaturelles:{$:0},scotland:{$:0},seaport:{$:0},settlement:{$:0},settlers:{$:0},shell:{$:0},sherbrooke:{$:0},sibenik:{$:0},silk:{$:0},ski:{$:0},skole:{$:0},society:{$:0},sologne:{$:0},soundandvision:{$:0},southcarolina:{$:0},southwest:{$:0},space:{$:0},spy:{$:0},square:{$:0},stadt:{$:0},stalbans:{$:0},starnberg:{$:0},state:{$:0},stateofdelaware:{$:0},station:{$:0},steam:{$:0},steiermark:{$:0},stjohn:{$:0},stockholm:{$:0},stpetersburg:{$:0},stuttgart:{$:0},suisse:{$:0},surgeonshall:{$:0},surrey:{$:0},svizzera:{$:0},sweden:{$:0},sydney:{$:0},tank:{$:0},tcm:{$:0},technology:{$:0},telekommunikation:{$:0},television:{$:0},texas:{$:0},textile:{$:0},theater:{$:0},time:{$:0},timekeeping:{$:0},topology:{$:0},torino:{$:0},touch:{$:0},town:{$:0},transport:{$:0},tree:{$:0},trolley:{$:0},trust:{$:0},trustee:{$:0},uhren:{$:0},ulm:{$:0},undersea:{$:0},university:{$:0},usa:{$:0},usantiques:{$:0},usarts:{$:0},uscountryestate:{$:0},usculture:{$:0},usdecorativearts:{$:0},usgarden:{$:0},ushistory:{$:0},ushuaia:{$:0},uslivinghistory:{$:0},utah:{$:0},uvic:{$:0},valley:{$:0},vantaa:{$:0},versailles:{$:0},viking:{$:0},village:{$:0},virginia:{$:0},virtual:{$:0},virtuel:{$:0},vlaanderen:{$:0},volkenkunde:{$:0},wales:{$:0},wallonie:{$:0},war:{$:0},washingtondc:{$:0},watchandclock:{$:0},"watch-and-clock":{$:0},western:{$:0},westfalen:{$:0},whaling:{$:0},wildlife:{$:0},williamsburg:{$:0},windmill:{$:0},workshop:{$:0},york:{$:0},yorkshire:{$:0},yosemite:{$:0},youth:{$:0},zoological:{$:0},zoology:{$:0},"xn--9dbhblg6di":{$:0},"xn--h1aegh":{$:0}},mv:{$:0,aero:{$:0},biz:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0},museum:{$:0},name:{$:0},net:{$:0},org:{$:0},pro:{$:0}},mw:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},int:{$:0},museum:{$:0},net:{$:0},org:{$:0}},mx:{$:0,com:{$:0},org:{$:0},gob:{$:0},edu:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},my:{$:0,com:{$:0}
vendor: 8,603 bytes, line 736
736,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},mil:{$:0},name:{$:0},blogspot:{$:0}},mz:{$:0,ac:{$:0},adv:{$:0},co:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},na:{$:0,info:{$:0},pro:{$:0},name:{$:0},school:{$:0},or:{$:0},dr:{$:0},us:{$:0},mx:{$:0},ca:{$:0},in:{$:0},cc:{$:0},tv:{$:0},ws:{$:0},mobi:{$:0},co:{$:0},com:{$:0},org:{$:0}},name:{$:0,her:{forgot:{$:0}},his:{forgot:{$:0}}},nc:{$:0,asso:{$:0},nom:{$:0}},ne:{$:0},net:{$:0,alwaysdata:{$:0},cloudfront:{$:0},t3l3p0rt:{$:0},myfritz:{$:0},boomla:{$:0},bplaced:{$:0},square7:{$:0},gb:{$:0},hu:{$:0},jp:{$:0},se:{$:0},uk:{$:0},in:{$:0},cloudaccess:{$:0},"cdn77-ssl":{$:0},cdn77:{r:{$:0}},"feste-ip":{$:0},"knx-server":{$:0},"static-access":{$:0},cryptonomic:{"*":{$:0}},debian:{$:0},"at-band-camp":{$:0},blogdns:{$:0},"broke-it":{$:0},buyshouses:{$:0},dnsalias:{$:0},dnsdojo:{$:0},"does-it":{$:0},dontexist:{$:0},dynalias:{$:0},dynathome:{$:0},endofinternet:{$:0},"from-az":{$:0},"from-co":{$:0},"from-la":{$:0},"from-ny":{$:0},"gets-it":{$:0},"ham-radio-op":{$:0},homeftp:{$:0},homeip:{$:0},homelinux:{$:0},homeunix:{$:0},"in-the-band":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},"office-on-the":{$:0},podzone:{$:0},"scrapper-site":{$:0},selfip:{$:0},"sells-it":{$:0},servebbs:{$:0},serveftp:{$:0},thruhere:{$:0},webhop:{$:0},definima:{$:0},casacam:{$:0},dynu:{$:0},dynv6:{$:0},twmail:{$:0},ru:{$:0},channelsdvr:{$:0},fastlylb:{$:0,map:{$:0}},fastly:{freetls:{$:0},map:{$:0},prod:{a:{$:0},global:{$:0}},ssl:{a:{$:0},b:{$:0},global:{$:0}}},flynnhosting:{$:0},cloudfunctions:{$:0},moonscale:{$:0},ipifony:{$:0},barsy:{$:0},azurewebsites:{$:0},"azure-mobile":{$:0},cloudapp:{$:0},"eating-organic":{$:0},mydissent:{$:0},myeffect:{$:0},mymediapc:{$:0},mypsx:{$:0},mysecuritycamera:{$:0},nhlfan:{$:0},"no-ip":{$:0},pgafan:{$:0},privatizehealthinsurance:{$:0},bounceme:{$:0},ddns:{$:0},redirectme:{$:0},serveblog:{$:0},serveminecraft:{$:0},sytes:{$:0},rackmaze:{$:0},"firewall-gateway":{$:0},dsmynas:{$:0},familyds:{$:0},za:{$:0}},nf:{$:0,com:{$:0},net:{$:0},per:{$:0},rec:{$:0},web:{$:0},arts:{$:0},firm:{$:0},info:{$:0},other:{$:0},store:{$:0}},ng:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},i:{$:0},mil:{$:0},mobi:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0}},ni:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gob:{$:0},in:{$:0},info:{$:0},int:{$:0},mil:{$:0},net:{$:0},nom:{$:0},org:{$:0},web:{$:0}},nl:{$:0,bv:{$:0},virtueeldomein:{$:0},co:{$:0},"hosting-cluster":{$:0},blogspot:{$:0},transurl:{"*":{$:0}},cistron:{$:0},demon:{$:0}},no:{$:0,fhs:{$:0},vgs:{$:0},fylkesbibl:{$:0},folkebibl:{$:0},museum:{$:0},idrett:{$:0},priv:{$:0},mil:{$:0},stat:{$:0},dep:{$:0},kommune:{$:0},herad:{$:0},aa:{$:0,gs:{$:0}},ah:{$:0,gs:{$:0}},bu:{$:0,gs:{$:0}},fm:{$:0,gs:{$:0}},hl:{$:0,gs:{$:0}},hm:{$:0,gs:{$:0}},"jan-mayen":{$:0,gs:{$:0}},mr:{$:0,gs:{$:0}},nl:{$:0,gs:{$:0}},nt:{$:0,gs:{$:0}},of:{$:0,gs:{$:0}},ol:{$:0,gs:{$:0}},oslo:{$:0,gs:{$:0}},rl:{$:0,gs:{$:0}},sf:{$:0,gs:{$:0}},st:{$:0,gs:{$:0}},svalbard:{$:0,gs:{$:0}},tm:{$:0,gs:{$:0}},tr:{$:0,gs:{$:0}},va:{$:0,gs:{$:0}},vf:{$:0,gs:{$:0}},akrehamn:{$:0},"xn--krehamn-dxa":{$:0},algard:{$:0},"xn--lgrd-poac":{$:0},arna:{$:0},brumunddal:{$:0},bryne:{$:0},bronnoysund:{$:0},"xn--brnnysund-m8ac":{$:0},drobak:{$:0},"xn--drbak-wua":{$:0},egersund:{$:0},fetsund:{$:0},floro:{$:0},"xn--flor-jra":{$:0},fredrikstad:{$:0},hokksund:{$:0},honefoss:{$:0},"xn--hnefoss-q1a":{$:0},jessheim:{$:0},jorpeland:{$:0},"xn--jrpeland-54a":{$:0},kirkenes:{$:0},kopervik:{$:0},krokstadelva:{$:0},langevag:{$:0},"xn--langevg-jxa":{$:0},leirvik:{$:0},mjondalen:{$:0},"xn--mjndalen-64a":{$:0},"mo-i-rana":{$:0},mosjoen:{$:0},"xn--mosjen-eya":{$:0},nesoddtangen:{$:0},orkanger:{$:0},osoyro:{$:0},"xn--osyro-wua":{$:0},raholt:{$:0},"xn--rholt-mra":{$:0},sandnessjoen:{$:0},"xn--sandnessjen-ogb":{$:0},skedsmokorset:{$:0},slattum:{$:0},spjelkavik:{$:0},stathelle:{$:0},stavern:{$:0},stjordalshalsen:{$:0},"xn--stjrdalshalsen-sqb":{$:0},tananger:{$:0},tranby:{$:0},vossevangen:{$:0},afjord:{$:0},"xn--fjord-lra":{$:0},agdenes:{$:0},al:{$:0},"xn--l-1fa":{$:0},alesund:{$:0},"xn--lesund-hua":{$:0},alstahaug:{$:0},alta:{$:0},"xn--lt-liac":{$:0},alaheadju:{$:0},"xn--laheadju-7ya":{$:0},alvdal:{$:0},amli:{$:0},"xn--mli-tla":{$:0},amot:{$:0},"xn--mot-tla":{$:0},andebu:{$:0},andoy:{$:0},"xn--andy-ira":{$:0},andasuolo:{$:0},ardal:{$:0},"xn--rdal-poa":{$:0},aremark:{$:0},arendal:{$:0},"xn--s-1fa":{$:0},aseral:{$:0},"xn--seral-lra":{$:0},asker:{$:0},askim:{$:0},askvoll:{$:0},askoy:{$:0},"xn--asky-ira":{$:0},asnes:{$:0},"xn--snes-poa":{$:0},audnedaln:{$:0},aukra:{$:0},aure:{$:0},aurland:{$:0},"aurskog-holand":{$:0},"xn--aurskog-hland-jnb":{$:0},austevoll:{$:0},austrheim:{$:0},averoy:{$:0},"xn--avery-yua":{$:0},balestrand:{$:0},ballangen:{$:0},balat:{$:0},"xn--blt-elab":{$:0},balsfjord:{$:0},bahccavuotna:{$:0},"xn--bhccavuotna-k7a":{$:0},bamble:{$:0},bardu:{$:0},beardu:{$:0},beiarn:{$:0},bajddar:{$:0},"xn--bjddar-pta":{$:0},baidar:{$:0},"xn--bidr-5nac":{$:0},berg:{$:0},bergen:{$:0},berlevag:{$:0},"xn--berlevg-jxa":{$:0},bearalvahki:{$:0},"xn--bearalvhki-y4a":{$:0},bindal:{$:0},birkenes:{$:0},bjarkoy:{$:0},"xn--bjarky-fya":{$:0},bjerkreim:{$:0},bjugn:{$:0},bodo:{$:0},"xn--bod-2na":{$:0},badaddja:{$:0},"xn--bdddj-mrabd":{$:0},budejju:{$:0},bokn:{$:0},bremanger:{$:0},bronnoy:{$:0},"xn--brnny-wuac":{$:0},bygland:{$:0},bykle:{$:0},barum:{$:0},"xn--brum-voa":{$:0},telemark:{bo:{$:0},"xn--b-5ga":{$:0}},nordland:{bo:{$:0},"xn--b-5ga":{$:0},heroy:{$:0},"xn--hery-ira":{$:0}},bievat:{$:0},"xn--bievt-0qa":{$:0},bomlo:{$:0},"xn--bmlo-gra":{$:0},batsfjord:{$:0},"xn--btsfjord-9za":{$:0},bahcavuotna:{$:0},"xn--bhcavuotna-s4a":{$:0},dovre:{$:0},drammen:{$:0},drangedal:{$:0},dyroy:{$:0},"xn--dyry-ira":{$:0},donna:{$:0},"xn--dnna-gra":{$:0},eid:{$:0},eidfjord:{$:0},eidsberg:{$:0},eidskog:{$:0},eidsvoll:{$:0},eigersund:{$:0},elverum:{$:0},enebakk:{$:0},engerdal:{$:0},etne:{$:0},etnedal:{$:0},evenes:{$:0},evenassi:{$:0},"xn--eveni-0qa01ga":{$:0},"evje-og-hornnes":{$:0},farsund:{$:0},fauske:{$:0},fuossko:{$:0},fuoisku:{$:0},fedje:{$:0},fet:{$:0},finnoy:{$:0},"xn--finny-yua":{$:0},fitjar:{$:0},fjaler:{$:0},fjell:{$:0},flakstad:{$:0},flatanger:{$:0},flekkefjord:{$:0},flesberg:{$:0},flora:{$:0},fla:{$:0},"xn--fl-zia":{$:0},folldal:{$:0},forsand:{$:0},fosnes:{$:0},frei:{$:0},frogn:{$:0},froland:{$:0},frosta:{$:0},frana:{$:0},"xn--frna-woa":{$:0},froya:{$:0},"xn--frya-hra":{$:0},fusa:{$:0},fyresdal:{$:0},forde:{$:0},"xn--frde-gra":{$:0},gamvik:{$:0},gangaviika:{$:0},"xn--ggaviika-8ya47h":{$:0},gaular:{$:0},gausdal:{$:0},gildeskal:{$:0},"xn--gildeskl-g0a":{$:0},giske:{$:0},gjemnes:{$:0},gjerdrum:{$:0},gjerstad:{$:0},gjesdal:{$:0},gjovik:{$:0},"xn--gjvik-wua":{$:0},gloppen:{$:0},gol:{$:0},gran:{$:0},grane:{$:0},granvin:{$:0},gratangen:{$:0},grimstad:{$:0},grong:{$:0},kraanghke:{$:0},"xn--kranghke-b0a":{$:0},grue:{$:0},gulen:{$:0},hadsel:{$:0},halden:{$:0},halsa:{$:0},hamar:{$:0},hamaroy:{$:0},habmer:{$:0},"xn--hbmer-xqa":{$:0},hapmir:{$:0},"xn--hpmir-xqa":{$:0},hammerfest:{$:0},hammarfeasta:{$:0},"xn--hmmrfeasta-s4ac":{$:0},haram:{$:0},hareid:{$:0},harstad:{$:0},hasvik:{$:0},aknoluokta:{$:0},"xn--koluokta-7ya57h":{$:0},hattfjelldal:{$:0},aarborte:{$:0},haugesund:{$:0},hemne:{$:0},hemnes:{$:0},hemsedal:{$:0},"more-og-romsdal":{heroy:{$:0},sande:{$:0}},"xn--mre-og-romsdal-qqb":{"xn--hery-ira":{$:0},sande:{$:0}},hitra:{$:0},hjartdal:{$:0},hjelmeland:{$:0},hobol:{$:0},"xn--hobl-ira":{$:0},hof:{$:0},hol:{$:0},hole:{$:0},holmestrand:{$:0},holtalen:{$:0},"xn--holtlen-hxa":{$:0},hornindal:{$:0},horten:{$:0},hurdal:{$:0},hurum:{$:0},hvaler:{$:0},hyllestad:{$:0},hagebostad:{$:0},"xn--hgebostad-g3a":{$:0},hoyanger:{$:0},"xn--hyanger-q1a":{$:0},hoylandet:{$:0},"xn--hylandet-54a":{$:0},ha:{$:0},"xn--h-2fa":{$:0},ibestad:{$:0},inderoy:{$:0},"xn--indery-fya":{$:0},iveland:{$:0},jevnaker:{$:0},jondal:{$:0},jolster:{$:0},"xn--jlster-bya":{$:0},karasjok:{$:0},karasjohka:{$:0},"xn--krjohka-hwab49j":{$:0},karlsoy:{$:0},galsa:{$:0},"xn--gls-elac":{$:0},karmoy:{$:0},"xn--karmy-yua":{$:0},kautokeino:{$:0},guovdageaidnu:{$:0},klepp:{$:0},klabu:{$:0},"xn--klbu-woa":{$:0},kongsberg:{$:0},kongsvinger:{$:0},kragero:{$:0},"xn--krager-gya":{$:0},kristiansand:{$:0},kristiansund:{$:0},krodsherad:{$:0},"xn--krdsherad-m8a":{$:0},kvalsund:{$:0},rahkkeravju:{$:0},"xn--rhkkervju-01af":{$:0},kvam:{$:0},kvinesdal:{$:0},kvinnherad:{$:0},kviteseid:{$:0},kvitsoy:{$:0},"xn--kvitsy-fya":{$:0},kvafjord:{$:0},"xn--kvfjord-nxa":{$:0},giehtavuoatna:{$:0},kvanangen:{$:0},"xn--kvnangen-k0a":{$:0},navuotna:{$:0},"xn--nvuotna-hwa":{$:0},kafjord:{$:0},"xn--kfjord-iua":{$:0},gaivuotna:{$:0}
736,"xn--givuotna-8ya":{$:0},larvik:{$:0},lavangen:{$:0},lavagis:{$:0},loabat:{$:0},"xn--loabt-0qa":{$:0},lebesby:{$:0},davvesiida:{$:0},leikanger:{$:0},leirfjord:{$:0},leka:{$:0},leksvik:{$:0},lenvik:{$:0},leangaviika:{$:0},"xn--leagaviika-52b":{$:0},lesja:{$:0},levanger:{$:0},lier:{$:0},lierne:{$:0},lillehammer:{$:0},lillesand:{$:0},lindesnes:{$:0},lindas:{$:0},"xn--linds-pra":{$:0},lom:{$:0},loppa:{$:0},lahppi:{$:0},"xn--lhppi-xqa":{$:0},lund:{$:0},lunner:{$:0},luroy:{$:0},"xn--lury-ira":{$:0},luster:{$:0},lyngdal:{$:0},lyngen:{$:0},ivgu:{$:0},lardal:{$:0},lerdal:{$:0},"xn--lrdal-sra":{$:0},lodingen:{$:0},"xn--ldingen-q1a":{$:0},lorenskog:{$:0},"xn--lrenskog-54a":{$:0},loten:{$:0},"xn--lten-gra":{$:0},malvik:{$:0},masoy:{$:0},"xn--msy-ula0h":{$:0},muosat:{$:0},"xn--muost-0qa":{$:0},mandal:{$:0},marker:{$:0},marnardal:{$:0},masfjorden:{$:0},meland:{$:0},meldal:{$:0},melhus:{$:0},meloy:{$:0},"xn--mely-ira":{$:0},meraker:{$:0},"xn--merker-kua":{$:0},moareke:{$:0},"xn--moreke-jua":{$:0},midsund:{$:0},"midtre-gauldal":{$:0},modalen:{$:0},modum:{$:0},molde:{$:0},moskenes:{$:0},moss:{$:0},mosvik:{$:0},malselv:{$:0},"xn--mlselv-iua":{$:0},malatvuopmi:{$:0},"xn--mlatvuopmi-s4a":{$:0},namdalseid:{$:0},aejrie:{$:0},namsos:{$:0},namsskogan:{$:0},naamesjevuemie:{$:0},"xn--nmesjevuemie-tcba":{$:0},laakesvuemie:{$:0},nannestad:{$:0},narvik:{$:0},narviika:{$:0},naustdal:{$:0},"nedre-eiker":{$:0},akershus:{nes:{$:0}},buskerud:{nes:{$:0}},nesna:{$:0},nesodden:{$:0},nesseby:{$:0},unjarga:{$:0},"xn--unjrga-rta":{$:0},nesset:{$:0},nissedal:{$:0},nittedal:{$:0},"nord-aurdal":{$:0},"nord-fron":{$:0},"nord-odal":{$:0},norddal:{$:0},nordkapp:{$:0},davvenjarga:{$:0},"xn--davvenjrga-y4a":{$:0},"nordre-land":{$:0},nordreisa:{$:0},raisa:{$:0},"xn--risa-5na":{$:0},"nore-og-uvdal":{$:0},notodden:{$:0},naroy:{$:0},"xn--nry-yla5g":{$:0},notteroy:{$:0},"xn--nttery-byae":{$:0},odda:{$:0},oksnes:{$:0},"xn--ksnes-uua":{$:0},oppdal:{$:0},oppegard:{$:0},"xn--oppegrd-ixa":{$:0},orkdal:{$:0},orland:{$:0},"xn--rland-uua":{$:0},orskog:{$:0},"xn--rskog-uua":{$:0},orsta:{$:0},"xn--rsta-fra":{$:0},hedmark:{os:{$:0},valer:{$:0},"xn--vler-qoa":{$:0}},hordaland:{os:{$:0}},osen:{$:0},osteroy:{$:0},"xn--ostery-fya":{$:0},"ostre-toten":{$:0},"xn--stre-toten-zcb":{$:0},overhalla:{$:0},"ovre-eiker":{$:0},"xn--vre-eiker-k8a":{$:0},oyer:{$:0},"xn--yer-zna":{$:0},oygarden:{$:0},"xn--ygarden-p1a":{$:0},"oystre-slidre":{$:0},"xn--ystre-slidre-ujb":{$:0},porsanger:{$:0},porsangu:{$:0},"xn--porsgu-sta26f":{$:0},porsgrunn:{$:0},radoy:{$:0},"xn--rady-ira":{$:0},rakkestad:{$:0},rana:{$:0},ruovat:{$:0},randaberg:{$:0},rauma:{$:0},rendalen:{$:0},rennebu:{$:0},rennesoy:{$:0},"xn--rennesy-v1a":{$:0},rindal:{$:0},ringebu:{$:0},ringerike:{$:0},ringsaker:{$:0},rissa:{$:0},risor:{$:0},"xn--risr-ira":{$:0},roan:{$:0},rollag:{$:0},rygge:{$:0},ralingen:{$:0},"xn--rlingen-mxa":{$:0},rodoy:{$:0},"xn--rdy-0nab":{$:0},romskog:{$:0},"xn--rmskog-bya":{$:0},roros:{$:0},"xn--rros-gra":{$:0},rost:{$:0},"xn--rst-0na":{$:0},royken:{$:0},"xn--ryken-vua":{$:0},royrvik:{$:0},"xn--ryrvik-bya":{$:0},rade:{$:0},"xn--rde-ula":{$:0},salangen:{$:0},siellak:{$:0},saltdal:{$:0},salat:{$:0},"xn--slt-elab":{$:0},"xn--slat-5na":{$:0},samnanger:{$:0},vestfold:{sande:{$:0}},sandefjord:{$:0},sandnes:{$:0},sandoy:{$:0},"xn--sandy-yua":{$:0},sarpsborg:{$:0},sauda:{$:0},sauherad:{$:0},sel:{$:0},selbu:{$:0},selje:{$:0},seljord:{$:0},sigdal:{$:0},siljan:{$:0},sirdal:{$:0},skaun:{$:0},skedsmo:{$:0},ski:{$:0},skien:{$:0},skiptvet:{$:0},skjervoy:{$:0},"xn--skjervy-v1a":{$:0},skierva:{$:0},"xn--skierv-uta":{$:0},skjak:{$:0},"xn--skjk-soa":{$:0},skodje:{$:0},skanland:{$:0},"xn--sknland-fxa":{$:0},skanit:{$:0},"xn--sknit-yqa":{$:0},smola:{$:0},"xn--smla-hra":{$:0},snillfjord:{$:0},snasa:{$:0},"xn--snsa-roa":{$:0},snoasa:{$:0},snaase:{$:0},"xn--snase-nra":{$:0},sogndal:{$:0},sokndal:{$:0},sola:{$:0},solund:{$:0},songdalen:{$:0},sortland:{$:0},spydeberg:{$:0},stange:{$:0},stavanger:{$:0},steigen:{$:0},steinkjer:{$:0},stjordal:{$:0},"xn--stjrdal-s1a":{$:0},stokke:{$:0},"stor-elvdal":{$:0},stord:{$:0},stordal:{$:0},storfjord:{$:0},omasvuotna:{$:0},strand:{$:0},stranda:{$:0},stryn:{$:0},sula:{$:0},suldal:{$:0},sund:{$:0},sunndal:{$:0},surnadal:{$:0},sveio:{$:0},svelvik:{$:0},sykkylven:{$:0},sogne:{$:0},"xn--sgne-gra":{$:0},somna:{$:0},"xn--smna-gra":{$:0},"sondre-land":{$:0},"xn--sndre-land-0cb":{$:0},"sor-aurdal":{$:0},"xn--sr-aurdal-l8a":{$:0},"sor-fron":{$:0},"xn--sr-fron-q1a":{$:0},"sor-odal":{$:0},"xn--sr-odal-q1a":{$:0},"sor-varanger":{$:0},"xn--sr-varanger-ggb":{$:0},"matta-varjjat":{$:0},"xn--mtta-vrjjat-k7af":{$:0},sorfold:{$:0},"xn--srfold-bya":{$:0},sorreisa:{$:0},"xn--srreisa-q1a":{$:0},sorum:{$:0},"xn--srum-gra":{$:0},tana:{$:0},deatnu:{$:0},time:{$:0},tingvoll:{$:0},tinn:{$:0},tjeldsund:{$:0},dielddanuorri:{$:0},tjome:{$:0},"xn--tjme-hra":{$:0},tokke:{$:0},tolga:{$:0},torsken:{$:0},tranoy:{$:0},"xn--trany-yua":{$:0},tromso:{$:0},"xn--troms-zua":{$:0},tromsa:{$:0},romsa:{$:0},trondheim:{$:0},troandin:{$:0},trysil:{$:0},trana:{$:0}
736,"xn--trna-woa":{$:0},trogstad:{$:0},"xn--trgstad-r1a":{$:0},tvedestrand:{$:0},tydal:{$:0},tynset:{$:0},tysfjord:{$:0},divtasvuodna:{$:0},divttasvuotna:{$:0},tysnes:{$:0},tysvar:{$:0},"xn--tysvr-vra":{$:0},tonsberg:{$:0},"xn--tnsberg-q1a":{$:0},ullensaker:{$:0},ullensvang:{$:0},ulvik:{$:0},utsira:{$:0},vadso:{$:0},"xn--vads-jra":{$:0},cahcesuolo:{$:0},"xn--hcesuolo-7ya35b":{$:0},vaksdal:{$:0},valle:{$:0},vang:{$:0},vanylven:{$:0},vardo:{$:0},"xn--vard-jra":{$:0},varggat:{$:0},"xn--vrggt-xqad":{$:0},vefsn:{$:0},vaapste:{$:0},vega:{$:0},vegarshei:{$:0},"xn--vegrshei-c0a":{$:0},vennesla:{$:0},verdal:{$:0},verran:{$:0},vestby:{$:0},vestnes:{$:0},"vestre-slidre":{$:0},"vestre-toten":{$:0},vestvagoy:{$:0},"xn--vestvgy-ixa6o":{$:0},vevelstad:{$:0},vik:{$:0},vikna:{$:0},vindafjord:{$:0},volda:{$:0},voss:{$:0},varoy:{$:0},"xn--vry-yla5g":{$:0},vagan:{$:0},"xn--vgan-qoa":{$:0},voagat:{$:0},vagsoy:{$:0},"xn--vgsy-qoa0j":{$:0},vaga:{$:0},"xn--vg-yiab":{$:0},ostfold:{valer:{$:0}},"xn--stfold-9xa":{"xn--vler-qoa":{$:0}},co:{$:0},blogspot:{$:0}},np:{"*":{$:0}},nr:{$:0,biz:{$:0},info:{$:0},gov:{$:0},edu:{$:0},org:{$:0}
vendor: 2,760 bytes, line 736
736,net:{$:0},com:{$:0}},nu:{$:0,merseine:{$:0},mine:{$:0},shacknet:{$:0},nom:{$:0}},nz:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},cri:{$:0},geek:{$:0},gen:{$:0},govt:{$:0},health:{$:0},iwi:{$:0},kiwi:{$:0},maori:{$:0},mil:{$:0},"xn--mori-qsa":{$:0},net:{$:0},org:{$:0},parliament:{$:0},school:{$:0},nym:{$:0}},om:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},med:{$:0},museum:{$:0},net:{$:0},org:{$:0},pro:{$:0}},onion:{$:0},org:{$:0,amune:{tele:{$:0}},pimienta:{$:0},poivron:{$:0},potager:{$:0},sweetpepper:{$:0},ae:{$:0},us:{$:0},certmgr:{$:0},cdn77:{c:{$:0},rsc:{$:0}},"cdn77-secure":{origin:{ssl:{$:0}}},cloudns:{$:0},duckdns:{$:0},tunk:{$:0},dyndns:{$:0,go:{$:0},home:{$:0}},blogdns:{$:0},blogsite:{$:0},boldlygoingnowhere:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},dvrdns:{$:0},dynalias:{$:0},endofinternet:{$:0},endoftheinternet:{$:0},"from-me":{$:0},"game-host":{$:0},gotdns:{$:0},"hobby-site":{$:0},homedns:{$:0},homeftp:{$:0},homelinux:{$:0},homeunix:{$:0},"is-a-bruinsfan":{$:0},"is-a-candidate":{$:0},"is-a-celticsfan":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"is-a-knight":{$:0},"is-a-linux-user":{$:0},"is-a-patsfan":{$:0},"is-a-soxfan":{$:0},"is-found":{$:0},"is-lost":{$:0},"is-saved":{$:0},"is-very-bad":{$:0},"is-very-evil":{$:0},"is-very-good":{$:0},"is-very-nice":{$:0},"is-very-sweet":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},misconfused:{$:0},podzone:{$:0},readmyblog:{$:0},selfip:{$:0},sellsyourhome:{$:0},servebbs:{$:0},serveftp:{$:0},servegame:{$:0},"stuff-4-sale":{$:0},webhop:{$:0},ddnss:{$:0},accesscam:{$:0},camdvr:{$:0},freeddns:{$:0},mywire:{$:0},webredirect:{$:0},eu:{$:0,al:{$:0},asso:{$:0},at:{$:0},au:{$:0},be:{$:0},bg:{$:0},ca:{$:0},cd:{$:0},ch:{$:0},cn:{$:0},cy:{$:0},cz:{$:0},de:{$:0},dk:{$:0},edu:{$:0},ee:{$:0},es:{$:0},fi:{$:0},fr:{$:0},gr:{$:0},hr:{$:0},hu:{$:0},ie:{$:0},il:{$:0},in:{$:0},int:{$:0},is:{$:0},it:{$:0},jp:{$:0},kr:{$:0},lt:{$:0},lu:{$:0},lv:{$:0},mc:{$:0},me:{$:0},mk:{$:0},mt:{$:0},my:{$:0},net:{$:0},ng:{$:0},nl:{$:0},no:{$:0},nz:{$:0},paris:{$:0},pl:{$:0},pt:{$:0},"q-a":{$:0},ro:{$:0},ru:{$:0},se:{$:0},si:{$:0},sk:{$:0},tr:{$:0},uk:{$:0},us:{$:0}},twmail:{$:0},fedorainfracloud:{$:0},fedorapeople:{$:0},fedoraproject:{cloud:{$:0},os:{app:{$:0}},stg:{os:{app:{$:0}}}},hepforge:{$:0},js:{$:0},bmoattachments:{$:0},"cable-modem":{$:0},collegefan:{$:0},couchpotatofries:{$:0},mlbfan:{$:0},mysecuritycamera:{$:0},nflfan:{$:0},"read-books":{$:0},ufcfan:{$:0},hopto:{$:0},myftp:{$:0},"no-ip":{$:0},zapto:{$:0},"my-firewall":{$:0},myfirewall:{$:0},spdns:{$:0},dsmynas:{$:0},familyds:{$:0},tuxfamily:{$:0},diskstation:{$:0},hk:{$:0},wmflabs:{$:0},za:{$:0}},pa:{$:0,ac:{$:0},gob:{$:0},com:{$:0},org:{$:0},sld:{$:0},edu:{$:0},net:{$:0},ing:{$:0},abo:{$:0},med:{$:0},nom:{$:0}}
736,pe:{$:0,edu:{$:0},gob:{$:0},nom:{$:0},mil:{$:0},org:{$:0},com:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},pf:{$:0,com:{$:0},org:{$:0},edu:{$:0}},pg:{"*":{$:0}},ph:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},ngo:{$:0},mil:{$:0},i:{$:0}},pk:{$:0,com:{$:0},net:{$:0},edu:{$:0},org:{$:0},fam:{$:0},biz:{$:0},web:{$:0},gov:{$:0},gob:{$:0},gok:{$:0},gon:{$:0},gop:{$:0},gos:{$:0},info:{$:0}},pl:{$:0,com:{$:0},net:{$:0},org:{$:0},aid:{$:0},agro:{$:0},atm:{$:0},auto:{$:0},biz:{$:0},edu:{$:0},gmina:{$:0},gsm:{$:0},info:{$:0},mail:{$:0},miasta:{$:0},media:{$:0},mil:{$:0},nieruchomosci:{$:0},nom:{$:0},pc:{$:0},powiat:{$:0},priv:{$:0},realestate:{$:0},rel:{$:0},sex:{$:0},shop:{$:0},sklep:{$:0},sos:{$:0},szkola:{$:0},targi:{$:0},tm:{$:0},tourism:{$:0},travel:{$:0},turystyka:{$:0},gov:{$:0,ap:{$:0},ic:{$:0},is:{$:0},us:{$:0},kmpsp:{$:0},kppsp:{$:0},kwpsp:{$:0},psp:{$:0},wskr:{$:0},kwp:{$:0},mw:{$:0},ug:{$:0},um:{$:0},umig:{$:0},ugim:{$:0},upow:{$:0},uw:{$:0},starostwo:{$:0},pa:{$:0},po:{$:0},psse:{$:0},pup:{$:0},rzgw:{$:0},sa:{$:0},so:{$:0},sr:{$:0},wsa:{$:0},sko:{$:0},uzs:{$:0},wiih:{$:0},winb:{$:0},pinb:{$:0},wios:{$:0},witd:{$:0},wzmiuw:{$:0},piw:{$:0},wiw:{$:0},griw:{$:0},wif:{$:0},oum:{$:0},sdn:{$:0},zp:{$:0},uppo:{$:0},mup:{$:0},wuoz:{$:0},konsulat:{$:0},oirm:{$:0}},augustow:{$:0},"babia-gora":{$:0},bedzin:{$:0},beskidy:{$:0},bialowieza:{$:0},bialystok:{$:0},bielawa:{$:0},bieszczady:{$:0},boleslawiec:{$:0},bydgoszcz:{$:0},bytom:{$:0},cieszyn:{$:0},czeladz:{$:0},czest:{$:0},dlugoleka:{$:0},elblag:{$:0},elk:{$:0},glogow:{$:0},gniezno:{$:0},gorlice:{$:0},grajewo:{$:0},ilawa:{$:0},jaworzno:{$:0},"jelenia-gora":{$:0},jgora:{$:0},kalisz:{$:0},"kazimierz-dolny":{$:0},karpacz:{$:0},kartuzy:{$:0},kaszuby:{$:0},katowice:{$:0},kepno:{$:0},ketrzyn:{$:0},klodzko:{$:0},kobierzyce:{$:0},kolobrzeg:{$:0},konin:{$:0},konskowola:{$:0},kutno:{$:0},lapy:{$:0},lebork:{$:0},legnica:{$:0},lezajsk:{$:0},limanowa:{$:0},lomza:{$:0},lowicz:{$:0},lubin:{$:0},lukow:{$:0},malbork:{$:0},malopolska:{$:0},mazowsze:{$:0},mazury:{$:0},mielec:{$:0},mielno:{$:0},mragowo:{$:0},naklo:{$:0},nowaruda:{$:0},nysa:{$:0},olawa:{$:0},olecko:{$:0},olkusz:{$:0},olsztyn:{$:0},opoczno:{$:0},opole:{$:0},ostroda:{$:0},ostroleka:{$:0},ostrowiec:{$:0},ostrowwlkp:{$:0},pila:{$:0},pisz:{$:0},podhale:{$:0},podlasie:{$:0},polkowice:{$:0},pomorze:{$:0},pomorskie:{$:0},prochowice:{$:0},pruszkow:{$:0},przeworsk:{$:0},pulawy:{$:0},radom:{$:0},"rawa-maz":{$:0},rybnik:{$:0},rzeszow:{$:0},sanok:{$:0},sejny:{$:0},slask:{$:0},slupsk:{$:0},sosnowiec:{$:0},"stalowa-wola":{$:0},skoczow:{$:0},starachowice:{$:0},stargard:{$:0},suwalki:{$:0},swidnica:{$:0},swiebodzin:{$:0},swinoujscie:{$:0},szczecin:{$:0},szczytno:{$:0},tarnobrzeg:{$:0},tgory:{$:0},turek:{$:0},tychy:{$:0},ustka:{$:0},walbrzych:{$:0},warmia:{$:0},warszawa:{$:0},waw:{$:0},wegrow:{$:0},wielun:{$:0},wlocl:{$:0},wloclawek:{$:0},wodzislaw:{$:0},wolomin:{$:0},wroclaw:{$:0},zachpomor:{$:0},zagan:{$:0},zarow:{$:0},zgora:{$:0},zgorzelec:{$:0},beep:{$:0},co:{$:0},art:{$:0},gliwice:{$:0},krakow:{$:0},poznan:{$:0},wroc:{$:0},zakopane:{$:0},gda:{$:0},gdansk:{$:0},gdynia:{$:0},med:{$:0},sopot:{$:0}},pm:{$:0},pn:{$:0,gov:{$:0},co:{$:0},org:{$:0},edu:{$:0},net:{$:0}},post:{$:0},pr:{$:0,com:{$:0}
736,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},isla:{$:0},pro:{$:0},biz:{$:0},info:{$:0},name:{$:0},est:{$:0},prof:{$:0},ac:{$:0}},pro:{$:0,aaa:{$:0},aca:{$:0},acct:{$:0},avocat:{$:0},bar:{$:0},cpa:{$:0},eng:{$:0},jur:{$:0},law:{$:0},med:{$:0},recht:{$:0},cloudns:{$:0}},ps:{$:0,edu:{$:0},gov:{$:0},sec:{$:0},plo:{$:0},com:{$:0},org:{$:0},net:{$:0}},pt:{$:0,net:{$:0},gov:{$:0},org:{$:0},edu:{$:0},int:{$:0},publ:{$:0},com:{$:0},nome:{$:0},blogspot:{$:0},nym:{$:0}},pw:{$:0,co:{$:0},ne:{$:0},or:{$:0},ed:{$:0},go:{$:0},belau:{$:0},cloudns:{$:0},nom:{$:0}},py:{$:0,com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},qa:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0},blogspot:{$:0},nom:{$:0}},re:{$:0,asso:{$:0},com:{$:0},nom:{$:0},blogspot:{$:0}},ro:{$:0,arts:{$:0},com:{$:0},firm:{$:0},info:{$:0},nom:{$:0},nt:{$:0},org:{$:0},rec:{$:0},store:{$:0},tm:{$:0},www:{$:0},shop:{$:0},blogspot:{$:0}},rs:{$:0,ac:{$:0},co:{$:0},edu:{$:0},gov:{$:0},in:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},ru:{$:0,ac:{$:0},edu:{$:0},gov:{$:0},int:{$:0},mil:{$:0},test:{$:0},adygeya:{$:0},bashkiria:{$:0},bir:{$:0},cbg:{$:0},com:{$:0},dagestan:{$:0},grozny:{$:0},kalmykia:{$:0},kustanai:{$:0},marine:{$:0},mordovia:{$:0},msk:{$:0},mytis:{$:0},nalchik:{$:0},nov:{$:0},pyatigorsk:{$:0},spb:{$:0},vladikavkaz:{$:0},vladimir:{$:0},blogspot:{$:0},cldmail:{hb:{$:0}},net:{$:0},org:{$:0},pp:{$:0}},rw:{$:0,gov:{$:0},net:{$:0},edu:{$:0},ac:{$:0},com:{$:0},co:{$:0},int:{$:0},mil:{$:0},gouv:{$:0}},sa:{$:0,com:{$:0}
736,net:{$:0},org:{$:0},gov:{$:0},med:{$:0},pub:{$:0},edu:{$:0},sch:{$:0}},sb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},sc:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0}},sd:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},med:{$:0},tv:{$:0},gov:{$:0},info:{$:0}},se:{$:0,a:{$:0},ac:{$:0},b:{$:0},bd:{$:0},brand:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},fh:{$:0},fhsk:{$:0},fhv:{$:0},g:{$:0},h:{$:0},i:{$:0},k:{$:0},komforb:{$:0},kommunalforbund:{$:0},komvux:{$:0},l:{$:0},lanbib:{$:0},m:{$:0},n:{$:0},naturbruksgymn:{$:0},o:{$:0},org:{$:0},p:{$:0},parti:{$:0},pp:{$:0},press:{$:0},r:{$:0},s:{$:0},t:{$:0},tm:{$:0},u:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},com:{$:0},blogspot:{$:0}},sg:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},per:{$:0},blogspot:{$:0}},sh:{$:0,com:{$:0},net:{$:0},gov:{$:0},org:{$:0},mil:{$:0},hashbang:{$:0},platform:{"*":{$:0}},wedeploy:{$:0},now:{$:0}},si:{$:0,blogspot:{$:0},nom:{$:0}},sj:{$:0},sk:{$:0,blogspot:{$:0},nym:{$:0}},sl:{$:0,com:{$:0},net:{$:0},edu:{$:0},gov:{$:0},org:{$:0}},sm:{$:0},sn:{$:0,art:{$:0},com:{$:0},edu:{$:0},gouv:{$:0},org:{$:0},perso:{$:0},univ:{$:0},blogspot:{$:0}},so:{$:0,com:{$:0}
736,net:{$:0},org:{$:0}},sr:{$:0},st:{$:0,co:{$:0},com:{$:0},consulado:{$:0},edu:{$:0},embaixada:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},principe:{$:0},saotome:{$:0},store:{$:0}},su:{$:0,abkhazia:{$:0},adygeya:{$:0},aktyubinsk:{$:0},arkhangelsk:{$:0},armenia:{$:0},ashgabad:{$:0},azerbaijan:{$:0},balashov:{$:0},bashkiria:{$:0},bryansk:{$:0},bukhara:{$:0},chimkent:{$:0},dagestan:{$:0},"east-kazakhstan":{$:0},exnet:{$:0},georgia:{$:0},grozny:{$:0},ivanovo:{$:0},jambyl:{$:0},kalmykia:{$:0},kaluga:{$:0},karacol:{$:0},karaganda:{$:0},karelia:{$:0},khakassia:{$:0},krasnodar:{$:0},kurgan:{$:0},kustanai:{$:0},lenug:{$:0},mangyshlak:{$:0},mordovia:{$:0},msk:{$:0},murmansk:{$:0},nalchik:{$:0},navoi:{$:0},"north-kazakhstan":{$:0},nov:{$:0},obninsk:{$:0},penza:{$:0},pokrovsk:{$:0},sochi:{$:0},spb:{$:0},tashkent:{$:0},termez:{$:0},togliatti:{$:0},troitsk:{$:0},tselinograd:{$:0},tula:{$:0},tuva:{$:0},vladikavkaz:{$:0},vladimir:{$:0},vologda:{$:0},nym:{$:0}},sv:{$:0,com:{$:0},edu:{$:0},gob:{$:0},org:{$:0},red:{$:0}},sx:{$:0,gov:{$:0},nym:{$:0}},sy:{$:0,edu:{$:0},gov:{$:0},net:{$:0},mil:{$:0},com:{$:0},org:{$:0}},sz:{$:0,co:{$:0},ac:{$:0},org:{$:0}},tc:{$:0},td:{$:0,blogspot:{$:0}},tel:{$:0},tf:{$:0},tg:{$:0},th:{$:0,ac:{$:0},co:{$:0},go:{$:0},in:{$:0},mi:{$:0},net:{$:0},or:{$:0}},tj:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},go:{$:0},gov:{$:0},int:{$:0},mil:{$:0},name:{$:0},net:{$:0},nic:{$:0},org:{$:0},test:{$:0},web:{$:0}},tk:{$:0},tl:{$:0,gov:{$:0}},tm:{$:0,com:{$:0},co:{$:0},org:{$:0}
vendor: 4,105 bytes, line 736
736,net:{$:0},nom:{$:0},gov:{$:0},mil:{$:0},edu:{$:0}},tn:{$:0,com:{$:0},ens:{$:0},fin:{$:0},gov:{$:0},ind:{$:0},intl:{$:0},nat:{$:0},net:{$:0},org:{$:0},info:{$:0},perso:{$:0},tourism:{$:0},edunet:{$:0},rnrt:{$:0},rns:{$:0},rnu:{$:0},mincom:{$:0},agrinet:{$:0},defense:{$:0},turen:{$:0}},to:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0},mil:{$:0},vpnplus:{$:0}},tr:{$:0,com:{$:0,blogspot:{$:0}},info:{$:0},biz:{$:0},net:{$:0},org:{$:0},web:{$:0},gen:{$:0},tv:{$:0},av:{$:0},dr:{$:0},bbs:{$:0},name:{$:0},tel:{$:0},gov:{$:0},bel:{$:0},pol:{$:0},mil:{$:0},k12:{$:0},edu:{$:0},kep:{$:0},nc:{$:0,gov:{$:0}}},travel:{$:0},tt:{$:0,co:{$:0},com:{$:0},org:{$:0},net:{$:0},biz:{$:0},info:{$:0},pro:{$:0},int:{$:0},coop:{$:0},jobs:{$:0},mobi:{$:0},travel:{$:0},museum:{$:0},aero:{$:0},name:{$:0},gov:{$:0},edu:{$:0}},tv:{$:0,dyndns:{$:0},"better-than":{$:0},"on-the-web":{$:0},"worse-than":{$:0}},tw:{$:0,edu:{$:0},gov:{$:0},mil:{$:0},com:{$:0,mymailer:{$:0}},net:{$:0},org:{$:0},idv:{$:0},game:{$:0},ebiz:{$:0},club:{$:0},"xn--zf0ao64a":{$:0},"xn--uc0atv":{$:0},"xn--czrw28b":{$:0},url:{$:0},blogspot:{$:0},nym:{$:0}},tz:{$:0,ac:{$:0},co:{$:0},go:{$:0},hotel:{$:0},info:{$:0},me:{$:0},mil:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0},tv:{$:0}},ua:{$:0,com:{$:0},edu:{$:0},gov:{$:0},in:{$:0},net:{$:0},org:{$:0},cherkassy:{$:0},cherkasy:{$:0},chernigov:{$:0},chernihiv:{$:0},chernivtsi:{$:0},chernovtsy:{$:0},ck:{$:0},cn:{$:0},cr:{$:0},crimea:{$:0},cv:{$:0},dn:{$:0},dnepropetrovsk:{$:0},dnipropetrovsk:{$:0},dominic:{$:0},donetsk:{$:0},dp:{$:0},if:{$:0},"ivano-frankivsk":{$:0},kh:{$:0},kharkiv:{$:0},kharkov:{$:0},kherson:{$:0},khmelnitskiy:{$:0},khmelnytskyi:{$:0},kiev:{$:0},kirovograd:{$:0},km:{$:0},kr:{$:0},krym:{$:0},ks:{$:0},kv:{$:0},kyiv:{$:0},lg:{$:0},lt:{$:0},lugansk:{$:0},lutsk:{$:0},lv:{$:0},lviv:{$:0},mk:{$:0},mykolaiv:{$:0},nikolaev:{$:0},od:{$:0},odesa:{$:0},odessa:{$:0},pl:{$:0},poltava:{$:0},rivne:{$:0},rovno:{$:0},rv:{$:0},sb:{$:0},sebastopol:{$:0},sevastopol:{$:0},sm:{$:0},sumy:{$:0},te:{$:0},ternopil:{$:0},uz:{$:0},uzhgorod:{$:0},vinnica:{$:0},vinnytsia:{$:0},vn:{$:0},volyn:{$:0},yalta:{$:0},zaporizhzhe:{$:0},zaporizhzhia:{$:0},zhitomir:{$:0},zhytomyr:{$:0},zp:{$:0},zt:{$:0},cc:{$:0},inf:{$:0},ltd:{$:0},biz:{$:0},co:{$:0},pp:{$:0}},ug:{$:0,co:{$:0},or:{$:0},ac:{$:0},sc:{$:0},go:{$:0},ne:{$:0},com:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},uk:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0},"nh-serv":{$:0},"no-ip":{$:0},wellbeingzone:{$:0}},gov:{$:0,service:{$:0},homeoffice:{$:0}},ltd:{$:0},me:{$:0},net:{$:0},nhs:{$:0},org:{$:0},plc:{$:0},police:{$:0},sch:{"*":{$:0}}},us:{$:0,dni:{$:0},fed:{$:0},isa:{$:0},kids:{$:0},nsn:{$:0},ak:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},al:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ar:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},as:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},az:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ca:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},co:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ct:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},dc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},de:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},fl:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ga:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},gu:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},hi:{$:0,cc:{$:0},lib:{$:0}},ia:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},id:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},il:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},in:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ks:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ky:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},la:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ma:{$:0,k12:{$:0,pvt:{$:0},chtr:{$:0},paroch:{$:0}},cc:{$:0},lib:{$:0}},md:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},me:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0},"ann-arbor":{$:0},cog:{$:0},dst:{$:0},eaton:{$:0},gen:{$:0},mus:{$:0},tec:{$:0},washtenaw:{$:0}},mn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mo:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ms:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nd:{$:0,cc:{$:0},lib:{$:0}},ne:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nj:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nm:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nv:{$:0,k12:{$:0}
736,cc:{$:0},lib:{$:0}},ny:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},oh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ok:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},or:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pr:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ri:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sd:{$:0,cc:{$:0},lib:{$:0}},tn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},tx:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ut:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},va:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wv:{$:0,cc:{$:0}},wy:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},cloudns:{$:0},drud:{$:0},"is-by":{$:0},"land-4-sale":{$:0},"stuff-4-sale":{$:0},golffan:{$:0},noip:{$:0},pointto:{$:0}},uy:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gub:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},uz:{$:0,co:{$:0},com:{$:0},net:{$:0},org:{$:0}},va:{$:0},vc:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},mil:{$:0},edu:{$:0},nom:{$:0}},ve:{$:0,arts:{$:0},co:{$:0},com:{$:0},e12:{$:0},edu:{$:0},firm:{$:0},gob:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0}
vendor: 2,204 bytes, line 736
736,net:{$:0},org:{$:0},rec:{$:0},store:{$:0},tec:{$:0},web:{$:0}},vg:{$:0,nom:{$:0}},vi:{$:0,co:{$:0},com:{$:0},k12:{$:0},net:{$:0},org:{$:0}},vn:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},int:{$:0},ac:{$:0},biz:{$:0},info:{$:0},name:{$:0},pro:{$:0},health:{$:0},blogspot:{$:0}},vu:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},wf:{$:0},ws:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},advisor:{"*":{$:0}},dyndns:{$:0},mypets:{$:0}},yt:{$:0},"xn--mgbaam7a8h":{$:0},"xn--y9a3aq":{$:0},"xn--54b7fta0cc":{$:0},"xn--90ae":{$:0},"xn--90ais":{$:0},"xn--fiqs8s":{$:0},"xn--fiqz9s":{$:0},"xn--lgbbat1ad8j":{$:0},"xn--wgbh1c":{$:0},"xn--e1a4c":{$:0},"xn--node":{$:0},"xn--qxam":{$:0},"xn--j6w193g":{$:0},"xn--2scrj9c":{$:0},"xn--3hcrj9c":{$:0},"xn--45br5cyl":{$:0},"xn--h2breg3eve":{$:0},"xn--h2brj9c8c":{$:0},"xn--mgbgu82a":{$:0},"xn--rvc1e0am3e":{$:0},"xn--h2brj9c":{$:0},"xn--mgbbh1a71e":{$:0},"xn--fpcrj9c3d":{$:0},"xn--gecrj9c":{$:0},"xn--s9brj9c":{$:0},"xn--45brj9c":{$:0},"xn--xkc2dl3a5ee0h":{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0},"xn--mgbtx2b":{$:0},"xn--mgbayh7gpa":{$:0},"xn--3e0b707e":{$:0},"xn--80ao21a":{$:0},"xn--fzc2c9e2c":{$:0},"xn--xkc2al3hye2a":{$:0},"xn--mgbc0a9azcg":{$:0},"xn--d1alf":{$:0},"xn--l1acc":{$:0},"xn--mix891f":{$:0},"xn--mix082f":{$:0},"xn--mgbx4cd0ab":{$:0},"xn--mgb9awbf":{$:0},"xn--mgbai9azgqp6j":{$:0},"xn--mgbai9a5eva00b":{$:0},"xn--ygbi2ammx":{$:0},"xn--90a3ac":{$:0,"xn--o1ac":{$:0},"xn--c1avg":{$:0},"xn--90azh":{$:0},"xn--d1at":{$:0},"xn--o1ach":{$:0},"xn--80au":{$:0}},"xn--p1ai":{$:0},"xn--wgbl6a":{$:0},"xn--mgberp4a5d4ar":{$:0},"xn--mgberp4a5d4a87g":{$:0},"xn--mgbqly7c0a67fbc":{$:0},"xn--mgbqly7cvafr":{$:0},"xn--mgbpl2fh":{$:0},"xn--yfro4i67o":{$:0},"xn--clchc0ea0b2g2a9gcd":{$:0},"xn--ogbpf8fl":{$:0},"xn--mgbtf8fl":{$:0},"xn--o3cw4h":{$:0,"xn--12c1fe0br":{$:0},"xn--12co0c3b4eva":{$:0},"xn--h3cuzk1di":{$:0},"xn--o3cyx2a":{$:0},"xn--m3ch0j3a":{$:0},"xn--12cfi8ixb8l":{$:0}},"xn--pgbs0dh":{$:0},"xn--kpry57d":{$:0},"xn--kprw13d":{$:0},"xn--nnx388a":{$:0},"xn--j1amh":{$:0},"xn--mgb2ddes":{$:0},xxx:{$:0},ye:{"*":{$:0}},za:{ac:{$:0},agric:{$:0},alt:{$:0},co:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},grondar:{$:0},law:{$:0},mil:{$:0}
736,net:{$:0},ngo:{$:0},nis:{$:0},nom:{$:0},org:{$:0},school:{$:0},tm:{$:0},web:{$:0}},zm:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},mil:{$:0},net:{$:0},org:{$:0},sch:{$:0}},zw:{$:0,ac:{$:0},co:{$:0},gov:{$:0},mil:{$:0},org:{$:0}},aaa:{$:0},aarp:{$:0},abarth:{$:0},abb:{$:0},abbott:{$:0},abbvie:{$:0},abc:{$:0},able:{$:0},abogado:{$:0},abudhabi:{$:0},academy:{$:0},accenture:{$:0},accountant:{$:0},accountants:{$:0},aco:{$:0},active:{$:0},actor:{$:0},adac:{$:0},ads:{$:0},adult:{$:0},aeg:{$:0},aetna:{$:0},afamilycompany:{$:0},afl:{$:0},africa:{$:0},agakhan:{$:0},agency:{$:0},aig:{$:0},aigo:{$:0},airbus:{$:0},airforce:{$:0},airtel:{$:0},akdn:{$:0},alfaromeo:{$:0},alibaba:{$:0},alipay:{$:0},allfinanz:{$:0},allstate:{$:0},ally:{$:0},alsace:{$:0},alstom:{$:0},americanexpress:{$:0},americanfamily:{$:0},amex:{$:0},amfam:{$:0},amica:{$:0},amsterdam:{$:0},analytics:{$:0},android:{$:0},anquan:{$:0},anz:{$:0},aol:{$:0},apartments:{$:0},app:{$:0},apple:{$:0},aquarelle:{$:0},arab:{$:0},aramco:{$:0},archi:{$:0},army:{$:0},art:{$:0},arte:{$:0},asda:{$:0},associates:{$:0},athleta:{$:0},attorney:{$:0},auction:{$:0},audi:{$:0},audible:{$:0},audio:{$:0},auspost:{$:0},author:{$:0},auto:{$:0},autos:{$:0},avianca:{$:0},aws:{$:0},axa:{$:0},azure:{$:0},baby:{$:0},baidu:{$:0},banamex:{$:0},bananarepublic:{$:0},band:{$:0},bank:{$:0},bar:{$:0},barcelona:{$:0},barclaycard:{$:0},barclays:{$:0},barefoot:{$:0},bargains:{$:0},baseball:{$:0},basketball:{$:0},bauhaus:{$:0},bayern:{$:0},bbc:{$:0},bbt:{$:0},bbva:{$:0},bcg:{$:0},bcn:{$:0},beats:{$:0},beauty:{$:0},beer:{$:0},bentley:{$:0},berlin:{$:0},best:{$:0},bestbuy:{$:0},bet:{$:0},bharti:{$:0},bible:{$:0},bid:{$:0},bike:{$:0},bing:{$:0},bingo:{$:0},bio:{$:0},black:{$:0},blackfriday:{$:0},blanco:{$:0},blockbuster:{$:0},blog:{$:0},bloomberg:{$:0},blue:{$:0},bms:{$:0},bmw:{$:0},bnl:{$:0},bnpparibas:{$:0},boats:{$:0},boehringer:{$:0},bofa:{$:0},bom:{$:0},bond:{$:0},boo:{$:0},book:{$:0},booking:{$:0},boots:{$:0},bosch:{$:0},bostik:{$:0},boston:{$:0},bot:{$:0},boutique:{$:0},box:{$:0},bradesco:{$:0},bridgestone:{$:0},broadway:{$:0},broker:{$:0},brother:{$:0},brussels:{$:0},budapest:{$:0},bugatti:{$:0},build:{$:0},builders:{$:0},business:{$:0},buy:{$:0},buzz:{$:0},bzh:{$:0},cab:{$:0},cafe:{$:0},cal:{$:0},call:{$:0},calvinklein:{$:0},cam:{$:0},camera:{$:0},camp:{$:0},cancerresearch:{$:0},canon:{$:0},capetown:{$:0},capital:{$:0},capitalone:{$:0},car:{$:0},caravan:{$:0},cards:{$:0},care:{$:0},career:{$:0},careers:{$:0},cars:{$:0},cartier:{$:0},casa:{$:0},case:{$:0},caseih:{$:0},cash:{$:0},casino:{$:0},catering:{$:0},catholic:{$:0},cba:{$:0},cbn:{$:0},cbre:{$:0},cbs:{$:0},ceb:{$:0},center:{$:0},ceo:{$:0},cern:{$:0},cfa:{$:0},cfd:{$:0},chanel:{$:0},channel:{$:0},chase:{$:0},chat:{$:0},cheap:{$:0},chintai:{$:0},christmas:{$:0},chrome:{$:0},chrysler:{$:0},church:{$:0},cipriani:{$:0},circle:{$:0},cisco:{$:0},citadel:{$:0},citi:{$:0},citic:{$:0},city:{$:0},cityeats:{$:0},claims:{$:0},cleaning:{$:0},click:{$:0},clinic:{$:0},clinique:{$:0},clothing:{$:0},cloud:{$:0,statics:{"*":{$:0}},magentosite:{"*":{$:0}},vapor:{$:0},sensiosite:{"*":{$:0}},trafficplex:{$:0}},club:{$:0,cloudns:{$:0}},clubmed:{$:0},coach:{$:0},codes:{$:0},coffee:{$:0},college:{$:0},cologne:{$:0},comcast:{$:0},commbank:{$:0},community:{$:0},company:{$:0},compare:{$:0},computer:{$:0},comsec:{$:0},condos:{$:0},construction:{$:0},consulting:{$:0},contact:{$:0},contractors:{$:0},cooking:{$:0},cookingchannel:{$:0},cool:{$:0,de:{$:0}},corsica:{$:0},country:{$:0},coupon:{$:0},coupons:{$:0},courses:{$:0},credit:{$:0},creditcard:{$:0},creditunion:{$:0},cricket:{$:0},crown:{$:0},crs:{$:0},cruise:{$:0},cruises:{$:0},csc:{$:0},cuisinella:{$:0},cymru:{$:0},cyou:{$:0},dabur:{$:0},dad:{$:0},dance:{$:0},data:{$:0},date:{$:0},dating:{$:0},datsun:{$:0},day:{$:0},dclk:{$:0},dds:{$:0},deal:{$:0},dealer:{$:0},deals:{$:0},degree:{$:0},delivery:{$:0},dell:{$:0},deloitte:{$:0},delta:{$:0},democrat:{$:0},dental:{$:0},dentist:{$:0},desi:{$:0},design:{$:0},dev:{$:0},dhl:{$:0},diamonds:{$:0},diet:{$:0},digital:{$:0},direct:{$:0},directory:{$:0},discount:{$:0},discover:{$:0},dish:{$:0},diy:{$:0},dnp:{$:0},docs:{$:0},doctor:{$:0},dodge:{$:0},dog:{$:0},doha:{$:0},domains:{$:0},dot:{$:0},download:{$:0},drive:{$:0},dtv:{$:0},dubai:{$:0},duck:{$:0},dunlop:{$:0},duns:{$:0},dupont:{$:0},durban:{$:0},dvag:{$:0},dvr:{$:0},earth:{$:0},eat:{$:0},eco:{$:0},edeka:{$:0},education:{$:0},email:{$:0},emerck:{$:0},energy:{$:0},engineer:{$:0},engineering:{$:0},enterprises:{$:0},epost:{$:0},epson:{$:0},equipment:{$:0},ericsson:{$:0},erni:{$:0},esq:{$:0},estate:{$:0,compute:{"*":{$:0}}},esurance:{$:0},etisalat:{$:0},eurovision:{$:0},eus:{$:0,party:{user:{$:0}}},events:{$:0},everbank:{$:0}
736,exchange:{$:0},expert:{$:0},exposed:{$:0},express:{$:0},extraspace:{$:0},fage:{$:0},fail:{$:0},fairwinds:{$:0},faith:{$:0,ybo:{$:0}},family:{$:0},fan:{$:0},fans:{$:0},farm:{$:0,storj:{$:0}},farmers:{$:0},fashion:{$:0},fast:{$:0},fedex:{$:0},feedback:{$:0},ferrari:{$:0},ferrero:{$:0},fiat:{$:0},fidelity:{$:0},fido:{$:0},film:{$:0},final:{$:0},finance:{$:0},financial:{$:0},fire:{$:0},firestone:{$:0},firmdale:{$:0},fish:{$:0},fishing:{$:0},fit:{$:0,ptplus:{$:0}},fitness:{$:0},flickr:{$:0},flights:{$:0},flir:{$:0},florist:{$:0},flowers:{$:0},fly:{$:0},foo:{$:0},food:{$:0},foodnetwork:{$:0},football:{$:0},ford:{$:0},forex:{$:0},forsale:{$:0},forum:{$:0},foundation:{$:0},fox:{$:0},free:{$:0},fresenius:{$:0},frl:{$:0},frogans:{$:0},frontdoor:{$:0},frontier:{$:0},ftr:{$:0},fujitsu:{$:0},fujixerox:{$:0},fun:{$:0},fund:{$:0},furniture:{$:0},futbol:{$:0},fyi:{$:0},gal:{$:0},gallery:{$:0},gallo:{$:0},gallup:{$:0},game:{$:0},games:{$:0},gap:{$:0},garden:{$:0},gbiz:{$:0},gdn:{$:0},gea:{$:0},gent:{$:0},genting:{$:0},george:{$:0},ggee:{$:0},gift:{$:0},gifts:{$:0},gives:{$:0},giving:{$:0},glade:{$:0},glass:{$:0},gle:{$:0},global:{$:0},globo:{$:0},gmail:{$:0},gmbh:{$:0},gmo:{$:0},gmx:{$:0},godaddy:{$:0},gold:{$:0},goldpoint:{$:0},golf:{$:0},goo:{$:0},goodhands:{$:0},goodyear:{$:0},goog:{$:0,cloud:{$:0}},google:{$:0},gop:{$:0},got:{$:0},grainger:{$:0},graphics:{$:0},gratis:{$:0},green:{$:0},gripe:{$:0},grocery:{$:0},group:{$:0},guardian:{$:0},gucci:{$:0},guge:{$:0},guide:{$:0},guitars:{$:0},guru:{$:0},hair:{$:0},hamburg:{$:0},hangout:{$:0},haus:{$:0},hbo:{$:0},hdfc:{$:0},hdfcbank:{$:0},health:{$:0},healthcare:{$:0},help:{$:0},helsinki:{$:0},here:{$:0},hermes:{$:0},hgtv:{$:0},hiphop:{$:0},hisamitsu:{$:0},hitachi:{$:0},hiv:{$:0},hkt:{$:0},hockey:{$:0},holdings:{$:0},holiday:{$:0},homedepot:{$:0},homegoods:{$:0},homes:{$:0},homesense:{$:0},honda:{$:0},honeywell:{$:0},horse:{$:0},hospital:{$:0},host:{$:0,cloudaccess:{$:0},freesite:{$:0}},hosting:{$:0,opencraft:{$:0}},hot:{$:0},hoteles:{$:0},hotels:{$:0},hotmail:{$:0},house:{$:0},how:{$:0},hsbc:{$:0},hughes:{$:0},hyatt:{$:0},hyundai:{$:0},ibm:{$:0},icbc:{$:0},ice:{$:0},icu:{$:0},ieee:{$:0},ifm:{$:0},ikano:{$:0},imamat:{$:0},imdb:{$:0},immo:{$:0},immobilien:{$:0},industries:{$:0},infiniti:{$:0},ing:{$:0},ink:{$:0},institute:{$:0},insurance:{$:0},insure:{$:0},intel:{$:0},international:{$:0},intuit:{$:0},investments:{$:0},ipiranga:{$:0},irish:{$:0},iselect:{$:0},ismaili:{$:0},ist:{$:0},istanbul:{$:0},itau:{$:0},itv:{$:0},iveco:{$:0},iwc:{$:0},jaguar:{$:0},java:{$:0},jcb:{$:0},jcp:{$:0},jeep:{$:0},jetzt:{$:0},jewelry:{$:0},jio:{$:0},jlc:{$:0},jll:{$:0},jmp:{$:0},jnj:{$:0},joburg:{$:0},jot:{$:0},joy:{$:0},jpmorgan:{$:0},jprs:{$:0},juegos:{$:0},juniper:{$:0},kaufen:{$:0},kddi:{$:0},kerryhotels:{$:0},kerrylogistics:{$:0},kerryproperties:{$:0},kfh:{$:0},kia:{$:0},kim:{$:0},kinder:{$:0},kindle:{$:0},kitchen:{$:0},kiwi:{$:0},koeln:{$:0},komatsu:{$:0},kosher:{$:0},kpmg:{$:0},kpn:{$:0},krd:{$:0,co:{$:0},edu:{$:0}},kred:{$:0},kuokgroup:{$:0},kyoto:{$:0},lacaixa:{$:0},ladbrokes:{$:0},lamborghini:{$:0},lamer:{$:0},lancaster:{$:0},lancia:{$:0},lancome:{$:0},land:{$:0,static:{$:0,dev:{$:0},sites:{$:0}}},landrover:{$:0},lanxess:{$:0},lasalle:{$:0},lat:{$:0},latino:{$:0},latrobe:{$:0},law:{$:0},lawyer:{$:0},lds:{$:0},lease:{$:0},leclerc:{$:0},lefrak:{$:0},legal:{$:0},lego:{$:0},lexus:{$:0},lgbt:{$:0},liaison:{$:0},lidl:{$:0},life:{$:0},lifeinsurance:{$:0},lifestyle:{$:0},lighting:{$:0},like:{$:0},lilly:{$:0},limited:{$:0},limo:{$:0},lincoln:{$:0},linde:{$:0},link:{$:0,cyon:{$:0},mypep:{$:0}},lipsy:{$:0},live:{$:0},living:{$:0},lixil:{$:0},loan:{$:0},loans:{$:0},locker:{$:0},locus:{$:0},loft:{$:0},lol:{$:0},london:{$:0},lotte:{$:0},lotto:{$:0},love:{$:0},lpl:{$:0},lplfinancial:{$:0},ltd:{$:0},ltda:{$:0},lundbeck:{$:0},lupin:{$:0},luxe:{$:0},luxury:{$:0},macys:{$:0},madrid:{$:0},maif:{$:0},maison:{$:0},makeup:{$:0},man:{$:0},management:{$:0,router:{$:0}},mango:{$:0},map:{$:0},market:{$:0},marketing:{$:0},markets:{$:0},marriott:{$:0},marshalls:{$:0},maserati:{$:0},mattel:{$:0},mba:{$:0},mckinsey:{$:0},med:{$:0},media:{$:0},meet:{$:0},melbourne:{$:0},meme:{$:0},memorial:{$:0},men:{$:0},menu:{$:0},meo:{$:0},merckmsd:{$:0},metlife:{$:0},miami:{$:0},microsoft:{$:0},mini:{$:0},mint:{$:0},mit:{$:0},mitsubishi:{$:0},mlb:{$:0},mls:{$:0},mma:{$:0},mobile:{$:0},mobily:{$:0},moda:{$:0},moe:{$:0},moi:{$:0},mom:{$:0},monash:{$:0},money:{$:0},monster:{$:0},mopar:{$:0},mormon:{$:0},mortgage:{$:0},moscow:{$:0},moto:{$:0},motorcycles:{$:0},mov:{$:0},movie:{$:0},movistar:{$:0},msd:{$:0},mtn:{$:0},mtpc:{$:0},mtr:{$:0},mutual:{$:0},nab:{$:0},nadex:{$:0},nagoya:{$:0},nationwide:{$:0},natura:{$:0},navy:{$:0},nba:{$:0},nec:{$:0},netbank:{$:0},netflix:{$:0},network:{$:0,alces:{"*":{$:0}}},neustar:{$:0},new:{$:0},newholland:{$:0},news:{$:0},next:{$:0},nextdirect:{$:0},nexus:{$:0},nfl:{$:0},ngo:{$:0}
736,nhk:{$:0},nico:{$:0},nike:{$:0},nikon:{$:0},ninja:{$:0},nissan:{$:0},nissay:{$:0},nokia:{$:0},northwesternmutual:{$:0},norton:{$:0},now:{$:0},nowruz:{$:0},nowtv:{$:0},nra:{$:0},nrw:{$:0},ntt:{$:0},nyc:{$:0},obi:{$:0},observer:{$:0},off:{$:0},office:{$:0},okinawa:{$:0},olayan:{$:0},olayangroup:{$:0},oldnavy:{$:0},ollo:{$:0},omega:{$:0},one:{$:0,homelink:{$:0}},ong:{$:0},onl:{$:0},online:{$:0,barsy:{$:0}},onyourside:{$:0},ooo:{$:0},open:{$:0},oracle:{$:0},orange:{$:0},organic:{$:0},origins:{$:0},osaka:{$:0},otsuka:{$:0},ott:{$:0},ovh:{$:0,nerdpol:{$:0}},page:{$:0},panasonic:{$:0},panerai:{$:0},paris:{$:0},pars:{$:0},partners:{$:0},parts:{$:0},party:{$:0,ybo:{$:0}},passagens:{$:0},pay:{$:0},pccw:{$:0},pet:{$:0},pfizer:{$:0},pharmacy:{$:0},phd:{$:0},philips:{$:0},phone:{$:0},photo:{$:0},photography:{$:0},photos:{$:0},physio:{$:0},piaget:{$:0},pics:{$:0},pictet:{$:0},pictures:{1337:{$:0},$:0},pid:{$:0},pin:{$:0},ping:{$:0},pink:{$:0},pioneer:{$:0},pizza:{$:0},place:{$:0},play:{$:0},playstation:{$:0},plumbing:{$:0},plus:{$:0},pnc:{$:0},pohl:{$:0},poker:{$:0},politie:{$:0},porn:{$:0},pramerica:{$:0},praxi:{$:0},press:{$:0},prime:{$:0},prod:{$:0},productions:{$:0},prof:{$:0},progressive:{$:0},promo:{$:0},properties:{$:0},property:{$:0},protection:{$:0},pru:{$:0},prudential:{$:0},pub:{$:0},pwc:{$:0},qpon:{$:0},quebec:{$:0},quest:{$:0},qvc:{$:0},racing:{$:0},radio:{$:0},raid:{$:0},read:{$:0},realestate:{$:0},realtor:{$:0},realty:{$:0},recipes:{$:0},red:{$:0},redstone:{$:0},redumbrella:{$:0},rehab:{$:0},reise:{$:0},reisen:{$:0},reit:{$:0},reliance:{$:0},ren:{$:0},rent:{$:0},rentals:{$:0},repair:{$:0},report:{$:0},republican:{$:0},rest:{$:0},restaurant:{$:0},review:{$:0,ybo:{$:0}},reviews:{$:0},rexroth:{$:0},rich:{$:0},richardli:{$:0},ricoh:{$:0},rightathome:{$:0},ril:{$:0},rio:{$:0},rip:{$:0,clan:{$:0}},rmit:{$:0},rocher:{$:0},rocks:{$:0,myddns:{$:0},"lima-city":{$:0},webspace:{$:0}},rodeo:{$:0},rogers:{$:0},room:{$:0},rsvp:{$:0},rugby:{$:0},ruhr:{$:0},run:{$:0},rwe:{$:0},ryukyu:{$:0},saarland:{$:0},safe:{$:0},safety:{$:0},sakura:{$:0},sale:{$:0},salon:{$:0},samsclub:{$:0},samsung:{$:0},sandvik:{$:0},sandvikcoromant:{$:0},sanofi:{$:0},sap:{$:0},sapo:{$:0},sarl:{$:0},sas:{$:0},save:{$:0},saxo:{$:0},sbi:{$:0},sbs:{$:0},sca:{$:0},scb:{$:0},schaeffler:{$:0},schmidt:{$:0},scholarships:{$:0},school:{$:0},schule:{$:0},schwarz:{$:0},science:{$:0,ybo:{$:0}},scjohnson:{$:0},scor:{$:0},scot:{$:0},search:{$:0},seat:{$:0},secure:{$:0},security:{$:0},seek:{$:0},select:{$:0},sener:{$:0},services:{$:0},ses:{$:0},seven:{$:0},sew:{$:0},sex:{$:0},sexy:{$:0},sfr:{$:0},shangrila:{$:0},sharp:{$:0},shaw:{$:0},shell:{$:0},shia:{$:0},shiksha:{$:0},shoes:{$:0},shop:{$:0},shopping:{$:0},shouji:{$:0},show:{$:0},showtime:{$:0},shriram:{$:0},silk:{$:0},sina:{$:0},singles:{$:0},site:{$:0,cyon:{$:0},platformsh:{"*":{$:0}},byen:{$:0}},ski:{$:0},skin:{$:0},sky:{$:0},skype:{$:0},sling:{$:0},smart:{$:0},smile:{$:0},sncf:{$:0},soccer:{$:0},social:{$:0},softbank:{$:0},software:{$:0},sohu:{$:0},solar:{$:0},solutions:{$:0},song:{$:0},sony:{$:0},soy:{$:0},space:{$:0,stackspace:{$:0},uber:{$:0},xs4all:{$:0}},spiegel:{$:0},spot:{$:0},spreadbetting:{$:0},srl:{$:0},srt:{$:0},stada:{$:0},staples:{$:0},star:{$:0},starhub:{$:0},statebank:{$:0},statefarm:{$:0},statoil:{$:0},stc:{$:0},stcgroup:{$:0},stockholm:{$:0},storage:{$:0},store:{$:0},stream:{$:0},studio:{$:0},study:{$:0},style:{$:0},sucks:{$:0},supplies:{$:0},supply:{$:0},support:{$:0,barsy:{$:0}},surf:{$:0},surgery:{$:0},suzuki:{$:0},swatch:{$:0},swiftcover:{$:0},swiss:{$:0},sydney:{$:0},symantec:{$:0},systems:{$:0,knightpoint:{$:0}},tab:{$:0},taipei:{$:0},talk:{$:0},taobao:{$:0},target:{$:0},tatamotors:{$:0},tatar:{$:0},tattoo:{$:0},tax:{$:0},taxi:{$:0},tci:{$:0},tdk:{$:0},team:{$:0},tech:{$:0},technology:{$:0},telecity:{$:0},telefonica:{$:0},temasek:{$:0},tennis:{$:0},teva:{$:0},thd:{$:0},theater:{$:0},theatre:{$:0},tiaa:{$:0},tickets:{$:0},tienda:{$:0},tiffany:{$:0},tips:{$:0},tires:{$:0},tirol:{$:0},tjmaxx:{$:0},tjx:{$:0},tkmaxx:{$:0},tmall:{$:0},today:{$:0},tokyo:{$:0},tools:{$:0},top:{$:0},toray:{$:0},toshiba:{$:0},total:{$:0},tours:{$:0},town:{$:0},toyota:{$:0},toys:{$:0},trade:{$:0,ybo:{$:0}},trading:{$:0},training:{$:0},travelchannel:{$:0},travelers:{$:0},travelersinsurance:{$:0},trust:{$:0},trv:{$:0},tube:{$:0},tui:{$:0},tunes:{$:0},tushu:{$:0},tvs:{$:0},ubank:{$:0},ubs:{$:0},uconnect:{$:0},unicom:{$:0},university:{$:0},uno:{$:0},uol:{$:0}
736,ups:{$:0},vacations:{$:0},vana:{$:0},vanguard:{$:0},vegas:{$:0},ventures:{$:0},verisign:{$:0},versicherung:{$:0},vet:{$:0},viajes:{$:0},video:{$:0},vig:{$:0},viking:{$:0},villas:{$:0},vin:{$:0},vip:{$:0},virgin:{$:0},visa:{$:0},vision:{$:0},vista:{$:0},vistaprint:{$:0},viva:{$:0},vivo:{$:0},vlaanderen:{$:0},vodka:{$:0},volkswagen:{$:0},volvo:{$:0},vote:{$:0},voting:{$:0},voto:{$:0},voyage:{$:0},vuelos:{$:0},wales:{$:0},walmart:{$:0},walter:{$:0},wang:{$:0},wanggou:{$:0},warman:{$:0},watch:{$:0},watches:{$:0},weather:{$:0},weatherchannel:{$:0},webcam:{$:0},weber:{$:0},website:{$:0},wed:{$:0},wedding:{$:0},weibo:{$:0},weir:{$:0},whoswho:{$:0},wien:{$:0},wiki:{$:0},williamhill:{$:0},win:{$:0},windows:{$:0},wine:{$:0},winners:{$:0},wme:{$:0},wolterskluwer:{$:0},woodside:{$:0},work:{$:0},works:{$:0},world:{$:0},wow:{$:0},wtc:{$:0},wtf:{$:0},xbox:{$:0},xerox:{$:0},xfinity:{$:0},xihuan:{$:0},xin:{$:0},"xn--11b4c3d":{$:0},"xn--1ck2e1b":{$:0},"xn--1qqw23a":{$:0},"xn--30rr7y":{$:0},"xn--3bst00m":{$:0},"xn--3ds443g":{$:0},"xn--3oq18vl8pn36a":{$:0},"xn--3pxu8k":{$:0},"xn--42c2d9a":{$:0},"xn--45q11c":{$:0},"xn--4gbrim":{$:0},"xn--55qw42g":{$:0},"xn--55qx5d":{$:0},"xn--5su34j936bgsg":{$:0},"xn--5tzm5g":{$:0},"xn--6frz82g":{$:0},"xn--6qq986b3xl":{$:0},"xn--80adxhks":{$:0},"xn--80aqecdr1a":{$:0},"xn--80asehdb":{$:0},"xn--80aswg":{$:0},"xn--8y0a063a":{$:0},"xn--9dbq2a":{$:0},"xn--9et52u":{$:0},"xn--9krt00a":{$:0},"xn--b4w605ferd":{$:0},"xn--bck1b9a5dre4c":{$:0},"xn--c1avg":{$:0},"xn--c2br7g":{$:0},"xn--cck2b3b":{$:0},"xn--cg4bki":{$:0},"xn--czr694b":{$:0},"xn--czrs0t":{$:0},"xn--czru2d":{$:0},"xn--d1acj3b":{$:0},"xn--eckvdtc9d":{$:0},"xn--efvy88h":{$:0},"xn--estv75g":{$:0},"xn--fct429k":{$:0},"xn--fhbei":{$:0},"xn--fiq228c5hs":{$:0},"xn--fiq64b":{$:0},"xn--fjq720a":{$:0},"xn--flw351e":{$:0},"xn--fzys8d69uvgm":{$:0},"xn--g2xx48c":{$:0},"xn--gckr3f0f":{$:0},"xn--gk3at1e":{$:0},"xn--hxt814e":{$:0},"xn--i1b6b1a6a2e":{$:0},"xn--imr513n":{$:0},"xn--io0a7i":{$:0},"xn--j1aef":{$:0},"xn--jlq61u9w7b":{$:0},"xn--jvr189m":{$:0},"xn--kcrx77d1x4a":{$:0},"xn--kpu716f":{$:0},"xn--kput3i":{$:0},"xn--mgba3a3ejt":{$:0},"xn--mgba7c0bbn0a":{$:0},"xn--mgbaakc7dvf":{$:0},"xn--mgbab2bd":{$:0},"xn--mgbb9fbpob":{$:0},"xn--mgbca7dzdo":{$:0},"xn--mgbi4ecexp":{$:0},"xn--mgbt3dhd":{$:0},"xn--mk1bu44c":{$:0},"xn--mxtq1m":{$:0},"xn--ngbc5azd":{$:0},"xn--ngbe9e0a":{$:0},"xn--ngbrx":{$:0},"xn--nqv7f":{$:0},"xn--nqv7fs00ema":{$:0},"xn--nyqy26a":{$:0},"xn--p1acf":{$:0},"xn--pbt977c":{$:0},"xn--pssy2u":{$:0},"xn--q9jyb4c":{$:0},"xn--qcka1pmc":{$:0},"xn--rhqv96g":{$:0},"xn--rovu88b":{$:0},"xn--ses554g":{$:0},"xn--t60b56a":{$:0},"xn--tckwe":{$:0},"xn--tiq49xqyj":{$:0},"xn--unup4y":{$:0},"xn--vermgensberater-ctb":{$:0},"xn--vermgensberatung-pwb":{$:0},"xn--vhquv":{$:0},"xn--vuq861b":{$:0},"xn--w4r85el8fhu5dnra":{$:0},"xn--w4rs40l":{$:0},"xn--xhq521b":{$:0},"xn--zfr164b":{$:0},xperia:{$:0},xyz:{$:0,blogsite:{$:0},fhapp:{$:0}},yachts:{$:0},yahoo:{$:0},yamaxun:{$:0},yandex:{$:0},yodobashi:{$:0},yoga:{$:0},yokohama:{$:0},you:{$:0},youtube:{$:0},yun:{$:0},zappos:{$:0},zara:{$:0},zero:{$:0},zip:{$:0},zippo:{$:0},zone:{$:0,triton:{"*":{$:0}},lima:{$:0}},zuerich:{$:0}}}},{}],13:[function(require,module,exports){(function(global){(function(root){var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=="object"&&module&&!module.nodeType&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw new RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}
736function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter<length){value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320){output.push(((value&1023)<<10)+(extra&1023)+65536)}else{output.push(value);counter--}}else{output.push(value)}}return output}function ucs2encode(array){return map(array,function(value){var output="";if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j<basic;++j){if(input.charCodeAt(j)>=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;;k+=base){if(index>=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digit<t){break}baseMinusT=base-t;if(w>floor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<128){output.push(stringFromCharCode(currentValue))}}handledCPCount=basicLength=output.length;if(basicLength){output.push(delimiter)}while(handledCPCount<inputLength){for(m=maxInt,j=0;j<inputLength;++j){currentValue=input[j];if(currentValue>=n&&currentValue<m){m=currentValue}}handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<n&&++delta>maxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t){break}qMinusT=q-t;baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0)));q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount}}++delta;++n}return output.join("")}function toUnicode(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){define("punycode",function(){return punycode})}else if(freeExports&&freeModule){if(module.exports==freeExports){freeModule.exports=punycode}else{for(key in punycode){punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key])}}}else{root.punycode=punycode}})(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],14:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&";eq=eq||"=";var obj={};if(typeof qs!=="string"||qs.length===0){return obj}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;if(options&&typeof options.maxKeys==="number"){maxKeys=options.maxKeys}var len=qs.length;if(maxKeys>0&&len>maxKeys){len=maxKeys}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],15:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i))}return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key)}return res}},{}],16:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode");exports.encode=exports.stringify=require("./encode")},{"./decode":14,"./encode":15}],17:[function(require,module,exports){"use strict";var punycode=require("punycode");var util=require("./util");exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;function Url(){this.protocol=null;this.slashes=null;this.auth=null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]
736*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter),slashRegex=/\\/g;uSplit[0]=uSplit[0].replace(slashRegex,"/");url=uSplit.join(splitter);var rest=url;rest=rest.trim();if(!slashesDenoteHost&&url.split("#").length===1){var simplePath=simplePathPattern.exec(rest);if(simplePath){this.path=rest;this.href=rest;this.pathname=simplePath[1];if(simplePath[2]){this.search=simplePath[2];if(parseQueryString){this.query=querystring.parse(this.search.substr(1))}else{this.query=this.search.substr(1)}}else if(parseQueryString){this.search="";this.query={}}return this}}var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}var auth,atSign;if(hostEnd===-1){atSign=rest.lastIndexOf("@")}else{atSign=rest.lastIndexOf("@",hostEnd)}if(atSign!==-1){auth=rest.slice(0,atSign);rest=rest.slice(atSign+1);this.auth=decodeURIComponent(auth)}hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}if(hostEnd===-1)hostEnd=rest.length;this.host=rest.slice(0,hostEnd);rest=rest.slice(hostEnd);this.parseHost();this.hostname=this.hostname||"";var ipv6Hostname=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!ipv6Hostname){var hostparts=this.hostname.split(/\./);for(var i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(!part)continue;if(!part.match(hostnamePartPattern)){var newpart="";for(var j=0,k=part.length;j<k;j++){if(part.charCodeAt(j)>127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){this.hostname=punycode.toASCII(this.hostname)}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(rest.indexOf(ae)===-1)continue;var esc=encodeURIComponent(ae);if(esc===ae){esc=escape(ae)}rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");if(hash!==-1){this.hash=rest.substr(hash);rest=rest.slice(0,hash)}var qm=rest.indexOf("?");if(qm!==-1){this.search=rest.substr(qm);this.query=rest.substr(qm+1);if(parseQueryString){this.query=querystring.parse(this.query)}rest=rest.slice(0,qm)}else if(parseQueryString){this.search="";this.query={}}if(rest)this.pathname=rest;if(slashedProtocol[lowerProto]&&this.hostname&&!this.pathname){this.pathname="/"}if(this.pathname||this.search){var p=this.pathname||"";var s=this.search||"";this.path=p+s}this.href=this.format();return this};function urlFormat(obj){if(util.isString(obj))obj=urlParse(obj);if(!(obj instanceof Url))return Url.prototype.format.call(obj);return obj.format()}Url.prototype.format=function(){var auth=this.auth||"";if(auth){auth=encodeURIComponent(auth);auth=auth.replace(/%3A/i,":");auth+="@"}var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=false,query="";if(this.host){host=auth+this.host}else if(this.hostname){host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]");if(this.port){host+=":"+this.port}}if(this.query&&util.isObject(this.query)&&Object.keys(this.query).length){query=querystring.stringify(this.query)}var search=this.search||query&&"?"+query||"";if(protocol&&protocol.substr(-1)!==":")protocol+=":";if(this.slashes||(!protocol||slashedProtocol[protocol])&&host!==false){host="//"+(host||"");if(pathname&&pathname.charAt(0)!=="/")pathname="/"+pathname}else if(!host){host=""}if(hash&&hash.charAt(0)!=="#")hash="#"+hash;if(search&&search.charAt(0)!=="?")search="?"+search;pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)});search=search.replace("#","%23");return protocol+host+pathname+search+hash};function urlResolve(source,relative){return urlParse(source,false,true).resolve(relative)}Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,false,true)).format()};function urlResolveObject(source,relative){if(!source)return relative;return urlParse(source,false,true).resolveObject(relative)}Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,false,true);relative=rel}var result=new Url;var tkeys=Object.keys(this);for(var tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}result.hash=relative.hash;if(relative.href===""){result.href=result.format();return result}if(relative.slashes&&!relative.protocol){var rkeys=Object.keys(relative);for(var rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];if(rkey!=="protocol")result[rkey]=relative[rkey]}if(slashedProtocol[result.protocol]&&result.hostname&&!result.pathname){result.path=result.pathname="/"}result.href=result.format();return result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slas
736hedProtocol[relative.protocol]){var keys=Object.keys(relative);for(var v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}result.href=result.format();return result}result.protocol=relative.protocol;if(!relative.host&&!hostlessProtocol[relative.protocol]){var relPath=(relative.pathname||"").split("/");while(relPath.length&&!(relative.host=relPath.shift()));if(!relative.host)relative.host="";if(!relative.hostname)relative.hostname="";if(relPath[0]!=="")relPath.unshift("");if(relPath.length<2)relPath.unshift("");result.pathname=relPath.join("/")}else{result.pathname=relative.pathname}result.search=relative.search;result.query=relative.query;result.host=relative.host||"";result.auth=relative.auth;result.hostname=relative.hostname||relative.host;result.port=relative.port;if(result.pathname||result.search){var p=result.pathname||"";var s=result.search||"";result.path=p+s}result.slashes=result.slashes||relative.slashes;result.href=result.format();return result}var isSourceAbs=result.pathname&&result.pathname.charAt(0)==="/",isRelAbs=relative.host||relative.pathname&&relative.pathname.charAt(0)==="/",mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic){result.hostname="";result.port=null;if(result.host){if(srcPath[0]==="")srcPath[0]=result.host;else srcPath.unshift(result.host)}result.host="";if(relative.protocol){relative.hostname=null;relative.port=null;if(relative.host){if(relPath[0]==="")relPath[0]=relative.host;else relPath.unshift(relative.host)}relative.host=null}mustEndAbs=mustEndAbs&&(relPath[0]===""||srcPath[0]==="")}if(isRelAbs){result.host=relative.host||relative.host===""?relative.host:result.host;result.hostname=relative.hostname||relative.hostname===""?relative.hostname:result.hostname;result.search=relative.search;result.query=relative.query;srcPath=relPath}else if(relPath.length){if(!srcPath)srcPath=[];srcPath.pop();srcPath=srcPath.concat(relPath);result.search=relative.search;result.query=relative.query}else if(!util.isNullOrUndefined(relative.search)){if(psychotic){result.hostname=result.host=srcPath.shift();var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last==="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);
736if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host}},{"./util":18,punycode:13,querystring:16}],18:[function(require,module,exports){"use strict";module.exports={isString:function(arg){return typeof arg==="string"},isObject:function(arg){return typeof arg==="object"&&arg!==null},isNull:function(arg){return arg===null},isNullOrUndefined:function(arg){return arg==null}}},{}]},{},[1]);
737/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */
738
739(function (global, factory) {
740  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
741  typeof define === 'function' && define.amd ? define(factory) :
742  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMPurify = factory());
743})(this, (function () { 'use strict';
744
745  const {
746    entries,
747    setPrototypeOf,
748    isFrozen,
749    getPrototypeOf,
750    getOwnPropertyDescriptor
751  } = Object;
752  let {
753    freeze,
754    seal,
755    create
756  } = Object; // eslint-disable-line import/no-mutable-exports
757  let {
758    apply,
759    construct
760  } = typeof Reflect !== 'undefined' && Reflect;
761  if (!freeze) {
762    freeze = function freeze(x) {
763      return x;
764    };
765  }
766  if (!seal) {
767    seal = function seal(x) {
768      return x;
769    };
770  }
771  if (!apply) {
772    apply = function apply(fun, thisValue, args) {
773      return fun.apply(thisValue, args);
774    };
775  }
776  if (!construct) {
777    construct = function construct(Func, args) {
778      return new Func(...args);
779    };
780  }
781  const arrayForEach = unapply(Array.prototype.forEach);
782  const arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);
783  const arrayPop = unapply(Array.prototype.pop);
784  const arrayPush = unapply(Array.prototype.push);
785  const arraySplice = unapply(Array.prototype.splice);
786  const stringToLowerCase = unapply(String.prototype.toLowerCase);
787  const stringToString = unapply(String.prototype.toString);
788  const stringMatch = unapply(String.prototype.match);
789  const stringReplace = unapply(String.prototype.replace);
790  const stringIndexOf = unapply(String.prototype.indexOf);
791  const stringTrim = unapply(String.prototype.trim);
792  const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);
793  const regExpTest = unapply(RegExp.prototype.test);
794  const typeErrorCreate = unconstruct(TypeError);
795  /**
796   * Creates a new function that calls the given function with a specified thisArg and arguments.
797   *
798   * @param func - The function to be wrapped and called.
799   * @returns A new function that calls the given function with a specified thisArg and arguments.
800   */
801  function unapply(func) {
802    return function (thisArg) {
803      if (thisArg instanceof RegExp) {
804        thisArg.lastIndex = 0;
805      }
806      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
807        args[_key - 1] = arguments[_key];
808      }
809      return apply(func, thisArg, args);
810    };
811  }
812  /**
813   * Creates a new function that constructs an instance of the given constructor function with the provided arguments.
814   *
815   * @param func - The constructor function to be wrapped and called.
816   * @returns A new function that constructs an instance of the given constructor function with the provided arguments.
817   */
818  function unconstruct(func) {
819    return function () {
820      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
821        args[_key2] = arguments[_key2];
822      }
823      return construct(func, args);
824    };
825  }
826  /**
827   * Add properties to a lookup table
828   *
829   * @param set - The set to which elements will be added.
830   * @param array - The array containing elements to be added to the set.
831   * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.
832   * @returns The modified set with added elements.
833   */
834  function addToSet(set, array) {
vendor: 5,805 bytes, lines 835-933
835    let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;
836    if (setPrototypeOf) {
837      // Make 'in' and truthy checks like Boolean(set.constructor)
838      // independent of any properties defined on Object.prototype.
839      // Prevent prototype setters from intercepting set as a this value.
840      setPrototypeOf(set, null);
841    }
842    let l = array.length;
843    while (l--) {
844      let element = array[l];
845      if (typeof element === 'string') {
846        const lcElement = transformCaseFunc(element);
847        if (lcElement !== element) {
848          // Config presets (e.g. tags.js, attrs.js) are immutable.
849          if (!isFrozen(array)) {
850            array[l] = lcElement;
851          }
852          element = lcElement;
853        }
854      }
855      set[element] = true;
856    }
857    return set;
858  }
859  /**
860   * Clean up an array to harden against CSPP
861   *
862   * @param array - The array to be cleaned.
863   * @returns The cleaned version of the array
864   */
865  function cleanArray(array) {
866    for (let index = 0; index < array.length; index++) {
867      const isPropertyExist = objectHasOwnProperty(array, index);
868      if (!isPropertyExist) {
869        array[index] = null;
870      }
871    }
872    return array;
873  }
874  /**
875   * Shallow clone an object
876   *
877   * @param object - The object to be cloned.
878   * @returns A new object that copies the original.
879   */
880  function clone(object) {
881    const newObject = create(null);
882    for (const [property, value] of entries(object)) {
883      const isPropertyExist = objectHasOwnProperty(object, property);
884      if (isPropertyExist) {
885        if (Array.isArray(value)) {
886          newObject[property] = cleanArray(value);
887        } else if (value && typeof value === 'object' && value.constructor === Object) {
888          newObject[property] = clone(value);
889        } else {
890          newObject[property] = value;
891        }
892      }
893    }
894    return newObject;
895  }
896  /**
897   * This method automatically checks if the prop is function or getter and behaves accordingly.
898   *
899   * @param object - The object to look up the getter function in its prototype chain.
900   * @param prop - The property name for which to find the getter function.
901   * @returns The getter function found in the prototype chain or a fallback function.
902   */
903  function lookupGetter(object, prop) {
904    while (object !== null) {
905      const desc = getOwnPropertyDescriptor(object, prop);
906      if (desc) {
907        if (desc.get) {
908          return unapply(desc.get);
909        }
910        if (typeof desc.value === 'function') {
911          return unapply(desc.value);
912        }
913      }
914      object = getPrototypeOf(object);
915    }
916    function fallbackValue() {
917      return null;
918    }
919    return fallbackValue;
920  }
921
922  const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
923  const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
924  const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
925  // List of SVG elements that are disallowed by default.
926  // We still need to know them so that we can do namespace
927  // checks properly in case one wants to add them to
928  // allow-list.
929  const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);
930  const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);
931  // Similarly to SVG, we want to know all MathML elements,
932  // even those that we disallow by default.
933  const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'n
933one']);
934  const text = freeze(['#text']);
935
936  const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
937  const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
938  const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
939  const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
940
941  // eslint-disable-next-line unicorn/better-regex
942  const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
943  const ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
944  const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm); // eslint-disable-line unicorn/better-regex
945  const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/); // eslint-disable-line no-useless-escape
946  const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
vendor: 7,921 bytes, lines 947-1154
947  const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
948  );
949  const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
950  const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
951  );
952  const DOCTYPE_NAME = seal(/^html$/i);
953  const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
954
955  var EXPRESSIONS = /*#__PURE__*/Object.freeze({
956    __proto__: null,
957    ARIA_ATTR: ARIA_ATTR,
958    ATTR_WHITESPACE: ATTR_WHITESPACE,
959    CUSTOM_ELEMENT: CUSTOM_ELEMENT,
960    DATA_ATTR: DATA_ATTR,
961    DOCTYPE_NAME: DOCTYPE_NAME,
962    ERB_EXPR: ERB_EXPR,
963    IS_ALLOWED_URI: IS_ALLOWED_URI,
964    IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,
965    MUSTACHE_EXPR: MUSTACHE_EXPR,
966    TMPLIT_EXPR: TMPLIT_EXPR
967  });
968
969  /* eslint-disable @typescript-eslint/indent */
970  // https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
971  const NODE_TYPE = {
972    element: 1,
973    attribute: 2,
974    text: 3,
975    cdataSection: 4,
976    entityReference: 5,
977    // Deprecated
978    entityNode: 6,
979    // Deprecated
980    progressingInstruction: 7,
981    comment: 8,
982    document: 9,
983    documentType: 10,
984    documentFragment: 11,
985    notation: 12 // Deprecated
986  };
987  const getGlobal = function getGlobal() {
988    return typeof window === 'undefined' ? null : window;
989  };
990  /**
991   * Creates a no-op policy for internal use only.
992   * Don't export this function outside this module!
993   * @param trustedTypes The policy factory.
994   * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).
995   * @return The policy created (or null, if Trusted Types
996   * are not supported or creating the policy failed).
997   */
998  const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {
999    if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
1000      return null;
1001    }
1002    // Allow the callers to control the unique policy name
1003    // by adding a data-tt-policy-suffix to the script element with the DOMPurify.
1004    // Policy creation with duplicate names throws in Trusted Types.
1005    let suffix = null;
1006    const ATTR_NAME = 'data-tt-policy-suffix';
1007    if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {
1008      suffix = purifyHostElement.getAttribute(ATTR_NAME);
1009    }
1010    const policyName = 'dompurify' + (suffix ? '#' + suffix : '');
1011    try {
1012      return trustedTypes.createPolicy(policyName, {
1013        createHTML(html) {
1014          return html;
1015        },
1016        createScriptURL(scriptUrl) {
1017          return scriptUrl;
1018        }
1019      });
1020    } catch (_) {
1021      // Policy creation failed (most likely another DOMPurify script has
1022      // already run). Skip creating the policy, as this will only cause errors
1023      // if TT are enforced.
1024      console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
1025      return null;
1026    }
1027  };
1028  const _createHooksMap = function _createHooksMap() {
1029    return {
1030      afterSanitizeAttributes: [],
1031      afterSanitizeElements: [],
1032      afterSanitizeShadowDOM: [],
1033      beforeSanitizeAttributes: [],
1034      beforeSanitizeElements: [],
1035      beforeSanitizeShadowDOM: [],
1036      uponSanitizeAttribute: [],
1037      uponSanitizeElement: [],
1038      uponSanitizeShadowNode: []
1039    };
1040  };
1041  function createDOMPurify() {
1042    let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
1043    const DOMPurify = root => createDOMPurify(root);
1044    DOMPurify.version = '3.2.5';
1045    DOMPurify.removed = [];
1046    if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
1047      // Not running in a browser, provide a factory function
1048      // so that you can pass your own Window
1049      DOMPurify.isSupported = false;
1050      return DOMPurify;
1051    }
1052    let {
1053      document
1054    } = window;
1055    const originalDocument = document;
1056    const currentScript = originalDocument.currentScript;
1057    const {
1058      DocumentFragment,
1059      HTMLTemplateElement,
1060      Node,
1061      Element,
1062      NodeFilter,
1063      NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,
1064      HTMLFormElement,
1065      DOMParser,
1066      trustedTypes
1067    } = window;
1068    const ElementPrototype = Element.prototype;
1069    const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');
1070    const remove = lookupGetter(ElementPrototype, 'remove');
1071    const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
1072    const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
1073    const getParentNode = lookupGetter(ElementPrototype, 'parentNode');
1074    // As per issue #47, the web-components registry is inherited by a
1075    // new document created via createHTMLDocument. As per the spec
1076    // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
1077    // a new empty registry is used when creating a template contents owner
1078    // document, so we use that as our parent document to ensure nothing
1079    // is inherited.
1080    if (typeof HTMLTemplateElement === 'function') {
1081      const template = document.createElement('template');
1082      if (template.content && template.content.ownerDocument) {
1083        document = template.content.ownerDocument;
1084      }
1085    }
1086    let trustedTypesPolicy;
1087    let emptyHTML = '';
1088    const {
1089      implementation,
1090      createNodeIterator,
1091      createDocumentFragment,
1092      getElementsByTagName
1093    } = document;
1094    const {
1095      importNode
1096    } = originalDocument;
1097    let hooks = _createHooksMap();
1098    /**
1099     * Expose whether this browser supports running the full DOMPurify.
1100     */
1101    DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;
1102    const {
1103      MUSTACHE_EXPR,
1104      ERB_EXPR,
1105      TMPLIT_EXPR,
1106      DATA_ATTR,
1107      ARIA_ATTR,
1108      IS_SCRIPT_OR_DATA,
1109      ATTR_WHITESPACE,
1110      CUSTOM_ELEMENT
1111    } = EXPRESSIONS;
1112    let {
1113      IS_ALLOWED_URI: IS_ALLOWED_URI$1
1114    } = EXPRESSIONS;
1115    /**
1116     * We consider the elements and attributes below to be safe. Ideally
1117     * don't add any new ones but feel free to remove unwanted ones.
1118     */
1119    /* allowed element names */
1120    let ALLOWED_TAGS = null;
1121    const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);
1122    /* Allowed attribute names */
1123    let ALLOWED_ATTR = null;
1124    const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);
1125    /*
1126     * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.
1127     * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)
1128     * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)
1129     * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.
1130     */
1131    let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {
1132      tagNameCheck: {
1133        writable: true,
1134        configurable: false,
1135        enumerable: true,
1136        value: null
1137      },
1138      attributeNameCheck: {
1139        writable: true,
1140        configurable: false,
1141        enumerable: true,
1142        value: null
1143      },
1144      allowCustomizedBuiltInElements: {
1145        writable: true,
1146        configurable: false,
1147        enumerable: true,
1148        value: false
1149      }
1150    }));
1151    /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
1152    let FORBID_TAGS = null;
1153    /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
1154    let FORBID_ATTR = null
vendor: 7,523 bytes, lines 1154-1283
1154;
1155    /* Decide if ARIA attributes are okay */
1156    let ALLOW_ARIA_ATTR = true;
1157    /* Decide if custom data attributes are okay */
1158    let ALLOW_DATA_ATTR = true;
1159    /* Decide if unknown protocols are okay */
1160    let ALLOW_UNKNOWN_PROTOCOLS = false;
1161    /* Decide if self-closing tags in attributes are allowed.
1162     * Usually removed due to a mXSS issue in jQuery 3.0 */
1163    let ALLOW_SELF_CLOSE_IN_ATTR = true;
1164    /* Output should be safe for common template engines.
1165     * This means, DOMPurify removes data attributes, mustaches and ERB
1166     */
1167    let SAFE_FOR_TEMPLATES = false;
1168    /* Output should be safe even for XML used within HTML and alike.
1169     * This means, DOMPurify removes comments when containing risky content.
1170     */
1171    let SAFE_FOR_XML = true;
1172    /* Decide if document with <html>... should be returned */
1173    let WHOLE_DOCUMENT = false;
1174    /* Track whether config is already set on this instance of DOMPurify. */
1175    let SET_CONFIG = false;
1176    /* Decide if all elements (e.g. style, script) must be children of
1177     * document.body. By default, browsers might move them to document.head */
1178    let FORCE_BODY = false;
1179    /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html
1180     * string (or a TrustedHTML object if Trusted Types are supported).
1181     * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead
1182     */
1183    let RETURN_DOM = false;
1184    /* Decide if a DOM `DocumentFragment` should be returned, instead of a html
1185     * string  (or a TrustedHTML object if Trusted Types are supported) */
1186    let RETURN_DOM_FRAGMENT = false;
1187    /* Try to return a Trusted Type object instead of a string, return a string in
1188     * case Trusted Types are not supported  */
1189    let RETURN_TRUSTED_TYPE = false;
1190    /* Output should be free from DOM clobbering attacks?
1191     * This sanitizes markups named with colliding, clobberable built-in DOM APIs.
1192     */
1193    let SANITIZE_DOM = true;
1194    /* Achieve full DOM Clobbering protection by isolating the namespace of named
1195     * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.
1196     *
1197     * HTML/DOM spec rules that enable DOM Clobbering:
1198     *   - Named Access on Window (§7.3.3)
1199     *   - DOM Tree Accessors (§3.1.5)
1200     *   - Form Element Parent-Child Relations (§4.10.3)
1201     *   - Iframe srcdoc / Nested WindowProxies (§4.8.5)
1202     *   - HTMLCollection (§4.2.10.2)
1203     *
1204     * Namespace isolation is implemented by prefixing `id` and `name` attributes
1205     * with a constant string, i.e., `user-content-`
1206     */
1207    let SANITIZE_NAMED_PROPS = false;
1208    const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';
1209    /* Keep element content when removing element? */
1210    let KEEP_CONTENT = true;
1211    /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead
1212     * of importing it into a new Document and returning a sanitized copy */
1213    let IN_PLACE = false;
1214    /* Allow usage of profiles like html, svg and mathMl */
1215    let USE_PROFILES = {};
1216    /* Tags to ignore content of when KEEP_CONTENT is true */
1217    let FORBID_CONTENTS = null;
1218    const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
1219    /* Tags that are safe for data: URIs */
1220    let DATA_URI_TAGS = null;
1221    const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
1222    /* Attributes safe for values like "javascript:" */
1223    let URI_SAFE_ATTRIBUTES = null;
1224    const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);
1225    const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
1226    const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
1227    const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
1228    /* Document namespace */
1229    let NAMESPACE = HTML_NAMESPACE;
1230    let IS_EMPTY_INPUT = false;
1231    /* Allowed XHTML+XML namespaces */
1232    let ALLOWED_NAMESPACES = null;
1233    const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
1234    let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
1235    let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);
1236    // Certain elements are allowed in both SVG and HTML
1237    // namespace. We need to specify them explicitly
1238    // so that they don't get erroneously deleted from
1239    // HTML namespace.
1240    const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);
1241    /* Parsing of strict XHTML documents */
1242    let PARSER_MEDIA_TYPE = null;
1243    const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];
1244    const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';
1245    let transformCaseFunc = null;
1246    /* Keep a reference to config to pass to hooks */
1247    let CONFIG = null;
1248    /* Ideally, do not touch anything below this line */
1249    /* ______________________________________________ */
1250    const formElement = document.createElement('form');
1251    const isRegexOrFunction = function isRegexOrFunction(testValue) {
1252      return testValue instanceof RegExp || testValue instanceof Function;
1253    };
1254    /**
1255     * _parseConfig
1256     *
1257     * @param cfg optional config literal
1258     */
1259    // eslint-disable-next-line complexity
1260    const _parseConfig = function _parseConfig() {
1261      let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1262      if (CONFIG && CONFIG === cfg) {
1263        return;
1264      }
1265      /* Shield configuration object from tampering */
1266      if (!cfg || typeof cfg !== 'object') {
1267        cfg = {};
1268      }
1269      /* Shield configuration object from prototype pollution */
1270      cfg = clone(cfg);
1271      PARSER_MEDIA_TYPE =
1272      // eslint-disable-next-line unicorn/prefer-includes
1273      SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;
1274      // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.
1275      transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;
1276      /* Set configuration parameters */
1277      ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
1278      ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
1279      ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;
1280      URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
1281      DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
1282      FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
1283      FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : 
vendor: 3,290 bytes, lines 1283-1344
1283{};
1284      FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};
1285      USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;
1286      ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
1287      ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
1288      ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false
1289      ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true
1290      SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false
1291      SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true
1292      WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false
1293      RETURN_DOM = cfg.RETURN_DOM || false; // Default false
1294      RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false
1295      RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false
1296      FORCE_BODY = cfg.FORCE_BODY || false; // Default false
1297      SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true
1298      SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false
1299      KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true
1300      IN_PLACE = cfg.IN_PLACE || false; // Default false
1301      IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;
1302      NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
1303      MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;
1304      HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;
1305      CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};
1306      if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
1307        CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
1308      }
1309      if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {
1310        CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;
1311      }
1312      if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {
1313        CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;
1314      }
1315      if (SAFE_FOR_TEMPLATES) {
1316        ALLOW_DATA_ATTR = false;
1317      }
1318      if (RETURN_DOM_FRAGMENT) {
1319        RETURN_DOM = true;
1320      }
1321      /* Parse profile info */
1322      if (USE_PROFILES) {
1323        ALLOWED_TAGS = addToSet({}, text);
1324        ALLOWED_ATTR = [];
1325        if (USE_PROFILES.html === true) {
1326          addToSet(ALLOWED_TAGS, html$1);
1327          addToSet(ALLOWED_ATTR, html);
1328        }
1329        if (USE_PROFILES.svg === true) {
1330          addToSet(ALLOWED_TAGS, svg$1);
1331          addToSet(ALLOWED_ATTR, svg);
1332          addToSet(ALLOWED_ATTR, xml);
1333        }
1334        if (USE_PROFILES.svgFilters === true) {
1335          addToSet(ALLOWED_TAGS, svgFilters);
1336          addToSet(ALLOWED_ATTR, svg);
1337          addToSet(ALLOWED_ATTR, xml);
1338        }
1339        if (USE_PROFILES.mathMl === true) {
1340          addToSet(ALLOWED_TAGS, mathMl$1);
1341          addToSet(ALLOWED_ATTR, mathMl);
1342          addToSet(ALLOWED_ATTR, xml);
1343        }
1344      }
vendor: 5,664 bytes, lines 1345-1472
1345      /* Merge configuration parameters */
1346      if (cfg.ADD_TAGS) {
1347        if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
1348          ALLOWED_TAGS = clone(ALLOWED_TAGS);
1349        }
1350        addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
1351      }
1352      if (cfg.ADD_ATTR) {
1353        if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
1354          ALLOWED_ATTR = clone(ALLOWED_ATTR);
1355        }
1356        addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
1357      }
1358      if (cfg.ADD_URI_SAFE_ATTR) {
1359        addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
1360      }
1361      if (cfg.FORBID_CONTENTS) {
1362        if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
1363          FORBID_CONTENTS = clone(FORBID_CONTENTS);
1364        }
1365        addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
1366      }
1367      /* Add #text in case KEEP_CONTENT is set to true */
1368      if (KEEP_CONTENT) {
1369        ALLOWED_TAGS['#text'] = true;
1370      }
1371      /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
1372      if (WHOLE_DOCUMENT) {
1373        addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);
1374      }
1375      /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
1376      if (ALLOWED_TAGS.table) {
1377        addToSet(ALLOWED_TAGS, ['tbody']);
1378        delete FORBID_TAGS.tbody;
1379      }
1380      if (cfg.TRUSTED_TYPES_POLICY) {
1381        if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {
1382          throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
1383        }
1384        if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {
1385          throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
1386        }
1387        // Overwrite existing TrustedTypes policy.
1388        trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
1389        // Sign local variables required by `sanitize`.
1390        emptyHTML = trustedTypesPolicy.createHTML('');
1391      } else {
1392        // Uninitialized policy, attempt to initialize the internal dompurify policy.
1393        if (trustedTypesPolicy === undefined) {
1394          trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
1395        }
1396        // If creating the internal policy succeeded sign internal variables.
1397        if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {
1398          emptyHTML = trustedTypesPolicy.createHTML('');
1399        }
1400      }
1401      // Prevent further manipulation of configuration.
1402      // Not available in IE8, Safari 5, etc.
1403      if (freeze) {
1404        freeze(cfg);
1405      }
1406      CONFIG = cfg;
1407    };
1408    /* Keep track of all possible SVG and MathML tags
1409     * so that we can perform the namespace checks
1410     * correctly. */
1411    const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);
1412    const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);
1413    /**
1414     * @param element a DOM element whose namespace is being checked
1415     * @returns Return false if the element has a
1416     *  namespace that a spec-compliant parser would never
1417     *  return. Return true otherwise.
1418     */
1419    const _checkValidNamespace = function _checkValidNamespace(element) {
1420      let parent = getParentNode(element);
1421      // In JSDOM, if we're inside shadow DOM, then parentNode
1422      // can be null. We just simulate parent in this case.
1423      if (!parent || !parent.tagName) {
1424        parent = {
1425          namespaceURI: NAMESPACE,
1426          tagName: 'template'
1427        };
1428      }
1429      const tagName = stringToLowerCase(element.tagName);
1430      const parentTagName = stringToLowerCase(parent.tagName);
1431      if (!ALLOWED_NAMESPACES[element.namespaceURI]) {
1432        return false;
1433      }
1434      if (element.namespaceURI === SVG_NAMESPACE) {
1435        // The only way to switch from HTML namespace to SVG
1436        // is via <svg>. If it happens via any other tag, then
1437        // it should be killed.
1438        if (parent.namespaceURI === HTML_NAMESPACE) {
1439          return tagName === 'svg';
1440        }
1441        // The only way to switch from MathML to SVG is via`
1442        // svg if parent is either <annotation-xml> or MathML
1443        // text integration points.
1444        if (parent.namespaceURI === MATHML_NAMESPACE) {
1445          return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
1446        }
1447        // We only allow elements that are defined in SVG
1448        // spec. All others are disallowed in SVG namespace.
1449        return Boolean(ALL_SVG_TAGS[tagName]);
1450      }
1451      if (element.namespaceURI === MATHML_NAMESPACE) {
1452        // The only way to switch from HTML namespace to MathML
1453        // is via <math>. If it happens via any other tag, then
1454        // it should be killed.
1455        if (parent.namespaceURI === HTML_NAMESPACE) {
1456          return tagName === 'math';
1457        }
1458        // The only way to switch from SVG to MathML is via
1459        // <math> and HTML integration points
1460        if (parent.namespaceURI === SVG_NAMESPACE) {
1461          return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];
1462        }
1463        // We only allow elements that are defined in MathML
1464        // spec. All others are disallowed in MathML namespace.
1465        return Boolean(ALL_MATHML_TAGS[tagName]);
1466      }
1467      if (element.namespaceURI === HTML_NAMESPACE) {
1468        // The only way to switch from SVG to HTML is via
1469        // HTML integration points, and from MathML to HTML
1470        // is via MathML text integration points
1471        if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
1472          return false;
1473        }
1474        if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
1475          return false;
1476        }
1477        // We disallow tags that are specific for MathML
1478        // or SVG and should never appear in HTML namespace
1479        return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
1480      }
1481      // For XHTML and XML documents that support custom namespaces
1482      if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {
1483        return true;
1484      }
1485      // The code should never reach this place (this means
1486      // that the element somehow got namespace that is not
1487      // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).
1488      // Return false just in case.
1489      return false;
1490    };
1491    /**
1492     * _forceRemove
1493     *
1494     * @param node a DOM node
1495     */
1496    const _forceRemove = function _forceRemove(node) {
1497      arrayPush(DOMPurify.removed, {
1498        element: node
1499      });
1500      try {
vendor: 19,689 bytes, lines 1501-1946
1501        // eslint-disable-next-line unicorn/prefer-dom-node-remove
1502        getParentNode(node).removeChild(node);
1503      } catch (_) {
1504        remove(node);
1505      }
1506    };
1507    /**
1508     * _removeAttribute
1509     *
1510     * @param name an Attribute name
1511     * @param element a DOM node
1512     */
1513    const _removeAttribute = function _removeAttribute(name, element) {
1514      try {
1515        arrayPush(DOMPurify.removed, {
1516          attribute: element.getAttributeNode(name),
1517          from: element
1518        });
1519      } catch (_) {
1520        arrayPush(DOMPurify.removed, {
1521          attribute: null,
1522          from: element
1523        });
1524      }
1525      element.removeAttribute(name);
1526      // We void attribute values for unremovable "is" attributes
1527      if (name === 'is') {
1528        if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
1529          try {
1530            _forceRemove(element);
1531          } catch (_) {}
1532        } else {
1533          try {
1534            element.setAttribute(name, '');
1535          } catch (_) {}
1536        }
1537      }
1538    };
1539    /**
1540     * _initDocument
1541     *
1542     * @param dirty - a string of dirty markup
1543     * @return a DOM, filled with the dirty markup
1544     */
1545    const _initDocument = function _initDocument(dirty) {
1546      /* Create a HTML document */
1547      let doc = null;
1548      let leadingWhitespace = null;
1549      if (FORCE_BODY) {
1550        dirty = '<remove></remove>' + dirty;
1551      } else {
1552        /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
1553        const matches = stringMatch(dirty, /^[\r\n\t ]+/);
1554        leadingWhitespace = matches && matches[0];
1555      }
1556      if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {
1557        // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)
1558        dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + '</body></html>';
1559      }
1560      const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
1561      /*
1562       * Use the DOMParser API by default, fallback later if needs be
1563       * DOMParser not work for svg when has multiple root element.
1564       */
1565      if (NAMESPACE === HTML_NAMESPACE) {
1566        try {
1567          doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
1568        } catch (_) {}
1569      }
1570      /* Use createHTMLDocument in case DOMParser is not available */
1571      if (!doc || !doc.documentElement) {
1572        doc = implementation.createDocument(NAMESPACE, 'template', null);
1573        try {
1574          doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;
1575        } catch (_) {
1576          // Syntax error if dirtyPayload is invalid xml
1577        }
1578      }
1579      const body = doc.body || doc.documentElement;
1580      if (dirty && leadingWhitespace) {
1581        body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);
1582      }
1583      /* Work on whole document or just its body */
1584      if (NAMESPACE === HTML_NAMESPACE) {
1585        return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];
1586      }
1587      return WHOLE_DOCUMENT ? doc.documentElement : body;
1588    };
1589    /**
1590     * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.
1591     *
1592     * @param root The root element or node to start traversing on.
1593     * @return The created NodeIterator
1594     */
1595    const _createNodeIterator = function _createNodeIterator(root) {
1596      return createNodeIterator.call(root.ownerDocument || root, root,
1597      // eslint-disable-next-line no-bitwise
1598      NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
1599    };
1600    /**
1601     * _isClobbered
1602     *
1603     * @param element element to check for clobbering attacks
1604     * @return true if clobbered, false if safe
1605     */
1606    const _isClobbered = function _isClobbered(element) {
1607      return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');
1608    };
1609    /**
1610     * Checks whether the given object is a DOM node.
1611     *
1612     * @param value object to check whether it's a DOM node
1613     * @return true is object is a DOM node
1614     */
1615    const _isNode = function _isNode(value) {
1616      return typeof Node === 'function' && value instanceof Node;
1617    };
1618    function _executeHooks(hooks, currentNode, data) {
1619      arrayForEach(hooks, hook => {
1620        hook.call(DOMPurify, currentNode, data, CONFIG);
1621      });
1622    }
1623    /**
1624     * _sanitizeElements
1625     *
1626     * @protect nodeName
1627     * @protect textContent
1628     * @protect removeChild
1629     * @param currentNode to check for permission to exist
1630     * @return true if node was killed, false if left alive
1631     */
1632    const _sanitizeElements = function _sanitizeElements(currentNode) {
1633      let content = null;
1634      /* Execute a hook if present */
1635      _executeHooks(hooks.beforeSanitizeElements, currentNode, null);
1636      /* Check if element is clobbered or can clobber */
1637      if (_isClobbered(currentNode)) {
1638        _forceRemove(currentNode);
1639        return true;
1640      }
1641      /* Now let's check the element's type and name */
1642      const tagName = transformCaseFunc(currentNode.nodeName);
1643      /* Execute a hook if present */
1644      _executeHooks(hooks.uponSanitizeElement, currentNode, {
1645        tagName,
1646        allowedTags: ALLOWED_TAGS
1647      });
1648      /* Detect mXSS attempts abusing namespace confusion */
1649      if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
1650        _forceRemove(currentNode);
1651        return true;
1652      }
1653      /* Remove any occurrence of processing instructions */
1654      if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
1655        _forceRemove(currentNode);
1656        return true;
1657      }
1658      /* Remove any kind of possibly harmful comments */
1659      if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) {
1660        _forceRemove(currentNode);
1661        return true;
1662      }
1663      /* Remove element if anything forbids its presence */
1664      if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
1665        /* Check if we have a custom element to handle */
1666        if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
1667          if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
1668            return false;
1669          }
1670          if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
1671            return false;
1672          }
1673        }
1674        /* Keep content except for bad-listed elements */
1675        if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
1676          const parentNode = getParentNode(currentNode) || currentNode.parentNode;
1677          const childNodes = getChildNodes(currentNode) || currentNode.childNodes;
1678          if (childNodes && parentNode) {
1679            const childCount = childNodes.length;
1680            for (let i = childCount - 1; i >= 0; --i) {
1681              const childClone = cloneNode(childNodes[i], true);
1682              childClone.__removalCount = (currentNode.__removalCount || 0) + 1;
1683              parentNode.insertBefore(childClone, getNextSibling(currentNode));
1684            }
1685          }
1686        }
1687        _forceRemove(currentNode);
1688        return true;
1689      }
1690      /* Check whether element has a valid namespace */
1691      if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {
1692        _forceRemove(currentNode);
1693        return true;
1694      }
1695      /* Make sure that older browsers don't get fallback-tag mXSS */
1696      if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) {
1697        _forceRemove(currentNode);
1698        return true;
1699      }
1700      /* Sanitize element content to be template-safe */
1701      if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
1702        /* Get the element's text content */
1703        content = currentNode.textContent;
1704        arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
1705          content = stringReplace(content, expr, ' ');
1706        });
1707        if (currentNode.textContent !== content) {
1708          arrayPush(DOMPurify.removed, {
1709            element: currentNode.cloneNode()
1710          });
1711          currentNode.textContent = content;
1712        }
1713      }
1714      /* Execute a hook if present */
1715      _executeHooks(hooks.afterSanitizeElements, currentNode, null);
1716      return false;
1717    };
1718    /**
1719     * _isValidAttribute
1720     *
1721     * @param lcTag Lowercase tag name of containing element.
1722     * @param lcName Lowercase attribute name.
1723     * @param value Attribute value.
1724     * @return Returns true if `value` is valid, otherwise false.
1725     */
1726    // eslint-disable-next-line complexity
1727    const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
1728      /* Make sure attribute cannot clobber */
1729      if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
1730        return false;
1731      }
1732      /* Allow valid data-* attributes: At least one character after "-"
1733          (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
1734          XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
1735          We don't need to check the value; it's always URI safe. */
1736      if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
1737        if (
1738        // First condition does a very basic check if a) it's basically a valid custom element tagname AND
1739        // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1740        // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
1741        _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||
1742        // Alternative, second condition checks if it's an `is`-attribute, AND
1743        // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1744        lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
1745          return false;
1746        }
1747        /* Check value is safe. First, is attr inert? If so, is safe */
1748      } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {
1749        return false;
1750      } else ;
1751      return true;
1752    };
1753    /**
1754     * _isBasicCustomElement
1755     * checks if at least one dash is included in tagName, and it's not the first char
1756     * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name
1757     *
1758     * @param tagName name of the tag of the node to sanitize
1759     * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.
1760     */
1761    const _isBasicCustomElement = function _isBasicCustomElement(tagName) {
1762      return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);
1763    };
1764    /**
1765     * _sanitizeAttributes
1766     *
1767     * @protect attributes
1768     * @protect nodeName
1769     * @protect removeAttribute
1770     * @protect setAttribute
1771     *
1772     * @param currentNode to sanitize
1773     */
1774    const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
1775      /* Execute a hook if present */
1776      _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
1777      const {
1778        attributes
1779      } = currentNode;
1780      /* Check if we have attributes; if not we might have a text node */
1781      if (!attributes || _isClobbered(currentNode)) {
1782        return;
1783      }
1784      const hookEvent = {
1785        attrName: '',
1786        attrValue: '',
1787        keepAttr: true,
1788        allowedAttributes: ALLOWED_ATTR,
1789        forceKeepAttr: undefined
1790      };
1791      let l = attributes.length;
1792      /* Go backwards over all attributes; safely remove bad ones */
1793      while (l--) {
1794        const attr = attributes[l];
1795        const {
1796          name,
1797          namespaceURI,
1798          value: attrValue
1799        } = attr;
1800        const lcName = transformCaseFunc(name);
1801        let value = name === 'value' ? attrValue : stringTrim(attrValue);
1802        /* Execute a hook if present */
1803        hookEvent.attrName = lcName;
1804        hookEvent.attrValue = value;
1805        hookEvent.keepAttr = true;
1806        hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
1807        _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);
1808        value = hookEvent.attrValue;
1809        /* Full DOM Clobbering protection via namespace isolation,
1810         * Prefix id and name attributes with `user-content-`
1811         */
1812        if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {
1813          // Remove the attribute with this value
1814          _removeAttribute(name, currentNode);
1815          // Prefix the value and later re-create the attribute with the sanitized value
1816          value = SANITIZE_NAMED_PROPS_PREFIX + value;
1817        }
1818        /* Work around a security issue with comments inside attributes */
1819        if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
1820          _removeAttribute(name, currentNode);
1821          continue;
1822        }
1823        /* Did the hooks approve of the attribute? */
1824        if (hookEvent.forceKeepAttr) {
1825          continue;
1826        }
1827        /* Remove attribute */
1828        _removeAttribute(name, currentNode);
1829        /* Did the hooks approve of the attribute? */
1830        if (!hookEvent.keepAttr) {
1831          continue;
1832        }
1833        /* Work around a security issue in jQuery 3.0 */
1834        if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
1835          _removeAttribute(name, currentNode);
1836          continue;
1837        }
1838        /* Sanitize attribute content to be template-safe */
1839        if (SAFE_FOR_TEMPLATES) {
1840          arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
1841            value = stringReplace(value, expr, ' ');
1842          });
1843        }
1844        /* Is `value` valid for this attribute? */
1845        const lcTag = transformCaseFunc(currentNode.nodeName);
1846        if (!_isValidAttribute(lcTag, lcName, value)) {
1847          continue;
1848        }
1849        /* Handle attributes that require Trusted Types */
1850        if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {
1851          if (namespaceURI) ; else {
1852            switch (trustedTypes.getAttributeType(lcTag, lcName)) {
1853              case 'TrustedHTML':
1854                {
1855                  value = trustedTypesPolicy.createHTML(value);
1856                  break;
1857                }
1858              case 'TrustedScriptURL':
1859                {
1860                  value = trustedTypesPolicy.createScriptURL(value);
1861                  break;
1862                }
1863            }
1864          }
1865        }
1866        /* Handle invalid data-* attribute set by try-catching it */
1867        try {
1868          if (namespaceURI) {
1869            currentNode.setAttributeNS(namespaceURI, name, value);
1870          } else {
1871            /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
1872            currentNode.setAttribute(name, value);
1873          }
1874          if (_isClobbered(currentNode)) {
1875            _forceRemove(currentNode);
1876          } else {
1877            arrayPop(DOMPurify.removed);
1878          }
1879        } catch (_) {}
1880      }
1881      /* Execute a hook if present */
1882      _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
1883    };
1884    /**
1885     * _sanitizeShadowDOM
1886     *
1887     * @param fragment to iterate over recursively
1888     */
1889    const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
1890      let shadowNode = null;
1891      const shadowIterator = _createNodeIterator(fragment);
1892      /* Execute a hook if present */
1893      _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);
1894      while (shadowNode = shadowIterator.nextNode()) {
1895        /* Execute a hook if present */
1896        _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
1897        /* Sanitize tags and elements */
1898        _sanitizeElements(shadowNode);
1899        /* Check attributes next */
1900        _sanitizeAttributes(shadowNode);
1901        /* Deep shadow DOM detected */
1902        if (shadowNode.content instanceof DocumentFragment) {
1903          _sanitizeShadowDOM(shadowNode.content);
1904        }
1905      }
1906      /* Execute a hook if present */
1907      _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
1908    };
1909    // eslint-disable-next-line complexity
1910    DOMPurify.sanitize = function (dirty) {
1911      let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1912      let body = null;
1913      let importedNode = null;
1914      let currentNode = null;
1915      let returnNode = null;
1916      /* Make sure we have a string to sanitize.
1917        DO NOT return early, as this will return the wrong type if
1918        the user has requested a DOM object rather than a string */
1919      IS_EMPTY_INPUT = !dirty;
1920      if (IS_EMPTY_INPUT) {
1921        dirty = '<!-->';
1922      }
1923      /* Stringify, in case dirty is an object */
1924      if (typeof dirty !== 'string' && !_isNode(dirty)) {
1925        if (typeof dirty.toString === 'function') {
1926          dirty = dirty.toString();
1927          if (typeof dirty !== 'string') {
1928            throw typeErrorCreate('dirty is not a string, aborting');
1929          }
1930        } else {
1931          throw typeErrorCreate('toString is not a function');
1932        }
1933      }
1934      /* Return dirty HTML if DOMPurify cannot run */
1935      if (!DOMPurify.isSupported) {
1936        return dirty;
1937      }
1938      /* Assign config vars */
1939      if (!SET_CONFIG) {
1940        _parseConfig(cfg);
1941      }
1942      /* Clean up removed elements */
1943      DOMPurify.removed = [];
1944      /* Check if dirty is correctly typed for IN_PLACE */
1945      if (typeof dirty === 'string') {
1946        IN_PLACE = false;
vendor: 2,671 bytes, lines 1947-2009
1947      }
1948      if (IN_PLACE) {
1949        /* Do some early pre-sanitization to avoid unsafe root nodes */
1950        if (dirty.nodeName) {
1951          const tagName = transformCaseFunc(dirty.nodeName);
1952          if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
1953            throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');
1954          }
1955        }
1956      } else if (dirty instanceof Node) {
1957        /* If dirty is a DOM element, append to an empty document to avoid
1958           elements being stripped by the parser */
1959        body = _initDocument('<!---->');
1960        importedNode = body.ownerDocument.importNode(dirty, true);
1961        if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {
1962          /* Node is already a body, use as is */
1963          body = importedNode;
1964        } else if (importedNode.nodeName === 'HTML') {
1965          body = importedNode;
1966        } else {
1967          // eslint-disable-next-line unicorn/prefer-dom-node-append
1968          body.appendChild(importedNode);
1969        }
1970      } else {
1971        /* Exit directly if we have nothing to do */
1972        if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&
1973        // eslint-disable-next-line unicorn/prefer-includes
1974        dirty.indexOf('<') === -1) {
1975          return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
1976        }
1977        /* Initialize the document to work on */
1978        body = _initDocument(dirty);
1979        /* Check we have a DOM node from the data */
1980        if (!body) {
1981          return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';
1982        }
1983      }
1984      /* Remove first element node (ours) if FORCE_BODY is set */
1985      if (body && FORCE_BODY) {
1986        _forceRemove(body.firstChild);
1987      }
1988      /* Get node iterator */
1989      const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);
1990      /* Now start iterating over the created document */
1991      while (currentNode = nodeIterator.nextNode()) {
1992        /* Sanitize tags and elements */
1993        _sanitizeElements(currentNode);
1994        /* Check attributes next */
1995        _sanitizeAttributes(currentNode);
1996        /* Shadow DOM detected, sanitize it */
1997        if (currentNode.content instanceof DocumentFragment) {
1998          _sanitizeShadowDOM(currentNode.content);
1999        }
2000      }
2001      /* If we sanitized `dirty` in-place, return it. */
2002      if (IN_PLACE) {
2003        return dirty;
2004      }
2005      /* Return sanitized string or DOM */
2006      if (RETURN_DOM) {
2007        if (RETURN_DOM_FRAGMENT) {
2008          returnNode = createDocumentFragment.call(body.ownerDocument);
2009          while (body.firstChild) {
2010            // eslint-disable-next-line unicorn/prefer-dom-node-append
2011            returnNode.appendChild(body.firstChild);
2012          }
2013        } else {
2014          returnNode = body;
2015        }
2016        if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {
2017          /*
2018            AdoptNode() is not used because internal state is not reset
2019            (e.g. the past names map of a HTMLFormElement), this is safe
2020            in theory but we would rather not risk another attack vector.
2021            The state that is cloned by importNode() is explicitly defined
2022            by the specs.
2023          */
2024          returnNode = importNode.call(originalDocument, returnNode, true);
2025        }
2026        return returnNode;
2027      }
2028      let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
2029      /* Serialize doctype if allowed */
2030      if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {
2031        serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\n' + serializedHTML;
2032      }
2033      /* Sanitize final string template-safe */
2034      if (SAFE_FOR_TEMPLATES) {
2035        arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
2036          serializedHTML = stringReplace(serializedHTML, expr, ' ');
2037        });
2038      }
2039      return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
2040    };
2041    DOMPurify.setConfig = function () {
2042      let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2043      _parseConfig(cfg);
2044      SET_CONFIG = true;
2045    };
2046    DOMPurify.clearConfig = function () {
2047      CONFIG = null;
2048      SET_CONFIG = false;
2049    };
2050    DOMPurify.isValidAttribute = function (tag, attr, value) {
2051      /* Initialize shared config vars if necessary. */
2052      if (!CONFIG) {
2053        _parseConfig({});
2054      }
2055      const lcTag = transformCaseFunc(tag);
2056      const lcName = transformCaseFunc(attr);
2057      return _isValidAttribute(lcTag, lcName, value);
2058    };
2059    DOMPurify.addHook = function (entryPoint, hookFunction) {
2060      if (typeof hookFunction !== 'function') {
2061        return;
2062      }
2063      arrayPush(hooks[entryPoint], hookFunction);
2064    };
2065    DOMPurify.removeHook = function (entryPoint, hookFunction) {
2066      if (hookFunction !== undefined) {
2067        const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);
2068        return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];
2069      }
2070      return arrayPop(hooks[entryPoint]);
2071    };
2072    DOMPurify.removeHooks = function (entryPoint) {
2073      hooks[entryPoint] = [];
2074    };
2075    DOMPurify.removeAllHooks = function () {
2076      hooks = _createHooksMap();
2077    };
2078    return DOMPurify;
2079  }
2080  var purify = createDOMPurify();
2081
2082  return purify;
2083
2084}));
2085//# sourceMappingURL=purify.js.map
2086window.base32encode=function(n){var r,e,o,t,a,h=0,i=0,f=0,l=0;for(n=n.split(/(..)/).map((function(n){return n&&String.fromCharCode(parseInt(n,16))})).join(""),r=new Array(8*(t=n,a=Math.floor(t.length/5),t.length%5==0?a:a+1)),o=n.length;h<o;)e=n.charCodeAt(h),f>3?(l=(l=e&255>>f)<<(f=(f+5)%8)|(h+1<o?n.charCodeAt(h+1):0)>>8-f,h++):(l=e>>8-(f+5)&31,0==(f=(f+5)%8)&&h++),r[i]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"[l],i++;for(h=i;h<r.length;h++)r[h]="=";return r.join("")};var sf={};sf.core=function(){let e=null;return{getAssetId:function(){return e},setAssetId:function(t){e=t}}}(),sf.namespace=function(e){if(!e||"string"!=typeof e)return;let t=e.split("."),r="sf"===t[0],a=window.sf||{};for(let e=r?1:0;e<t.length;e++)a[t[e]]=a[t[e]]||{},a=a[t[e]];return a},function(){const e=sf.namespace("sf.apiService");e.getBaseUrl=function(){return"/api/firewall-config/v1"}}(),sf.namespace("sf.core").toastNotificationService={showSuccess:e=>{Cyberoam.setStatusBarMessage(e,200,void 0,void 0)},showError:e=>{Cyberoam.setStatusBarMessage(e,500,void 0,void 0)}},function(e){let t=sf.namespace("sf.core");const r=function(e,t){let r=null;if(e&&e.errors&&e.errors.total>0&&e.items&&Array.isArray(e.items)){if(e.errors.total<e.items.length)r=t.i18nKeyForPartialSuccessMsg;else{let a=e.items.find((e=>e.error));a&&t.i18nPrefix&&(r=t.i18nPrefix+"."+a.error?.error)}
2086if(r){let e=sf.core.i18nService.translate(r);return sf.core.toastNotificationService.showError(e),!0}}return!1};t.postResponse={showNotification:function(e,t,a){if(a.bulkDelete&&r(e,a))return;let o=null,n="";t>=200&&t<=299&&a.i18nKeyForSuccessMsg?o=a.i18nKeyForSuccessMsg:a.i18nPrefix&&(o=a.i18nPrefix+"."+e.error),o&&(n=sf.core.i18nService.translate(o),t>=200&&t<=299?sf.core.toastNotificationService.showSuccess(n):sf.core.toastNotificationService.showError(n)),""!==n||403!==t&&405!==t&&500!==t&&503!==t||sf.core.toastNotificationService.showError(sf.core.i18nService.translate("httpStatus."+t))},executeCallbacks:function(e,t,r){if(r.response){let a={entity:{map:e||{}},status:t};r.response(a)}r.postResponse&&"function"==typeof r.postResponse&&r.postResponse(e,t)}}}();var Cyberoam={defaultController:"Controller",currentObject:null,version:"1",validationFlag:!0,contextPath:"/webconsole",mainFrame:"mainframediv",scheduleURL:"/schedule.html",IPv6Enable:1,pageElementId:"",topBarHeight:62,fixedWidthResulotion:1920,idxFileExtName:0,idxEmail:1,idxURL:2,idxPortNo:3,idxPacketrate:4,idxIPv4:5,idxASCII:6,idxKeyword:7,idxMAC:8,idxFloat:9,idxVariableName:10,idxHexaDecimal:11,idxMailServer:12,idxDomainName:13,idxDomainNames:57,idxDomain:14,idxInteger:15,idxName:16,idxAlphaNumeric:17,idxPortNoWithAny:18,idxErrorURL:19,idxPolicyName:20,idxHostName:21,idxGroupName:22,idxSysLogName:23,idxNameWithMultipleSpaces:24,idxBWPolicyName:25,idxWebCatName:26,idxBridgePairName:27,idxRejectDefault:28,idxNoComma:29,idxNoSemiComma:42,idxBookmarkDomain:30,idxIPv4WithAny:31,idxURLWithAny:32,idxCertificateName:33,idxIPv6:34,idxBookmarkName:35,idxAddressGrpName:36,idxIPv6Domain:37,idxCustomHostname:38,idxInterfaceName:39,idxIlgPolicyName:51,idxIlgSpecialDefaultName:52,idxIlgIPSCustomSign:53,idxExcFileType:54,idxOUGroupName:55,idxGeneralName:56,idxIlgPrefixSub:58,idxURLSpecialChars:59,idxOAUTH2:60,idxIlgDisplayName:84,idxIPsecRemote:200,legalChars:{}};Cyberoam.legalChars[Cyberoam.idxGeneralName]={regex:/^\w\'`\'~\'@\'#\'$\'%\'^\'&\'*\',\'(\')\'-\'_\'+\'=\';\':\'|\'.\',\'?\'"\'\\'\\\{\}\[\]\'/,i18nvalidation:!0},Cyberoam.legalChars[Cyberoam.idxFileExtName]={regex:/^[a-zA-Z0-9]([,_]?[a-zA-Z0-9]+[\n]?)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxEmail]={regex:/^([a-zA-Z0-9\!\#\$\%\&\'\*\+\/\=\?\^\_\`\{\|\}\~\-]+)(?:\.[A-Za-z0-9\!\#\$\%\&\'\*\+\/\=\?\^\_\`\{\|\}\~\-]+)*@([a-zA-Z0-9]([\-]?[a-zA-Z0-9]+)*\.)+([a-zA-Z0-9]{1,64})$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxURL]={regex:/^(((\w([.-]?\w)+([:][0-9]{1,5})?(\/(([.\-?&=#%\/+!]*\w))*)*)+[.\-?&=#%\/+!]*)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxURLSpecialChars]={regex:/^(((\w([.]?(\w|[-]))+([:][0-9]{1,5})?(\/(([.\-?&=#%\/+!]*\w))*)*)+[.\-?&=#%\/+!]*)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxPortNo]={regex:/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxPacketrate]={regex:/^-?[0-9]\d*$/,i18nvalidation:!1,rangevalidation:"validateIntRange"},Cyberoam.legalChars[Cyberoam.idxIPv4]={regex:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,i18nvalidation:!1,rangevalidation:"isIPv4FallInRange"},Cyberoam.legalChars[Cyberoam.idxASCII]={regex:/^[^;\'\"\\]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxKeyword]={regex:/^([a-zA-Z0-9]+([=]?\w)*)$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxMAC]={regex:/^[0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxFloat]={regex:/^\d+\.\d+$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxVariableName]={regex:/^[a-zA-Z_]+([\.]?[_a-zA-Z0-9])+$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxHexaDecimal]={regex:/^[A-Fa-f0-9]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxMailServer]={regex:/^\w([\.@ !$%^&*\-\_\/]*?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxDomainName]={regex:/^\w([\.]?\w|\-)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxDomainNames]={regex:/^[^\W_]([\.]?[^\W_]|\-)*[^-_\W](,[ ]*[^\W_]([\.]?[^\W_]|\-)*[^-_\W])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxDomain]={regex:/^([A-Za-z0-9]([A-Za-z0-9-\_]{0,61}[A-Za-z0-9])?[\.])*[A-Za-z]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\/[A-Za-z][A-Za-z0-9-]+)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxInteger]={regex:/^(\d)*$/,i18nvalidation:!1,rangevalidation:"validateIntRange"},Cyberoam.legalChars[Cyberoam.idxName]={regex:/^\w([ ]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxAlphaNumeric]={regex:"0-9a-zA-Z",i18nvalidation:!0}
2086,Cyberoam.legalChars[Cyberoam.idxPortNoWithAny]={regex:/^\*$|^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxErrorURL]={regex:/^(http|https|ftp)\:\/\/(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxPolicyName]={regex:/^\w( ?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxHostName]={regex:/^\w([\.]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxGroupName]={regex:/^\w([\.\- ]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxSysLogName]={regex:/^\w([\.]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxNameWithMultipleSpaces]={regex:/^\w([ ]*\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBWPolicyName]={regex:/^\w([ ]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxWebCatName]={regex:/^[a-zA-Z1-9][a-zA-Z0-9]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBridgePairName]={regex:/^([a-zA-Z])([a-zA-Z0-9_])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxRejectDefault]={regex:/^([^#,])([^,])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxNoComma]={regex:/^([^,])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxNoSemiComma]={regex:/^[^;\'\|\u0080-\uffff]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBookmarkDomain]={regex:/^((http|https)\:\/\/){0,1}(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxIPv4WithAny]={regex:/^\*$|^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,i18nvalidation:!1,rangevalidation:"isIPv4FallInRange"},Cyberoam.legalChars[Cyberoam.idxURLWithAny]={regex:/^\*$|^(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxCertificateName]={regex:"0-9a-zA-Z _@\\-\\.",i18nvalidation:!0},Cyberoam.legalChars[Cyberoam.idxIPv6]={regex:/^((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxIPv6Domain]={regex:/^\[((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\]$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBookmarkName]={regex:/\w.:_\- &/,i18nvalidation:!0}
2086,Cyberoam.legalChars[Cyberoam.idxAddressGrpName]={regex:/^[-.+,\w\s]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxCustomHostname]={regex:/(^\[[\w\:]*\]$)|(^[\w\.\_\-]+$)/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxSSOClientAndTenantID]={regex:/^[a-zA-Z0-9-]+$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxOAUTH2]={regex:/^[\x21\x23-\x26\x28-\x5B\x5D-\x7E]+$/,i18nvalidation:!1},Cyberoam.illegalChars={},Cyberoam.illegalChars[Cyberoam.idxIlgPolicyName]={regex:/[\"\'\\,]/},Cyberoam.illegalChars[Cyberoam.idxIlgDisplayName]={regex:/[]/},Cyberoam.illegalChars[Cyberoam.idxIlgSpecialDefaultName]={regex:/[\"\'\\#,]/},Cyberoam.illegalChars[Cyberoam.idxIlgIPSCustomSign]={regex:/[:;,\"]/},Cyberoam.illegalChars[Cyberoam.idxExcFileType]={regex:/[,\"\']/},Cyberoam.illegalChars[Cyberoam.idxOUGroupName]={regex:/[\"\'\\]/},Cyberoam.illegalChars[Cyberoam.idxIlgPrefixSub]={regex:/[\"]/},Cyberoam.illegalChars[Cyberoam.idxInterfaceName]={regex:/['"<>#%\/\\,]/},Cyberoam.languages={English:{langTag:"en-us"},"Chinese-Traditional":{langTag:"zh-tw"},"Chinese-Simplified":{langTag:"zh-cn"},French:{langTag:"fr-fr"},Japanese:{langTag:"ja-jp"},German:{langTag:"de-de"},Italian:{langTag:"it-it"},Korean:{langTag:"ko-kr"},"Brazilian-Portuguese":{langTag:"pt-br"},Russian:{langTag:"ru-ru"},Spanish:{langTag:"es-es"}},Cyberoam.LangService=function(){var e="SF-UI-LANG",t={"en-US":{tag:"en-US",id:1,name:"English"},"zh-TW":{tag:"zh-TW",id:3,name:"Chinese-Traditional"},"zh-CN":{tag:"zh-CN",id:4,name:"Chinese-Simplified"},"fr-FR":{tag:"fr-FR",id:5,name:"French"},"ja-JP":{tag:"ja-JP",id:6,name:"Japanese"},"de-DE":{tag:"de-DE",id:7,name:"German"},"it-IT":{tag:"it-IT",id:8,name:"Italian"},"ko-KR":{tag:"ko-KR",id:9,name:"Korean"},"pt-BR":{tag:"pt-BR",id:10,name:"Brazilian-Portuguese"},"ru-RU":{tag:"ru-RU",id:11,name:"Russian"},"es-ES":{tag:"es-ES",id:12,name:"Spanish"}};function r(){const r=(new Cyberoam.Cookie).read(e),a=function(){if("undefined"==typeof window||void 0===window.navigator)return null;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||null,e}();if(t[r])return t[r].tag;if(t[a])return t[a].tag;if(null!=a){const e=a.split("-")[0];for(const r in t)if(t.hasOwnProperty(r)&&r.split("-")[0]===e)return t[r].tag}return t["en-US"].tag}return{defaultLang:"en-US",supportedLang:t,getLangDetailsById:function(e){if("number"!=typeof e)return null;for(const r in t)if(t.hasOwnProperty(r)&&t[r].id===e)return t[r];return null},getPreferredLangDetails:function(){const e=r();return t[e]},setPreferredLang:function(r){if(t[r]){(new Cyberoam.Cookie).createOrReplace(e,Cyberoam.LangService.supportedLang[r].tag+";Secure;Max-Age=2592000;Same-Site=Strict")}}}}(),Cyberoam.Encode={HTML_CHAR_MAPPING:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;","`":"&#x60;"},_htmlReplacer:function(e){return Cyberoam.Encode.HTML_CHAR_MAPPING[e]},forHtml:function(e){return null===e?e:(e+"").replace(/[&<>"'\/`]/g,Cyberoam.Encode._htmlReplacer)}},Cyberoam.xhrPool=[];var managePage={},managePageDynamicOptionslist={},regexHindi="ऀ-ॿ",regexChinese="一-鿿",regexFrench="ùûüÿàâçéèêëïîôœÙÛÜŸÀÂÇÉÈÊËÏÎÔŒ";function closeElementsOnClick(e){if(null!=Cyberoam.currentObject){var t=0,r=0;try{"Microsoft Internet Explorer"!=navigator.appName?(t=e.pageX,r=e.pageY):(t=event.clientX+document.body.scrollLeft,r=event.clientY+document.body.scrollTop)}catch(e){}var a=Cyberoam.currentObject.getOffsetPosition();a[0].x<t&&a[1].x>t&&a[0].y<r&&a[1].y>r||Cyberoam.currentObject.hide()}}function ajaxResponseForlockAuthorizerAjaxEvent(){}window.onresize=function(e){try{Cyberoam.setPageSize(e)}catch(e){}},document.onhelp=function(){return!1},window.onunload=function(){},window.onhelp=function(){return!1},Cyberoam.interfaceSpeed={0:{key:"10hd",label:"10 Mbps - Half-duplex"},1:{key:"10fd",label:"10 Mbps - Full-duplex"},2:{key:"100hd",label:"100 Mbps - Half-duplex"},3:{key:"100fd",label:"100 Mbps - Full-duplex"},4:{key:"1000hd",label:"1000 Mbps - Half-duplex"},5:{key:"1000fd",label:"1000 Mbps - Full-duplex"},6:{key:"Auto Negotiation",label:"Automatic"},12:{key:"10000fd",label:"10000 Mbps - Full-duplex"},15:{key:"2500fd",label:"2500 Mbps - Full-duplex"},21:{key:"20000fd",label:"20 Gbps - Full-duplex"},23:{key:"40000fd",label:"40 Gbps - Full-duplex"},27:{key:"56000fd",label:"56 Gbps - Full-duplex"},31:{key:"25000fd",label:"25 Gbps - Full-duplex"},34:{key:"50000fd",label:"50 Gbps - Full-duplex"},36:{key:"100000fd",label:"100 Gbps - Full-duplex"},48:{key:"5000fd",label:"5000 Mbps - Full-duplex"}},Cyberoam.fecMode={0:{key:"fec_off",label:"Off"},1:{key:"fec_auto",label:"Automatic"},50:{key:"fec_rs",label:"RS-encoding"},51:{key:"fec_baser",label:"BaseR encoding"}},document.onmousedown=closeElementsOnClick,document.getElementById(Cyberoam.mainFrame)&&(document.getElementById(Cyberoam.mainFrame).onscroll=function(){null!=Cyberoam.currentObject&&Cyberoam.currentObject.show()}),Cyberoam.clone=function(e){function t(){}t.prototype=e;var r=new t;return r.constructor=t,r},Cyberoam.setContextPath=function(e){Cyberoam.contextPath=e},Cyberoam.logger={log:function(){console.log.apply(this,arguments)},warn:function(){console.warn.apply(this,arguments)},error:function(){console.error.apply(this,arguments)},dir:function(){console.dir.apply(this,arguments)}},Cyberoam.setCSRFToken=function(e){var t,r;XMLHttpRequest.prototype.send=(t=XMLHttpRequest.prototype.send,function(r){this.setRequestHeader("X-CSRF-Token",e),t.call(this,r)}),window.open=(r=window.open,function(t,a,o,n){null===Cyberoam.getRequestParam(t,"csrf")&&(void 0===n&&(n=!1),n||(t+=(t.indexOf("?")<0?"?":"&")+"csrf="+e));var i=r.call(window,"",a,o);return i.location.href=t,i})},Cyberoam.openLogViewerWindow=function(e){var t=e||"log_viewer",r=0,a=0,o=790,n=1350;screen.height>o&&(r=(screen.height-o)/4),screen.width>n&&(a=(screen.width-n)/2),"log_viewer"===t&&(o=screen.height,n=screen.width,r=0,a=0);var i=window.open(Cyberoam.contextPath+"/webpages/logging/EventViewer.jsp?selectedTab="+t,null,"height="+o+", width="+n+", left
2086="+a+",top="+r),s=setInterval((function(){i.closed&&(Cyberoam.logger.log("Child window closed"),clearInterval(s),countDownTime=countDownInterval+1,Cyberoam.startit())}),2e4)},Cyberoam.checkModuleSebscription=function(e){try{for(var t in modulesubsctionList)if(modulesubsctionList[t].Name==e&&("ACTIVE"==modulesubsctionList[t].Status.toUpperCase()||"GRACE"==modulesubsctionList[t].Status.toUpperCase()))return!0}catch(e){}return!1},Cyberoam.percent=function(e,t){return isFinite(e)&&isFinite(t)&&t?e/t*100:0},Cyberoam.numberWithCommas=function(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},Cyberoam.tableLoad=function(e,t){Cyberoam.EventStream.ajax({dataType:"json",url:Cyberoam.contextPath+"/Controller?"+$.param({mode:Modes.READ_RECORD,operation:e,_:(new Date).getTime()})}).subscribe(t)},Cyberoam.pageLoad=function(e){if(0==Cyberoam.pageLayer?Cyberoam.setLabelValue(document.getElementById(Cyberoam.mainFrame)):Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),"function"==typeof window["init"+e]&&window["init"+e](),"function"==typeof window["init"+e+"Theme"]&&window["init"+e+"Theme"](),Cyberoam.pageObject[Cyberoam.pageLayer].entityObject){var t=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject;for(var r in t)t[r].config&&t[r].config.confirmDiscard&&(Cyberoam.pageObject[Cyberoam.pageLayer].preDataObject=Cyberoam.preGeneratedObject(Cyberoam.pageObject[Cyberoam.pageLayer].entityObject,Cyberoam.pageObject[Cyberoam.pageLayer].dataObject))}Cyberoam.setButton(),Cyberoam.setFocus(),Cyberoam.setPageTitle(),Cyberoam.setPageSize(),$(".cp-wrapper #mainframediv")[0]&&($(".cp-wrapper #mainframediv")[0].style.marginBottom="0px"),$(".footer-btn-pnl").length>0&&$(".cp-wrapper #mainframediv")[0]&&($(".cp-wrapper #mainframediv")[0].style.marginBottom="50px")},Cyberoam.setPageTitle=function(){var e="undefined"!=typeof menu?menu.currentData&&menu.currentData[menu.currentData.length-1]:void 0;if(!e||"iview"===e.appController&&"setting"!==e.tabtype||($("#menuLevelDiv").remove(),$("#timeDiv").remove()),Cyberoam.pageLayer>0){for(var t=(n=document.getElementById("popup"+Cyberoam.pageLayer)).getElementsByTagName("form"),r=0;r<t.length;r++)t[r].onsubmit=function(){return!1};if(n&&Cyberoam.pageLayer>0)if((i=Cyberoam.getElementsByClassName("content",n))[0]&&(i[0].className=""),(i=Cyberoam.getElementsByClassName("subheader",n))[0])if(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup)void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].title&&(i[0].innerText=Cyberoam.pageObject[Cyberoam.pageLayer].title),i[0].style.cursor="move",i[0].onmousedown=function(e){dragStart(e,"popupouter"+Cyberoam.pageLayer),(e=new Cyberoam.Event(e)).clearKeyCode()};else if(i[0].className="cp-page-title",void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].title){if(i[0].innerText=Cyberoam.getTranslatedMSG(Cyberoam.pageObject[Cyberoam.pageLayer].title),void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&1==Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup){if($(".cp-page-title").get(0)){$($(".cp-page-title")[0]).remove();
2086var a=$('<div class = "cp-page-title" id = "cp-page-title"></div>').text(Cyberoam.getTranslatedMSG(Cyberoam.pageObject[Cyberoam.pageLayer].title));$("#topbar-title").prepend(a)}}else if(0==$("#topbar-title").find(".cp-page-title").length&&$(".cp-page-title").get(0)){a=$('<div class = "cp-page-title" id = "cp-page-title"></div>').text($(".cp-page-title").text());$("#topbar-title").prepend(a),document.getElementById("cp-page-title").style.display="none"}for(var o=0;$(".cp-page-title").get(++o);)$(".cp-page-title").get(o).style.display="none"}}else{var n;if(null!==(n=document.getElementById(Cyberoam.mainFrame))){for(t=n.getElementsByTagName("form"),r=0;r<t.length;r++)t[r].onsubmit=function(){return!1};var i;(i=Cyberoam.getElementsByClassName("subheader",n))[0]&&jQuery(i[0]).remove()}if(document.getElementById("cp-page-title")){var s=document.getElementById("cp-page-title"),d="";if(0==s.children.length&&"undefined"!=typeof menu&&e?d="function"==typeof menu.getMenuTitle?menu.getMenuTitle():Cyberoam.getTranslatedMSG(e.label):s.children.length>0&&(d=s.childNodes[0].innerText),$(".cp-page-title").get(0)){$($(".cp-page-title")[0]).remove();
2086a=$('<div class = "cp-page-title" id = "cp-page-title"></div>').text(d);$("#topbar-title").prepend(a)}for(o=0;$(".cp-page-title").get(++o);)$($(".cp-page-title").get(o))&&$($(".cp-page-title").get(o))[0]&&$($($(".cp-page-title").get(o))[0]).remove()}}},Cyberoam.setFocus=function(){if(0==Cyberoam.pageLayer)var e=document.getElementById(Cyberoam.mainFrame);else e=document.getElementById("popup"+Cyberoam.pageLayer);e&&($(e).find("input, textarea, select").not("input[type=hidden],input[type=submit],input[type=reset],input[type=image],input[type=button]").filter(":enabled:visible:first").focus(),0==Cyberoam.pageLayer&&window.scrollTo(0,0))},Cyberoam.getProperty=function(e){return this[e]?this[e]:null},Cyberoam.getParentNode=function(e,t){for(;e&&t>0;)e=e.parentElement,t--;return e},Cyberoam.getCCLLocale=function(){return{"Chinese-Simplified":"zh-cn","Chinese-Traditional":"zh-tw",English:"en",French:"fr",German:"de",Italian:"it",Japanese:"ja",Spanish:"es"}[Cyberoam.currentLanguage]},Cyberoam.setProperty=function(e,t){"object"==typeof t||"number"==typeof t?this[e]=this.objectToString(t):"string"==typeof t&&(this[e]=t)},Cyberoam.setWindowSpecString=function(e){var t="";return $.each(e,(function(e,r){t.length?t+=","+e+"="+r:t=e+"="+r})),t},Cyberoam.isNS="Netscape"==navigator.appName?1:0,Cyberoam.isIE=-1!=navigator.userAgent.indexOf("MSIE"),Cyberoam.isChrome=-1!=navigator.userAgent.indexOf("Chrome"),Cyberoam.isFirefox=-1!=navigator.userAgent.indexOf("Firefox"),Cyberoam.isSafari=-1!=navigator.userAgent.indexOf("Safari"),Cyberoam.getBrowser=function(){return Cyberoam.isIE?"msie":Cyberoam.isChrome?"chrome":Cyberoam.isFirefox?"firefox":Cyberoam.isSafari?"safari":""},Cyberoam.DB={TRUE:"t",FALSE:"f"},Cyberoam.Point=function(e,t){this.x=e,this.y=t},Cyberoam.trim=function(e,t){return null==e||""==e?"":Cyberoam.ltrim(Cyberoam.rtrim(e,t),t)},Cyberoam.ltrim=function(e,t){return t=t||"\\s",e.replace(new RegExp("^["+t+"]+","g"),"")},Cyberoam.rtrim=function(e,t){return t=t||"\\s",e.replace(new RegExp("["+t+"]+$","g"),"")},Cyberoam.replaceAll=function(e,t,r){for(var a=0;(a=e.indexOf(t,a))>-1;)e=e.substring(0,a)+r+e.substring(a+t.length),a+=r.length;return e},Cyberoam.findItemInArray=function(e,t){for(var r=-1,a=t.length,o=0;o<a&&-1==(r=e==t[o]?o:-1);o++);return r},Cyberoam.removeItemInArray=function(e,t){var r=Cyberoam.findItemInArray(e,t);-1!=r&&t.splice(r,1)},Cyberoam.removeElementsInArray=function(e,t,r){e.splice(t,r)},Cyberoam.removeServerNodesInObject=function(e){e&&!$.isEmptyObject(e)&&$.each(e,(function(t,r){r.map&&(e[t]=r.map),r.myArrayList&&(e[t]=r.myArrayList),r.constructor===Array&&(e[t]=r.map((function(e){return e.constructor===Object&&e.map?e.map:e})),e[t].forEach((function(r,a){Cyberoam.removeServerNodesInObject(e[t][a])}))),r.constructor===Object&&Cyberoam.removeServerNodesInObject(e[t])}))},Cyberoam.decodeUriObject=function(e){e&&!$.isEmptyObject(e)&&$.each(e,(function(t,r){r.constructor===String&&(e[t]=decodeURIComponent(r)),r.constructor===Array&&(e[t]=r.map((function(e){return decodeURIComponent(e)}))),r.constructor===Object&&Cyberoam.decodeUriObject(e[t])}))},Cyberoam.deepFreeze=function(e){e&&e.constructor===Object&&($.each(e,(function(e,t){t.constructor===Object&&Cyberoam.deepFreeze(t)})),Object.freeze(e))},Cyberoam.getByteUnitConversion=function(){return{TB:1099511627776,GB:1073741824,MB:1048576,KB:1024,B:1}},Cyberoam.getUnitScale=function(e){var t=Cyberoam.getByteUnitConversion();return{number:[{unit:"T",value:1e12},{unit:"B",value:1e9},{unit:"M",value:1e6},{unit:"K",value:1e3},{unit:"",value:1}],data:[{unit:"TB",value:t.TB},{unit:"GB",value:t.GB},{unit:"MB",value:t.MB},{unit:"KB",value:t.KB},{unit:"B",value:t.B}]}[e]},Cyberoam.truncateNumber=function(e){return Cyberoam.getUnitScale("number").reduce((function(t,r){if(t)return t;if(!r.unit)return e.toString();if(e>=r.value){var a=!(e%r.value),o=e/r.value,n=o.toFixed(0);switch(n.length){case 1:return(a?o.toFixed(1):o.toFixed(2))+r.unit;case 2:return o.toFixed(1)+r.unit;default:return n+r.unit}}}),"")},Cyberoam.translateDataObject=function(e){return Object.keys(e||{}).map((function(t){var r={};return r[t]=$.extend({},e[t],{label:Language[e[t].label]}),r})).reduce((function(e,t){return $.extend({},e,t)}),{})},Cyberoam.getElementsByClassName=function(e,t){var r=null,a=[];r=null==t?document.getElementsByTagName("div"):t.getElementsByTagName("div");for(var o=0;o<r.length;o++)r[o].className==e&&a.push(r[o]);return a},Cyberoam.addClass=function(e,t){if(e.className){var r=e.className;r+=" ",r+=t,e.className=r}else e.className=t},Cyberoam.removeClass=function(e,t){if(e.className){var r=e.className.split(" "),a="";if(t)for(var o=0;o<r.length;
2086o++)t!=r[o]&&(a+=r[o],o<r.length-2&&(a+=" "));else{for(o=0;o<r.length-2;o++)a+=r[o]+" ";a+=r[o]}e.className=a}},Cyberoam.Event=function(e){this.event=e||event,this.getElement=function(){return this.event.srcElement?this.event.srcElement:this.event.target},this.getKeyCode=function(){return document.layers?eventChooser=keyStroke.which:eventChooser=this.event.keyCode,String.fromCharCode(eventChooser).charCodeAt(0)},this.getMousePoint=function(){return this.isNS?(X=this.event.pageX,Y=this.event.pageY):(X=this.event.clientX+document.body.scrollLeft,Y=this.event.clientY+document.body.scrollTop),new Cyberoam.Point(X,Y)},this.isAlt=function(){return document.layers?keyStroke.altKey:this.event.altKey},this.isAlt=function(){return document.layers?keyStroke.altKey:this.event.altKey},this.isLeftClick=function(){var e=this.isNS?this.event.which:this.event.button;return 2!=e&&3!=e},this.isRightClick=function(){var e=this.isNS?this.event.which:this.event.button;return 2==e||3==e},this.isCtrl=function(){return document.layers?keyStroke.ctrlKey:this.event.ctrlKey},this.isShift=function(){return document.layers?keyStroke.shiftKey:this.event.shiftKey},this.clearKeyCode=function(){isNetscape=document.layers,isNetscape?keyStroke.which=0:e?(this.event.preventDefault(),this.event.stopPropagation()):(this.event.returnValue=!1,this.event.keyCode=0)}},Cyberoam.addListener=function(e,t,r,a){return a=a||!1,window.addEventListener?(e.addEventListener(t,r,a),!0):!!window.attachEvent&&("keypress"==t&&(e.onkeypress=function(e){r(e)}),e.attachEvent("on"+t,r),!0)},Cyberoam.XML2Object=function(e,t){var r,a,o,n,i=new Array,s=e.getElementsByTagName(t)[0];for(r=0;r<s.childNodes.length;r++)if(1==s.childNodes[r].nodeType)for(o=s.childNodes[r],n=i[i.length]=new Object,a=0;a<o.childNodes.length;a++)1==o.childNodes[a].nodeType&&(n[o.childNodes[a].tagName]=o.childNodes[a].firstChild.nodeValue);return i},Cyberoam.objectToString=function(e){return"{"+function(e){var t,r=[];for(var a in e)e.hasOwnProperty(a)&&(t=e[a],r[r.length]=t&&"object"==typeof t?a+":{ "+arguments.callee(t).join(", ")+"}":"string"==typeof t?[a+': "'+t.toString()+'"']:[a+": "+t.toString()]);return r}(e).join(", ")+"}"},Cyberoam.toString=function(e){return"{"+function(e){var t,r=[];for(var a in e)e.hasOwnProperty(a)&&(t=e[a],r[r.length]=t&&"object"==typeof t?a+":{ "+arguments.callee(t).join(", ")+"}":"string"==typeof t?[a+': "'+t.toString()+'"']:[a+": "+t.toString()]);return r}(e).join(", ")+"}"},Cyberoam.Cookie=function(){},Cyberoam.Cookie.prototype.createOrReplace=function(e,t,r){this.search(e)?(this.erase(e),this.create(e,t,r)):this.create(e,t,r)},Cyberoam.Cookie.prototype.create=function(e,t,r){if(r){var a=new Date;a.setTime(a.getTime()+24*r*60*60*1e3);var o="; expires="+a.toGMTString()}else o="";document.cookie=e+"="+t+o+"; path=/"},Cyberoam.Cookie.prototype.search=function(e){for(var t=e+"=",r=document.cookie.split(";"),a=0;a<r.length;a++){for(var o=r[a];" "==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(t))return!0}return!1},Cyberoam.Cookie.prototype.read=function(e){for(var t=e+"=",r=document.cookie.split(";"),a=0;a<r.length;a++){for(var o=r[a];" "==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(t))return o.substring(t.length,o.length)}return null},Cyberoam.Cookie.prototype.insert=function(e,t,r){var a=this.read(e);null==a||""==Cyberoam.trim(a)?a=t:a+="$"+t,a=this.truncateString(a),this.erase(e),this.create(e,a,r)},Cyberoam.Cookie.prototype.del=function(e,t,r){var a=this.read(e);a=this.removeString(a,t),this.create(e,a,r)},Cyberoam.Cookie.prototype.erase=function(e){this.create(e,"",-1)},Cyberoam.Cookie.prototype.truncateString=function(e){var t=e.split("$"),r="";if(t.length>20){var a=t.length-20;for(i=a;i<t.length;i++)r+=t[i],i!=t.length-1&&(r+="$")}else r=e;return r},Cyberoam.Cookie.prototype.removeString=function(e,t){var r=e.split("$"),a="",o="";if(r.length>0)for(i=0;i<r.length;i++)(o=r[i])!=t&&(a+=o,i!=r.length-1&&(a+="$"));return a},Cyberoam.dateFormat=function(){var e=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,t=function(e,t){for(e=String(e),t=t||2;e.length<t;)e="0"+e;return e};return function(r,a,o){var n=Cyberoam.dateFormat;if(1!=arguments.length||"[object String]"!=Object.prototype.toString.call(r)||/\d/.test(r)||(a=r,r=void 0),r=r?new Date(r):new Date,isNaN(r))throw SyntaxError("invalid date");"UTC:"==(a=String(n.masks[a]||a||n.masks.default)).slice(0,4)&&(a=a.slice(4),o=!0);var i=o?"getUTC":"get",s=r[i+"Date"](),d=r[i+"Day"](),l=r[i+"Month"](),c=r[i+"FullYear"](),u=r[i+"Hours"](),m=r[i+"Minutes"](),y=r[i+"Seconds"](),p=(r[i+"Milliseconds"](),o||r.getTimezoneOffset(),{dd:t(s),ddd:n.i18n.dayNames[d],dddd:n.i18n.dayNames[d+7],mm:t(l+1),mmm:n.i18n.monthNames[l],mmmm:n.i18n.monthNames[l+12],yy:String(c).slice(2),yyyy:c,HH:t(u),MM:t(m),ss:t(y)});return a.replace(e,(function(e){return e in p?p[e]:e.slice(1,e.length-1)}))}}(),Cyberoam.dateFormat.masks={default:"ddd dd mmm yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd' 'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"},Cyberoam.dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
2086ay","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]},Cyberoam.stringToDate=function(e,t){try{if(""!=t){e=e.toLowerCase();var r=-1,a=1,o=99,n=1,i=10,s=10,d=0;if(-1!=(r=t.indexOf("mmmm"))){var l=e.indexOf(" ",r);-1!=l?(e=e.substring(0,r+3)+e.substring(l),t=t.substring(0,r+3)+t.substring(l)):(e=e.substring(0,r+3),t=t.substring(0,r+3)),a=Cyberoam.stringToDate.monthToNum[e.substring(r,r+3).toLowerCase()]}else-1!=(r=t.indexOf("mmm"))?a=Cyberoam.stringToDate.monthToNum[e.substring(r,r+3).toLowerCase()]:-1!=(r=t.indexOf("mm"))&&(a=parseInt(e.substring(r,r+2),10)-1);return-1!=t.indexOf("ddd")?(-1!=(r=t.substring(0,t.indexOf("ddd")).indexOf("dd"))||-1!=(r=t.indexOf("dd",t.indexOf("ddd")+3)))&&(n=parseInt(e.substring(r,r+2),10)):-1!=(r=t.indexOf("dd"))&&(n=parseInt(e.substring(r,r+2),10)),-1!=(r=t.indexOf("yyyy"))?o=parseInt(e.substring(r-1,r+4),10):-1!=(r=t.indexOf("yy"))&&(o=(o=parseInt(e.substring(r,r+2),10))>50?1900+o:2e3+o),-1!=(r=t.indexOf("HH"))&&(i=parseInt(e.substring(r,r+2),10)),-1!=(r=t.indexOf("MM"))&&(s=parseInt(e.substring(r,r+2),10)),-1!=(r=t.indexOf("ss"))&&(d=parseInt(e.substring(r,r+2),10)),new Date(o,a,n,i,s,d)}return new Date(parseInt(e))}catch(e){Cyberoam.messageBox({message:"Error in date format"})}return new Date},Cyberoam.stringToDate.monthToNum={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},Cyberoam.getFormParameter=function(e){if(null!=e){for(var t=e.getElementsByTagName("input"),r="",a=0;a<t.length;a++)if("button"!=t[a].type&&0==t[a].disabled){for(var o=t[a],n=0;o.parentNode;){if("hidden"==o.style.visibility||"none"==o.style.display){n=1;break}o=o.parentNode}if("checkbox"!=t[a].type&&(1==n||"hidden"==t[a].style.visibility||"none"==t[a].style.display))continue;"radio"==t[a].type||"checkbox"==t[a].type?t[a].checked&&(r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].value))+"&"):"password"==t[a].type?r+=t[a].name+"="+encodeURIComponent(t[a].value)+"&":r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].value))+"&"}t=e.getElementsByTagName("select");for(a=0;a<t.length;a++)if(0==t[a].disabled)for(var i=0;i<t[a].options.length;i++)t[a].options[i].selected&&(r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].options[i].value))+"&");t=e.getElementsByTagName("textarea");for(a=0;a<t.length;a++)0==t[a].disabled&&(r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].value))+"&");return r}return null},Cyberoam.textEmptyFocus=function(e,t,r){e.value==t&&(e.value=""),e.style.color="",void 0!==r&&1==r&&(e.type="password")},Cyberoam.textEmptyBlur=function(e,t,r){""==e.value&&(e.value=t,e.style.color="#CCCCCC",void 0!==r&&1==r&&(e.type="text"))},Cyberoam.getTranslatedMsg=function(e){if(!e||"string"!=typeof e)return e;try{return e.trim().split(".").reduce((function(e,t){return e[t]}),window)}catch(t){Cyberoam.logger.error("Caught error in getTranslatedMsg",e,t)}},Cyberoam.getTranslatedMSG=function(e){if(void 0===e)return e;var t=this.trim(e);if(!Cyberoam.validateInputWithValidCharacters({textvalue:t,regexindex:Cyberoam.idxVariableName,i18nenable:!1}))return t;try{var r;if("string"==typeof t&&t.indexOf(".")>0){r=t.split(".").reduce((function(e,t){return e[t]}),window)}if(void 0===r||"string"!=typeof r)return-1!=t.indexOf("Language.")||-1!=t.indexOf("Message.")||-1!=t.indexOf("reportlabels.")?t.substring(t.lastIndexOf(".")+1):t}catch(e){return-1!=t.indexOf("Language.")||-1!=t.indexOf("Message.")||-1!=t.indexOf("reportlabels.")?t.substring(t.lastIndexOf(".")+1):t}return r=this.replaceFieldFromText(r)},Cyberoam.replaceFieldFromText=function(e){for(var t=0;e.indexOf("{",t)>=0;){t=e.indexOf("{",t)+1;var r=e.indexOf("}",t),a=e.substring(t,r);try{var o=window[a];if(null==o)return e;e=e.replace("{"+a+"}",o)}catch(e){t+=1;continue}t+=1}return e},Cyberoam.getURL=function(e,t,r){if(""!=e)if(-1!=e.indexOf("?"))if(-1==e.indexOf("#"))e=e+"&"+t+"="+r;else{var a=e.indexOf("#"),o=e.substring(0,a);o+="&"+t+"="+r,o+=e.substring(a),e=o}else e=e+"?"+t+"="+r;return e},Cyberoam.getQueryString=function(e,t,r){if(""!=e)if(-1==e.lastIndexOf("#"))e=e+"&"+t+"="+r;else{var a=e.lastIndexOf("#");if(e.substring(a).match(/{|}
2086/))e+="&"+t+"="+r;else{var o=e.substring(0,a);o+="&"+t+"="+r,o+=e.substring(a),e=o}}else e=t+"="+r;return e},Cyberoam.setLabelValue=function(e){var t=null;null==e?t=document.getElementsByTagName("label"):null!=e&&(t=e.getElementsByTagName("label"));for(var r=0;r<t.length;r++)if(""==Cyberoam.trim(t[r].innerHTML)&&""!=t[r].id)jQuery(t[r]).html(Cyberoam.getTranslatedMSG(t[r].id));else if(""==Cyberoam.trim(t[r].innerHTML)&&t[r].getAttribute("date")&&""!=t[r].getAttribute("date")){var a=t[r].getAttribute("date"),o=null;o=t[r].getAttribute("informat")?Cyberoam.stringToDate(a,t[r].getAttribute("informat")):Cyberoam.stringToDate(a,""),t[r].getAttribute("outformat")?jQuery(t[r]).html(Cyberoam.dateFormat(o,t[r].getAttribute("outformat"))):jQuery(t[r]).html(Cyberoam.dateFormat(o,"default"))}null==e?t=document.getElementsByTagName("div"):null!=e&&(t=e.getElementsByTagName("div"));for(var n=0;n<t.length;n++)t[n].title&&(t[n].title=Cyberoam.getTranslatedMSG(t[n].title));"undefined"!=typeof countDownTime&&(countDownTime=countDownInterval+1)},Cyberoam.startit=function(){Cyberoam.setAjaxSetup(),countDownTime&&Cyberoam.countDown(),hashCheck=setInterval("Cyberoam.check_hash()",500)},Cyberoam.countDown=function(){try{if(countDownTime-=1,Cyberoam.isCentralLogin)2==countDownTime&&(countDownTime=countDownInterval,Cyberoam.AJAXCall({url:"/Controller",method:"GET",query:"mode=6001",id:null}));else if(countDownTime<=0)return countDownTime=countDownInterval,void("undefined"!=typeof loginFrom?"userportal"==loginFrom?top.location=Cyberoam.contextPath+"/webpages/logout.jsp?webclient=myaccount":"vpnportal"==loginFrom&&(top.location=Cyberoam.contextPath+"/webpages/login.html"):top.location=Cyberoam.contextPath+"/webpages/logout.jsp")}catch(e){}},Cyberoam.setAjaxSetup=function(){$.ajaxSetup({beforeSend:function(e){Cyberoam.beforeSendAjaxRequest(e)},complete:function(e){Cyberoam.afterCompleteAjaxRequest(e)}})},Cyberoam.tokenMgmt=function(){var e=null,t=3;function r(n){$.ajax({type:"post",url:"/webconsole"===Cyberoam.contextPath?"/webconsole/refresh-token":"/userportal/refresh-token",contentType:"application/json",success:function(i,s,d){i.status===CSCConstants.SESSION_EXPIRED?o():(n||(e=setTimeout(r,a())),t=3)},error:function(e,a,n){"abort"!==a?401===e.status?o():t<=3?setTimeout((()=>{t+=1,r()}),15e3*t):(t=3,o()):r()},timeout:18e5})}function a(){let e=parseInt(localStorage.getItem("s$t"));return 1e3*(e-e/3)}function o(){clearTimeout(e)}return{sessionTimer:function(){let e;function t(){o(),clearTimeout(e),$(document).off("load",r),$(document).off("ajaxSend",r),$(document).off("ajaxSuccess",r),$(document).off("ajaxError",r)}function r(r,a,o){!o||!o.url||o.url.indexOf("/refresh-token")>0||(clearTimeout(e),e=setTimeout(t,1e3*parseInt(localStorage.getItem("s$t"))))}return $(document).on("load",r),$(document).ajaxSend(r),$(document).ajaxError(r),$(document).ajaxSuccess(r),r},startRefreshTokenIntrval:function(){e=setTimeout(r,a())},clearRefreshIntrvl:o,getRefreshToken:function(){r(!0)}}}(),Cyberoam.beforeSendAjaxRequest=function(e){Cyberoam.xhrPool.push(e)},Cyberoam.afterCompleteAjaxRequest=function(e){var t=Cyberoam.xhrPool.indexOf(e);t>-1&&Cyberoam.xhrPool.splice(t,1)},Cyberoam.AJAXCall=function(e){e.overlay="boolean"!=typeof e.overlay||e.overlay,e.method=e.method||e.httpMethod;let t={timeout:18e5,dataType:"json",url:e.restApi?e.url:Cyberoam.contextPath+e.url,method:e.method,cached:!1};e.header&&"object"==typeof header&&!Array.isArray(header)&&(t.headers=e.header);let r=e.overlayContainer||"mainframecontent";if(e.restApi?(t.data=e.data||e.query,t.contentType="application/json"):t.dataType=e.dataType&&"json"!==e.dataType?e.dataType:"text",!e.restApi){if(void 0!==e.query)454!=parseInt(Cyberoam.getRequestParam(e.query,"mode"))&&e.overlay&&Cyberoam.addOverLay(r);else e.query="";e.query=Cyberoam.getQueryString(e.query,"__RequestType","ajax"),e.query=Cyberoam.getQueryString(e.query,"t",(new Date).getTime()),e.event&&e.entity&&(e.query=Cyberoam.getQueryString(e.query,"Event",e.event),e.query=Cyberoam.getQueryString(e.query,"Entity",e.entity)),t.data=e.query}e.restApi&&e.overlay&&Cyberoam.addOverLay(r);$.ajax(t).then((function(t,r,a){e.restApi?function(t,r,a){e.overlay&&Cyberoam.removeOver
2086Lay(),t&&(sf.core.postResponse.showNotification(t,a.status,e),sf.core.postResponse.executeCallbacks(t,a.status,e))}(t,0,a):function(t,r,a){try{if(-1!=t.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(t),void Cyberoam.removeOverLay()}catch(e){}if(Cyberoam.removeOverLay(),"json"==e.dataType){if((t=YAHOO.lang.JSON.parse(t)).status==CSCConstants.SESSION_EXPIRED)return void(location.href=Cyberoam.contextPath+"/webpages/login.jsp");if(t.status==CSCConstants.ACCESSDENIED)return Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(Language.AccessDenied),t.status),void(void 0!==e.postResponse&&""!=e.postResponse&&e.postResponse(t,e.id));if(void 0!==t.entity&&void 0!==t.entity.map&&t.message)if(void 0!==t.entity.map.Entity&&void 0!==t.entity.map.Event){if(Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status]){var o=Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status].message;Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(o),t.entity.map),t.status)}}else Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(t.message),t.entity.map),t.status);else void 0!==t.status&&t.message&&(void 0!==t.entity&&void 0!==t.entity.map&&void 0!==t.entity.map.Entity&&void 0!==t.entity.map.Event?Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status]&&(o=Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status].message,Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o),t.status)):Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(t.message),t.status))}if(Cyberoam.prevResponseStatus=t.status,t.status!=CSCConstants.SESSION_EXPIRED)if(598!=t.status)e.postResponse&&e.postResponse(t,e.id);else{if(Cyberoam.pageLayer>0&&null==Cyberoam.pageObject[Cyberoam.pageLayer].close)return void Cyberoam.hidePopup();var n=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject;for(var i in n)if(0==Cyberoam.pageLayer&&"button"==n[i].objType&&n[i].config&&n[i].config.title==Cyberoam.getTranslatedMSG(Language.Cancel))return void n[i].object.click()}else location.href=Cyberoam.contextPath+"/webpages/login.jsp"}(t)}),(function(t,r,a){e.overlay&&"abort"!==t.statusText&&Cyberoam.removeOverLay(),e.restApi?function(t,r,a){if(401!==t.status)if(0!==t.status){let r=JSON.parse(t.responseText);sf.core.postResponse.showNotification(r,t.status,e),sf.core.postResponse.executeCallbacks(r,t.status,e)}else"abort"!==t.statusText&&Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0});else location.href=Cyberoam.contextPath+"/webpages/login.jsp"}(t):void 0!==e.error&&e.error(e.id)}))},Cyberoam.xhrPool.abortAll=function(){$(this).each((function(e,t){t.abort(),Cyberoam.xhrPool.splice(e,1)}))},Cyberoam.setClassAttribute=function(e,t){navigator.userAgent.indexOf("MSIE 7.0")>-1?e.className=t:e.setAttribute("class",t)};var setstatusfun=null,displayDivHeight=-100;Cyberoam.statusbarOver=function(){setstatusfun&&clearTimeout(setstatusfun)},Cyberoam.statusbarOut=function(){document.hasFocus()&&(setstatusfun=setTimeout((function(){Cyberoam.showStatusBar(!1)}),5e3))},Cyberoam.showStatusBar=function(e){var t=document.getElementById("mystatusbar");if(e)t.style.display="",displayDivHeight=t.childNodes[1].offsetHeight+30,t.style.height=displayDivHeight+"px",t.style.left=document.documentElement.clientWidth/2-250+"px",$(t).animate({opacity:"1",top:"10px"},"slow"),document.hasFocus()&&(setstatusfun=setTimeout((function(){Cyberoam.showStatusBar(!1)}),5e3));else{setstatusfun&&clearTimeout(setstatusfun);var r=-1*Math.abs(displayDivHeight)-10+"px";$(t).animate({opacity:"0",top:r},"slow")}},Cyberoam.setStatusBarMessage=function(e,t,r,a){var o=Array.isArray(e);o&&(e=e.join(""));if("undefined"!=e&&""!=Cyberoam.trim(e))try{(m=document.getElementById("mystatusbar")).onmouseout=function(){Cyberoam.statusbarOut()},m.onmouseover=function(){Cyberoam.statusbarOver()};var n=Cyberoam.createElement({tag:"div",className:"statusBarImageClass"}),i=Cyberoam.createElement({tag:"i",className:"fa fa-check"},n);m.className="statusbar messagesuccess";var s=Cyberoam.createElement({tag:"div",className:"statusBarMsgClass"}),d=Cyberoam.createElement({tag:"span",className:"statussuccess"},s);if(o?d.innerHTML=e:d.appendChild(document.createTextNode(e)),null!=t&&""!=e&&(t>=211&&t<=215?(Cyberoam.setClassAttribute(i,"fa fa-info-circle"),Cyberoam.setClassAttribute(d,"statusinfo"),m.className="statusbar messageinfo"):598==t?(i.setAttribute("class","fa fa-exclamation-triangle"),d.setAttribute("class","statuswarning"),m.className="statusbar messagewarning"):t>=500||t>=204&&t<=210?(Cyberoam.setClassAttribute(i,"fa fa-exclamation-circle"),Cyberoam.setClassAttribute(d,"statuserror"),m.className="statusbar messagefail"):3==t?(Cyberoam.setClassAttribute(i,"fa fa-exclamation-triangle"),Cyberoam.setClassAttribute(d,"statuswarning"),m.className="statusbar messagewarning"):1==t&&(Cyberoam.setClassAttribute(i,"statusloading statusicon"),Cyberoam.setClassAttribute(d,"statusloading"),m.className="statusbar messagesuccess")),m||((m=document.createElement("div")).className="statusbar",m.id="statusbar",m.style.top="0px",m.style.height="25px",document.getElementById("wrapper").appendChild(m),m.onclick=function(){document.getElementById("wrapper").removeChild(document.getElementById("statusbar"))},setTimeout((function(){document.getElementById("wrapper").removeChild(document.getElementById("statusbar"))}),8e3)),m){if(m.innerHTML="",0==t||""==t)m.appendChild(document.createTextNode(e));
2086else if(m.appendChild(n),m.appendChild(s),void 0!==r&&null!=r&&void 0!==a&&null!=a){var l=Cyberoam.createElement({tag:"span",id:"StatusMoreDetail"},s),c=Cyberoam.createElement({tag:"a"},l);c.setAttribute("href","#"),c.appendChild(document.createTextNode("["+Language.MoreInfo+"]"))}void 0!==r&&void 0!==a&&"HTML"==a?document.getElementById("StatusMoreDetail").onclick=function(){Cyberoam.messageBox({message:r})}:void 0!==r&&null!=r&&void 0!==a&&null!=a&&"HTML"!=a&&(document.getElementById("StatusMoreDetail").onclick=function(){Cyberoam.showPopup({URL:a,width:"700",height:"550"})})}var u=Cyberoam.createElement({tag:"div",className:"statusBarHideMsgDiv"});Cyberoam.createElement({tag:"i",className:"fa fa-times"},u),m.appendChild(u),u.onclick=function(){m.onmouseout=function(){},m.onmouseover=function(){},Cyberoam.showStatusBar(!1)},Cyberoam.showStatusBar(!0)}catch(e){}else try{var m;(m=document.getElementById("mystatusbar"))&&Cyberoam.showStatusBar(!1)}catch(e){}},Cyberoam.addOverLay=function(e="mainframecontent"){Cyberoam.pageLayer>0&&$("#mainframecontent").is(":hidden")&&(e="inlinePopup");var t=Cyberoam.pageLayer>0?"z-index:9999":"";0===$("#"+e).length&&(e="body"),$("#"+e+" .spinner-overlay").remove(),jQuery('<div class="spinner-overlay" id="overlay" style="'+t+';">  <div class="spinner"></div></div>').appendTo("#"+e),Cyberoam.toggleSpaceBar("disable")},Cyberoam.removeOverLay=function(){jQuery("#overlay").length>0&&jQuery("#overlay").remove(),Cyberoam.toggleSpaceBar("enable")},Cyberoam.toggleSpaceBar=function(e){window.onkeydown=function(t){if(32===t.keyCode){if("enable"==e)return!0;"disable"==e&&t.preventDefault()}}},Cyberoam.showDetails=function(e,t,r){var a=document.getElementById(e);"none"==a.style.display?(a.style.display="",t&&(t.className="advance_open bigicon",r&&(t.className="arrowstyle_close smallicon"))):(a.style.display="none",t&&(t.className="advance_closed bigicon",r&&(t.className="arrowstyle_open smallicon")))},Cyberoam.replaceFieldValue=function(e,t){if(null==t)return e;function r(r){if("string"==typeof r){var a=r.match(/\{([^{}]*)\}/gm);for(var o in a)if(a.hasOwnProperty(o)){var n=a[o],i=n.match(/\{(.*)\}/)[1],s=t[i];if(s||(i=i.split(".").pop(),s=t[i]+"",n="{"+n+"}"),s=s.toString()){s.length>25&&(s=s.substring(0,25)+"..."),s=s.replace(/\\\\/g,"\\").replace(/\\\'/g,"'");var d=document.createTextNode(s),l=document.createElement("span");l.appendChild(d),s=Array.isArray(e)?encodeURIComponent(l.innerHTML):encodeURIComponent(l.innerText)}r=r.replace(n,s)}return decodeURIComponent(r)}}if(null!=t.entityList&&(t=entityList[0]),Array.isArray(e)){var a=[];return $.each(e,(function(e,t){a[e]=r(t)})),a}return r(e)},Cyberoam.validateMailServerUserName=function(e){return!!/^\w([\.@ !$%^&*\-\_\/]*?\w)*$/.test(e)},Cyberoam.validateNameWithMultipleSpaces=function(e,t){if(null!=t){if(!new RegExp("^[\\w"+regexHindi+regexChinese+regexFrench+"]([ ]*[\\w"+regexHindi+regexChinese+regexFrench+"])*$").test(e))return!1}else if(!/^\w([ ]*\w)*$/.test(e))return!1;return!0},Cyberoam.validateNetmask=function(e){if(1==(r=e.split(".")).length){if(!/^\d{1,2}$/.test(e))return!1;if(parseInt(e)<1||parseInt(e)>32)return!1}else{if(!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!1;var t="0,128,192,224,240,248,252,254,255".split(","),r=e.split("."),a=t.length;if(0==parseInt(r[0])||parseInt(r[0])>255)return!1;for(var o=0;o<r.length;o++){if(parseInt(r[o])>255)return!1;for(var n=!1,i=0;i<a;i++)if(r[o]==t[i]){n=!0;break}if(!n)return!1;if(0!=o&&255!=parseInt(r[o-1])&&0!=parseInt(r[o]))return!1}}return!0},Cyberoam.validateNetworkId=function(e,t){if(!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!1;var r=e.split("."),a=t.split(".");if(1==a.length){if(parseInt(t)<2||parseInt(t)>32)return!1;a=Cyberoam.convertNetBitsToNetmask(t).split(".")}else if(!Cyberoam.validateNetmask(t))return!1;return!(parseInt(r[0])<=0)&&(r[0]&a[0])+"."+(r[1]&a[1])+"."+(r[2]&a[2])+"."+(r[3]&a[3])==e},Cyberoam.getValidNetworkId=function(e,t){var r="0.0.0.0";return Cyberoam.validateNetworkId(e,t)?e:(networkArr=e.split("."),netmaskArr=t.split("."),1==netmaskArr.length&&(netmaskArr=Cyberoam.convertNetBitsToNetmask(t).split(".")),parseInt(networkArr[0])<0||parseInt(networkArr[0])>254||parseInt(networkArr[1])<0||parseInt(networkArr[1])>254||parseInt(networkArr[2])<0||parseInt(networkArr[2])>254||parseInt(networkArr[3])<0||parseInt(networkArr[3])>254?r:(net1=networkArr[0]&netmaskArr[0],net2=networkArr[1]&netmaskArr[1],net3=networkArr[2]&netmaskArr[2],net4=networkArr[3]&netmaskArr[3],r=net1+"."+net2+"."+net3+"."+net4))},Cyberoam.getValidIPv6NetworkId=function(e,t){for(var r=Cyberoam.bestRepresent(e).split(":"),a=[],o=[],n=0;n<8;n+=2)a[n/2]=parseInt((r[n]+r[n+1]).toUpperCase(),16),o[n/2]=t/32>=1?parseInt(Cyberoam.Address.ip6.getbineryof32(32),2):parseInt(Cyberoam.Address.ip6.getbineryof32(t%32),2),t-=32;var i="";for(var n in o)o.hasOwnProperty(n)&&(i+=Cyberoam.fixLength(((a[n]&o[n])>>>32).toString(16),8).substring(0,4)+":"+Cyberoam.fixLength(((a[n]&o[n])>>>32).toString(16),8).substring(4,8)+":");return i=i.substr(0,i.length-1)},Cyberoam.validateIPNetmask=function(e){var t={textvalue:e,i18nenable:!1,regexindex:Cyberoam.idxIPv4};if(e.indexOf("/",0)<0)return Cyberoam.validateInputWithValidCharacters(t);if(0==e.indexOf("/",0))return!1;var r=e.split("/")[0],a=e.split("/")[1];if(t={textvalue:r,i18nenable:!1,regexindex:Cyberoam.idxIPv4},"255.255.255.255"==a){if(!Cyberoam.validateInputWithValidCharacters(t)||!Cyberoam.validateNetmask(a))return!1}else if(!Cyberoam.validateNetworkId(r,a))return!1;return!0},Cyberoam.validateIPv4Range=function(e,t){if(startArr=e.split("."),endArr=t.split("."),parseInt(startArr[0])!=parseInt(endArr[0]))return!1;if(parseInt(startArr[1])<parseInt(endArr[1]))return!0;
2086if(parseInt(startArr[1])==parseInt(endArr[1])){if(parseInt(startArr[2])<parseInt(endArr[2]))return!0;if(parseInt(startArr[2])==parseInt(endArr[2])&&parseInt(startArr[3])<parseInt(endArr[3]))return!0}return!1},Cyberoam.validateMulticastIPv4=function(e){if(!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!1;for(var t=e.split("."),r=0;r<4;r++)if(0==r){if(parseInt(t[r])<224||parseInt(t[r])>239)return!1}else if(parseInt(t[r])<0||parseInt(t[r])>255)return!1;return!0},Cyberoam.convertIPv4ToInt=function(e){var t=e.split("."),r=0;return r+=16777216*Number(t[0]),r+=65536*Number(t[1]),r+=256*Number(t[2]),r+=Number(t[3])},Cyberoam.isIPv4FallInRange=function(e,t,r){return!!Cyberoam.validateMulticastIPv4(e)&&(!!Cyberoam.validateMulticastIPv4(t)&&(!!Cyberoam.validateMulticastIPv4(r)&&(!!Cyberoam.validateMulticastIPv4(t,r)&&!(Cyberoam.convertIPv4ToInt(t)>Cyberoam.convertIPv4ToInt(e)||Cyberoam.convertIPv4ToInt(r)<Cyberoam.convertIPv4ToInt(e)))))},Cyberoam.validateDate=function(e,t){var r=e.substring(0,4),a=e.substring(5,7),o=e.substring(8,10);return startdate=r+a+o,r=t.substring(0,4),a=t.substring(5,7),o=t.substring(8,10),enddate=r+a+o,!(startdate>enddate)},Cyberoam.validateURL=function(e){return!!/^(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/.test(e)},Cyberoam.validateKeyword=function(e){return!(!Cyberoam.validateURL(e)&&!/^([a-zA-Z0-9]+([=]?\w)*)$/.test(e))},Cyberoam.validateRange=function(e,t,r){return e<=r&&r<=t},Cyberoam.formatByte=function(e){for(var t=parseFloat(e),r=0;t>=1024;)t/=1024,r++;return String(t.toFixed(2)).replace(".00","")+[" Bytes"," KB"," MB"," GB"," TB"][r]},Cyberoam.formatByteForBandwidth=function(e){let t=parseFloat(e),r=0;for(;t>=1024;)t/=1024,r++;return String(t.toFixed(2)).replace(".00","")+[" Bps"," KBps"," MBps"," GBps"," TBps"][r]},Cyberoam.validatePasswordComplexity=function(e,t){var r=!1,a=Language.InvalidPasswordbr;if(0!=Cyberoam.passwdComplexityChk){if(e==t&&(a=a+Language.UserNameAndPwdSame+"<br/>"),1==Cyberoam.chkPasswdLength&&t.length<Cyberoam.passwdLength&&(a+=Cyberoam.getTranslatedMSG("Language.InvalidPwdLength").replace("{pwlength}",Cyberoam.passwdLength)),1==Cyberoam.upperLowerCase&&(/[a-z]/.test(t)&&/[A-Z]/.test(t)||(a+=Language.UpperLowerCase)),1==Cyberoam.numericCase&&(/[0-9]/.test(t)||(a+=Language.NumericCase)),1==Cyberoam.specialCase){for(var o=0;o<t.length;o++)"[!@#$%^&*()+=`-[]\\';,./{}|\":<>?~_]".indexOf(t[o])>0&&(r=!0);r||(a+=Language.SpecialCase)}if(a!=Language.InvalidPasswordbr)return Cyberoam.messageBox({message:a}),!1}return!0},Cyberoam.validateUserPasswordComplexity=function(e,t){var r=!1,a=Language.InvalidPasswordbr;if(0!=Cyberoam.userPasswdComplexityChk){if(e==t&&(a=a+Language.UserNameAndPwdSame+"<br/>"),1==Cyberoam.chkUserPasswdLength&&t.length<Cyberoam.userPasswdLength&&(a+=Cyberoam.getTranslatedMSG("Language.InvalidPwdLength").replace("{pwlength}",Cyberoam.userPasswdLength)),1==Cyberoam.upperLowerCasePwForUser&&(/[a-z]/.test(t)&&/[A-Z]/.test(t)||(a+=Language.UpperLowerCase)),1==Cyberoam.numericCasePwForUser&&(/[0-9]/.test(t)||(a+=Language.NumericCase)),1==Cyberoam.specialCasePwForUser){for(var o=0;o<t.length;o++)"[!@#$%^&*()+=`-[]\\';,./{}|\":<>?~_]".indexOf(t[o])>0&&(r=!0);r||(a+=Language.SpecialCase)}if(a!=Language.InvalidPasswordbr)return Cyberoam.messageBox({message:a}),!1}return!0},Cyberoam.validateDefaultPasswordComplexity=function(e){var t=!1,r=Language.passwordhaveComplexity;if(e.length<10)return Cyberoam.messageBox({message:r}),!1;if(!/[a-z]/.test(e)||!/[A-Z]/.test(e))return Cyberoam.messageBox({message:r}),!1;if(!/[0-9]/.test(e))return Cyberoam.messageBox({message:r}),!1;for(var a=0;a<e.length;a++)if("[!`@#$%^&*()+=-[]\\';,./{}|\":<>?~_]".indexOf(e[a])>0){t=!0;break}return!!t||(Cyberoam.messageBox({message:r}),!1)},Cyberoam.copyToClipboard=function(e){var t=document.getElementById(e);!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName||t.value.trim().length>0&&navigator.clipboard.writeText(t.value).then((()=>{Cyberoam.showStatusBarMessage(Language.CopiedToClipboard,200,1e3)})).catch((e=>{Cyberoam.logger.error("Failed to copy: ",e)}))},Cyberoam.showStatusBarMessage=function(e,t,r){Cyberoam.setStatusBarMessage(e,t),Cyberoam.showStatusBar(!0),window.setTimeout(Cyberoam.showStatusBar,r)},Cyberoam.validatePort=function(e){return!!Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1})},Cyberoam.validatePortRange=function(e){if(e.indexOf(":")<0)return Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1});var t=e.split(":");if(t.length>2)return!1;if(2==t.length){var r=Cyberoam.validateInputWithValidCharacters({textvalue:t[0],regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1}),a=Cyberoam.validateInputWithValidCharacters({textvalue:t[1],regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1});if(!r||!a)return!1;if(parseInt(t[0])>=parseInt(t[1]))return!1}return!0},Cyberoam.validatePortRangeSep=function(e,t){if(e.indexOf(t)<0)return Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1});var r=e.split(":");if(r.length>2)return!1;if(2==r.length){var a=Cyberoam.validateInputWithValidCharacters({textvalue:r[0],regexindex:Cyberoam.idxPortNo,i18nenable:!1}),o=Cyberoam.validateInputWithValidCharacters({textvalue:r[1],regexindex:Cyberoam.idxPortNo,i18nenable:!1});if(!a&&!o)return!1;if(parseInt(r[0])>=parseInt(r[1]))return!1}return!0}
2086,Cyberoam.createNetMask=function(e,t,r,a,o,n){if(!(t<0||t>31||r<1||r>32))if("asc"==a)for(;t<=r;){var i=document.createElement("option"),s="0.0.0.0";0!=t&&(s=Cyberoam.convertNetBitsToNetmask(t)),i.value=s,i.innerHTML="start"==o?"/"+t+" ("+s+")":"("+s+") /"+t,n&&i.value==n&&(i.selected="selected"),e.appendChild(i),t++}else for(;t<=r;){i=document.createElement("option"),s="0.0.0.0";0!=r&&(s=Cyberoam.convertNetBitsToNetmask(r)),i.value=s,i.innerHTML="start"==o?"/"+r+" ("+s+")":"("+s+") /"+r,n&&i.value==n&&(i.selected="selected"),e.appendChild(i),r--}},Cyberoam.createNetMaskOptions=function(e,t,r,a){var o,n=new Object;if(!(e<0||e>31||t<1||t>32)){if("asc"==r)for(;e<=t;){o=new Object;var i="0.0.0.0";0!=e&&(i=Cyberoam.convertNetBitsToNetmask(e)),"start"==a?(o.label="/"+e+" ("+i+")",n[i]=o):(o.label="("+i+") /"+e,n[i]=o),e++}else for(;e<=t;){i="0.0.0.0";0!=t&&(i=Cyberoam.convertNetBitsToNetmask(t)),o=new Object,"start"==a?(o.label="/"+t+" ("+i+")",n[i]=o):(o.label="("+i+") /"+t,n[i]=o),t--}return n}},Cyberoam.convertNetBitsToNetmask=function(e){var t=parseInt(e),r="0.0.0.0";if(net1=parseInt(t/8),net2=t%8,net3=t/8,net1!=net3)switch(net1){case 0:r=Cyberoam.octetValue(net2)+".0.0.0";break;case 1:r="255."+Cyberoam.octetValue(net2)+".0.0";break;case 2:r="255.255."+Cyberoam.octetValue(net2)+".0";break;case 3:r="255.255.255."+Cyberoam.octetValue(net2);break;case 4:r="255.255.255.255"}else if(net1==net3)switch(net1){case 0:r=octetValue(net2)+".0.0.0";break;case 1:r="255.0.0.0";break;case 2:r="255.255.0.0";break;case 3:r="255.255.255.0";break;case 4:r="255.255.255.255"}return r},Cyberoam.octetValue=function(e){var t=0;switch(e){case 0:t=255;break;case 1:t=128;break;case 2:t=192;break;case 3:t=224;break;case 4:t=240;break;case 5:t=248;break;case 6:t=252;break;case 7:t=254}return t},Cyberoam.isEmpty=function(e){return null==e||0==e.length||""==e},Cyberoam.validateIPWithAll=function(e){return 1==e.length&&"*"==e.charAt(0)||Cyberoam.validateIPNetmask(e)},Cyberoam.validateIPList=function(e,t){var r;if(Cyberoam.isEmpty(e))return!1;for(var a=(e=(e=e.replace(/ /g,"")).replace(/\n/g,",").replace(/\r/g,"")).split(","),o=0;o<a.length;o++)if(r={textvalue:a[o],i18nenable:!1,regexindex:Cyberoam.idxIPv4},!Cyberoam.validateInputWithValidCharacters(r))return!1;e=(a=Cyberoam.removeDuplicateElement(a))[0];for(o=1;o<a.length;o++)e=e+","+a[o];return void 0!==t&&(t.value=e),!0},Cyberoam.removeDuplicateElement=function(e){var t=new Array;e:for(var r=0;r<e.length;r++){for(var a=0;a<t.length;a++)if(t[a]==e[r])continue e;t[t.length]=e[r]}return t},Cyberoam.chkDuplicateElement=function(e){for(var t=0;t<e.length;t++)for(var r=0;r<e.length;r++)if(t!=r&&e[t]==e[r])return!1;return!0},Cyberoam.validateMAClist=function(e){if(""==e)return Cyberoam.messageBox({message:Language.MAClistMsg}),!1;for(var t=(e=(e=(e=(e=e.replace(/ /g,"")).replace(/\n/g,",").replace(/\r/g,"")).replace(RegExp("-","g"),":")).toUpperCase()).split(","),r=0;r<t.length;r++)if(!Cyberoam.validateInputWithValidCharacters({textvalue:t[r],regexindex:Cyberoam.idxMAC,i18nenable:!1}))return!1;e=(t=Cyberoam.removeDuplicateElement(t))[0];for(r=1;r<t.length;r++)e=e+","+t[r];return document.getElementById("csvmacaddresslistid").value=e,!0},Cyberoam.validateFloat=function(e){return!!/^\d+\.\d+$/.test(e)},Cyberoam.validateNumber=function(e){return e.indexOf(".")<0?Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxInteger}):Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxFloat})},Cyberoam.validateMobileno=function(e){return!!Cyberoam.validateNumber(e)&&!("0"==e.charAt(0)||e.length<7||e.length>11)},Cyberoam.deanonymize=function(e,t){for(var r,a="",o="",n=0,i=0,s=0;i<t.length;i++){if(s==e.length&&(s=0),o="",(n=t.charAt(i).charCodeAt(0))>=65&&n<=90||n>=103&&n<=122)r=t.charAt(i).charCodeAt(0);else{for(var d=n-48;0!=d;)d--,i++,o+=t.charAt(i);r=parseInt(o,16)}n=e.charAt(s).charCodeAt(0)^r,a+=String.fromCharCode(n),s++}return a},Cyberoam.validateValueByRegEx=function(e,t){return!!e.test(t)},Cyberoam.gatewayValidation=function(e,t,r){return networkArr=e.split("."),netmaskArr=t.split("."),gwipArr=r.split("."),net1=networkArr[0]&netmaskArr[0],net2=networkArr[1]&netmaskArr[1],net3=networkArr[2]&netmaskArr[2],net4=networkArr[3]&netmaskArr[3],validateid1=net1+"."+net2+"."+net3+"."+net4,net1=gwipArr[0]&netmaskArr[0],net2=gwipArr[1]&netmaskArr[1],net3=gwipArr[2]&netmaskArr[2],net4=gwipArr[3]&netmaskArr[3],validateid2=net1+"."+net2+"."+net3+"."+net4,validateid1==validateid2},Cyberoam.maskToBinary=function(e){for(var t="",r=0,a=e>0?e-16>=0?16:e:0;r<16;r++,a--)t=a>0?"1"+t:"0"+t;return parseInt(t,2).toString(10)},Cyberoam.ConvertMaskbitToIPV6=function(e){if(!((e*=1)>=0&&e<=128))throw"ConvertMaskbitToIPV6: illegal argument";for(var t=[];e>=16;)t.push("ffff"),e-=16;for(e>0&&t.push((65536-Math.pow(2,16-e)).toString(16));t.length<8;)t.push("0000");return t},Cyberoam.gatewayValidationIP6=function(e,t,r){var a=e.split(":"),o=r.split(":"),n="",i=Cyberoam.ConvertMaskbitToIPV6(t);
2086for(var s in a)i.hasOwnProperty(s)&&(n+=((parseInt(a[s],16)&parseInt(i[s],16))>>>32)+".",16);var d="";for(var s in a)i.hasOwnProperty(s)&&(d+=((parseInt(o[s],16)&parseInt(i[s],16))>>>32)+".",16);return n==d},Cyberoam.navigateURL=function(e){if(null===Cyberoam.getRequestParam(e,"csrf")&&(e+=(e.indexOf("?")<0?"?":"&")+"csrf="+Cyberoam.c$rFt0k3n),"Microsoft Internet Explorer"!=navigator.appName)location.href=e;else{var t=document.createElement("a");t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t)}},Cyberoam.downloadFile=function(e){Cyberoam.setStatusBarMessage("","");var t=e.id,r=(Cyberoam.createDownloadFormAndIframe(t),jQuery("#jdownloadForm"+t));jQuery(r).attr("action",e.url),jQuery(r).attr("method","POST"),jQuery(r).attr("target","jdownloadFrame"+t),jQuery(r).trigger("submit");var a={};downloadResponse=function(){var r=document.getElementById("jdownloadFrame"+t);try{r.contentWindow?a.responseText=r.contentWindow.document.body?r.contentWindow.document.body.childNodes[0].innerHTML:null:r.contentDocument&&(a.responseText=r.contentDocument.document.body?r.contentDocument.document.body.childNodes[0].innerHTML:null)}catch(t){jQuery.handleError(e,a,null,t)}var o=YAHOO.lang.JSON.parse(a.responseText);void 0!==o.entity&&void 0!==o.entity.map?Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(o.message),o.entity.map),o.status,o.content,o.contentType):void 0!==o.status?Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),o.status,o.content,o.contentType):Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),null,o.content,o.contentType),e.response&&e.response(a.responseText),setTimeout((function(){try{jQuery("#jdownloadFrame"+t).remove(),jQuery("#jdownloadForm"+t).remove()}catch(t){jQuery.handleError(e,a,null,t)}}),100),a=null},jQuery("#jdownloadFrame"+t).on("load",downloadResponse)},Cyberoam.createDownloadFormAndIframe=function(e){var t="jdownloadFrame"+e,r='<iframe id="'+t+'" name="'+t+'" style="position:absolute; top:-9999px; left:-9999px"';jQuery(r+=" ></iframe>").appendTo(document.body);var a="jdownloadForm"+e,o=jQuery('<form  action="" method="POST" name="'+a+'" id="'+a+'" ><input type="hidden" name="csrf" value="'+Cyberoam.c$rFt0k3n+'"></form>');jQuery(o).css("position","absolute"),jQuery(o).css("top","-1200px"),jQuery(o).css("left","-1200px"),jQuery(o).appendTo(document.body)},Cyberoam.textonkeypressforfilter=function(e,t){var r;window.event?(e=window.event,r=window.event.keyCode):r=e.which,e&&13==r&&document.getElementById(t).click()},Cyberoam.setButton=function(){var e=Cyberoam.getEntityObject();for(var t in e)e[t].object&&"button"==e[t].objType&&e[t].config&&(e[t].config.title==Language.Add||e[t].config.title==Language.Ok||e[t].config.title==Language.Save)&&$(e[t].object).addClass("cp-btn cp-green-btn"),e[t].object&&"button"==e[t].objType&&e[t].config&&e[t].config.title==Language.Cancel&&$(e[t].object).addClass("cp-btn cp-gray-btn")},Cyberoam.setShortcutKey=function(e,t){var r=new Cyberoam.Event(e);if(t=Cyberoam.getEntityObject(),r.isCtrl()&&r.isShift()&&r.getKeyCode()>=49&&r.getKeyCode()<=58)return menu.displayMenuByNumber(r.getKeyCode()-48),void r.clearKeyCode();for(var a in t){if(r.isCtrl()&&r.isShift())return;if(r.isCtrl())if(45==r.getKeyCode()){if("button"==t[a].objType&&t[a].config&&t[a].config.title==Cyberoam.getTranslatedMSG(Language.Add))return t[a].object.click(),void r.clearKeyCode()}else if(83==r.getKeyCode()){var o=null;if(Cyberoam.pageLayer>0)o=document.getElementById("popup"+Cyberoam.pageLayer).getElementsByTagName("form");else o=document.getElementById(Cyberoam.mainFrame).getElementsByTagName("form");if(1==o.length&&"button"==t[a].objType&&t[a].config&&(t[a].config.title==Cyberoam.getTranslatedMSG(Language.Ok)||t[a].config.title==Cyberoam.getTranslatedMSG(Language.Save)))return t[a].object.click(),void r.clearKeyCode()}else if(46==r.getKeyCode()&&"button"==t[a].objType&&t[a].config&&t[a].config.title==Cyberoam.getTranslatedMSG(Language.Delete))return t[a].object.click(),void r.clearKeyCode()}if(112==r.getKeyCode())return openHelp(),void r.clearKeyCode();if(r.isCtrl()){if(void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].paginator){if(39==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(Cyberoam.pageObject[Cyberoam.pageLayer].paginator.getNextPage()),void r.clearKeyCode();if(37==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(Cyberoam.pageObject[Cyberoam.pageLayer].paginator.getPreviousPage()),void r.clearKeyCode();if(38==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(1),void r.clearKeyCode();if(40==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(Cyberoam.pageObject[Cyberoam.pageLayer].paginator.getTotalPages()),void r.clearKeyCode()}if(void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].checkAll&&65==r.getKeyCode()){var n=document.getElementById(Cyberoam.pageObject[Cyberoam.pageLayer].checkAll.checkBoxItems[0].id);return clickObject(n,Cyberoam.pageObject[Cyberoam.pageLayer].checkAll.checkBoxItems[0]),void r.clearKeyCode()}}if(r.isShift()&&191==r.getKeyCode()){if(void 0!==r.getElement().type&&("text"==r.getElement().type.toLowerCase()||"textarea"==r.getElement().type.toLowerCase()||"password"==r.getElement().type.toLowerCase()))return;Cyberoam.showPopup({URL:"/KeyboardShortcuts.html"})}121==r.getKeyCode()&&(location.href="index.jsp")},Cyberoam.getEntityObject=function(){var e=null;return Cyberoam.pageObject[Cyberoam.pageLayer]&&(e=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject),e},Cyberoam.generateFilterJSON=function(e,t,r,a){return{key:e,criteria:t,value:r,type:a}},Cyberoam.validateInputWithInvalidCharacters=function(e,t){var r=!0;(Cyberoam.illegalChars[e.regexindex].regex.test(e.textvalue)&&(r=!1),e.i18nenable)||new RegExp("^[€-￿]*$").test(e.textValue)&&(r=!1);return r},Cyberoam.validateInputWithValidCharacters=function(e,t){var r=!0;r=!0;return void 0===e.i18nenable&&(e.i18nenable=!1),e.regexindex==Cyberoam.idxMAC&&("00:00:00:00:00:00"!=e.textvalue&&"00-00-00-00-00-00"!=e.textvalue||(r=!1)),Cyberoam.legalChars[e.regexindex].i18nvalidation?e.i18nenable?new RegExp("^["+Cyberoam.legalChars[e.regexindex].regex+"€-￿]*$").test(e.textvalue)||(r=!1):new RegExp("^["+Cyberoam.legalChars[e.regexindex].regex+"]*$").test(e.textvalue)||(r=!1):(Cyberoam.legalChars[e.regexindex].regex.test(e.textvalue)||(r=!1),void 0!==t&&void 0!==t.config.range&&(t.config.range.validation=!0,r&&((r=Cyberoam[Cyberoam.legalChars[e.regexindex].rangevalidation](e.textvalue,t.config.range.start,t.config.range.end))||(Cyberoam.messageBox({message:t.config.range.message}),t.config.range.validation=!1)))),r},Cyberoam.validateIntRange=function(e,t,r){var a=!0,o=parseInt(e),n=parseInt(t),i=parseInt(r);return n<i?(o<n||o>i)&&(a=!1):(Cyberoam.messageBox({message:"Developer alert: Range start value is greater than end value!"}),a=!1),a},Cyberoam.createElement=function(e,t){var r=document.createElement(e.tag);return void 0!==e.type&&r.setAttribute("type",e.type),void 0!==e.id&&r.setAttribute("id",e.id),void 0!==e.title&&r.setAttribute("title",e.title),void 0!==e.style&&r.setAttribute("style",e.style),void 0!==e.name&&r.setAttribute("name",e.name),void 0!==e.cellspacing&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.cellSpacing=e.cellspacing:r.setAttribute("cellspacing",e.cellspacing)),void 0!==e.cellpadding&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.cellPadding=e.cellpadding:r.setAttribute("cellpadding",e.cellpadding)),void 0!==e.className&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.className=e.className:r.setAttribute("class",e.className)),void 0!==e.colspan&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.colSpan=e.colspan:r.setAttribute("COLSPAN",e.colspan)),void 0!==e.href&&r.setAttribute("href",e.href),void 0!==e.type&&r.setAttribute("type",e.type),void 0!==e.src&&r.setAttribute("src",e.src),void 0!==e.innerText&&(r.innerText=e.innerText),void 0!==e.sandbox&&(r.sandbox=e.sandbox),void 0!==e.rel&&r.setAttribute("rel",e.rel),void 0!==e.textContent&&(r.textContent=e.textContent),void 0!==e.onclick&&(r.onclick=e.onclick),void 0!==t&&t.appendChild(r),r},Cyberoam.password=function(e){for(var t in this.config={id:"",name:"",confirm:!0,minlength:1,maxlength:999,label:Language.Password,add:!1,escap:!0,getOpcodeValue:null,width:null,onChangePassword:null,onCancel:null},e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong Password Configuration "+t});this.config[t]=e[t]}""==this.config.name&&(this.config.name=this.config.id)},Cyberoam.password.prototype.create=function(){var e=this;""!=e.config.id&&(0==e.config.add?e.cancel():e.changePassword())},Cyberoam.password.prototype.getPassword=function(){if(document.getElementById("password"+this.config.id)){var e=document.getElementById("password"+this.config.id).value;return"text"==document.getElementById("password"+this.config.id).type?"":e}return null},Cyberoam.password.prototype.validatePassword=function(){var e=this;if(document.getElementById("password"+e.config.id)){var t=document.getElementById("password"+e.config.id).value;"text"==document.getElementById("password"+e.config.id).type&&(t="");var r=t;if(1==e.config.confirm&&(r=document.getElementById("confirmpassword"+e.config.id).value,"text"==document.getElementById("confirmpassword"+e.config.id).type&&(r="")),t.length<e.config.minlength){var a="";return a=e.config.minlength<2?Language.inputRequired.replace("{inputField}",e.config.label.toLowerCase()):Language.MinimumCharactersRequired.replace("{minlength}",e.config.minlength).replace("{label}",e.config.label),Cyberoam.messageBox({message:a,afterOk:function(){document.getElementById("password"+e.config.id).focus()},afterCancel:function(){document.getElementById("password"+e.config.id).focus()}}),!1}if(t.length>e.config.maxlength)return Cyberoam.messageBox({message:Language.MaximumCharactersRequired.replace("{maxlength}",e.config.maxlength).replace("{label}",e.config.label),afterOk:function(){document.getElementById("password"+e.config.id).focus()},afterCancel:function(){document.getElementById("password"+e.config.id).focus()}}),!1;if(t!=r)return Cyberoam.messageBox({message:e.config.label+Language.andConfirm+e.config.label+Language.areNotSame,afterOk:function(){document.getElementById("password"+e.config.id).focus()},afterCancel:function(){document.getElementById("password"+e.config.id).focus()}}),!1}return!0},Cyberoam.password.prototype.disabled=function(e){1==e?this.cancel(e):0==this.config.add?this.cancel():this.changePassword()},Cyberoam.password.prototype.cancel=function(e){var t=this,r=document.getElementById(t.config.id);r.innerHTML="";var a=document.createElement("font");if(a.className="testfont",a.innerHTML="********** ",r.appendChild(a),void 0===e||0==e){var o=document.createElement("a");o.style.paddingLeft="5px",o.style.textDecoration="underline",o.innerHTML=Language.Change+" "+t.config.label,r.appendChild(o),o.onclick=function(){t.changePassword(),null!=t.config.onChangePassword&&t.config.onChangePassword()}}},Cyberoam.validateCustomURL=function(e){var t;if(!/^((https?|ftp):\/\/[a-z0-9-]+|([a-z0-9-]+))(\.[a-z0-9-]+)+([\/?].*)?$/.test(e)){var r=0,a=e.split(":");if("http"!=a[r].toLowerCase()&&"https"!=a[r].toLowerCase()&&"ftp"!=a[r].toLowerCase()||(a[++r]=a[r].substring(2)),a.length>r+2)return!1;if(t={textvalue:a[r++],i18nenable:!1,regexindex:Cyberoam.idxIPv4},!Cyberoam.validateInputWithValidCharacters(t))return!1;if(void 0!==a[r]&&(t={textvalue:a[r],i18nenable:!1,regexindex:Cyberoam.idxPortNo}),!Cyberoam.validateInputWithValidCharacters(t))return!1}return!0},Cyberoam.password.prototype.changePassword=function(){var e=this,t=document.getElementById(e.config.id);t.innerHTML="";var r=document.createElement("input");if(r.type="password",r.className="textboxcss",r.name=e.config.name,r.id="password"+e.config.id,r.maxLength=e.config.maxlength,null!=e.config.width&&(r.style.width=parseInt(e.config.width)+"px"),r.placeholder=e.config.label,r.setAttribute("autocomplete","off"),t.appendChild(r),e.config.confirm){t.appendChild(document.createElement("br"));var a=document.createElement("input");a.type="password",a.className="textboxcss",a.name="confirm"+e.config.name,a.id="confirmpassword"+e.config.id,a.maxLength=e.config.maxlength,null!=e.config.width&&(a.style.width=parseInt(e.config.width)+"px"),a.style.marginTop="3px",a.placeholder=Language.ConfirmWord+e.config.label,a.setAttribute("autocomplete","off"),t.appendChild(a),setTimeout((function(){if(void 0!==$("div#passwd").data("plugin_strength_meter"))try{$("div#passwd").data("plugin_strength_meter").reattach()}catch(e){Cyberoam.logger.error("There was an error attaching password guide plugin")}}),100)}if(1!=e.config.add){var o=document.createElement("a");o.style.paddingLeft="10px",o.innerHTML=Language.Cancel,t.appendChild(o),o.onclick=function(){e.cancel(),null!=e.config.onCancel&&e.config.onCancel()}}},Cyberoam.print=function(e){var t=document.createElement("iframe");t.onload=function(){(t.contentDocument?t.contentDocument:t.contentWindow.document).getElementsByTagName("body")[0].innerHTML=e,t.contentWindow.focus(),t.contentWindow.print(),t.style.display="none",setTimeout((function(){t.parentNode.removeChild(t)}),2e3)},document.getElementsByTagName("body")[0].appendChild(t)}
2086,Cyberoam.DropdownMenu=function(e,t){this.$dropdowndiv=null,this.$dropdownWrapper=null,this.id=e,this.$caller=$(t),null==this.$dropdowndiv&&(this.$dropdowndiv=$("<div></div>").attr("id","dropdown1").addClass("dropdownmenu").appendTo(document.body).hide(),this.$dropdownWrapper=$("<div><div>").appendTo(this.$dropdowndiv).addClass("root"))},Cyberoam.DropdownMenu.prototype.show=function(){if("undefined"!=this.$caller){var e=this.$caller.offset().left+this.$dropdowndiv.width()+10;$(window).width()>=e?this.$dropdowndiv.css({top:this.$caller.offset().top+this.$caller.height()+8+"px",left:this.$caller.offset().left+1+"px"}).stop().show():this.$dropdowndiv.css({top:this.$caller.offset().top+this.$caller.height()+8+"px",left:this.$caller.offset().left-(this.$dropdowndiv.width()-this.$caller.width()-10)+1+"px"}).stop().show(),this.$caller.css({"border-bottom-width":"0px"}),this.$caller.addClass("dropdownMenuParentSelected"),this.$caller.removeClass("toppanel"),this.$caller.css({"border-right":"#AAA 1px solid","border-radius":"0px 3px 0px 0px"})}},Cyberoam.DropdownMenu.prototype.hide=function(){null!=this.$dropdowndiv&&this.$dropdowndiv.stop().hide(),null!=this.$caller&&(this.$caller.css({"border-bottom-width":"1px"}),this.$caller.addClass("toppanel"),this.$caller.removeClass("dropdownMenuParentSelected"),this.$caller.css({"border-right":"1px solid #000","border-radius":"0px 3px 3px 0px"})),Cyberoam.currentObject=null},Cyberoam.DropdownMenu.prototype.addMenuItemHTML=function(e,t,r){var a=this;null!=this.$dropdowndiv&&$("<div></div>").attr("id",e).html(t).on("click",(function(){a.hide(),r()})).appendTo(this.$dropdownWrapper).addClass("menuitem")},Cyberoam.DropdownMenu.prototype.addMenuItemSeparator=function(){$("<div></div>").appendTo(this.$dropdownWrapper).addClass("seprator").html("<div></div>")},Cyberoam.DropdownMenu.prototype.setCaller=function(e){this.$caller=$(e)},Cyberoam.DropdownMenu.prototype.getOffsetPosition=function(){return[new Cyberoam.Point(parseInt(this.$dropdowndiv.offset().left),parseInt(this.$dropdowndiv.offset().top)),new Cyberoam.Point(parseInt(this.$dropdowndiv.offset().left+this.$dropdowndiv.width()),parseInt(this.$dropdowndiv.offset().top+this.$dropdowndiv.height()))]},Cyberoam.convertNetmaskToInt=function(e){e.split(".");return Cyberoam.convertIPv4ToInt(e).toString(2).match(/1/g).length},Cyberoam.Address=function(e){for(var t in this.config={id:"",title:"",IPType:Cyberoam.Address.IPv4,isMask:!1,type:Cyberoam.Address.IPv4,multicast:!0,unspecify:!0,loopback:!0,networkBroadcast:!0,networkIP:!0,linkLocal:!0,broadcast:!0,reserved:!0,addressList:!1,allowAny:!1,allowNetmask:!1,ipv4Mapping:!0,validator:null,getOpcodeValue:null,ip:"",netmask:"",range1:"",range2:""},this.errorStatus=200,e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});this.config[t]=e[t]}if(this.config.type==Cyberoam.Address.All?""!=this.config.ip&&-1!=this.config.ip.indexOf(":")||""!=this.config.range1&&-1!=this.config.range1.indexOf(":")?this.config.IPType=Cyberoam.Address.IPv6:this.config.IPType=Cyberoam.Address.IPv4:this.config.IPType=this.config.type,this.address=null,"string"!=typeof this.config.netmask&&"number"!=typeof this.config.netmask){var r=this.config.netmask();this.config.netmask=r}1==this.config.allowNetmask&&"-1"!=this.config.ip.indexOf("/")&&(this.config.netmask=this.config.ip.substring(this.config.ip.indexOf("/")+1,this.config.ip.length),this.config.ip=this.config.ip.substring(0,this.config.ip.indexOf("/"))),this.config.IPType==Cyberoam.Address.IPv4?this.address=new Cyberoam.Address.ip4({address:this.config.ip,netmask:this.config.netmask,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping,range1:this.config.range1,range2:this.config.range2}):this.address=new Cyberoam.Address.ip6({address:this.config.ip,netmask:this.config.netmask,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping,range1:this.config.range1,range2:this.config.range2})},Cyberoam.Address.IPv4=0,Cyberoam.Address.IPv6=1,Cyberoam.Address.All=2,Cyberoam.Address.multicast=3,Cyberoam.Address.loopback=4,Cyberoam.Address.unspecified=1,Cyberoam.Address.linklocal=5,Cyberoam.Address.broadcast=2,Cyberoam.Address.reserved=6,Cyberoam.Address.prototype.get=function(){return{ip:this.address.config.address,netmask:this.address.config.netmask,type:this.config.IPType}},Cyberoam.Address.prototype.getErrorStatus=function(){return this.errorStatus},Cyberoam.Address.prototype.validate=function(){return this.address.isValid()&&!(""!=this.address.config.netmask&&!this.address.isValidNetmask())||
2086(this.errorStatus=this.address.getErrorStatus(),!1)},Cyberoam.Address.prototype.validateRange=function(){return!!this.address.isValidRange()},Cyberoam.Address.prototype.getRange=function(){return this.address.getRange()},Cyberoam.Address.prototype.set=function(e,t){this.config.type==Cyberoam.Address.All?""!=e&&-1!=e.indexOf(":")?this.config.IPType=Cyberoam.Address.IPv6:this.config.IPType=Cyberoam.Address.IPv4:this.config.IPType=this.config.type,void 0===t&&(t=""),-1!=e.indexOf("/")&&(t=e.split("/")[1],e=e.split("/")[0]),this.config.IPType==Cyberoam.Address.IPv4?this.address=new Cyberoam.Address.ip4({address:e,netmask:t,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping}):this.address=new Cyberoam.Address.ip6({address:e,netmask:t,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping}),""!=e&&(this.config.isMask?(document.getElementById("address_"+this.config.id).value=this.address.config.address,document.getElementById("mask_"+this.config.id).value=this.address.config.netmask):document.getElementById("address_"+this.config.id).value=this.address.config.address+(""!=this.address.config.netmask&&"undefined"!=this.address.config.netmask?"/"+this.address.config.netmask:""))},Cyberoam.Address.prototype.create=function(){var e=document.getElementById(this.config.id),t=this;""==t.config.title&&(t.config.type==Cyberoam.Address.IPv4?t.config.title=Language.IPv4:t.config.type==Cyberoam.Address.IPv6&&(t.config.title=Language.IPv6)),Cyberoam.createElement({tag:"input",type:"text",className:"textboxcss",id:"address_"+this.config.id},e).onblur=function(){var e=this.value,r="";t.config.type==Cyberoam.Address.All?""!=e&&-1!=e.indexOf(":")?t.config.IPType=Cyberoam.Address.IPv6:t.config.IPType=Cyberoam.Address.IPv4:t.config.IPType=t.config.type,-1!=e.indexOf("/")&&(r=e.split("/")[1],e=e.split("/")[0]),t.config.IPType==Cyberoam.Address.IPv4?t.address=new Cyberoam.Address.ip4({address:e,netmask:r,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask}):t.address=new Cyberoam.Address.ip6({address:e,netmask:r,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask})},this.config.isMask&&(maskElement=Cyberoam.createElement({tag:input,className:"textboxcss",id:"mask_"+this.config.id},e),maskElement.onblur=function(){var e=this.value;t.address.setMask(e)}),this.set(this.config.ip,this.config.netmask)},Cyberoam.Address.ip4=function(e){for(var t in this.config={address:"",netmask:"",range1:"",range2:"",multicast:!0,unspecify:!0,loopback:!0,linkLocal:!0,broadcast:!0,reserved:!0,networkBroadcast:!0,networkIP:!0,addressList:!1,allowAny:!1,allowNetmask:!1,ipv4Mapping:!0},this.errorStatus=200,e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});this.config[t]=e[t]}if("string"!=typeof this.config.netmask&&"number"!=typeof this.config.netmask){var r=this.config.netmask();this.config.netmask=r}},Cyberoam.Address.ip4.prototype.getErrorStatus=function(){return this.errorStatus},Cyberoam.Address.ip6=function(e){for(var t in this.config={address:"",netmask:"",range1:"",range2:"",multicast:!0,unspecify:!0,loopback:!0,linkLocal:!0,broadcast:!0,reserved:!0,networkBroadcast:!0,networkIP:!0,addressList:!1,allowAny:!1,allowNetmask:!1,ipv4Mapping:!0},this.errorStatus=200,e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});this.config[t]=e[t]}if("string"!=typeof this.config.netmask&&"number"!=typeof this.config.netmask){var r=this.config.netmask();this.config.netmask=r}},Cyberoam.Address.ip6.prototype.getErrorStatus=function(){return this.errorStatus},Cyberoam.Address.ip4.prototype.setMask=function(e){this.config.netmask=e},Cyberoam.Address.ip4.prototype.isValid=function(e){if(this.errorStatus=200,void 0===e&&(e=this.config.address),this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),1==this.config.allowAny&&"*"==this.config.address)return!0;for(var t in addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if("string"==typeof r&&!r.match(Cyberoam.legalChars[Cyberoam.idxIPv4].regex))return this.errorStatus=500,!1}return!this.config.unspecify&&this.isUnspecified()?(this.errorStatus=501,!1):!this.config.multicast&&this.isMulticast()?(this.errorStatus=502,!1):!this.config.loopback&&this.isLoopback()?(this.errorStatus=503,!1):!this.config.linkLocal&&this.isLinklocal()?(this.errorStatus=504,!1):!this.config.broadcast&&this.isBroadcast()?(this.errorStatus=505,!1):!this.config.reserved&&this.isReserved()?(this.errorStatus=506,!1):!this.config.networkBroadcast&&this.isNetworkBroadcast()?(this.errorStatus=507,!1):!(!this.config.networkIP&&this.isNetworkIP())||(this.errorStatus=508,!1)},Cyberoam.Address.ip4.isNetworkBroadcast=function(e,t){if(1==t.split(".").length){if(parseInt(t)<2||parseInt(t)>32)return!1;t=Cyberoam.convertNetBitsToNetmask(t)}var r=Cyberoam.Address.ip4.toInteger(t),a=Cyberoam.Address.ip4.toInteger(e);return a==(a|~r)},Cyberoam.Address.ip4.prototype.isNetworkBroadcast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isNetworkBroadcast(r,this.config.netmask))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isNetworkIP=function(e,t){if(1==t.split(".").length){if(parseInt(t)<2||parseInt(t)>32)return!1;t=Cyberoam.convertNetBitsToNetmask(t)}var r=Cyberoam.Address.ip4.toInteger(t),a=Cyberoam.Address.ip4.toInteger(e);return a==(a&r)>>>32},Cyberoam.Address.ip4.prototype.isNetworkIP=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isNetworkIP(r,this.config.netmask))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isMulticast=function(e){var t=e.split(".");return!(parseInt(t[0])<224||parseInt(t[0])>239)},Cyberoam.Address.ip4.prototype.isMulticast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isMulticast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isReserved=function(e){var t=e.split(".");return parseInt(t[0])>=240&&parseInt(t[0])<=255},Cyberoam.Address.ip4.prototype.isReserved=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isReserved(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isUnspecified=function(e){return"0.0.0.0"==e},Cyberoam.Address.ip4.prototype.isUnspecified=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isUnspecified(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isBroadcast=function(e){return"255.255.255.255"==e},Cyberoam.Address.ip4.prototype.isBroadcast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isBroadcast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isLoopback=function(e){return"127"==e.split(".")[0]},Cyberoam.Address.ip4.prototype.isLoopback=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isLoopback(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isLinklocal=function(e){var t=e.split(".");return 169==parseInt(t[0])&&254==parseInt(t[1])&&(0!=parseInt(t[2])&&255!=parseInt(t[2]))},Cyberoam.Address.ip4.prototype.isLinklocal=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isLinklocal(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.prototype.isIPInRange=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.range1),void 0===r&&(r=this.config.range2),this.isValid(e)?this.isValid(t)?this.isValid(r)?this.toInteger(t)>this.toInteger(e)||this.toInteger(r)<this.toInteger(e)?0:1:-3:-2:-1},Cyberoam.Address.ip4.prototype.isValidRange=function(e,t){return void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2),!(!this.isValid(e)||!this.isValid(t))&&!(this.toInteger(e)>=this.toInteger(t))},Cyberoam.Address.ip4.prototype.getRange=function(e,t){return void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2),this.toInteger(t)-this.toInteger(e)},Cyberoam.Address.ip4.prototype.toInteger=function(e){return void 0===e&&(e=this.config.address),Cyberoam.Address.ip4.toInteger(e)},Cyberoam.Address.ip4.toInteger=function(e){var t=e.split("."),r=0;return r+=16777216*Number(t[0]),r+=65536*Number(t[1]),r+=256*Number(t[2]),r+=Number(t[3])},Cyberoam.Address.ip4.prototype.isValidNetworkIP=function(e,t){if(void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask),!this.isValid(e))return!1;var r=e.split("."),a=t.split(".");if(1==a.length){if(parseInt(t)<2||parseInt(t)>32)return!1;a=this.convertNetBitsToNetmask(t).split(".")}else if(!this.isValidNetmask(t))return!1;return!(parseInt(r[0])<=0)&&((r[0]&a[0])>>>32)+"."+((r[1]&a[1])>>>32)+"."+((r[2]&a[2])>>>32)+"."+((r[3]&a[3])>>>32)==e},Cyberoam.Address.ip4.prototype.isValidNetmask=function(e){if(void 0===e&&(e=this.config.netmask),1==(r=e.split(".")).length){if(!/^\d{1,2}$/.test(e))return this.errorStatus=510,!1;if(parseInt(e)<1||parseInt(e)>32)return this.errorStatus=510,!1}else{if(!this.isValid(e))return this.errorStatus=510,!1;var t=[0,128,192,224,240,248,252,254,255],r=e.split("."),a=t.length;if(0==parseInt(r[0])||parseInt(r[0])>255)return this.errorStatus=510,!1;for(var o=0;o<r.length;o++){if(parseInt(r[o])>255)return this.errorStatus=510,!1;for(var n=!1,i=0;i<a;i++)if(r[o]==t[i]){n=!0;break}if(!n)return this.errorStatus=510,!1;if(0!=o&&255!=parseInt(r[o-1])&&0!=parseInt(r[o]))return this.errorStatus=510,!1}}return!0},Cyberoam.Address.ip4.prototype.isValidIPWithmask=function(e){return ipNetmask.indexOf("/",0)<0?(void 0===e&&(e=this.config.address),this.isValid(e)):0!=ipNetmask.indexOf("/",0)&&(void 0!==e?(ip=e.split("/")[0],netmask=e.split("/")[1]):(ip=this.config.address,netmask=this.config.netmask),!!this.isValid(ip)&&!!this.isValidNetworkIP(ip,netmask))},Cyberoam.Address.ip4.prototype.getValidNetworkIP=function(e,t){void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask);var r="0.0.0.0";return this.isValidNetworkIP(e,t)?e:(networkArr=e.split("."),netmaskArr=t.split("."),1==netmaskArr.length&&(netmaskArr=this.convertNetBitsToNetmask(t).split(".")),parseInt(networkArr[0])<0||parseInt(networkArr[0])>254||parseInt(networkArr[1])<0||parseInt(networkArr[1])>254||parseInt(networkArr[2])<0||parseInt(networkArr[2])>254||parseInt(networkArr[3])<0||parseInt(networkArr[3])>254?r:(net1=(networkArr[0]&netmaskArr[0])>>>32,net2=(networkArr[1]&netmaskArr[1])>>>32,net3=(networkArr[2]&netmaskArr[2])>>>32,net4=(networkArr[3]&netmaskArr[3])>>>32,r=net1+"."+net2+"."+net3+"."+net4))},Cyberoam.Address.ip4.prototype.convertNetBitsToNetmask=function(e){var t=parseInt(e),r="0.0.0.0";if(net1=parseInt(t/8),net2=t%8,net3=t/8,net1!=net3)switch(net1){case 0:r=this.octetValue(net2)+".0.0.0";break;case 1:r="255."+this.octetValue(net2)+".0.0";break;case 2:r="255.255."+this.octetValue(net2)+".0";break;case 3:r="255.255.255."+this.octetValue(net2);break;case 4:r="255.255.255.255"}else if(net1==net3)switch(net1){case 0:r=octetValue(net2)+".0.0.0";break;case 1:r="255.0.0.0";break;case 2:r="255.255.0.0";break;case 3:r="255.255.255.0";break;case 4:r="255.255.255.255"}return r},Cyberoam.Address.ip4.prototype.octetValue=function(e){var t=0;switch(e){case 0:t=255;break;case 1:t=128;break;case 2:t=192;break;case 3:t=224;break;case 4:t=240;break;case 5:t=248;break;case 6:t=252;break;case 7:t=254}return t},Cyberoam.Address.ip6.prototype.isValid=function(e){if(this.errorStatus=200,void 0===e&&(e=this.config.address),this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),1==this.config.allowAny&&"*"==this.config.address)return!0;for(var t in addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(!Cyberoam.validIPv6Addres(r))return this.errorStatus=500,!1}return!this.config.unspecify&&this.isUnspecified()?(this.errorStatus=501,!1):!this.config.multicast&&this.isMulticast()?(this.errorStatus=502,!1):!this.config.loopback&&this.isLoopback()?(this.errorStatus=503,!1):!this.config.linkLocal&&this.isLinklocal()?(this.errorStatus=504,!1):!this.config.broadcast&&this.isBroadcast()?(this.errorStatus=505,!1):!this.config.reserved&&this.isReserved()?(this.errorStatus=506,!1):!this.config.networkIP&&this.isNetworkIP()?(this.errorStatus=508,!1):!(!this.config.ipv4Mapping&&this.isIPv4Mapping())||(this.errorStatus=509,!1)},Cyberoam.Address.ip4.prototype.gatewayValidation=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask),Cyberoam.gatewayValidation(e,t,r)},Cyberoam.Address.ip6.prototype.gatewayValidation=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask),Cyberoam.gatewayValidationIP6(e,t,r)},Cyberoam.validIPv6Addres=function(e){var t=e.split(":"),r=e.split("::");if(t.length>8)return!1;if(-1==e.indexOf(".")){if(t.length<8&&-1==e.indexOf("::"))return!1}else{if(t.length<7&&-1==e.indexOf("::"))return!1;if(t.length>7)return!1}if(-1!=e.indexOf(":::"))return!1;if(e.lastIndexOf(":")==e.length-1&&e.lastIndexOf("::")!=e.length-2)return!1;if(r.length>2)return!1;if(-1==e.indexOf(":"))return!1;var a=/[^0-9A-Fa-f]+/,o=-1;for(o=0;o<t.length-1;o++){if(t[o].length>4)return!1;if(a.test(t[o]))return!1}if((a=/[^0-9A-Fa-f.]+/).test(t[o]))return!1;if(!/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(t[o])){if(t[o].length>4)return!1;if((a=/[^0-9A-Fa-f]+/).test(t[o]))return!1}return!0},Cyberoam.Address.ip6.getbineryof32=function(e){for(var t="",r=0,a=0;r<32;r++,a++)t+=a<e?"1":"0";return t},Cyberoam.Address.ip6.isNetworkIP=function(e,t){for(var r=Cyberoam.bestRepresent(e).split(":"),a=[],o=[],n=0;n<8;n+=2)a[n/2]=parseInt((r[n]+r[n+1]).toUpperCase(),16),o[n/2]=t/32>=1?parseInt(Cyberoam.Address.ip6.getbineryof32(32),2):parseInt(Cyberoam.Address.ip6.getbineryof32(t%32),2),t-=32;for(var n in o)if((a[n]&o[n])>>>32!=a[n])return!1;return!0},Cyberoam.Address.ip6.prototype.isNetworkIP=fu
2086nction(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isNetworkIP(r,this.config.netmask))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isBroadcast=function(e){return"FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"==Cyberoam.bestRepresent(e).toUpperCase()},Cyberoam.Address.ip6.prototype.isBroadcast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isBroadcast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isReserved=function(e){return!1},Cyberoam.Address.ip6.prototype.isReserved=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isReserved(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isMulticast=function(e){return 0==Cyberoam.bestRepresent(e).split(":")[0].toLowerCase().indexOf("ff")},Cyberoam.Address.ip6.prototype.isMulticast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isMulticast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isUnspecified=function(e){return"0000:0000:0000:0000:0000:0000:0000:0000"==Cyberoam.bestRepresent(e)},Cyberoam.Address.ip6.prototype.isUnspecified=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isUnspecified(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isLoopback=function(e){var t=Cyberoam.bestRepresent(e);return"0000:0000:0000:0000:0000:0000:0000:0001"==Cyberoam.trim(t)},Cyberoam.Address.ip6.prototype.isLoopback=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isLoopback(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isLinklocal=function(e){var t=Cyberoam.bestRepresent(e).split(":");return 0==t[0].toLowerCase().indexOf("fe8")||0==t[0].toLowerCase().indexOf("fe9")||0==t[0].toLowerCase().indexOf("fea")||0==t[0].toLowerCase().indexOf("feb")},Cyberoam.Address.ip6.prototype.isLinklocal=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isLinklocal(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isIPv4Mapping=function(e){return 0==Cyberoam.bestRepresent(e).toUpperCase().indexOf("0000:0000:0000:0000:0000:FFFF:")},Cyberoam.Address.ip6.prototype.isIPv4Mapping=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isIPv4Mapping(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.prototype.isIPInRange=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.range1),void 0===r&&(r=this.config.range2),!!(this.isValid(t)&&this.isValid(r)&&this.isValid(e))&&!(this.isValidRange(e,t)||!this.isValidRange(e,r))},Cyberoam.Address.ip6.prototype.isValidRange=function(e,t){if(void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2),!this.isValid(e)||!this.isValid(t))return!1;var r=this.bestRepresent(e),a=this.bestRepresent(t),o=r.split(":"),n=a.split(":");if(Number("0x"+o[0])<Number("0x"+n[0]))return!0;if(Number("0x"+o[0])==Number("0x"+n[0])){if(Number("0x"+o[1])<Number("0x"+n[1]))return!0;
2086if(Number("0x"+o[1])==Number("0x"+n[1])){if(Number("0x"+o[2])<Number("0x"+n[2]))return!0;if(Number("0x"+o[2])==Number("0x"+n[2])){if(Number("0x"+o[3])<Number("0x"+n[3]))return!0;if(Number("0x"+o[3])==Number("0x"+n[3])){if(Number("0x"+o[4])<Number("0x"+n[4]))return!0;if(Number("0x"+o[4])==Number("0x"+n[4])){if(Number("0x"+o[5])<Number("0x"+n[5]))return!0;if(Number("0x"+o[5])==Number("0x"+n[5])){if(Number("0x"+o[6])<Number("0x"+n[6]))return!0;if(Number("0x"+o[6])==Number("0x"+n[6])&&Number("0x"+o[7])<Number("0x"+n[7]))return!0}}}}}}},Cyberoam.Address.ip6.prototype.getRange=function(e,t){void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2);for(var r=Cyberoam.bestRepresent(e),a=Cyberoam.bestRepresent(t),o=r.split(":"),n=a.split(":"),i=0,s=0;s<8;s++)i+=(Number("0x"+n[s])-Number("0x"+o[s]))*Math.pow(65536,7-s);return i+1},Cyberoam.Address.ip6.prototype.bestRepresent=function(e){return Cyberoam.bestRepresent(e)},Cyberoam.binwith2bit=function(e){for(var t=0;t<2-e.length;t++)e="0"+e;return e},Cyberoam.getIPv6BitsFromIPv4=function(e){var t=e.split(".");return Cyberoam.binwith2bit(parseInt(t[0]).toString(16))+""+Cyberoam.binwith2bit(parseInt(t[1]).toString(16))+":"+(Cyberoam.binwith2bit(parseInt(t[2]).toString(16))+""+Cyberoam.binwith2bit(parseInt(t[3]).toString(16)))},Cyberoam.bestRepresent=function(e){if(-1!=e.indexOf(".")){var t=e.substring(e.lastIndexOf(":")+1),r=e.substring(0,e.lastIndexOf(":")+1);e=r+Cyberoam.getIPv6BitsFromIPv4(t)}if(-1!=e.indexOf("::")){var a,o=e.split("::"),n=o[0],i=o[1],s=n.split(":"),d=i.split(":"),l="";for(a=0;a<s.length;a++)l+=this.fixLength(s[a],4)+":";for(var c=0;c<8-(s.length+d.length);c++,a++)l+="0000:";for(c=0;c<d.length;c++,a++)l+=Cyberoam.fixLength(d[c],4)+":";l=l.substr(0,l.length-1)}else{for(d=e.split(":"),l="",c=0;c<d.length;c++,a++)l+=Cyberoam.fixLength(d[c],4)+":";l=l.substr(0,l.length-1)}return l},Cyberoam.fixLength=function(e,t){t=t<0?0:t,e=e.substr(0,t);var r=[];return r.length=t-e.length+1,""+r.join("0")+e},Cyberoam.Address.ip6.prototype.fixLength=function(e,t){t=t<0?0:t,e=e.substr(0,t);var r=[];return r.length=t-e.length+1,""+r.join("0")+e},Cyberoam.Address.ip6.prototype.isValidNetmask=function(e){var t="";return""==(t=void 0!==e?e:this.config.netmask)||void 0===t||isNaN(t)?(this.errorStatus=510,!1):("string"==typeof t&&(t=parseInt(t)),"number"!=typeof t?(this.errorStatus=510,!1):!(t<1||t>128)||(this.errorStatus=510,!1))},Cyberoam.InternetProtocol=function(e){for(var t in this.config={id:"",name:"",ipv4tab:!1,ipv6tab:!1},e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong InternetProtocol Configuration "+t});this.config[t]=e[t]}""==this.config.name&&(this.config.name=this.config.id)},Cyberoam.InternetProtocol.prototype.create=function(){var e=this;""!=e.config.id&&(e.IPv6Protocol(),document.getElementById(e.config.id).style.display="")},Cyberoam.InternetProtocol.prototype.IPv6Protocol=function(){var e=this,t=document.getElementById(e.config.id);t.className="ip_tab_main_div";var r=document.createElement("div");r.className="toplinkseprator_CR",r.setAttribute("style","margin-top:0px;"),t.appendChild(r);var a=document.createElement("div");a.className="ip_tab_sub_div_selected",a.id="ipv4div_"+this.config.id,a.innerHTML="IPv4",r.appendChild(a);var o=document.createElement("div");o.className="toplinkseprator_CR",o.setAttribute("style","margin-top:0px;"),t.appendChild(o);var n=document.createElement("div");n.className="ip_tab_sub_div_unselected",n.id="ipv6div_"+this.config.id,n.innerHTML="IPv6",o.appendChild(n);var i=document.createElement("div");i.className="toplinkseprator_CR",i.setAttribute("style","margin-top:0px;padding:inherit;"),t.appendChild(i);var s=document.createElement("input");s.type="hidden",t.appendChild(s),e.config.ipv4tab&&e.config.ipv4tab(),a.onclick=function(){a.className="ip_tab_sub_div_selected",n.className="ip_tab_sub_div_unselected",s.value="0",e.config.ipv4tab&&e.config.ipv4tab()},n.onclick=function(){n.className="ip_tab_sub_div_selected",a.className="ip_tab_sub_div_unselected",s.value="1",e.config.ipv6tab&&e.config.ipv6tab()}},Cyberoam.InternetProtocol.prototype.getProtocol=function(){var e=document.getElementById("ipv4div_"+this.config.id);return null!=e&&-1==e.className.indexOf("_selected")?"1":"0"},Cyberoam.InternetProtocol.prototype.setProtocol=function(e){var t=document.getElementById("ipv4div_"+this.config.id),r=document.getElementById("ipv6div_"+this.config.id);"1"==e?(t.className="ip_tab_sub_div_unselected",r.className="ip_tab_sub_div_selected"):(t.className="ip_tab_sub_div_selected",r.className="ip_tab_sub_div_unselected")},Cyberoam.validateIPv6Prefix=function(e,t){if(!Cyberoam.validIPv6Addres(e))return!1;if(newIP=Cyberoam.bestRepresent(e).split(":"),128==t||0==t)return!0;
2086if(t%4!=0||t>128||0==t)return!1;for(var r=t/4-1,a=newIP.join(""),o=a.length-1;o>r;o--)if("0"!=a.charAt(o))return!1;return!0},Cyberoam.table=function(e){var t={column:[],data:[],action:1,checkBox:!0,noChildHeader:!1,key:"",isThisChild:!0,postRenderEvent:null,alternateColor:!1,checkBoxFormater:null};for(var r in this.config={column:[],data:[],isChild:!1,key:"id",action:1,alternateColor:!0,child:t,id:"",checkBox:!0,checkBoxFormater:null,noChildHeader:!1,isThisChild:!1,postRenderEvent:null,width:"",dragDrop:!1,isHeaderVisible:!0},e)if(void 0!==this.config[r])if("child"==r){for(var a in e[r])void 0!==t[a]&&(t[a]=e[r][a]);this.config[r]=t}else this.config[r]=e[r];this.checkBoxArray=[],jQuery("#ygddfdiv").remove()},Cyberoam.table.prototype.create=function(){this.createTable(this.config)},Cyberoam.table.prototype.getTableData=function(){return this.config.data},Cyberoam.table.prototype.expandAll=function(){var e;e=Cyberoam.getElementsByClassName("dynamicRecordAdd",document.getElementById(this.id)),$(e[0]).trigger("click")},Cyberoam.table.prototype.collepsAll=function(){var e;e=Cyberoam.getElementsByClassName("dynamicRecordDelete",document.getElementById(this.id)),$(e[0]).trigger("click")},Cyberoam.table.prototype.createTable=function(e){var t=e.id,r=(e.data,this),a=document.getElementById(t);if(1!=e.isChild&&0!=e.alternateColor||!1,0==e.noChildHeader){for(var o=!1,n=0;n<e.column.length;n++)if(void 0!==e.column[n].group&&""!=e.column[n].group){o=!0;break}var i="width:98%";""!=e.width&&(i="width:"+e.width+";");var s=Cyberoam.createElement({tag:"table",id:"table_"+t,style:i,className:"cr-custom-table"},a),d=Cyberoam.createElement({tag:"tbody"},s);s.cellSpacing="1",s.cellPadding="2",s.border="0";var l=Cyberoam.createElement({tag:"tr"},d);if(1==o&&(trObject2=Cyberoam.createElement({tag:"tr"},d)),1==e.isChild){var c=Cyberoam.createElement({tag:"td",className:"tableheader"},l);1==o&&c.setAttribute("rowspan",2),c.setAttribute("width","20");var u=Cyberoam.createElement({tag:"div",className:"dynamicRecordAdd"},c);$(u).on("click",(function(){var e=null;for(var r in"dynamicRecordAdd"==this.className?(this.className="dynamicRecordDelete",e=Cyberoam.getElementsByClassName("dynamicRecordAdd",document.getElementById("table_"+t))):(this.className="dynamicRecordAdd",e=Cyberoam.getElementsByClassName("dynamicRecordDelete",document.getElementById("table_"+t))),e)e.hasOwnProperty(r)&&$(e[r]).trigger("click")}))}if(1==e.checkBox){(c=Cyberoam.createElement({tag:"td",className:"tableheader"},l)).setAttribute("width","20"),1==o&&c.setAttribute("rowspan",2);u=Cyberoam.createElement({tag:"div",style:"width:20px"},c),Cyberoam.createElement({tag:"div",id:"selectAll_"+t,className:"checkBox"},u);this.checkBoxAll=new Cyberoam.CheckBox([{id:"selectAll_"+t,name:"selectAll_"+t,click:function(){r.checkBoxObject.selectAll(r.checkBoxAll.getValueById("selectAll_"+t))}}]),this.checkBoxAll.create()}for(n=0;n<e.column.length;n++)if(void 0===e.column[n].type||"hidden"!=e.column[n].type){var m=e.column[n],y="width:auto";c=Cyberoam.createElement({tag:"td",title:m.label,className:"tableheader"},l);if(1==o&&void 0===m.group&&c.setAttribute("rowspan",2),""!=m.width&&(y="width:"+m.width,c.setAttribute("width",m.width)),(u=Cyberoam.createElement({tag:"span",style:"float:left"},c)).innerHTML=m.label,m.isFilter){var p=t+"_"+m.key+"_filter";Cyberoam.createElement({tag:"span",title:"Click to Filter",className:"columnFilter",id:p,onclick:m.onFilter.click},c)}if(void 0!==m.group&&""!=m.group){c.setAttribute("colspan",m.group.length);for(var g=0;g<e.column[n].group.length;g++)if(void 0===e.column[n].group[g].type||"hidden"!=e.column[n].group[g].type){m=e.column[n].group[g],y="width:auto",c=Cyberoam.createElement({tag:"td",title:m.label,className:"tableheader"},trObject2);if(""!=m.width&&(y="width:"+m.width,c.setAttribute("width",m.width)),(u=Cyberoam.createElement({tag:"span",style:"float:left"},c)).innerHTML=m.label,m.isFilter)p=t+"_"+m.key+"_filter",Cyberoam.createElement({tag:"span",title:"Click to Filter",className:"columnFilter",id:p,onclick:m.onFilter.click},c)}}}}else s=a;if(null!=e.data&&e.data.length>0){for(var f=0;f<e.data.length;f++){var b="tabletext-bkgd";if("tbody"!=s.tagName.toLowerCase()){d=Cyberoam.createElement({tag:"tbody",id:"tbody"+f},s);1==e.dragDrop&&(d.style.cursor="move",d.draggable=!0,d.ondragstart=function(e){dragrow=e.target,dragTableId=dragrow.parentNode.id},d.ondragover=function(e){return e.preventDefault(),!1},d.ondrop=function(e){e.preventDefault();var t=Number(e.currentTarget.id.split("tbody")[1]),r=Number(dragrow.id.split("tbody")[1]);e.currentTarget.parentNode.id===dragTableId&&(t>r?s.childNodes[t+1].after(dragrow):s.childNodes[t+1].before(dragrow))},d.ondragend=function(e){dragend(e)});l=Cyberoam.createElement({tag:"tr"},d)}else l=Cyberoam.createElement({tag:"tr"},s);if(1==e.isChild&&void 0!==e.data[f].child){(c=Cyberoam.createElement({tag:"td",className:b},l)).setAttribute("width","20"),(u=Cyberoam.createElement({tag:"div",className:"dynamicRecordAdd"},c)).setAttribute("rowid",e.data[f][e.key]),u.setAttribute("rowindex",f),$(u).on("click",(function(){"dynamicRecordAdd"==this.className&&document.getElementById("tbody"+this.getAttribute("rowid")).childNodes[0].childNodes.length>2?(this.className="dynamicRecordDelete",document.getElementById("tbody"+this.getAttribute("rowid")).style.display="",document.getElementById("tbodyData"+this.getAttribute("rowid"))&&""==document.getElementById("tbodyData"+this.getAttribute("rowid")).innerHTML&&(e.child.id="tbodyData"+this.getAttribute("rowid"),e.child.data=[],""==e.child.key&&(e.child.key=e.key),0==e.child.column.length&&(e.child.column=e.column,e.child.noChildHeader=!0),e.child.noChildHeader&&(-1==navigator.userAgent.indexOf("MSIE")?document.getElementById("tbody"+this.getAttribute("rowid")).innerHTML="":$("#tbody"+this.getAttribute("rowid")).html(""),e.child.id="tbody"+this.getAttribute("rowid")),void 0!==e.data[this.getAttribute("rowindex")].child?e.child.data=e.data[this.getAttribute("rowindex")].child:e.child.data=[],r.createTable(e.child))):(this.className="dynamicRecordAdd",document.getElementById("tbody"+this.getAttribute("rowid")).style.display="none")}));d=Cyberoam.createElement({tag:"tbody",id:"tbody"+e.data[f][e.key],style:"display:none",className:"childTable"},s);var h=Cyberoam.createElement({tag:"tr"},d);Cyberoam.createElement({tag:"td"},h);1==e.checkBox&&Cyberoam.createElement({tag:"td"},h),Cyberoam.createElement({tag:"td",id:"tbodyData"+e.data[f][e.key],colspan:e.column.length+1},h)}else if(1==e.isChild||1==e.isThisChild)c=Cyberoam.createElement({tag:"td",className:b},l);if(1==e.checkBox){(c=Cyberoam.createElement({tag:"td",className:b},l)).setAttribute("width","20");u=Cyberoam.createElement({tag:"div",style:"width:20px"},c),Cyberoam.createElement({tag:"div",id:"checkbox_"+t+"_"+Cyberoam.replaceAll(e.data[f][e.key],"\\.","_"),className:"checkBox"},u);var C={id:"checkbox_"+t+"_"+Cyberoam.replaceAll(e.data[f][e.key],"\\.","_"),value:e.data[f][e.key],name:"checkbox"+t,click:function(){r.checkBoxAll.selectById("selectAll_"+t,!1)}};null!=e.checkBoxFormater&&e.checkBoxFormater(C,e.data[f]),this.checkBoxArray.push(C)}for(n=0;n<e.column.length;n++)if(void 0!==e.column[n].group&&""!=e.column[n].group){for(g=0;g<e.column[n].group.length;
2086g++)if(void 0===e.column[n].group[g].type||"hidden"!=e.column[n].group[g].type){var v="";void 0!==e.data[f][e.column[n].group[g].key]&&(v=e.data[f][e.column[n].group[g].key]);c=Cyberoam.createElement({tag:"td",className:b},l),y="width:100%";e.isHeaderVisible||(y="width:"+e.column[n].width+"px");u=Cyberoam.createElement({tag:"div",style:y},c);null!=e.column[n].group[g].formater?e.column[n].group[g].formater(u,v,e.data[f]):u.appendChild(document.createTextNode(v))}}else{if(void 0!==e.column[n].type&&"hidden"==e.column[n].type)continue;v="";void 0!==e.data[f][e.column[n].key]&&(v=e.data[f][e.column[n].key]);c=Cyberoam.createElement({tag:"td",className:b},l),y="width:100%";e.isHeaderVisible||(y="width:"+e.column[n].width+"px");u=Cyberoam.createElement({tag:"div",style:y},c);null!=e.column[n].formater?e.column[n].formater(u,v,e.data[f]):u.appendChild(document.createTextNode(v))}}this.checkBoxArray.length>0&&(this.checkBoxObject=new Cyberoam.CheckBox(this.checkBoxArray),this.checkBoxObject.create())}else{for(l=Cyberoam.createElement({tag:"tr"},s),n=0;n<e.column.length;n++)void 0!==e.column[n].group&&""!=e.column[n].group&&n;c=Cyberoam.createElement({tag:"td",className:"tabletext-bkgd",colspan:e.column.length+1},l);(u=Cyberoam.createElement({tag:"div",style:"width:100%;"},c)).appendChild(document.createTextNode(Language.NoRecordsFound))}null!=e.postRenderEvent&&e.postRenderEvent()},Cyberoam.table.prototype.dragDropTableRow=function(){var e=document.getElementById("table_"+this.config.id);if(e){var t=e.childNodes.length,r=YAHOO.util.Dom,a=YAHOO.util.Event,o=YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget(e);for(j=1;j<t;j++)new YAHOO.example.DDList(e.childNodes[j].id)}},YAHOO.example.DDList=function(e,t,a){YAHOO.example.DDList.superclass.constructor.call(this,e,t,a);var o=this.getDragEl();r.setStyle(o,"opacity",.67),this.goingUp=!1,this.lastY=0},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(e,t){var r=this.getDragEl(),a=this.getEl();r.innerHTML="<table><tbody>"+a.childNodes[0].childNodes[1].innerHTML+"</tbody></table>"},endDrag:function(e){var t=this.getEl(),a=this.getDragEl();r.setStyle(a,"visibility","");var o=new YAHOO.util.Motion(a,{points:{to:r.getXY(t)}},.2,YAHOO.util.Easing.easeOut),n=a.id,i=this.id;o.onComplete.subscribe((function(){r.setStyle(n,"visibility","hidden"),r.setStyle(i,"visibility","")})),o.animate()},onDragDrop:function(e,t){if(1===o.interactionInfo.drop.length){var a=o.interactionInfo.point;if(!o.interactionInfo.sourceRegion.intersect(a)){var n=r.get(t);if("tbody"==n.nodeName.toLowerCase()){var i=o.getDDById(t);n.appendChild(this.getEl()),i.isEmpty=!1,o.refreshCache()}}}},onDrag:function(e){var t=a.getPageY(e);t<this.lastY?this.goingUp=!0:t>this.lastY&&(this.goingUp=!1),this.lastY=t},onDragOver:function(e,t){var a=this.getEl(),n=r.get(t),i=(a.parentNode,n.parentNode);"table"==i.nodeName.toLowerCase()&&(this.goingUp?i.insertBefore(a,n):i.insertBefore(a,n.nextSibling)),o.refreshCache()}}),a.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)}},Cyberoam.createNetMaskOptions=function(e,t,r,a){var o,n=new Object;if(!(e<0||e>31||t<1||t>32)){if("asc"==r)for(;e<=t;){o=new Object;var i="0.0.0.0";0!=e&&(i=Cyberoam.convertNetBitsToNetmask(e)),"start"==a?(o.label="/"+e+" ("+i+")",
2086n[i]=o):(o.label="("+i+") /"+e,n[i]=o),e++}else for(;e<=t;){i="0.0.0.0";0!=t&&(i=Cyberoam.convertNetBitsToNetmask(t)),o=new Object,"start"==a?(o.label="/"+t+" ("+i+")",n[i]=o):(o.label="("+i+") /"+t,n[i]=o),t--}return n}},Cyberoam.createSubnetPrefixOptions=function(e,t,r,a){var o,n=new Array;if(!(e<0||e>31||t<1||t>32)){if("asc"==r)for(;e<=t;){o=new Object;var i="0.0.0.0";0!=e&&(i=Cyberoam.convertNetBitsToNetmask(e)),"start"==a?(o={key:e,label:"/"+e+" ("+i+")"},n.push(o)):(o={key:e,label:"("+i+") /"+e},n.push(o)),e++}else for(;e<=t;){i="0.0.0.0";0!=t&&(i=Cyberoam.convertNetBitsToNetmask(t)),o=new Object,"start"==a?(o={key:t,label:"/"+t+" ("+i+")"},n.push(o)):(o={key:t,label:"("+i+") /"+t},n.push(o)),t--}return n}},Cyberoam.current_hash=window.location.hash,Cyberoam.pageHash={},Cyberoam.check_hash=function(){window.location.hash!=Cyberoam.current_hash&&"undefined"!=typeof menu&&void 0!==Cyberoam.pageHash[window.location.hash]&&(null!=Cyberoam.pageHash[window.location.hash].displayURL?menu.displayMenuByURL(Cyberoam.pageHash[window.location.hash].displayURL,Cyberoam.pageHash[window.location.hash].url):(menu.refreshMenu(),Cyberoam.setMainFrame(Cyberoam.pageHash[window.location.hash].url)))},Cyberoam.set_hash=function(e){for(var t in Cyberoam.pageHash)if(Cyberoam.pageHash[t].url==e)return window.location.hash=t,void(Cyberoam.current_hash=t);var r="#"+Math.floor(1e5*Math.random()+1);"undefined"!=typeof cpBreadcrumbs&&(Cyberoam.current_hash=r),window.location.hash=r},Cyberoam.validateMultipleEmail=function(e){if(!e)return Cyberoam.messageBox({message:Language.inputRequired.replace("{inputField}",Language.Mail.toLowerCase())}),!1;var t=!1,r=e.split(",");if(r.length>10)return Cyberoam.messageBox({message:Language.AddrEmailMaxLimitExceed}),!1;for(var a=0;a<r.length;a++){var o={textvalue:Cyberoam.trim(r[a]),i18nenable:!1,regexindex:Cyberoam.idxEmail};Cyberoam.validateInputWithValidCharacters(o)||(t=!0)}return!t||(Cyberoam.messageBox({message:Language.validInputRequired.replace("{inputField}",Language.Mail.toLowerCase())}),!1)},Cyberoam.Toggle=function(e){if(e)for(var t in this.toggleItems={id:"",name:"",label:"",value:"",click:null,width:null,checked:!1,disabled:!1,css:"",togglesize:""},e){if(null==this.toggleItems[t]&&null!=this.toggleItems[t]){Cyberoam.messageBox({message:"Wrong toggle property "+t});break}this.toggleItems[t]=e[t]}};var clickObject=function(e,t){t.click&&t.click(e)};Cyberoam.Toggle.prototype.generateToggle=function(e){if(document.getElementById(e.id)&&""==Cyberoam.trim(document.getElementById(e.id).innerHTML)){var t=document.getElementById(e.id);"small"==e.togglesize?jQuery(t).html("<input type='checkbox' name='"+e.id+"' id='"+e.id+"'  /><label for="+e.id+"><div class='small'></div></label>"):jQuery(t).html("<input type='checkbox' name='"+e.id+"' id='"+e.id+"'  /><label for="+e.id+"><div></div></label>");var r=document.getElementById(e.id).getElementsByTagName("input")[0];t.removeAttribute("id"),r.value=e.value,e.checked&&(r.checked=!0),e.disabled&&(e.checked?(r.checked=!0,r.disabled=!0):r.disabled=!0,r.disabled=!0),r.onclick=function(){clickObject(r,e)}}},Cyberoam.Toggle.prototype.create=function(){this.toggleItems;this.generateToggle(this.toggleItems)},Cyberoam.Toggle.prototype.getValueById=function(e){var t=document.getElementById(e);return"checkbox"==t.type&&1==t.checked&&(""==t.value||t.value)},Cyberoam.Toggle.prototype.selectById=function(e,t){var r=document.getElementById(e);r&&(t?r.checked||r.disabled||(r.checked=t):r.disabled||(r.checked=t))},Cyberoam.Toggle.prototype.disableById=function(e,t){var r=document.getElementById(e);r&&(r.disabled=t,t?r.disabled||(r.checked||(r.checked=t),r.disabled=t):r.checked?r.checked=!0:r.checked=!1)},Cyberoam.Toggle.prototype.isSelected=function(){var e=document.getElementById(this.toggleItems.id);return"checkbox"!=e.type||0!=e.checked},Cyberoam.Toggle.prototype.isDisabled=function(){var e=document.getElementById(this.toggleItems.id);return"checkbox"!=e.type||0!=e.disabled};var RadioComponent=function(e){if(this.selectedIndex=null,this.radioList=[],this.config,null!==e.id&&void 0!==e.id&&""!==e.id)if(null!==e.items&&void 0!==e.items&&""!==e.items){this.config=e;var t=this,r=$("#"+this.config.id);if(r.length>0){var a,o;r.addClass("radio-toolbar");for(var n="name_"+parseInt(1e4*Math.random().toFixed(4)),i=0;i<this.config.items.length;i++){var s="radio_"+parseInt(1e4*Math.random().toFixed(4));a=$("<input type='radio' id='"+s+"' name='"+n+"' value='"+this.config.items[i].value+"' >"),o=$("<label for='"+s+"'>"+Cyberoam.getTranslatedMSG(this.config.items[i].label)+"</label>"),a.on("click",(function(e){t.setValue(this.value)})),this.radioList.push(a[0]),r.append(a),r.append(o)}this._setValue(this.config.defaultValue?this.config.defaultValue:this.radioList[0].value)}}else Cyberoam.logger.error("Please pass appropriate items");else Cyberoam.logger.error("Please pass appropriate id")};function updateDeviceProperty(e,t){var r=JSON.parse(e);r&&(Cyberoam.deviceProperty=r),t()}RadioComponent.prototype._setValue=function(e){var t=!1;try{if(null===this.selectedIndex||e!==this.radioList[this.selectedIndex].value){for(var r=0;r<this.radioList.length;r++)this.radioList[r].value==e&&($(this.radioList[r]).prop("checked",!0),this.selectedIndex=r,t=!0);if(t)for(r=0;r<this.radioList.length;r++)$(this.radioList[r]).next().toggleClass(this.config.items[r].classname,this.radioList[r].checked)}}catch(e){Cyberoam.logger.error("Improper Value")}return t},RadioComponent.prototype.setValue=function(e){this._setValue(e)&&this.config.onchange&&this.config.onchange.call(this,e)},RadioComponent.prototype.getValue=function(){return this.radioList[this.selectedIndex].value},RadioComponent.prototype.setValueByIndex=function(e){try{this.setValue(this.config.items[e].value)}catch(e){Cyberoam.logger.error("Improper index.")}},Cyberoam.setEventStatusMessage=function(e){if("object"!=typeof e&&(e=YAHOO.lang.JSON.parse(e)),void 0!==e.entity&&void 0!==e.entity.map&&void 0!==e.status){if(void 0!==e.entity.map.Entity&&void 0!==e.entity.map.Event&&Cyberoam.eventstatus[e.entity.map.Entity].statusMappings[e.entity.map.Event][e.status]){var t=Cyberoam.eventstatus[e.entity.map.Entity].statusMappings[e.entity.map.Event][e.status].message;Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(t),e.entity.map),e.status,e.content,e.contentType)}}else 599==e.status&&e.message&&Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(e.message),e.status)},Cyberoam.showLicDiv=function(e,t){if(e&&t){var r=document.getElementById(e);if(r&&!Cyberoam.checkModuleSebscription(t)){var a=null;if("Web Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebProtection):"Email Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.EmailProtection):"Network Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.NetworkProtection):"Web Server Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebserverProtection):"Sandstorm"==t&&(a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.ZeroDayProtectionLowercase)),!a)return;
2086ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:a}),r),$(r).show()}}},Cyberoam.showXstreamMDRLicDiv=function(e){if(e){var t=document.getElementById(e);t&&(Cyberoam.checkModuleSebscription("ZeroDay Protection")&&Cyberoam.checkModuleSebscription("Central Orchestration")||(ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:Message.XstreamMDRLic}),t),$(t).show()))}},Cyberoam.showSandstormLicDiv=function(e,t){if(e&&t){var r,a=document.getElementById(e);if(a)Cyberoam.checkModuleSebscription("ZeroDay Protection")||("SandstormActivityManage"==t?r=Language.FeatureSandstormActivitySubscription:"SandstormSettingsEdit"!=t&&"SandstormActivityDetailManage"!=t||(r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.ZeroDayProtectionLowercase)),ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:r}),a),$(a).show())}},Cyberoam.showNDRLicDiv=function(e){if(e){var t=document.getElementById(e);t&&(Cyberoam.checkModuleSebscription("NDR Essentials for Firewall")||(ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:Message.NDRLicense}),t),$(t).show()))}},Cyberoam.showNDRHaBanner=function(e){if(e){var t=document.getElementById(e);t&&(ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:Message.NDRHaAANotSupported}),t),$(t).show())}},Cyberoam.showLicMsgFieldWise=function(e){if("object"==typeof e)for(var t=0;t<e.length;t++)if(!Cyberoam.checkModuleSebscription(e[t][1])){var r=null;if("Web Protection"==e[t][1]?r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebProtection):"Email Protection"==e[t][1]?r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.EmailProtection):"Network Protection"==e[t][1]?r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.NetworkProtection):"Web Server Protection"==e[t][1]&&(r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebserverProtection)),null!=r){var a="object"==typeof e[t][0]?e[t][0]:document.getElementById(e[t][0]),o='<div class="fa fa-exclamation-triangle" onmouseover="Cyberoam.showTooltip({data:Cyberoam.getLicMsg(\''+r+"')},this)\"></div>";$(a).html(o),$(a).show()}}},Cyberoam.getIPSLicMsg=function(e,t){var r=null;if(void 0!==t&&"off"==t?r=Cyberoam.getTranslatedMSG("Message.NetworkProtectionIPSNotification"):Cyberoam.checkModuleSebscription(e[0][1])||(r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.NetworkProtection)),null!=r){var a="object"==typeof e[0][0]?e[0][0]:document.getElementById(e[0][0]),o='<div class="fa fa-exclamation-triangle fa-ips-alert" onmouseover="Cyberoam.showTooltip({data:Cyberoam.getLicMsg(\''+r+"')},this)\"></div>";$(a).html(o),$(a).show()}},Cyberoam.getLicMsg=function(e){var t="<table cellpadding='0' cellspacing='2'>";return t=t+"<tr><td class='text' style='width:550px;'>"+e+"</td></tr>",t+="</table>"},Cyberoam.showTooltipDown=function(e,t){if(jQuery("#tooltipcustom")&&0!=$(t).offset().left){jQuery('<div id="tooltipcustom" style="width:auto;position:absolute"></div>').appendTo("#body");var r=[];r.push('<div class="tooltipWrapper">'),e.header&&r.push('<div class="tooltipheader"><div style="display:inline-block;">'+Cyberoam.getTranslatedMSG(e.header)+'</div><div style="float:right" class="tooltipclose" onclick=Cyberoam.closeTooltip();></div></div>'),r.push('<div id="tooltipbody">'),r.push(e.data),r.push("</div>"),r.push("</div>"),r.push("</div>"),$("#tooltipcustom").html(r.join("")),document.getElementById("tooltipcustom").style.zIndex=200*Cyberoam.pageLayer+10,$(t).on("mouseout",(function(e){Cyberoam.hideTooltip()})),$(t).on("mouseover",(function(e){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),$("#tooltipcustom").on("mouseout",(function(e){Cyberoam.hideTooltip()})),$("#tooltipcustom").on("mouseover",(function(e){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),Cyberoam.setLabelValue(document.getElementById("tooltipcustom"));var a=document.getElementById("tooltipcustom");jQuery("#tooltipcustom").height()>350&&(document.getElementById("tooltipbody").style.height="350px"),a.style.left=$(t).offset().left-jQuery("#tooltipcustom").width()+45+"px",jQuery("#tooltipcustom").height()+$(t).offset().top+$(t).height()>document.body.clientHeight?a.style.top=$(t).offset().top+$(t).outerHeight()+"px":a.style.top=$(t).offset().top+27+"px"}},Cyberoam.setMultiSelectControlData=function(e,t,r,a,o,n){var i;t&&((n.entity&&n.entity.map&&n.entity.map.ipfamily==Cyberoam.getPageRequestParameter("ipfamily")||void 0===Cyberoam.getPageRequestParameter("ipfamily"))&&(Cyberoam.getObjectID()<=0?o[t].config.data[n.entity.map.entityid.toString()]={label:n.entity.map.entityname,type:a}:n.entity&&n.entity.map&&n.entity.map.__newname?o[t].config.data[Cyberoam.getObjectID()]={label:n.entity.map.__newname,type:a}:null!=r&&(o[t].config.data[Cyberoam.getObjectID()]={label:n.entity.map[r],type:a}),i=o[t].object.getSelectedKeys(),Cyberoam.getObjectID()<=0?"Any"!=i?i.push(n.entity.map.entityid):i=[n.entity.map.entityid]:Cyberoam.getObjectID()>0&&("Any"==i?i=[Cyberoam.getObjectID()]:null!=i&&null!=i&&i.length>0&&-1==i.lastIndexOf(Cyberoam.getObjectID())&&i.push(Cyberoam.getObjectID())
2086),o[t].object.setRecord(i)))},window.onscroll=function(){$(document).scrollTop()?$("#topbar").addClass("topBarShadow"):$("#topbar").removeClass("topBarShadow")},Cyberoam.initMenuProperty=function(){objectArray={},"off"==Cyberoam.deviceProperty.quarantine&&(objectArray.QUARANTINE={}),"off"==Cyberoam.deviceProperty.icap&&(objectArray.ICAP={}),"off"==Cyberoam.deviceProperty.sslvpnpolicy&&(objectArray.SSL={}),0==Cyberoam.deviceProperty.redavailability&&(objectArray.RED={}),"off"==Cyberoam.deviceProperty.logsandreports&&(objectArray.LOGSREPORTS={}),"off"==Cyberoam.deviceProperty.ha&&(objectArray.HA={}),"off"==Cyberoam.deviceProperty.wirelessprotection&&(objectArray.awe={}),"off"==Cyberoam.deviceProperty.waf&&(objectArray.WAF={});var e=Cyberoam.deviceProperty.wlan,t=Cyberoam.deviceProperty.wirelessprotection;"off"==e&&"off"==t&&(objectArray["WLAN&MESH"]={}),"off"==e&&(objectArray.WLAN={}),"off"==t&&(objectArray.MESH={}),0==Cyberoam.deviceProperty.dlp?(objectArray.DLP={},objectArray.DLPMTA={}):"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?(objectArray.POLICIESMTA={},objectArray.DLPMTA={}):(objectArray.DLP={},objectArray.POLICIESPROXY={}),1!=Cyberoam.deviceProperty.dual_av&&(objectArray.MALWAREPROTECTION={}),"off"==Cyberoam.deviceProperty.spx?(objectArray.SPX={},objectArray.SPXMTA={}):"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?objectArray.SPXMTA={}:objectArray.SPX={},"0"==Cyberoam.deviceProperty.heartbeatavailability&&(objectArray.HB={}),"off"==Cyberoam.deviceProperty.atp_feature&&(objectArray.ATP={}),"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?objectArray.SMTPPROFILES={}:objectArray.SPAMRULE={},"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?objectArray.ADDRGRPMTA={}:objectArray.ADDRGRP={},"enable"==Cyberoam.deviceProperty.mta&&"off"!=Cyberoam.deviceProperty.mta_mode||(objectArray.HOSTRELAY={}),"enable"==Cyberoam.deviceProperty.mta&&"off"!=Cyberoam.deviceProperty.mta_mode||(objectArray.MAILSPOOL={}),"0"==Cyberoam.internetSchemeCount&&(objectArray.InternetScheme={}),"off"==Cyberoam.deviceProperty.ndr_feature&&(objectArray.NDR={})},Cyberoam.reinitializeMenu=function(){callBack=function(){Cyberoam.initMenuProperty(),menu.update(menuArr)},Cyberoam.getDeviceProperty(callBack)},Cyberoam.getDeviceProperty=function(e){var t="mode="+Modes.LIST_DEVICE_PROPERTY+"&json={}";Cyberoam.AJAXCall({url:"/Controller",postResponse:function(t){updateDeviceProperty(t,e)},method:"post",query:t,id:null})},Cyberoam.Store=function(){var e=function(e){return arguments.length>1&&(e=[]).push.apply(e,arguments),(e=e||[]).filter((function(e){return"function"==typeof e})).reduceRight((function(e,t){return e?t(e):t}),null)};return{applyMiddleware:function(){var t=[];return t.push.apply(t,arguments),function(r){return function(a,o){var n=r(a,o),i={getState:n.getState,dispatch:function(e){return n.dispatch(e)}},s=t.map((function(e){return e(i)})),d=e(s.concat(n.dispatch));return $.extend({},n,{dispatch:d})}}},batcher:function(e){return function(t,r){return Array.isArray(r)?r.filter((function(e){return!!e})).reduce(e,t):e(t,r)}},combineReducers:function(e){return function(t,r){return Object.keys(e).reduce((function(a,o){return a[o]=e[o](t?t[o]:null,r),a}),{})}},compose:e,createStore:function e(t,r,a){var o="function"==typeof r?void 0:r,n=[],i=function(e){"function"==typeof t&&(o=t(o,e)),n.forEach((function(t){return t(e)}))};return"function"==typeof r&&(a=r,r=void 0),"function"==typeof a?a(e)(t,r):(r||i({}),{dispatch:i,getState:function(){return o},subscribe:function(e){return"function"==typeof e&&(n=n.concat(e)),function(){n=n.filter((function(t){return t!==e}))}}})}}}(),Cyberoam.ReactStore={connect:function(e,t,r,a){return function(o){return class extends React.Component{constructor(e){super(e),this.state={}}componentDidMount(){(void 0===a||a&&!a.pure)&&(this.unsubscribe=r.subscribe((()=>{this.forceUpdate()})))}render(){e=e||(()=>({})),t=t||(()=>({}));const a=Object.assign({},e(r.getState()),t(r.dispatch));return React.createElement(o,Object.assign({},a,this.props))}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}}}}},Cyberoam.EventStream=function(){function e(e){this.dispose=e}function t(e,t,r){"object"==typeof e?(this.onNext=e.onNext||$.noop,this.onError=e.onError||$.noop,this.onCompleted=e.onCompleted||$.noop):(this.onNext=e||$.noop,this.onError=t||$.noop,this.onCompleted=r||$.noop)}
2086function r(e){this._forEach=e}return r.ajax=function(e){return r.create((function(t){var r=$.ajax($.extend({},e,{success:function(e){return t.onNext(e)}}));return function(){return r.abort()}}))},r.create=function(t){return new r((function(r){return new e(t(r))}))},r.delay=function(e){return r.create((function(t){var r=setTimeout((function(){return t.onNext()}),e);return function(){return clearTimeout(r)}}))},r.interval=function(e){var t=0;return r.create((function(r){var a=setInterval((function(){return r.onNext(t++)}),e);return function(){return clearInterval(a)}}))},r.fromEvent=function(e,t){return r.create((function(r){var a=function(e){return r.onNext(e)};return e.addEventListener(t,a),function(){return e.removeEventListener(t,a)}}))},r.fromReader=function(e){return r.create((function(t){var r=new FileReader;return r.addEventListener("loadend",(function(e){return t.onNext(e)})),r.readAsDataURL(e),function(){return r.abort()}}))},r.prototype={debounce:function(e){var t=this;return new r((function(a){var o={time:null,data:null},n=void 0;return t._forEach({onNext:function(t){var i=(new Date).getTime();(!o.data||o.data&&i-o.time<e)&&(o.data=t,o.time=i),n&&n.dispose(),n=r.delay(e).forEach((function(){a.onNext(o.data),o.data=null}))},onError:function(){a.onError(),subscription.dispose(),n.dispose()},onCompleted:function(){a.onCompleted(),n.dispose()}})}))},distinct:function(e,t){var a=this;return new r((function(r){var o=[],n={};
2086return a._forEach({onNext:function(a){n.data="function"==typeof e?e(a):a,0!==o.length&&void 0!==t||(o=o.concat(n.data),r.onNext(a));for(var i=!0,s=0;s<o.length;s++)t(o[s],n.data)||(i=!1);i&&(o=o.concat(n.data),r.onNext(a))},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}})}))},distinctUntilChanged:function(e,t){var a=this;return new r((function(r){var o={},n={};return a._forEach({onNext:function(a){if(n.data="function"==typeof e?e(a):a,void 0===o.data||void 0===t)return o.data=n.data,r.onNext(a);t(o.data,n.data)&&(r.onNext(a),o.data=n.data)},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}})}))},doAction:function(e,a,o){var n=this,i=new t(e,a,o);return new r((function(e){return n._forEach({onNext:function(t){i.onNext(t),e.onNext(t)},onError:function(t){i.onError(t),e.onError(t)},onCompleted:function(){i.onCompleted(),e.onCompleted()}})}))},filter:function(e){var t=this;return new r((function(r){return t._forEach({onNext:function(t){"function"==typeof e&&e(t)&&r.onNext(t)}})}))},forEach:function(e,r,a){var o=new t(e,r,a);return this._forEach(o)},map:function(e){var t=this;return new r((function(r){return t._forEach({onNext:function(t){t="function"==typeof e?e(t):t,r.onNext(t)},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}})}))},subscribe:function(e,t,r){return this.forEach(e,t,r)},switchLatest:function(){var e=this;return new r((function(t){var r={subscription:null};return e._forEach({onNext:function(e){r.subscription&&r.subscription.dispose(),r.subscription=e.forEach((function(e){t.onNext(e)}))},onError:function(e){t.onError(e)},onCompleted:function(){t.onCompleted()}})}))},take:function(e){var t=this;return new r((function(r){var a=0,o=t._forEach({onNext:function(t){r.onNext(t),++a===e&&(o.dispose(),r.onCompleted())},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}});return o}))},takeUntil:function(e){var t=this;return new r((function(r){var a=t._forEach(r),o=e.forEach((function(){a.dispose(),o.dispose(),r.onCompleted()}));return a}))}},r}();var Functor=function(e){this.value=e};Functor.of=function(e){return new Functor(e)},Functor.prototype.map=function(e){return new Functor(e(this.value))},Functor.prototype.extend=Functor.prototype.map,Functor.prototype.val=function(){return this.value};var composeFunction=function(){return[].slice.call(arguments).filter((function(e){return"function"==typeof e})).reduce((function(e,t){return function(){return e?e.call(null,t.apply(null,arguments)):t.apply(null,arguments)}}),null)};Cyberoam.getPropertyDeep=function(e,t,r){return(e=e[(t=Array.isArray(t)?t:t.split("."))[0]])&&t.length>1?Cyberoam.getPropertyDeep(e,t.slice(1),r):void 0===e?r:e},Cyberoam.managePageRefreshHelper=function(e,t,r){var a=Cyberoam.getPropertyDeep(e,t);a?r(!1,a.length):r()},Cyberoam.fetchKeys=function(e,t){return t.children||(e=e.concat({key:t.key})),t.children&&(e=e.concat(t.children.map((function(e){return{key:e.key}})))),e},Cyberoam.isCloneOperation=function(e){return Cyberoam.getOperation()===e.toString()&&parseInt(Cyberoam.getObjectID(),10)>0},Cyberoam.isUpdateOperation=function(e){return Cyberoam.getOperation()===e.toString()},Cyberoam.getIndexedName=function(e,t,r){const a=t.reduce((function(e,t){return e[t]=!0,e}),{});var o=0,n=e;do{const e=(n+" "+ ++o).length-r;if(e>0){if(n.length<e)return null;n=n.substr(0,n.length-e),o=1}}while(a[n+" "+o]);return n+" "+o},Cyberoam.replaceObjectValueInList=function(e,t,r,a){for(var o in e)e[o][t]===r&&(e[o][t]=a)},Cyberoam.replaceAllWebTrafficValue=function(e){Cyberoam.replaceObjectValueInList(e,"label",CategoryConstants.ORIGINAL_ALL_WEB_TRAFFIC,Language.ALLWebTraffic)},Cyberoam.togglePolicyLegacyWarning=function(e){var t=e.webfilterid.object.getSelectedKeys(),r=e.webfilterid.config.data[t];("NetworkPolicyEdit"===Cyberoam.pageObject[Cyberoam.pageLayer].module||"NetworkPolicyEdit"===Cyberoam.parentPage())&&NetworkPolicyEObject.proxymode.object.getValueById("proxymode")||!r||r.safesearch_enabled!==Cyberoam.DB.TRUE&&r.youtubefilter_enabled!==Cyberoam.DB.TRUE&&r.googapp_allowed_domains_enabled!==Cyberoam.DB.TRUE&&r.xff_enabled!==Cyberoam.DB.TRUE&&r.office365_tenant_restrict_enabled!==Cyberoam.DB.TRUE?$(".policyLegacyWarning").hide():$(".policyLegacyWarning").show()}
2086,Cyberoam.handleEscapeKey=function(e){27===e.keyCode&&e.data&&"function"==typeof e.data.cb&&e.data.cb()},Cyberoam.ellipsizeTextBox=function(e){return e&&e.length>28&&(" , "===(e=e.substring(0,37)).substr(e.length-3)?e=e.substring(0,34):" ,"===e.substr(e.length-2)?e=e.substring(0,35):" "===e.substr(e.length-1)?e=e.substring(0,36):e.length>33&&(e=e.substring(0,31)),e+="..."),e},Cyberoam.isValidCert=function(e){var t=100,r=101;if(!Cyberoam.getDataObject.CAListWithStatus||!e)return!0;var a=JSON.parse(Cyberoam.getDataObject.CAListWithStatus);return a[e].status===t||a[e].status===r},Cyberoam.getCertStatus=function(e){return JSON.parse(Cyberoam.getDataObject.CAListWithStatus)[e].status},Cyberoam.toggleCertWarning=function(e,t){if(Cyberoam.isValidCert(e))$("#"+t+"cert-error div").hide();else{var r=Cyberoam.getCertStatus(e);$("#"+t+"cert-error div").hide(),102===r?$("#"+t+"-missing-cert").show():103===r?$("#"+t+"-expired-cert").show():$("#"+t+"-fatal-cert").show()}},Cyberoam.addUniqueItemToList=function(e,t){return-1===e.indexOf(t)&&e.push(t),e},Cyberoam.scrollIntoViewIfNeeded=function(e,t){var r=t.offset().top,a=r+t.height(),o=e.offset().top,n=o+e.height();o<r&&(t[0].scrollTop=e[0].offsetTop-50),n>a&&(t[0].scrollTop=e[0].offsetTop-t.height()+50)},Cyberoam.sortLowerCaseAlphabetically=function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:1},Cyberoam.getBrowserZoomRatio=function(){return Math.ceil((window.outerWidth-8)/window.innerWidth*10)/10},Cyberoam.isInDomain=function(e,t){if(!e||!t)return!1;if(e=e.toLowerCase(),t=t.toLowerCase(),e.length<t.length)return!1;if(e===t)return!0;var r=e.split(".").reverse(),a=t.split(".").reverse();if(r.length<a.length)return!1;for(var o in a)if(r[o]!==a[o])return!1;return!0},Cyberoam.languageNeutralSort=function(e,t,r){return null==t?e.sort(((e,t)=>e.toString().localeCompare(t.toString(),Cyberoam.getCCLLocale()))):e.sort(((e,a)=>{if(r){const t=e.key,o=a.key;if(t===r)return-1;if(o===r)return 1}const o=Cyberoam.getPropertyDeep(e,t),n=Cyberoam.getPropertyDeep(a,t);return void 0===o||void 0===n?0:o.toString().localeCompare(n.toString(),Cyberoam.getCCLLocale())}))},Cyberoam.getOrCreateElement=function(e,t){const r=document.getElementById(e);if(null==r){const r=document.createElement("div");return r.id=e,t&&(r.style=t),document.body.appendChild(r),r}return r.innerHTML="",t&&(r.style=t),r},Cyberoam.integerSort=function(e,t,r,a){var o=0;if("boolean"!=typeof r)return Cyberoam.logger.log("integerSort desc isn't boolean: "+r),o;if("string"!=typeof a||!a)return Cyberoam.logger.log("integerSort field parameter isn't correct: "+a),o;if("object"!=typeof e||null==e._oData||null==e._oData[a]||!e._oData[a].match(/^\-?\d+$/))return Cyberoam.logger.log("integerSort parameter a isn't correct"),o;if("object"!=typeof t||null==t._oData||!t._oData[a].match(/^\-?\d+$/))return Cyberoam.logger.log("integerSort parameter b isn't correct"),o;var n=parseInt(e._oData[a]),i=parseInt(t._oData[a]);return o=n<i?-1:n==i?0:1,r&&(o*=-1),o},Cyberoam.objectReference={usageRefreshTime:""},Cyberoam.objectReference.usageColumnFormatter=function(e,t,r,a,o,n,i){var s=t.getData("usages");void 0!==t.getData("usages")&&null!=t.getData("usages")||(s="0"),void 0!==t.getData("updatedat")&&null!=t.getData("updatedat")&&(Cyberoam.objectReference.usageRefreshTime=t.getData("updatedat"));var d="";if("0"==s)d=Cyberoam.createElement({tag:"a",className:"usage_count_0",title:s});else{d=Cyberoam.createElement({tag:"a",className:"usage_count",title:s});var l="/objects/ObjectReference.html";l=l+"?entity="+encodeURIComponent(o)+"&id="+encodeURIComponent(n)+"&name="+encodeURIComponent(i),d.onclick=function(){Cyberoam.showPopup({URL:l,width:680,height:420,hideCloseButton:!0,title:i})}}d.onmouseover=function(){var e='<div><span style="float:left;padding-right:10px;">'+Cyberoam.getTranslatedMSG("Language.ReferenceTooltip1").replace("{usages}",s)+'</span></div><div><span style="float:left;padding-right:10px;">'+Cyberoam.getTranslatedMSG("Language.ReferenceTooltip2").replace("{timeline}",Cyberoam.objectReference.usageRefreshTime)+"</span></div>";Cyberoam.showTooltip({data:e},d)},d.appendChild(document.createTextNode(s)),e.appendChild(d)},Cyberoam.objectReference.usageRefreshOver=function(e){var t='<div><span style="float:left;padding-right:10px;">'+Language.ReferenceRefreshTooltip1+'</span></div><div><span style="float:left;padding-right:10px;">'+Language.ReferenceRefreshTooltip2+" <b>"+Cyberoam.objectReference.usageRefreshTime+"</b></span></div>";Cyberoam.showTooltip({data:t},e)},Cyberoam.objectReference.usageRefreshRequest=function(e,t){var r={entity:e};Cyberoam.AJAXCall({method:"post",dataType:"json",url:"/Controller?",query:"mode=3218&json="+JSON.stringify(r),postResponse:t})},Cyberoam.DecompressIpv6Address=function(e){if(-1===e.indexOf("::"))return e;for(var t=e.split(":"),r=9-t.length,a="",o=0;o<r;o++)a+="0000:";
2086t=(e=e.replace("::",":"+a)).split(":");for(o=0;o<t.length;o++)t[o]=t[o].padStart(4,"0");return t.join(":")},Cyberoam.AlphaNumericSorting=function(e,t){let r=new Intl.Collator("en",{numeric:!0,ignorePunctuation:!0,caseFirst:"upper"});return e.sort((function(e,a){return r.compare(e[t],a[t])}))},Cyberoam.YUI={restoreTableSettings:function(e){try{var t=JSON.parse(localStorage.getItem("tableSettings"));t?.[e]?.columns&&t[e].columns.forEach((function(t){document.querySelectorAll("#"+e+" ."+t.id)[0].setAttribute("width",t.width)}))}catch(t){Cyberoam.logger.error("Error while restoring column width for tableId: ",e,t)}},storeTableSettings:function(e,t,r){try{var a="yui-dt-col-"+t,o=[],n=JSON.parse(localStorage.getItem("tableSettings"));n?.[e]?(0===(o=n[e].columns).filter((function(e){return e.id===a})).length?o.push({id:a,width:r+"px"}):o.forEach((function(e){e.id===a&&(e.width=r+"px")})),n[e]={columns:o},n=JSON.stringify(n)):(o.push({id:a,width:r+"px"}),n?(n[e]={columns:o},n=JSON.stringify(n)):n=JSON.stringify({[e]:{columns:o}})),localStorage.setItem("tableSettings",n)}catch(t){Cyberoam.logger.error("Error while storing column width for tableId: ",e,t)}}};function CyberoamForm(){this.fields=[]}function CyberoamTableHeader(e){this.component=e}function CyberoamTable(e){this.dt=e}Cyberoam.initEntityObject=function(e,t){try{for(var o in t)t.hasOwnProperty(o)&&(t[o].key=o,Cyberoam.createEntity(e,t[o],t),null!=e&&Cyberoam.setDataObjectValue(e,t[o],t));void 0!==Cyberoam.pageObject&&void 0!==Cyberoam.pageObject[Cyberoam.pageLayer]&&(Cyberoam.pageObject[Cyberoam.pageLayer].entityObject=t)}catch(e){Cyberoam.messageBox({message:e})}},document.onkeydown=function(e){void 0!==Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.setShortcutKey(e,Cyberoam.pageObject[Cyberoam.pageLayer].entityObject)},Cyberoam.autocomple=!1,Cyberoam.textonkeypress=function(e,t,o,a,n){var i=new Cyberoam.Event(e);if(i&&13==i.getKeyCode()){if(Cyberoam.autocomple!=t.value)return;for(var r in a)if("button"==a[r].objType&&0==a[r].object.disabled&&a[r].config&&(a[r].config.title==Cyberoam.getTranslatedMSG(Language.Ok)||a[r].config.title==Cyberoam.getTranslatedMSG(Language.Save))&&t.form.name==a[r].object.form.name){if(Cyberoam.generateRequest(a,a[r],n)){i.clearKeyCode();break}return void i.clearKeyCode()}}},Cyberoam.createEntity=function(e,t,o){switch(t.objType){case"textbox":case"password":if(void 0!==t.config&&void 0!==t.config.id&&document.getElementById(t.config.id))t.object=null,t.object=new Cyberoam.password(t.config),t.object.create();else{if(void 0===t.object.length)t.config&&t.config.title&&(t.object.placeholder=t.config.title),t.config&&t.config.maxlength&&t.object.setAttribute("maxLength",t.config.maxlength),t.config&&t.config.disable&&(t.object.disabled=!0);else for(var a=0;a<t.object.length;a++)t.config&&t.config.title&&(t.object.placeholder=t.config.title),t.config&&t.config.maxlength&&t.object[a].setAttribute("maxLength",t.config.maxlength),t.config&&t.config.disable&&(t.object[a].disabled=!0);$(t.object).on("keypress",(function(e){var t=new Cyberoam.Event(e);t&&13==t.getKeyCode()&&(Cyberoam.autocomple=this.value)})),$(t.object).on("keyup",(function(a){Cyberoam.textonkeypress(a,t.object,t,o,e)}))}break;case"address":t.object=new Cyberoam.Address(t.config),t.object.create();break;case"radio":t.config&&t.config.option&&(t.config.dynamic?Cyberoam.createRadio(t,t.config.option):Cyberoam.setRadioValues(t.object,t.config.option));for(a=0;a<t.object.length;a++){var n=$(t.object[a]),i=n.attr("id");n.next("label").attr("for",i)}t.config&&t.config.disable&&Cyberoam.setRadioDisable(t.object);break;case"checkbox":void 0!==t.config.option&&t.config.dynamic?Cyberoam.createMultipleChkBox(t):(t.object=new Cyberoam.CheckBox(t.config),t.object.create());break;case"selectbox":if(t.config&&t.config.disable&&(t.object.disabled=!0),t.config&&t.config.option)if(void 0===t.object.length||0==t.object.length||t.object[0]&&"option"==t.object[0].tagName.toLowerCase())Cyberoam.createOptions(t.config.option,t.object);else for(a=0;a<t.object.length;a++)Cyberoam.createOptions(t.config.option,t.object[a]);break;case"textarea":t.config&&t.config.title&&(t.object.placeholder=t.config.title),t.config&&t.config.disable&&(t.object.disabled=!0),t.object.className="textareacss";break;
2086case"CRController":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.CRController(t.config),t.object.create());break;case"SingleSelector":document.getElementById(t.config.id)&&(t.object=null,t.object=ReactDOM.render(React.createElement(Cyberoam.SingleSelector,{config:t.config}),document.getElementById(t.config.id)),t.config.popupDiv&&Cyberoam.hideShowWidgetPopupTR(t.config.popupDiv,"none"));break;case"MultiSelector":document.getElementById(t.config.id)&&(t.object=null,t.object=ReactDOM.render(React.createElement(Cyberoam.MultiSelector,{config:t.config}),document.getElementById(t.config.id)),t.config.popupDiv&&Cyberoam.hideShowWidgetPopupTR(t.config.popupDiv,"none"));break;case"selectionBox":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.SelectionBox(t.config),t.object.create());break;case"MultiInputList":document.getElementById(t.config.id)&&(t.object=null,t.object=ReactDOM.render(React.createElement(Cyberoam.MultiInputList,{config:t.config}),document.getElementById(t.config.id)));break;case"multilist":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.MultListBox(t.config),t.object.create());break;case"datatable":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.DataTable(t.config),t.object.create());break;case"combobox":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.combobox(t.config),t.object.create());break;case"button":t.object&&(t.config&&null!=t.config.title&&(!Cyberoam.isCloneRule()||t.config.title!=Cyberoam.getTranslatedMSG(Language.Ok)&&t.config.title!=Cyberoam.getTranslatedMSG(Language.Save)?t.object.value=Cyberoam.getTranslatedMSG(t.config.title):t.object.value=Cyberoam.getTranslatedMSG(Language.Clone)),Cyberoam.addListener(t.object,"click",(function(){void 0!==Cyberoam.prevResponseStatus&&598!=Cyberoam.prevResponseStatus&&Cyberoam.setStatusBarMessage("",""),Cyberoam.generateRequest(o,t,e)}),!0));break;case"div":t.object&&(t.config&&null!=t.config.title&&(t.object.innerHTML=Cyberoam.getTranslatedMSG(t.config.title)),Cyberoam.addListener(t.object,"click",(function(){t.config.click(o)}),!0));break;case"file":t.object.id=t.key;break;case"ipfamily":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.InternetProtocol(t.config),t.object.create());break;case"toggle":t.object=new Cyberoam.Toggle(t.config),t.object.create();break;case"radiocomponent":t.object=new RadioComponent(t.config)}Cyberoam.setEvents(t,o)},Cyberoam.getDomObject=function(e){return e.domId&&(e=$.extend(e,{object:document.getElementById(e.domId)})),e.domName&&(e=$.extend(e,{object:document.getElementsByName(e.domName)})),e},Cyberoam.reduceEntityObject=function(e,t){return e[t.key]=t,e},Cyberoam.getCheckboxOpcodeValue=function(e,t){return e.config[0].value===("true"===t[0])},Cyberoam.getRadioOpcodeValue=function(e){var t=Cyberoam.getRadioValue(e.object);return parseInt(t,10)},Cyberoam.getSelectboxOpcodeValue=function(e,t){return t=t[0],parseInt(t,10)},Cyberoam.deleteEntities=function(e,t,o){Cyberoam.messageBox({confirm:!0,message:Language.DeleteMultiConfirm,afterOk:function(){Cyberoam.AJAXCall({dataType:"json",method:"post",postResponse:function(e){200===e.status?t():"function"==typeof o&&o()},query:$.param(e),url:"/Controller"})}})},Cyberoam.escapeValue=function(e){return e=Cyberoam.replaceAll(e,"\\","\\\\"),e=Cyberoam.replaceAll(e,"'","\\'")},Cyberoam.bypassEscape=function(e,t){return t.objType===e&&(t.arrayEnable=!0,t.config.escap=!1),t},Cyberoam.bypassEscapeCheckbox=function(e){return Cyberoam.bypassEscape("checkbox",e)},Cyberoam.bypassEscapeRadio=function(e){return Cyberoam.bypassEscape("radio",e)},Cyberoam.bypassEscapeSelectbox=function(e){return Cyberoam.bypassEscape("selectbox",e)},Cyberoam.setEvents=function(e,t){if(e.events)for(var o in e.events)if("radio"==e.objType)for(var a=0;a<e.object.length;a++)"INPUT"==e.object[a].tagName.toUpperCase()&&(e.object[a].setAttribute("key",e.key),"click"==o&&(e.object[a].onclick=function(){var e=this.getAttribute("key");t[e].events[o](this,o,t)}));else"checkbox"==e.objType||Cyberoam.addListener(e.object,o,(function(){e.events[o](e.object,e.key,t)}),!0)},Cyberoam.setDataObjectValue=function(e,t,o){if(t.config&&null!=t.config.formater)t.config.formater(t,e.Record[t.key],e,o);else if(e.Record&&null!=e.Record[t.key])switch(t.objType){case"password":case"combobox":case"CRController":case"SingleSelector":case"MultiSelector":case"MultiInputList":case"selectionBox":case"multilist":break;case"textbox":case"textarea":if("name"==t.type&&Cyberoam.getObjectID()>0&&(t.oldValue=e.Record[t.key]),void 0===t.object.length)null!=e.Record[t.key]&&Cyberoam.setTextBoxValue(t.object,e.Record[t.key]);else for(var a=0;a<t.object.length;a++)null!=e.Record[t.key][a]&&Cyberoam.setTextBoxValue(t.object[a],e.Record[t.key][a]);break;case"radio":null!=e.Record[t.key]&&Cyberoam.setRadioValue(t.object,e.Record[t.key]);break;case"address":null!=e.Record[t.key]&&t.object.set(e.Record[t.key]);break;case"checkbox":case"toggle":null!=t.formater?t.formater(t,e.Record[t.key],e,o):null!=e.Record[t.key]&&Cyberoam.setCheckBoxValue(t,e.Record[t.key]);break;case"selectbox":if(null!=e.Record[t.key])if("object"!=typeof e.Record[t.key])Cyberoam.setSelectBoxValue(t.object,e.Record[t.key]);else if(void 0===t.object.length||0==t.object.length||t.object[0]&&"option"==t.object[0].tagName.toLowerCase())for(a=0;a<e.Record[t.key].length;a++)Cyberoam.setSelectBoxValue(t.object,e.Record[t.key][a]);else for(a=0;a<t.object.length;a++)Cyberoam.setSelectBoxValue(t.object[a],e.Record[t.key][a]);break;case"hidden":!t.value&&e.Record[t.key]&&null!=e.Record[t.key]&&(t.value=e.Record[t.key]);break;case"radiocomponent":null!=e.Record[t.key]&&t.object._setValue(e.Record[t.key])}},Cyberoam.createRadio=function(e,t){for(var o in t)0==o?jQuery('<input type="radio" name="'+e.config.id+'" id="'+(e.config.id+o)+'" value="'+o+'" checked = "checked"/><label for="'+(e.config.id+o)+'">'+Cyberoam.getTranslatedMSG(t[o].label)+"</label>").appendTo(document.getElementById(e.config.id)):jQuery('<input type="radio" name="'+e.config.id+'" id="'+(e.config.id+o)+'" value="'+o+'" /><label for="'+(e.config.id+o)+'">'+Cyberoam.getTranslatedMSG(t[o].label)+"</label>").appendTo(document.getElementById(e.config.id));e.object=[];var a=document.getElementsByName(e.config.id);for(o=0;o<a.length;o++)"input"==a[o].tagName.toLowerCase()&&e.object.push(a[o])},Cyberoam.createMultipleChkBox=function(e){var t=[],o=null;void 0!==e.config.click&&(o=e.config.click);var a=0;for(i in e.config.option)e.config.option.hasOwnProperty(i)&&(jQuery('<div id="chk'+e.key+a+'" ></div>').appendTo("#"+e.config.id),t.push({id:"chk"+e.key+a,label:e.config.option[i].label,name:e.key,value:i,click:o,width:e.config.width}),a++);e.config=t,e.object=new Cyberoam.CheckBox(t),e.object.create()},Cyberoam.createOptions=function(e,t){if(t&&e){if(void 0!==t.length){for(var o in e)if(e.hasOwnProperty(o)){var a=o;void 0!==e[o].key&&(a=e[o].key),void 0===e[o].label?t.options[t.length]=new Option(a,a):"Error"==e[o].label?t.options[t.length]=new Option(e[o].label,a):t.options[t.length]=new Option(Cyberoam.getTranslatedMSG(e[o].label),a)}}else for(var o in e)if(e.hasOwnProperty(o)){a=o;void 0!==e[o].key&&(a=e[o].key),void 0===e[o].label?jQuery('<option value="'+a+'">'+a+"</option>").appendTo(t):jQuery('<option value="'+a+'">'+Cyberoam.getTranslatedMSG(e[o].label)+"</option>").appendTo(t)}}else Cyberoam.messageBox({message:"One Object as argument is missing"})},Cyberoam.setRadioDisable=function(e){for(var t=0;t<e.length;t++)e[t].disabled=!0},Cyberoam.setRadioEnable=function(e){for(var t=0;t<e.length;t++)e[t].disabled=!1},Cyberoam.setTextBoxValue=function(e,t){e.value=t},Cyberoam.setRadioValues=function(e,t){for(var o=0;o<e.length;o++)0==o&&(e[0].checked=!0),e[o].value=t[o]},Cyberoam.setRadioValue=function(e,t){for(var o=0;o<e.length;o++)e[o].value==t&&(e[o].checked="checked")}
2086,Cyberoam.setCheckBoxValue=function(e,t){if(void 0===e.config.length)e.config.value==t&&e.object.selectById(e.config.id,!0);else for(var o=0;o<e.config.length;o++)if("object"!=typeof t)e.config[o].value==t&&e.object.selectById(e.config[o].id,!0);else for(var a=0;a<t.length;a++)e.config[o].value==t[a]&&e.object.selectById(e.config[o].id,!0)},Cyberoam.setSelectBoxValue=function(e,t){for(var o=0;o<e.options.length;o++)e.options[o].value==t&&(e.options[o].selected=!0)},Cyberoam.setCRControllerValue=function(e,t){for(var o=0;o<t.length;o++){var a=t[o].label;t=t[o].key;setCRCValue(e.id,a,t)}},Cyberoam.setListValue=function(e,t){var o=new Array;if(""!=t){for(var a=0;a<t.length;a++)o[a]=t[a].label;insertListItems(e.id,o)}},Cyberoam.setDefaultText=function(e,t,o){e&&($(e).on("focus",(function(){Cyberoam.textEmptyFocus(e,t,o)})),$(e).on("blur",(function(){Cyberoam.textEmptyBlur(e,t,o)})),(null!=e&&""==e.value||e.value==t)&&Cyberoam.textEmptyFocus(e,t,o))},Cyberoam.setMultiListValue=function(e,t,o){var a=new Array,n=new Array;if(""!=t){for(var i=0;i<o.length;i++)n[i]=o[i].label;for(i=0;i<t.length;i++)a[i]=t[i].label;insertMultiListElements(e.id,n),insertMultiListSelElements(e.id,a)}},Cyberoam.validateNotNull=function(e,t){var o,a=null;return a=void 0===t?e.object:e.object[t],"password"==e.objType?""!=a.value&&null!=a.value&&a.value!=e.config.title||(null==e.label&&(e.label=e.key),Cyberoam.messageBox({message:Language.inputRequired.replace("{inputField}",Cyberoam.getTranslatedMSG(e.label).toLowerCase()),afterOk:function(){a.focus()},afterCancel:function(){a.focus()}}),!1):""!=Cyberoam.trim(a.value)&&null!=a.value&&Cyberoam.trim(a.value)!=e.config.title||(e.config.customMessage?o=e.config.customMessage:(void 0===e.label&&(e.label=e.key),o=Language.inputRequired.replace("{inputField}",Cyberoam.getTranslatedMSG(e.label).toLowerCase())),Cyberoam.messageBox({message:o,afterOk:function(){a.focus()},afterCancel:function(){a.focus()}}),!1)},Cyberoam.validateMaxLength=function(e,t){var o=null;return o=void 0===t?e.object:e.object[t],!(""!=Cyberoam.trim(o.value)&&Cyberoam.trim(o.value)!=e.config.title&&Cyberoam.trim(o.value).length>e.config.maxlength)||(null==e.label&&(e.label=e.key),Cyberoam.messageBox({message:Language.MaximumCharactersRequired.replace("{maxlength}",e.config.maxlength).replace("{label}",Cyberoam.getTranslatedMSG(e.label)),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}),!1)},Cyberoam.evali18nFlag=function(e,t){if("InputWithValidCharacters"==t.config.type){var o=Cyberoam.legalChars[t.config.regexindex].i18nvalidation,a=!0;o&e||o&void 0===e?a=!0:(o&!e||!o&e||!o&!e)&&(a=!1)}else a=e;return a},Cyberoam.validateType=function(e,t){var o=null;if(""!=(o=void 0===t?e.object:e.object[t]).value){var a,n,i=Cyberoam.trim(o.value),r=e.config.regexindex;i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'"),e.config.regexindex==Cyberoam.idxMAC&&(e.object.value=e.object.value.replace(/-/g,":"));var c=500;if(e.config)if("address"==e.config.type){e.config.typeConfig.ip=i;var l=new Cyberoam.Address(e.config.typeConfig);n=l.validate(),c=l.getErrorStatus()}else e.config.enablei18n?"InputWithValidCharacters"==e.config.type||"InputWithInvalidCharacters"==e.config.type?(a={textvalue:i,i18nenable:Cyberoam.evali18nFlag(!0,e),regexindex:r},n=Cyberoam["validate"+e.config.type](a,e)):n=Cyberoam["validate"+e.config.type](i):"InputWithValidCharacters"==e.config.type||"InputWithInvalidCharacters"==e.config.type?(a={textvalue:i,i18nenable:Cyberoam.evali18nFlag(!1,e),regexindex:r},n=Cyberoam["validate"+e.config.type](a,e)):n=Cyberoam["validate"+e.config.type](i,!1);if(n)return!0;null==e.label&&(e.label=e.key);e.config.type;return e.config.customMessage?Cyberoam.messageBox({message:e.config.customMessage,afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}):e.config.range&&!e.config.range.validation?e.config.range.validation||(e.config.range.validation=null):"InputWithInvalidCharacters"==e.config.type&&Language.validation&&void 0!==Language.validation[r]||"InputWithValidCharacters"==e.config.type&&Language.validation&&void 0!==Language.validation[r]?Cyberoam.messageBox({message:Language.you_cannot_enter+Language.validation[r]+Language.value_for+Cyberoam.getTranslatedMSG(e.label),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}):void 0!==Language["_"+e.config.type]?Cyberoam.messageBox({message:Language.you_must_enter+Language["_"+e.config.type]+Language.value_for+Cyberoam.getTranslatedMSG(e.label),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}):500==c?Cyberoam.messageBox({message:Language.validInputRequired.replace("{inputField}",Cyberoam.getTranslatedMSG(e.label).toLowerCase()),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}
2086):Cyberoam.messageBox({message:Language.invalid_address[c]+Cyberoam.getTranslatedMSG(e.label).toLowerCase()+".",afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}),!1}return!0},Cyberoam.checkVisibilityOfObject=function(e,t){var o=0,a=null;switch(t){case"textbox":case"textarea":case"selectbox":a=e;break;case"radio":case"radiocomponent":a=e[0];break;case"checkbox":a=document.getElementById(e.checkBoxItems[0].id);break;case"CRController":case"SingleSelector":case"MultiSelector":case"combobox":case"selectionBox":case"MultiInputList":case"multilist":case"toggle":a=document.getElementById(e.config.id);break;case"password":a=void 0!==e.config?document.getElementById(e.config.id):e}if(null==a)return!0;for(;a.parentNode;){if("hidden"==a.style.visibility||"none"==a.style.display){o=1;break}a=a.parentNode}return 1==o||void 0!==e.style&&("hidden"==e.style.visibility||"none"==e.style.display)},Cyberoam.getRadioValue=function(e){for(var t=null,o=0;o<e.length;o++)e[o].checked&&0==e[o].disabled&&(t=e[o].value);return t},Cyberoam.isSkipVisibilityCheck=function(e){return void 0!==e&&void 0!==e.skipVisibilityCheck&&e.skipVisibilityCheck},Cyberoam.validateObjects=function(e,t,o,a,n){void 0!==e.opcodeParam&&void 0!==e.requestParamKey?e.requestParamKey.push(e.opcodeParam):void 0===e.opcodeParam&&void 0!==e.requestParamKey&&e.requestParamKey.push(e.key);var i="",r=!0;switch(e.objType){case"password":case"textbox":case"textarea":if(void 0!==e.object.validatePassword)if(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)){if(!e.object.validatePassword())return!1;i=e.object.getPassword()}else r=!1;else if(void 0===e.object.length){if(0==e.object.disabled)if(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)){if(e.config&&1==e.config.notnull)if(!Cyberoam.validateNotNull(e))return!1;if(e.config&&e.config.maxlength)if(!Cyberoam.validateMaxLength(e))return!1;if(e.config&&e.config.type&&""!=e.object.value&&null!=e.object.value)if(!Cyberoam.validateType(e))return!1;i="password"==e.objType?e.object.value:Cyberoam.trim(e.object.value)}else r=!1}else{for(var c=[],l=0;l<e.object.length;l++)if(0==e.object[l].disabled){if(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object[l],e.objType)){if(e.config&&1==e.config.notnull)if(!Cyberoam.validateNotNull(e,l))return!1;if(e.config&&e.config.maxlength)if(!Cyberoam.validateMaxLength(e,l))return!1;if(e.config&&e.config.type&&""!=e.object.value&&null!=e.object[l].value)if(!Cyberoam.validateType(e,l))return!1;""==e.object[l].value?c.push(""):c.push(e.object[l].value)}}else r=!1;for(l=0;l<e.object.length;l++)1==e.object[l].disabled&&(r=!0);i=c}if("textbox"==e.objType)if("string"==typeof i)i=i.replace(/\s+/g," ");else for(var l in i)i[l]=i[l].replace(/\s+/g," ");break;case"address":if(!e.object.validate())return!1;i=JSON.stringify(e.object.get());break;case"radio":i=Cyberoam.getRadioValue(e.object);break;case"selectbox":if(e.object.multiple)if(0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType))r=!1;else{var s=new Array;for(l=0;l<e.object.options.length;l++)e.object.options[l].selected&&(e.config&&e.config.returnKey?s.push(e.object.options[l].value):s.push(e.object.options[l].text));i=s}else if(void 0===e.object.length||e.object[0]&&"option"==e.object[0].tagName.toLowerCase())0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType)?r=!1:i=e.config&&e.config.returnKey?e.object.value:e.object.options[e.object.selectedIndex].text,e.arrayEnable&&(i=new Array(i));else{i=[];for(l=0;l<e.object.length;l++)0!=e.object[l].disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object[l],e.objType)?r=!1:e.config&&e.config.returnKey?i.push(e.object[l].value):i.push(e.object[l].options[e.object[l].selectedIndex].text)}break;case"checkbox":e.config[0]&&(i=e.object.getValueByName(e.config[0].name));break;case"CRController":case"SingleSelector":case"MultiSelector":e.object.isDisabled()||(i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.config&&e.config.returnParam?e.object.getSelectedValuesByParam(e.config.returnParam):e.object.getSelectedLabels());break;case"combobox":i=e.config&&e.config.returnKey?e.object.getSelectedKey():e.object.getSelectedLabel();break;case"selectionBox":case"multilist":i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.object.getSelectedLabels();break;case"MultiInputList":i=e.config&&e.config.returnKey?e.object.getRecordKey():e.object.getRecordLabel();break;case"hidden":void 0!==e.value?i=e.value:e.object&&void 0!==e.object.value&&(i=e.object.value);break;case"toggle":e.config&&(i=e.object.getValueById(e.config.id));break;case"radiocomponent":e.config&&(i=e.object.getValue())}if("button"==e.objType)return t;if("div"==e.objType)return t;if(e.config&&null!=e.config.validator&&r&&!e.config.validator(e,i,o,a,n))return!1;if("checkbox"==e.objType&&null!=e.validator&&!e.validator(e,i,o,a,n))return!1;var b=!1;if("checkbox"==e.objType||"MultiInputList"==e.objType?e.getOpcodeValue&&(i=e.getOpcodeValue(e,i,o,a,n),b=!0):e.config&&e.config.getOpcodeValue&&(b=!0,void 0!==(i=e.config.getOpcodeValue(e,i,o,a,n))&&"string"==typeof i&&(i=Cyberoam.trim(i),"textbox"==e.objType&&(i=i.replace(/\s+/g," ")))),("checkbox"==e.objType||"MultiInputList"==e.objType)&&""==i)return t;if("name"==e.type&&Cyberoam.getObjectID()>0&&(i&&(i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'")),t.__newname=i,i=e.oldValue),"ipfamily"==e.objType&&(null!=e.requestParamKey?(e.requestParamKey.push("ipfamily"),t=Cyberoam.setSubEntity(e,t,e.object.getProtocol())):t.ipfamily=e.object.getProtocol()),null!=i&&""!=i){if(void 0===e.config||void 0!==e.config&&(void 0===e.config.escap||1==e.config.escap))if(e.arrayEnable)for(var y=0;y<i.length;y++)"string"==typeof i[y]&&(i[y]=Cyberoam.replaceAll(i[y],"\\","\\\\"),i[y]=Cyberoam.replaceAll(i[y],"'","\\'"));else i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'");else void 0!==e.arrayEnable&&0!=e.arrayEnable||(i=i.toString());if("CRController"!=e.objType&&"SingleSelector"!=e.objType&&"MultiSelector"!=e.objType||(null!=e.requestParamKey?(e.requestParamKey.push(null!=e.opcodeParam?e.opcodeParam+"_cat":e.key+"_cat"),t=Cyberoam.setSubEntity(e,t,e.object.getSelectedCategory())):e.opcodeParam?t[e.opcodeParam+"_cat"]=e.object.getSelectedCategory():t[e.key+"_cat"]=e.object.getSelectedCategory()),0==r&&!b)return t;null!=e.requestParamKey?t=Cyberoam.setSubEntity(e,t,i):e.opcodeParam?t[e.opcodeParam]=i:t[e.key]=i}return t},Cyberoam.setSubEntity=function(e,t,o){for(var a=0;a<e.requestParamKey.length;a++)for(var n=e.requestParamKey[a].split("."),i=t,r=0;r<n.length;r++)void 0===i[n[r]]&&n.length>1&&r+1!=n.length?(i[n[r]]={},i=i[n[r]]):n.length>1&&r+1!=n.length&&(i=i[n[r]]),r+1==n.length&&(i[n[r]]=o);return t},Cyberoam.preGeneratedObject=function(e,t){var o={},a={};for(var n in e){if(e.hasOwnProperty(n))e[n].key=n,a=Cyberoam.getObjectsValue(e[n],a,t,e,o)}return a},Cyberoam.getObjectsValue=function(e,t,o,a,n){void 0!==e.opcodeParam&&void 0!==e.requestParamKey?e.requestParamKey.push(e.opcodeParam):void 0===e.opcodeParam&&void 0!==e.requestParamKey&&e.requestParamKey.push(e.key);var i="",r=!0;switch(e.objType){case"password":case"textbox":case"textarea":if(void 0!==e.object.validatePassword)Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)?i=e.object.getPassword():r=!1;else if(void 0===e.object.length)0==e.object.disabled&&(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)?i="password"==e.objType?e.object.value:Cyberoam.trim(e.object.value):r=!1);else{for(var c=[],l=0;l<e.object.length;l++)0==e.object[l].disabled?(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object[l],e.objType))&&(""==e.object[l].value?c.push(""):c.push(e.object[l].value)):r=!1;for(l=0;l<e.object.length;l++)1==e.object[l].disabled&&(r=!0);i=c}if("textbox"==e.objType)if("string"==typeof i)i=i.replace(/\s+/g," ");else for(var l in i)i[l]=i[l].replace(/\s+/g," ");break;case"address":i=JSON.stringify(e.object.get());break;case"radio":i=Cyberoam.getRadioValue(e.object);break;case"selectbox":if(e.object.multiple)if(0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType))r=!1;else{var s=new Array;for(l=0;l<e.object.options.length;l++)e.object.options[l].selected&&(e.config&&e.config.returnKey?s.push(e.object.options[l].value):s.push(e.object.options[l].text));i=s}else if(void 0===e.object.length||e.object[0]&&"option"==e.object[0].tagName.toLowerCase())0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType)?r=!1:i=e.config&&e.config.returnKey?e.object.value:e.object.options[e.object.selectedIndex].text,e.arrayEnable&&(i=new Array(i));else{i=[];for(l=0;l<e.object.length;l++)0!=e.object[l].disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object[l],e.objType)?r=!1:e.config&&e.config.returnKey?i.push(e.object[l].value):i.push(e.object[l].options[e.object[l].selectedIndex].text)}break;case"checkbox":e.config[0]&&(i=e.object.getValueByName(e.config[0].name));break;case"CRController":case"SingleSelector":case"MultiSelector":e.object.isDisabled()||(i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.config&&e.config.returnParam?e.object.getSelectedValuesByParam(e.config.returnParam):e.object.getSelectedLabels());break;case"combobox":i=e.config&&e.config.returnKey?e.object.getSelectedKey():e.object.getSelectedLabel();break;case"selectionBox":case"multilist":i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.object.getSelectedLabels();break;case"MultiInputList":i=e.config&&e.config.returnKey?e.object.getRecordKey():e.object.getRecordLabel();break;case"hidden":void 0!==e.value?i=e.value:e.object&&void 0!==e.object.value&&(i=e.object.value);break;case"toggle":e.config&&(i=e.object.getValueById(e.config.id));break;case"radiocomponent":e.config&&(i=e.object.getValue())}if("button"==e.objType)return t;if("div"==e.objType)return t;var b=!1;if("checkbox"==e.objType||"MultiInputList"==e.objType?e.getOpcodeValue&&(i=e.getOpcodeValue(e,i,o,a,n),b=!0):e.config&&e.config.getOpcodeValue&&(b=!0,void 0!==(i=e.config.getOpcodeValue(e,i,o,a,n))&&"string"==typeof i&&(i=Cyberoam.trim(i),"textbox"==e.objType&&(i=i.replace(/\s+/g," ")))),("checkbox"==e.objType||"MultiInputList"==e.objType)&&""==i)return t;if("name"==e.type&&Cyberoam.getObjectID()>0&&(i&&(i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'")),t.__newname=i,i=e.oldValue),"ipfamily"==e.objType&&(null!=e.requestParamKey?(e.requestParamKey.push("ipfamily"),t=Cyberoam.setSubEntity(e,t,e.object.getProtocol())):t.ipfamily=e.object.getProtocol()),null!=i&&""!=i){if(void 0===e.config||void 0!==e.config&&(void 0===e.config.escap||1==e.config.escap))if(e.arrayEnable)for(var y=0;y<i.length;y++)"string"==typeof i[y]&&(i[y]=Cyberoam.replaceAll(i[y],"\\","\\\\"),i[y]=Cyberoam.replaceAll(i[y],"'","\\'"));else i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'");else void 0!==e.arrayEnable&&0!=e.arrayEnable||(i=i.toString());if("CRController"!=e.objType&&"SingleSelector"!=e.objType&&"MultiSelector"!=e.objType||(null!=e.requestParamKey?(e.requestParamKey.push(null!=e.opcodeParam?e.opcodeParam+"_cat":e.key+"_cat"),t=Cyberoam.setSubEntity(e,t,e.object.getSelectedCategory())):e.opcodeParam?t[e.opcodeParam+"_cat"]=e.object.getSelectedCategory():t[e.key+"_cat"]=e.object.getSelectedCategory()),0==r&&!b)return t;null!=e.requestParamKey?t=Cyberoam.setSubEntity(e,t,i):e.opcodeParam?t[e.opcodeParam]=i:t[e.key]=i}return t},Cyberoam.validateAndGenerateObject=function(e,t,o,a){for(var n in void 0!==a&&null!=a||(a={}),e)if(e.hasOwnProperty(n)&&(e[n].key=n,null==t.form||"undefined"!=t.form&&e[n].form==t.form)){var i=Cyberoam.validateObjects(e[n],a,o,e,t);if(!i)return!1;a=i}return a},Cyberoam.generateRequest=function(e,t,o){var a={};
2086if(null==t.form||"undefined"!=t.form)if("ajax"==t.config.request){if(t.config.beforeOperation&&t.config.beforeOperation(e),null!=Cyberoam.getRequestObject()&&(a=Cyberoam.getRequestObject()),null!=Cyberoam.getConfirm()&&(t.config.confirm=Cyberoam.getConfirm()),!(a=Cyberoam.validateAndGenerateObject(e,t,o,a)))return;if(t.config.validator)if(!t.config.validator(t,o,e))return;if(t.config.schedule)return Cyberoam.showPopup({URL:Cyberoam.getURL(Cyberoam.scheduleURL,"operation",t.config.mode),width:"420",height:"230"}),Cyberoam.setRequestObject(a),t.config.confirm&&Cyberoam.setConfirm(t.config.confirm),!0;if(null!=Cyberoam.getClick())return t.config.click=Cyberoam.getClick(),t.config.confirm?Cyberoam.messageBox({message:t.config.confirm,confirm:!0,afterOk:function(){t.config.click(Cyberoam.getParentEntityObject(),a)}}):t.config.click(Cyberoam.getParentEntityObject(),a),!0;var n=function(){var o="";o=t.config.event?t.config.event:0==Cyberoam.getObjectID()?"ADD":"UPDATE";let n={};if(t.config.header&&"object"==typeof t.config.header&&!Array.isArray(t.config.header)&&(n=t.config.header),t.config.fileUpload){var r={};for(var c in e)"file"==e[c].objType&&(r[c]=e[c].object.id);Cyberoam.addOverLay("mainframecontent");var l={mode:t.config.mode,json:a,__RequestType:"ajax"};""!=o&&t.config.entity&&(l={Event:o,Entity:t.config.entity,mode:t.config.mode,json:a,__RequestType:"ajax"}),l.csrf=Cyberoam.c$rFt0k3n,$.ajaxFileUpload({url:Cyberoam.contextPath+"/"+Cyberoam.getController(),secureuri:!1,fileElementsId:r,dataType:t.config.dataType?t.config.dataType:"text",data:l,success:function(t,o){for(var a in r)r.hasOwnProperty(a)&&(e[a].object=document.getElementById(r[a]),e[a].object.id=r[a]);i(t)},error:function(e,t,o){Cyberoam.removeOverLay(),Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0})},timeout:18e5})}else if(t.config.restApi){Cyberoam.addOverLay("mainframecontent");let e=t.config.data||null,o=t.config.url,i=t.config.method||t.config.httpMethod;"DELETE"===i&&(o=`${t.config.url}/${a.select[0]}`,e=null);let r="application/json",c=!0;!0===t.config.upload&&(r=!1,c=!1),$.ajax({method:i,url:o,data:"function"==typeof e?e():e,dataType:"json",contentType:r,timeout:18e5,processData:c,headers:n,cached:!1}).then((function(e,o,a){Cyberoam.removeOverLay(),e&&(sf.core.postResponse.showNotification(e,a.status,t.config),sf.core.postResponse.executeCallbacks(e,a.status,t.config))}),(function(e,o,a){if(Cyberoam.removeOverLay(),401!==e.status)if(0!==e.status){let o=JSON.parse(e.responseText);sf.core.postResponse.showNotification(o,e.status,t.config),sf.core.postResponse.executeCallbacks(o,e.status,t.config)}else"abort"!==e.statusText&&Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0});else location.href=Cyberoam.contextPath+"/webpages/login.jsp"}))}else{Cyberoam.addOverLay("mainframecontent");l="mode="+t.config.mode+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(a))+"&__RequestType=ajax";""!=o&&t.config.entity&&(l="Event="+o+"&Entity="+t.config.entity+"&mode="+t.config.mode+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(a))+"&__RequestType=ajax"),$.ajax({type:"POST",url:Cyberoam.contextPath+"/"+Cyberoam.getController(),data:l,dataType:t.config.dataType?t.config.dataType:"text",timeout:18e5,headers:n}).then((function(e,t,o){i(e)}),(function(e,t,o){"abort"!==o&&(Cyberoam.removeOverLay(),Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0}))}))}},i=function(e){if(Cyberoam.removeOverLay(),e){var o;if((o=t.config.restApi?e:YAHOO.lang.JSON.parse(e)).status==CSCConstants.SESSION_EXPIRED)return void(location.href=Cyberoam.contextPath+"/webpages/login.jsp");if(o.status==CSCConstants.ACCESSDENIED)return void Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(Language.AccessDenied),o.status);if(void 0!==o.entity&&void 0!==o.entity.map)if(void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event){if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status]){var a=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].message;Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(a),o.entity.map),o.status,o.content,o.contentType)}}else Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(o.message),o.entity.map),o.status,o.content,o.contentType);else if(void 0!==o.status)if(void 0!==o.entity&&void 0!==o.entity.map&&void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event){if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status]){a=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].message;Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(a),o.status,o.content,o.contentType)}}else Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),o.status,o.content,o.contentType);else Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),null,o.content,o.contentType);
2086if(Cyberoam.prevResponseStatus=o.status,598!=o.status){if(201==o.status&&"Message.CertManageUpdatedSuccessFullyReload"==o.message&&setTimeout((function(){location.reload()}),3e3),void 0!==o.entity&&void 0!==o.entity.map)for(var n in o.entity.map)if("object"!=typeof o.entity.map[n]){var i=o.entity.map[n].toString();i=i.replace(/\\\\/g,"\\"),o.entity.map[n]=i.replace(/\\\'/g,"'")}var r;if(void 0!==o.entity&&void 0!==o.entity.map&&void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event)if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status])(r=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].url)&&(o.redirectionURL=r);if(t.config.response&&t.config.response(o),void 0!==o.entity&&void 0!==o.entity.map&&void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event){if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status])(r=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].url)&&o.redirectionURL&&""!=o.redirectionURL&&Cyberoam.setMainFrame(r,1)}else o.redirectionURL&&""!=o.redirectionURL&&Cyberoam.setMainFrame(o.redirectionURL,1)}else{if(Cyberoam.pageLayer>0&&null==Cyberoam.pageObject[Cyberoam.pageLayer].close)return void Cyberoam.hidePopup();var c=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject;for(var n in c)if(0==Cyberoam.pageLayer&&"button"==c[n].objType&&c[n].config&&c[n].config.title==Cyberoam.getTranslatedMSG(Language.Cancel))return void c[n].object.click()}}else t.config.response&&t.config.response()};if(t.config.confirm){var r="",c=function(){setTimeout((function(){n()}),10)},l=null;"string"==typeof t.config.confirm?r=t.config.confirm:"object"==typeof t.config.confirm&&(r=t.config.confirm.message,t.config.confirm.afterCancel&&(l=t.config.confirm.afterCancel),t.config.confirm.afterOk&&(c=t.config.confirm.afterOk)),Cyberoam.messageBox({message:r,confirm:!0,afterOk:c,afterCancel:l})}else if(t.config.warning){var s={};s.message=t.config.warning,s.warning=!0,s.afterOk=function(){setTimeout((function(){n()}),10)},t.config.headerMessage&&(s.headerMessage=t.config.headerMessage),t.config.okLabel&&(s.okLabel=t.config.okLabel),Cyberoam.messageBox(s)}else n()}else{if(void 0!==t.config.validation&&1==t.config.validation){if(!(a=Cyberoam.validateAndGenerateObject(e,t,null,a)))return;if(t.config.validator)if(!t.config.validator(t,o,e))return;if(t.config.schedule)return Cyberoam.showPopup({URL:Cyberoam.getURL(Cyberoam.scheduleURL,"operation",Cyberoam.getOperation()),width:"420",height:"230"}),Cyberoam.setParentEntityObject(e),Cyberoam.setClick(t.config.click),t.config.confirm&&Cyberoam.setConfirm(t.config.confirm),!0}else if(t.config.schedule)return Cyberoam.showPopup({URL:Cyberoam.getURL(Cyberoam.scheduleURL,"operation",Cyberoam.getOperation()),width:"420",height:"230"}),Cyberoam.setParentEntityObject(e),Cyberoam.setClick(t.config.click),t.config.confirm&&Cyberoam.setConfirm(t.config.confirm),!0;if(t.config.confirm)Cyberoam.messageBox({message:t.config.confirm,confirm:!0,afterOk:function(){setTimeout((function(){t.config.click(e)}),10)}});else if(t.config.confirmDiscard){t.config.beforeOperation&&t.config.beforeOperation(e);var b=Cyberoam.preGeneratedObject(Cyberoam.pageObject[Cyberoam.pageLayer].entityObject);Cyberoam.compareJSONObject(Cyberoam.pageObject[Cyberoam.pageLayer].preDataObject,b)?t.config.click(e):Cyberoam.messageBox({message:Message.ChangesDiscardConfirm,confirm:!0,afterOk:function(){setTimeout((function(){t.config.click(e)}),10)}})}else t.config.click(e)}},Cyberoam.compareJSONObject=function(e,t){var o=0,a=0;for(var n in e)e.hasOwnProperty(n)&&o++;for(var n in t)t.hasOwnProperty(n)&&a++;if(o!=a)return!1;for(var n in e){if(void 0===t[n])return!1;if("object"==typeof e[n])if(void 0!==e[n].length){if(e[n].length!=t[n].length)return!1;if(!Cyberoam.compareArray(e[n],t[n]))return!1}else{if(!Cyberoam.compareJSONObject(e[n],t[n]))return!1}else if(e[n]!=t[n])return!1}return!0},Cyberoam.compareArray=function(e,t){return 0===$(e).not(t).length},CyberoamForm.prototype.addField=function(e){return this.fields=this.fields.concat(e),this},CyberoamForm.prototype.addControl=CyberoamForm.prototype.addField,CyberoamForm.prototype.enableForm=function(){var e=this.fields.filter((function(e){return!!e&&"object"==typeof e})).map((function(e){return e.object=document.getElementById(e.domId),e})).reduce((function(e,t){return e[t.key]=t,e}),{});return Cyberoam.initEntityObject(Cyberoam.getDataObject,e),this},CyberoamTableHeader.instanceOf=function(e){return new CyberoamTableHeader(e)},CyberoamTableHeader.prototype.headers=function(e){return this.headers=e.slice(),this},CyberoamTableHeader.prototype.render=function(e){return ReactDOM.render(this.component({columns:this.headers}),document.getElementById(e)),this},CyberoamTable.instanceOf=function(e){return new CyberoamTable(e)},CyberoamTable.prototype.columns=function(e){return this.columns=e.slice(),this},CyberoamTable.prototype.config=function(e){return this.config=$.extend({},e),this},CyberoamTable.prototype.invoke=function(e){return e.apply(null,[this].concat([].slice.call(arguments))),this},CyberoamTable.prototype.setup=function(){return this},CyberoamTable.prototype.source=function(e){return this.source=e(),this},CyberoamTable.prototype.methods=function(e){return this.methods=$.extend({}
2086,e),Object.keys(this.methods).forEach(function(e){this.methods[e]=this.methods[e].bind(null,this)}.bind(this)),this},CyberoamTable.prototype.store=function(e){return this.store=e,this},CyberoamTable.prototype.render=function(e){return this.table=new this.dt(e,this.columns.filter((function(e){return!e.hidden})),this.source,this.config),this},CyberoamTable.prototype.subscribe=function(e,t,o){return o?t(this,e):this.table.subscribe(e,t.bind(null,this)),this},CyberoamTable.prototype.reload=function(){return this.table.load({request:this.config.generateRequest()}),this};Cyberoam.CheckBox=function(e){if(this.checkBoxItems=[],e)for(var t=0;t<e.length;t++){var c={id:"",name:"",label:"",value:"",click:null,width:null,checked:!1,disabled:!1,css:""};for(var o in e[t]){if(null==c[o]&&null!=c[o]){Cyberoam.messageBox({message:"Wrong chkBox property "+o});break}c[o]=e[t][o]}this.checkBoxItems.push(c)}};var clickObject=function(e,t){t.click&&t.click(e)};Cyberoam.CheckBox.prototype.generateCheckBox=function(e){if(document.getElementById(e.id)&&""==Cyberoam.trim(document.getElementById(e.id).innerHTML)&&"div"==document.getElementById(e.id).tagName.toLowerCase()){var t=document.getElementById(e.id);t.style.cssFloat="left",t.style.marginRight="10px",e.width&&(t.style.width=e.width),Cyberoam.createElement({tag:"input",type:"checkbox",name:e.name,id:e.id,style:"visibility:hidden;"},t);var c=Cyberoam.createElement({tag:"label"},t);c.setAttribute("for",e.id),c.innerHTML='<span class="fa-stack"><i class="fa fa-square-o fa-2x"></i><i class="fa fa-check-square fa-2x chosen"></i></span>',c.appendChild(document.createTextNode(Cyberoam.getTranslatedMSG(e.label)));var o=document.getElementById(e.id).getElementsByTagName("input")[0];t.removeAttribute("id"),t.removeAttribute("class"),t.setAttribute("class","chk-wrapper"),o.value=e.value,e.checked&&(o.checked=!0),e.disabled&&(e.checked?(o.checked=!0,o.disabled=!0):o.disabled=!0,o.disabled=!0),o.onclick=function(){clickObject(o,e)}}},Cyberoam.CheckBox.prototype.create=function(){this.checkBoxItems;for(var e=0;e<this.checkBoxItems.length;e++)this.generateCheckBox(this.checkBoxItems[e])},Cyberoam.CheckBox.prototype.insert=function(e){this.checkBoxItems.push(e),this.generateCheckBox(e)},Cyberoam.CheckBox.prototype.getValueByName=function(e){for(var t=this.checkBoxItems,c=[],o=0;o<t.length;o++)if(t[o].name==e&&document.getElementById(t[o].id)){var d=document.getElementById(t[o].id);"checkbox"==d.type&&1==d.checked&&c.push(d.value)}return c},Cyberoam.CheckBox.prototype.getValueById=function(e){var t=document.getElementById(e);return"checkbox"==t.type&&1==t.checked&&(""==t.value||t.value)},Cyberoam.CheckBox.prototype.getSelectedValue=function(){for(var e=this.checkBoxItems,t=[],c=0;c<e.length;c++)this.isSelected(e[c].id)&&void 0!==e[c].value&&t.push(e[c].value);return t},Cyberoam.CheckBox.prototype.selectByName=function(e,t){for(var c=this.checkBoxItems,o=0;o<this.checkBoxItems.length;o++)if(this.checkBoxItems[o].name==e){var d=document.getElementById(c[o].id);d&&(t?d.checked||d.disabled||(d.checked=t):d.disabled||(d.checked=t))}},Cyberoam.CheckBox.prototype.selectAll=function(e){for(var t=this.checkBoxItems,c=0;c<this.checkBoxItems.length;c++){var o=document.getElementById(t[c].id);o&&(e?o.checked||o.disabled||(o.checked=e):o.disabled||(o.checked=e))}},Cyberoam.CheckBox.prototype.selectById=function(e,t){var c=document.getElementById(e);c&&(t?c.checked||c.disabled||(c.checked=t):c.disabled||(c.checked=t))},Cyberoam.CheckBox.prototype.disableByName=function(e,t){for(var c=this.checkBoxItems,o=0;o<this.checkBoxItems.length;o++)if(this.checkBoxItems[o].name==e){var d=document.getElementById(c[o].id);d&&(d.disabled=t,t?d.disabled||d.checked||(d.checked=t):d.checked?d.checked=!0:d.checked=!1)}},Cyberoam.CheckBox.prototype.disableById=function(e,t){var c=document.getElementById(e);c&&(c.disabled=t,t?c.disabled||(c.checked||(c.checked=t),c.disabled=t):c.checked?c.checked=!0:c.checked=!1)},Cyberoam.CheckBox.prototype.isAnySelected=function(e){for(var t=this.checkBoxItems,c=0;c<t.length;c++)if(t[c].name==e&&document.getElementById(t[c].id)){var o=document.getElementById(t[c].id);if("checkbox"==o.type&&1==o.checked)return!0}return!1},Cyberoam.CheckBox.prototype.isSelected=function(e){if(!document.getElementById(e))return!1;var t=document.getElementById(e);return"checkbox"!=t.type||0!=t.checked},Cyberoam.CheckBox.prototype.isDisabled=function(e){if(!document.getElementById(e))return!1;var t=document.getElementById(e);return"checkbox"!=t.type||0!=t.disabled};Cyberoam.CRController=function(e){for(var t in this.config={id:"",category:[],returnKey:!1,label:"",style:"",height:350,width:200,disabled:!1,validator:null,getOpcodeValue:null,selectedCategory:"",selectedItems:[],search:!0,currentCategoryIndex:0,currentCategory:"",currentItems:[],currentSelectedItem:{},selectAll:!1,selectAny:!1,returnParam:""},categotyDefault={name:"",label:"",allSelect:!1,anySelect:!1,addURL:"",addURLTitle:"",image:!1,afterOkButton:null,afterCancelButton:null,radioBox:!1,checkBox:!0,paginator:!1,recordPerPage:100,noOfCols:2,width:360,height:280,popupWidth:600,popupHeight:400,data:[],currentPage:1},this.searchInterval=null,this.lastSearch="",e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});if("category"==t)for(var n=0;n<e.category.length;n++){var o={};for(var i in categotyDefault)e.category[n][i]?o[i]=e.category[n][i]:o[i]=categotyDefault[i];this.config[t].push(o)}else this.config[t]=e[t]}},Cyberoam.CRController.prototype.create=function(){if(""!=this.id){var e=this,t=this.config,n=jQuery("#"+t.id);n.attr("class","CRController"),n.width(t.width),""!=this.config.style&&n.attr("style",this.config.style);
2086jQuery("<span style='float:left;width:93%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;'>"+Cyberoam.getTranslatedMSG(this.config.label)+"</span>").on("click",(function(){""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show(),document.getElementById("CRSearchText"+t.id).focus()})).appendTo(n),jQuery('<div class="button"></div>').on("click",(function(){""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show(),document.getElementById("CRSearchText"+t.id).focus()})).appendTo(n);var o=jQuery('<a href="javascript:void(0)" style="text-decoration:none;position:relative;height:18px;width:8px">&nbsp;</a>').appendTo(n);o.on("keyup",(function(n){var o=new Cyberoam.Event(n);0!=o.getKeyCode()&&32!=o.getKeyCode()||(""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show()),document.getElementById("CRSearchText"+t.id).focus()})),o.on("click",(function(n){var o=new Cyberoam.Event(n);0!=o.getKeyCode()&&32!=o.getKeyCode()||(""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show()),document.getElementById("CRSearchText"+t.id).focus()}));var i=jQuery("<div id=CRbody"+t.id+" layer='"+Cyberoam.pageLayer+"' class=\"CRController_body\" style='display:none'></div>").appendTo(document.body);if(t.category.length>1){for(var c=jQuery('<table width="90%" height="28px" align="center" cellspacing=0 cellpadding=0></table>').appendTo(i),r=jQuery("<tr></tr>").appendTo(c),l=0;l<t.category.length;l++){var s=jQuery("<td align=center>"+t.category[l].label+"</td>").appendTo(r);jQuery('<input type="radio" name="catrdo'+t.id+"\" value='"+t.category[l].name+"' id=\"category"+t.id+t.category[l].name+'"/>').on("click",(function(){this.value!=e.config.selectedCategory?e.setRecord(this.value):e.setCategory(this.value,e.config.selectedItems),e.show()})).prependTo(s),void 0!==t.selectedCategory&&t.selectedCategory==t.category[l].name&&(t.currentCategoryIndex=l)}void 0===t.selectedCategory&&(t.selectedCategory=t.category[0].name)}else t.selectedCategory=t.category[0].name,t.currentCategoryIndex=0;if(t.search){var d=jQuery("<div style='width:100%;background:#FFF;' align='center'></div>").appendTo(i);jQuery('<input type="text" class="CRsearchtext" id=\'CRSearchText'+this.config.id+"'/>").on("keyup",(function(){e.search(this)})).appendTo(d)}jQuery('<div id="CRControllerData'+t.id+"\" style='overflow:auto;'><div style='height:100px'></div></div>").appendTo(i);var a=jQuery('<div id="CRControllerButton'+t.id+'" align="center"></div>').appendTo(i);jQuery('<input type="button" class="inputbutton" value="<<" />').on("click",(function(){e.firstPage()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value="<" />').on("click",(function(){e.prevPage()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value="'+Language.OkCC+'" />').on("click",(function(){e.CRControllerOk()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value="'+Language.Cancel+'" />').on("click",(function(){e.CRControllerCancel()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value=">" />').on("click",(function(){e.nextPage()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value=">>" />').on("click",(function(){e.lastPage()})).appendTo(a),null==t.selectedItems&&(t.selectedItems=[]),t.selectedItems==[]||""==t.selectedItems?this.setRecord(t.category[0].name):("object"==typeof t.selectedItems||(t.selectedItems=new Array(t.selectedItems+"")),this.setCategory(t.selectedCategory,t.selectedItems))}},Cyberoam.CRController.prototype.disabled=function(e){this.config.disabled=e,1==e?jQuery("#"+this.config.id).attr("class","CRController_disabled"):jQuery("#"+this.config.id).attr("class","CRController")},Cyberoam.CRController.prototype.isDisabled=function(){return this.config.disabled},Cyberoam.CRController.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.config.selectedItems.length;t++){if("Any"==this.config.selectedItems[t])return"Any";void 0!==this.config.currentSelectedItem[this.config.selectedItems[t]]&&e.push(this.config.currentSelectedItem[this.config.selectedItems[t]].label)}return e},Cyberoam.CRController.prototype.getSelectedValuesByParam=function(e){for(var t=[],n=0;n<this.config.selectedItems.length;n++){if("Any"==this.config.selectedItems[n])return"Any";void 0!==this.config.currentItems[this.config.selectedItems[n]]&&t.push(this.config.currentItems[this.config.selectedItems[n]][e])}return t},Cyberoam.CRController.prototype.getSelectedKeys=function(){for(var e=[],t=0;t<this.config.selectedItems.length;t++){if("Any"==this.config.selectedItems[t])return"Any";e.push(this.config.selectedItems[t])}return e},Cyberoam.CRController.prototype.getSelectedCategory=function(){return this.config.selectedCategory},Cyberoam.CRController.prototype.setCategory=function(e,t){var n=this.config;n.selectedItems=t,n.selectedCategory=e;for(var o=0;o<n.category.length;o++)if(n.category[o].name==e){n.currentCategoryIndex=o;break}var i=n.category[n.currentCategoryIndex].data;for(var c in this.config.currentItems={},this.config.currentItems.length=0,i)this.config.currentItems[c]=Cyberoam.clone(i[c]),this.config.currentItems[c].selected=!1,this.config.currentItems.length++;var r=[];if(0==n.category[n.currentCategoryIndex].radiobox&&i.length-1==n.selectedItems.length&&(n.selectAll=!0,r.push("All "+n.category[n.currentCategoryIndex].label)),!n.selectAll)for(o=0;o<n.selectedItems.length;o++)"Any"!=n.selectedItems[o]?(void 0!==this.config.currentItems[n.selectedItems[o]]&&(this.config.currentItems[n.selectedItems[o]].selected=!0),void 0!==i[n.selectedItems[o]]&&(void 0===i[n.selectedItems[o]].label?r.push(n.selectedItems[o]):r.push(i[n.selectedItems[o]].label))):r.push("Any");(this.config.selectedItems[0]&&"Any"==this.config.selectedItems[0]&&((r=[]).push("Any "+n.category[n.currentCategoryIndex].label),this.config.selectAny=!0),1==n.category[n.currentCategoryIndex].radioBox
2086)&&jQuery("#CRControllerData"+this.config.id).empty();this.setRecord(n.selectedCategory,!1),n.selectAll&&(r=[]).push("All "+n.category[n.currentCategoryIndex].label),0==r.length&&r.push(this.config.label),r=-1!=r.toString().indexOf("Language.")||-1!=r.toString().indexOf("Message.")?selectHTMLTitle=Cyberoam.getTranslatedMSG(r.toString()):selectHTMLTitle=r.toString(),document.getElementById(this.config.id).childNodes[0].innerHTML="",document.getElementById(this.config.id).childNodes[0].appendChild(document.createTextNode(selectHTMLTitle)),document.getElementById(this.config.id).childNodes[0].title=r.toString()},Cyberoam.CRController.prototype.afterRecordSet=function(e){for(var t=this.config,n=0;n<t.category.length;n++)if(t.category[n].name==e){t.currentCategoryIndex=n;break}t.category[t.currentCategoryIndex].data;null!=t.category[t.currentCategoryIndex].afterOkButton&&t.category[t.currentCategoryIndex].afterOkButton(this)},Cyberoam.CRController.prototype.CRControllerOk=function(){var e=this.config.category[this.config.currentCategoryIndex];this.config.selectedCategory=this.config.currentCategory,this.config.selectedItems=[];var t={},n=[];if(document.getElementById("crany"+this.config.id)&&document.getElementById("crany"+this.config.id).checked)this.config.selectedItems=["Any"],n.push("Any "+e.label),this.config.selectAny=!0;else{var o=[];o=e.radioBox?document.getElementsByName("radio"+this.config.id):document.getElementsByName("chk"+this.config.id);for(var i=0;i<o.length;i++)o[i].checked?(n.push(o[i].getAttribute("label")),this.config.selectedItems.push(o[i].getAttribute("key")),t[o[i].getAttribute("key")]={label:o[i].getAttribute("label")}):this.config.currentItems[o[i].getAttribute("key")].selected=!1;for(var i in this.config.currentSelectedItem)void 0===t[i]&&(n.push(this.config.currentSelectedItem[i].label),this.config.selectedItems.push(i));this.config.selectAny=!1}0==e.radioBox&&document.getElementById("crSelecteAll"+this.config.id)&&document.getElementById("crSelecteAll"+this.config.id).checked&&(n=[]).push("All "+e.label),0==n.length&&n.push(this.config.label),n=-1!=n.toString().indexOf("Language.")||-1!=n.toString().indexOf("Message.")?selectHTMLTitle=Cyberoam.getTranslatedMSG(n.toString()):selectHTMLTitle=n.toString(),document.getElementById(this.config.id).childNodes[0].innerHTML="",document.getElementById(this.config.id).childNodes[0].appendChild(document.createTextNode(selectHTMLTitle)),document.getElementById(this.config.id).childNodes[0].title=n.toString(),document.getElementById(this.config.id).className="CRController",null!=e.afterOkButton&&e.afterOkButton(this),document.getElementById("CRbody"+this.config.id).style.display="none",mainconfig=this.config,setTimeout((function(){document.getElementById(mainconfig.id).childNodes[2].focus()}),1),Cyberoam.currentObject=null},Cyberoam.CRController.prototype.CRControllerCancel=function(){(document.getElementById(this.config.id).childNodes[2].focus(),""!=this.config.selectedCategory)&&(this.config.currentSelectedItem={},jQuery("#CRControllerData"+this.config.id).empty(),this.setCategory(this.config.selectedCategory,this.config.selectedItems),null!=this.config.category[this.config.currentCategoryIndex].afterCancelButton&&this.config.category[this.config.currentCategoryIndex].afterCancelButton(this),document.getElementById(this.config.id).className="CRController");document.getElementById("CRbody"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.CRController.prototype.search=function(e){this.config.currentItems;var t=this;null!=this.searchInterval&&clearTimeout(this.searchInterval),this.searchInterval=setTimeout((function(){t.searchProcess(e.value)}),500)},Cyberoam.CRController.prototype.searchProcess=function(e){var t=this.config.category[this.config.currentCategoryIndex],n=[];if(""==(e=e.trim())){if(this.lastSearch.length==e.length)return;var o=t.data;for(var i in this.config.currentItems={},this.config.currentItems.length=0,o)"length"!=i&&"constructor"!=i&&(this.config.currentItems[i]=Cyberoam.clone(o[i]),this.config.currentItems[i].selected=!1,this.config.currentItems.length++)}else{e=e.toLowerCase(),n=this.lastSearch.length<e.length?this.config.currentItems:t.data,this.config.currentItems={},this.config.currentItems.length=0;var c=new Object;for(var r in n)"length"!=r&&"constructor"!=r&&(-1==n[r].label.toString().indexOf("Language.")&&-1==n[r].label.toString().indexOf("Message.")||(n[r].label=Cyberoam.getTranslatedMSG(n[r].label)),document.getElementById("chk"+this.config.id+"_"+r)&&document.getElementById("chk"+this.config.id+"_"+r).checked&&(this.config.currentSelectedItem[r]=n[r]),0==n[r].label.toLowerCase().indexOf(e)||n[r].searchLabel&&0==n[r].searchLabel.toLowerCase().indexOf(e)&&document.getElementById("chk"+this.config.id+"_"+r)&&document.getElementById("chk"+this.config.id+"_"+r).checked?(this.config.currentItems[r]=n[r],this.config.currentItems.length++):0==n[r].label.toLowerCase().indexOf(e)||n[r].searchLabel&&0==n[r].searchLabel.toLowerCase().indexOf(e)?(this.config.currentItems[r]=n[r],this.config.currentItems[r].selected=!1,this.config.currentItems.length++):(n[r].label.toLowerCase().indexOf(e)>0||n[r].searchLabel&&n[r].searchLabel.toLowerCase().indexOf(e)>0)&&(c[r]=n[r]));for(var l in c)this.config.currentItems[l]=c[l],this.config.currentItems[l].selected=!1,this.config.currentItems.length++}this.lastSearch=e,t.currentPage=1,this.generateData()},Cyberoam.CRController.prototype.firstPage=function(e){var t=this.config.category[this.config.currentCategoryIndex];1!=t.currentPage&&(t.currentPage=1,this.generateData())},Cyberoam.CRController.prototype.prevPage=function(e){var t=this.config.category[this.config.currentCategoryIndex];1!=t.currentPage&&(t.currentPage--,this.generateData())},Cyberoam.CRController.prototype.nextPage=function(e){var t=this.config.category[this.config.currentCategoryIndex],n=parseInt(this.config.currentItems.length/t.recordPerPage)+1;t.currentPage!=n&&t.currentPage++,this.generateData()},Cyberoam.CRController.prototype.lastPage=function(e){var t=this.config.category[this.config.currentCategoryIndex];t.currentPage=parseInt(this.config.currentItems.length/t.recordPerPage)+1,this.generateData()},Cyberoam.CRController.prototype.setRecord=function(e,t){var n=[];this.config.currentSelectedItem={},n=document.getElementsByName("chk"+this.config.id);for(var o=0;o<n.length;o++)n[o].checked=!1;var i=document.getElementById("category"+this.config.id+e);if(document.getElementById("CRSearchText"+this.config.id).value="",i){i.checked=!0;var c=i.parentNode.parentNode;for(o=0;o<c.childNodes.length;o++)if(c.childNodes[o]==i.parentNode){if(jQuery(c.childNodes[o]).attr("class","catselected"),this.config.currentCategoryIndex=o,void 0===t||1==t){var r=this.config.category[this.config.currentCategoryIndex].data;for(var l in this.config.currentItems={},this.config.currentItems.length=0,r)this.config.currentItems[l]=Cyberoam.clone(r[l]),this.config.currentItems[l].selected=!1,this.config.currentItems.length++}}else jQuery(c.childNodes[o]).attr("class","")}else if(void 0===t||1==t){r=this.config.category[0].data;for(var l in this.config.currentItems={},this.config.currentItems.length=0,r)this.config.currentItems[l]=Cyberoam.clone(r[l]),this.config.currentItems[l].selected=!1,this.config.currentItems.length++}this.config.currentCategory=e,this.config.selectAny=!1,this.config.selectAll=!1,this.config.currentCategory==this.config.selectedCategory&&this.config.selectedItems[0]&&"Any"==this.config.selectedItems[0]&&(this.config.selectAny=!0),this.config.currentCategory==this.config.selectedCategory&&this.config.selectedItems.length>1&&this.config.currentItems.length==this.config.selectedItems.length&&(this.config.selectAll=!0);var s=document.getElementById("CRControllerButton"+this.config.id).getElementsByTagName("input");this.config.category[this.config.currentCategoryIndex].paginator?(s[0].style.display="",s[1].style.display="",s[4].style.display="",s[5].style.display=""):(s[0].style.display="none",s[1].style.display="none",s[4].style.display="none",s[5].style.display="none"),this.generateData()},Cyberoam.CRController.prototype.generateData=function(){var e=this.config.category[this.config.currentCategoryIndex],t=this.config,n=0,o=this,i=this.config.currentItems.length;e.paginator&&(n=(e.currentPage-1)*e.recordPerPage,(i=e.currentPage*e.recordPerPage)>this.config.currentItems.length&&(i=this.config.currentItems.length));var c=Cyberoam.createElement({tag:"table"});c.style.width="100%";var r=Cyberoam.createElement({tag:"tbody"},c),l=1;if(e.allSelect)trObject=Cyberoam.createElement({tag:"tr"},r),tdObject=Cyberoam.createElement({tag:"td"},trObject),inputObject=Cyberoam.createElement({tag:"input",type:"checkbox",id:"crSelecteAll"+this.config.id},tdObject),this.config.selectAll&&inputObject.setAttribute("checked","checked"),(s=Cyberoam.createElement({tag:"span"},tdObject)).style.overflow="hidden",s.style.width="100%",s.style.whiteSpace="nowrap",s.style.textOverflow="ellipsis",s.appendChild(document.createTextNode(Language.SelectAll)),l++;else if(e.anySelect){var s;trObject=Cyberoam.createElement({tag:"tr"},r),tdObject=Cyberoam.createElement({tag:"td"},trObject),inputObject=Cyberoam.createElement({tag:"input",type:"checkbox",id:"crany"+this.config.id},tdObject),this.config.selectAny&&inputObject.setAttribute("checked","checked"),(s=Cyberoam.createElement({tag:"span"},tdObject)).style.overflow="hidden",s.style.width="100%",s.style.whiteSpace="nowrap",s.style.textOverflow="ellipsis",s.appendChild(document.createTextNode(Language.Any)),l++}1==l&&(trObject=Cyberoam.createElement({tag:"tr"},r)),e.addURL=Cyberoam.getURL(e.addURL,"CRController",this.config.id),""!=e.addURL?(tdObject=Cyberoam.createElement({tag:"td",colspan:2},trObject),divObject=Cyberoam.createElement({tag:"div",className:"CRControllerAddButton"},tdObject),divObject.onclick=function(){Cyberoam.showPopup({URL:e.addURL,title:Cyberoam.getTranslatedMSG(e.addURLTitle),width:e.popupWidth,height:e.popupHeight})},uObject=Cyberoam.createElement({tag:"u",colspan:2},divObject),uObject.appendChild(document.createTextNode(Language.Add+" "+e.label))):tdObject=Cyberoam.createElement({tag:"td",colspan:2},trObject),l=1,this.createOptions=function(n,i,c,s){s&&(s="disabled=disabled"),1==l&&(trObject=Cyberoam.createElement({tag:"tr"},r));var d=i.label;void 0===d&&(d=n,i.label=n),-1!=d.indexOf("Language.")||-1!=d.indexOf("Message.")?i.label=Cyberoam.getTranslatedMSG(d):i.label=d,tdObject=Cyberoam.createElement({tag:"td",title:i.label}
2086,trObject),tdObject.style.width=100/e.noOfCols+"%",e.radioBox?(inputObject=Cyberoam.createElement({tag:"input",type:"radio",name:"radio"+this.config.id,id:"chk"+this.config.id+"_"+n},tdObject),void 0!==t.currentSelectedItem[n]?inputObject.setAttribute("checked","checked"):c&&void 0===t.currentSelectedItem[n]&&(t.currentSelectedItem[n]={label:i.label}),inputObject.onclick=function(e){var n=e||window.event,i=e?e.target:n.srcElement,c=i.getAttribute("key"),r=i.getAttribute("label");t.currentSelectedItem={},i.checked&&(t.currentSelectedItem[c]={label:r}),o.CRControllerOk()},navigator.userAgent.indexOf("MSIE 7.0")>-1&&inputObject.mergeAttributes(document.createElement("<INPUT name='radio"+this.config.id+"' id='chk"+this.config.id+"_"+n+"' />"),!1)):(inputObject=Cyberoam.createElement({tag:"input",type:"checkbox",name:"chk"+this.config.id,id:"chk"+this.config.id+"_"+n},tdObject),void 0!==t.currentSelectedItem[n]?inputObject.setAttribute("checked","checked"):c&&void 0===t.currentSelectedItem[n]&&(t.currentSelectedItem[n]={label:i.label}),inputObject.onclick=function(e){var n=e||window.event,o=e?e.target:n.srcElement,i=o.getAttribute("key"),c=o.getAttribute("label");document.getElementById("crSelecteAll"+t.id)&&(document.getElementById("crSelecteAll"+t.id).checked=!1),o.checked?t.currentSelectedItem[i]={label:c}:delete t.currentSelectedItem[i]},navigator.userAgent.indexOf("MSIE 7.0")>-1&&inputObject.mergeAttributes(document.createElement("<INPUT name='chk"+this.config.id+"' id='chk"+this.config.id+"_"+n+"' />"),!1)),inputObject.setAttribute("key",n),inputObject.setAttribute("label",i.label),Cyberoam.isIE?inputObject.style.styleFloat="left":inputObject.style.cssFloat="left",c&&inputObject.setAttribute("checked","checked"),s&&inputObject.setAttribute("disabled","disabled");var a=Cyberoam.createElement({tag:"div"},tdObject);a.style.overflow="hidden",a.style.width=parseInt(e.width)/e.noOfCols-46+"px",a.style.whiteSpace="nowrap",a.style.paddingTop="2px",a.style.textOverflow="ellipsis",a.style.height="15px",a.appendChild(document.createTextNode(i.label)),l==e.noOfCols&&(l=0),l++};var d=0;for(var a in this.config.currentItems)1==this.config.currentItems[a].selected||document.getElementById("chk"+this.config.id+"_"+a)&&document.getElementById("chk"+this.config.id+"_"+a).checked&&1!=this.config.selectAny?this.createOptions(a,this.config.currentItems[a],!0,!1):d<n||d>i?d++:"length"!=a&&"constructor"!=a&&(this.config.selectAll?this.createOptions(a,this.config.currentItems[a],!0,!1):this.config.selectAny?this.createOptions(a,this.config.currentItems[a],!1,!0):this.createOptions(a,this.config.currentItems[a],!1,!1),d++);if(0!=l)for(;l<e.noOfCols;l++)tdObject=Cyberoam.createElement({tag:"td"},trObject);else e.noOfCols==colimn&&(tdObject=Cyberoam.createElement({tag:"td"},trObject));var g=jQuery("#CRControllerData"+this.config.id);g.empty(),g.append(c),e.allSelect?jQuery(document.getElementById("crSelecteAll"+this.config.id)).on("click",(function(){var e=[];e=document.getElementsByName("chk"+t.id);for(var n=0;n<e.length;n++){e[n].checked=this.checked;var o=e[n].getAttribute("key"),i=e[n].getAttribute("label");this.checked?t.currentSelectedItem[o]={label:i}:delete t.currentSelectedItem[o]}})):e.anySelect&&jQuery(document.getElementById("crany"+this.config.id)).on("click",(function(){1==this.checked?t.selectAny=!0:t.selectAny=!1;var n=[];n=e.radioBox?document.getElementsByName("radio"+t.id):document.getElementsByName("chk"+t.id);for(var o=0;o<n.length;o++)n[o].disabled=this.checked})),document.getElementById("CRbody"+t.id).style.width=e.width+"px",document.getElementById("CRControllerData"+t.id).style.height="auto",jQuery("#CRControllerData"+t.id).width()>=e.width&&(document.getElementById("CRbody"+t.id).style.width=e.width),jQuery("#CRControllerData"+t.id).height()>=e.height?document.getElementById("CRControllerData"+t.id).style.height=e.height-80+"px":document.getElementById("CRControllerData"+t.id).style.height="auto";var h=jQuery("#"+this.config.id);document.getElementById("CRbody"+this.config.id).style.top=h.offset().top+20+"px",h.offset().top+30+jQuery("#CRbody"+this.config.id).height()>document.body.clientHeight-30&&(document.getElementById("CRbody"+this.config.id).style.top=parseInt(document.getElementById("CRbody"+this.config.id).style.top)-(h.offset().top+30+jQuery("#CRbody"+this.config.id).height()-(document.body.clientHeight-30))+"px"),document.getElementById("CRbody"+this.config.id).style.left=h.offset().left+"px",h.offset().left+jQuery("#CRbody"+this.config.id).width()>document.body.clientWidth&&(document.getElementById("CRbody"+this.config.id).style.left=parseInt(document.getElementById("CRbody"+this.config.id).style.left)-(h.offset().left+jQuery("#CRbody"+this.config.id).width()-document.body.clientWidth)+"px")},Cyberoam.CRController.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id);e.addClass("CRController_open"),Cyberoam.pageLayer>0&&(document.getElementById("CRbody"+this.config.id).style.zIndex=200*Cyberoam.pageLayer+5),document.getElementById("CRbody"+this.config.id).style.display="";var t=this.config,n=this.config.category[this.config.currentCategoryIndex];jQuery("#CRControllerData"+t.id).width()>n.width?document.getElementById("CRbody"+t.id).style.width=jQuery("#CRControllerData"+t.id).width()+"px":document.getElementById("CRbody"+t.id).style.width=n.width,0!=document.getElementById("CRControllerData"+t.id).offsetHeight&&document.getElementById("CRControllerData"+t.id).offsetHeight<n.height?document.getElementById("CRControllerData"+t.id).style.height=document.getElementById("CRControllerData"+t.id).offsetHeight+"px":document.getElementById("CRControllerData"+t.id).style.height=n.height-80+"px",document.getElementById("CRbody"+this.config.id).style.top=e.offset().top+20+"px",e.offset().top+30+jQuery("#CRbody"+this.config.id).height()>document.body.clientHeight-30&&(document.getElementById("CRbody"+this.config.id).style.top=parseInt(document.getElementById("CRbody"+this.config.id).style.top)-(e.offset().top+30+jQuery("#CRbody"+this.config.id).height()-(document.body.clientHeight-30))+"px"),document.getElementById("CRbody"+this.config.id).style.left=e.offset().left+"px",e.offset().left+jQuery("#CRbody"+this.config.id).width()>document.body.clientWidth&&(document.getElementById("CRbody"+this.config.id).style.left=parseInt(document.getElementById("CRbody"+this.config.id).style.left)-(e.offset().left+jQuery("#CRbody"+this.config.id).width()-document.body.clientWidth)+"px"),Cyberoam.currentObject=this}},Cyberoam.CRController.prototype.hide=function(){jQuery("#"+this.config.id).removeClass("CRController_open"),document.getElementById("CRbody"+this.config.id).style.display="none",this.CRControllerCancel(),Cyberoam.currentObject=null},Cyberoam.CRController.prototype.getOffsetPosition=function(){var e=document.getElementById("CRbody"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]};Cyberoam.SelectionBox=function(e){for(var t in this.config={id:"",data:[],returnKey:!1,click:null,selectAll:!1,noOfColumns:1,search:!0,width:250,height:150,label:null,combo1Label:null,combo2Label:null,combo1HTML:null,combo1:null,combo1Selected:null,combo2HTML:null,combo2:null,combo2Selected:null,selectedItem:[],selectAllButtonSelected:!1,isDisabled:!1},this.searchInterval=null,this.searchData=[],this.listSearchThread=null,this.lastSearch="",e){if(void 0===this.config[t])return Cyberoam.messageBox({message:"Wrong SelectionBox Configuration "+t}),void(this.config={id:"",data:[],selectAll:!1,noOfColumns:1,search:!0,width:0,height:0});this.config[t]=e[t]}var l={};for(var o in this.config.data)l[o]=Cyberoam.clone(this.config.data[o]);this.config.data=l;for(var i=0;i<this.config.selectedItem.length;i++)this.config.data[this.config.selectedItem[i]]&&(this.config.data[this.config.selectedItem[i]].selected=!0)},Cyberoam.SelectionBox.prototype.searchSelectedBox=function(e){var t=this,l=this.config.data,o=e.val().toLowerCase(),i=!1,c=this.config.id;this.searchProcess=function(e,l){jQuery("#selectionBoxBody"+this.config.id).html(""),this.lastSearch.length>e.length?this.searchData=[]:this.searchData.length>0&&(l=this.searchData,this.searchData={});var o=this.config.noOfColumns,a=1,s=document.getElementById("selectionBoxBody"+this.config.id);if(""!=e&&"rgb(204, 204, 204)"!=document.getElementById("searchText"+this.config.id).style.color&&"#cccccc"!=document.getElementById("searchText"+this.config.id).style.color){e=e.toLowerCase();var n=Cyberoam.createElement({tag:"table"},s);1!=this.config.search?n.setAttribute("cellspacing","1"):n.setAttribute("cellspacing","3"),n.setAttribute("width","100%");var r=Cyberoam.createElement({tag:"tbody"},n),d=null,m=null;if(null!=this.config.label){d=Cyberoam.createElement({tag:"tr"},r),m=Cyberoam.createElement({tag:"td"},d);var h=Cyberoam.createElement({tag:"span"},m);Cyberoam.isIE?h.style.styleFloat="left":h.style.cssFloat="left",h.style.width="auto",h.style.textAlign="center",h.style.fontWeight="bold",h.appendChild(document.createTextNode(this.config.label)),mainspan=Cyberoam.createElement({tag:"td"},d),Cyberoam.isIE?mainspan.style.styleFloat="right":mainspan.style.cssFloat="right",combol1label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol1label.style.styleFloat="left":combol1label.style.cssFloat="left",combol1label.style.width="80px",combol1label.style.textAlign="center",combol1label.style.fontWeight="bold",combol1label.appendChild(document.createTextNode(this.config.combo1Label)),combol2label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol2label.style.styleFloat="left":combol2label.style.cssFloat="left",combol2label.style.width="80px",combol2label.style.textAlign="center",combol2label.style.marginRight="5px",combol2label.style.fontWeight="bold",combol2label.appendChild(document.createTextNode(this.config.combo2Label))}d=Cyberoam.createElement({tag:"tr"},r),m=Cyberoam.createElement({tag:"td",colspan:this.config.noOfColumns},d);var b=Cyberoam.createElement({tag:"div",id:"selectall"+this.config.id,className:"selectionBox_item"},m);Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},b);
2086if((p=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},b)).appendChild(document.createTextNode(Language.SelectAll)),b.onclick=function(e){t.divClickEvent(e,this)},b=Cyberoam.createElement({tag:"td"},d),Cyberoam.isIE?b.style.styleFloat="right":b.style.cssFloat="right",null!=this.config.combo1){for(var g in select=Cyberoam.createElement({tag:"select",id:"combo1"+c},b),select.style.width="80px",this.config.combo1){if(this.config.combo1.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo1[g].label)),this.config.combo1Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+c+" table tr td select").each((function(){-1!=this.id.indexOf("combo1")&&(this.value=e)}))}}if(null!=this.config.combo2){for(var g in select=Cyberoam.createElement({tag:"select",id:"combo2"+c},b),select.style.width="80px",select.style.marginLeft="3px",this.config.combo2){if(this.config.combo2.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo2[g].label)),this.config.combo2Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+c+" table tr td select").each((function(){-1!=this.id.indexOf("combo2")&&(this.value=e)}))}}var f=parseInt(document.getElementById(this.config.id).style.width);for(var y in null!=this.config.combo1&&(f-=125),null!=this.config.combo2&&(f-=125),l)if(1==l[y].selected||0==l[y].label.toLowerCase().indexOf(e)){1==a&&(d=Cyberoam.createElement({tag:"tr"},r));m=Cyberoam.createElement({tag:"td"},d);var u="selectionBox_item";l[y].selected&&(u+=" selectionBox_item_select");b=Cyberoam.createElement({tag:"div",className:u},m),Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},b);var p=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},b);if(b.style.width=f+"px",p.style.width=f-30+"px",b.setAttribute("key",y),b.setAttribute("label",l[y].label),b.onclick=function(e){t.divClickEvent(e,this)},p.appendChild(document.createTextNode(l[y].label)),b.setAttribute("title",l[y].label),b=Cyberoam.createElement({tag:"td"},d),Cyberoam.isIE?b.style.styleFloat="right":b.style.cssFloat="right",null!=this.config.combo1)for(var g in select=Cyberoam.createElement({tag:"select",id:"combo1"+c},b),select.style.width="80px",this.config.combo1){if(this.config.combo1.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo1[g].label)),this.config.combo1Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}if(null!=this.config.combo2)for(var g in select=Cyberoam.createElement({tag:"select",id:"combo2"+c},b),select.style.width="80px",select.style.marginLeft="3px",this.config.combo2){var C;if(this.config.combo2.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo2[g].label)),this.config.combo2Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}++a>o&&(a=1),i=!0,this.searchData[y]=l[y]}if(0==i){var x=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},r);Cyberoam.createElement({tag:"td"},x).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}}else this.searchData={},this.setSelectionBody();this.lastSearch=e},null!=this.searchInterval&&clearTimeout(this.searchInterval),this.searchInterval=setTimeout((function(){t.searchProcess(o,l)}),1e3)},Cyberoam.SelectionBox.prototype.isSelectAll=function(){return this.config.selectAllButtonSelected},Cyberoam.SelectionBox.prototype.disabled=function(e){this.config.isDisabled=e},Cyberoam.SelectionBox.prototype.setSelectionBox=function(e,t){var l={};for(var o in e)l[o]=Cyberoam.clone(e[o]);for(var i=0;i<t.length;i++)void 0!==l[t[i]]&&(l[t[i]].selected=!0);this.config.data=l,this.setSelectionBody()},Cyberoam.SelectionBox.prototype.setSelectionBody=function(){var e=[];e=this.config.data;var t=this.config.id;jQuery("#selectionBoxBody"+t).html("");var l=this,o=document.getElementById("selectionBoxBody"+this.config.id),i=Cyberoam.createElement({tag:"table"},o);i.setAttribute("cellspacing","1"),i.setAttribute("width","100%");var c=Cyberoam.createElement({tag:"tbody"},i),a=null,s=null;if(null!=this.config.label){a=Cyberoam.createElement({tag:"tr"},c),s=Cyberoam.createElement({tag:"td"},a);var n=Cyberoam.createElement({tag:"span"},s);Cyberoam.isIE?n.style.styleFloat="left":n.style.cssFloat="left",n.style.width="auto",n.style.textAlign="center",n.style.fontWeight="bold",n.appendChild(document.createTextNode(this.config.label)),mainspan=Cyberoam.createElement({tag:"td"},a),Cyberoam.isIE?mainspan.style.styleFloat="right":mainspan.style.cssFloat="right",combol1label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol1label.style.styleFloat="left":combol1label.style.cssFloat="left",combol1label.style.width="80px",combol1label.style.textAlign="center",combol1label.style.fontWeight="bold",combol1label.appendChild(document.createTextNode(this.config.combo1Label)),combol2label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol2label.style.styleFloat="left":combol2label.style.cssFloat="left",combol2label.style.width="80px",combol2label.style.textAlign="center",combol2label.style.marginRight="5px",combol2label.style.fontWeight="bold",combol2label.appendChild(document.createTextNode(this.config.combo2Label))}if(1==this.config.selectAll){a=Cyberoam.createElement({tag:"tr"},c),s=Cyberoam.createElement({tag:"td",colspan:this.config.noOfColumns},a);var r=Cyberoam.createElement({tag:"div",id:"selectall"+this.config.id,className:"selectionBox_item"},s);Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},r);(f=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},r)).appendChild(document.createTextNode(Language.SelectAll)),r.onclick=function(e){l.divClickEvent(e,this)},r=Cyberoam.createElement({tag:"td"},a),Cyberoam.isIE?r.style.styleFloat="right":r.style.cssFloat="right"}if(null!=this.config.combo1){for(var d in select=Cyberoam.createElement({tag:"select",id:"combo1"+t},r),select.style.width="80px",this.config.combo1){if(this.config.combo1.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo1[d].label)),this.config.combo1Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+t+" table tr td select").each((function(){-1!=this.id.indexOf("combo1")&&(this.value=e)}))}}if(null!=this.config.combo2){for(var d in select=Cyberoam.createElement({tag:"select",id:"combo2"+t},r),select.style.width="80px",select.style.marginLeft="3px",this.config.combo2){if(this.config.combo2.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo2[d].label)),this.config.combo2Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+t+" table tr td select").each((function(){-1!=this.id.indexOf("combo2")&&(this.value=e)}))}}var m=parseInt(document.getElementById(this.config.id).style.width);null!=this.config.combo1&&(m-=125),null!=this.config.combo2&&(m-=125);var h=0;for(var b in e){void 0===e[b].label&&(e[b].label=b),0==h&&(a=Cyberoam.createElement({tag:"tr"},c)),s=Cyberoam.createElement({tag:"td"},a);var g="selectionBox_item";e[b].selected&&(g+=" selectionBox_item_select");r=Cyberoam.createElement({tag:"div",className:g},s),Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},r);var f=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},r);if(r.style.width=m+"px",f.style.width=m-30+"px",r.setAttribute("key",b),r.setAttribute("label",e[b].label),r.oncl
2086ick=function(e){l.divClickEvent(e,this)},f.appendChild(document.createTextNode(e[b].label)),r.setAttribute("title",e[b].label),r=Cyberoam.createElement({tag:"td"},a),Cyberoam.isIE?r.style.styleFloat="right":r.style.cssFloat="right",null!=this.config.combo1)for(var d in select=Cyberoam.createElement({tag:"select",id:"combo1"+t},r),select.style.width="80px",void 0!==e[b].selected&&0!=e[b].selected||select.setAttribute("disabled","disabled"),this.config.combo1){if(this.config.combo1.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo1[d].label)),this.config.combo1Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}if(null!=this.config.combo2)for(var d in select=Cyberoam.createElement({tag:"select",id:"combo2"+t},r),select.style.width="80px",select.style.marginLeft="3px",void 0!==e[b].selected&&0!=e[b].selected||select.setAttribute("disabled","disabled"),this.config.combo2){var y;if(this.config.combo2.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo2[d].label)),this.config.combo2Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}++h==this.config.noOfColumns&&(h=0)}1!=this.config.search?document.getElementById("selectionBoxBody"+this.config.id).style.height=parseInt(document.getElementById(this.config.id).style.height)+"px":document.getElementById("selectionBoxBody"+this.config.id).style.height=parseInt(document.getElementById(this.config.id).style.height)-40+"px"},Cyberoam.SelectionBox.prototype.divClickEvent=function(e,t){var l=this,o=l.config.id;t.id=="selectall"+this.config.id?l.config.isDisabled||(-1==t.className.indexOf("_select")?($("#selectionBoxBody"+o+" table tr td div").each((function(){l.setItem(this,"select",!1)})),l.config.selectAllButtonSelected=!0,t.className+=" selectionBox_item_select"):($("#selectionBoxBody"+o+" table tr td div").each((function(){l.setItem(this,"unselected",!1)})),l.config.selectAllButtonSelected=!1,t.className="selectionBox_item"),"undefined"!=typeof isClick&&1!=isClick||!l.config.click||l.config.click(l)):l.config.isDisabled||this.setItem(t)},Cyberoam.SelectionBox.prototype.setItem=function(e,t,l){var o=e.getAttribute("key"),i=this;if(o){if(-1==e.className.indexOf("_select")&&void 0===t||void 0!==t&&"select"==t){e.className+=" selectionBox_item_select",this.config.data[o].selected=!0;for(var c=e.parentNode.parentNode.childNodes[1].getElementsByTagName("select"),a=0;a<c.length;a++)c[a].disabled=!1}else{e.className="selectionBox_item",this.config.data[o].selected=!1,this.config.selectAllButtonSelected&&(this.config.selectAllButtonSelected=!1,$("#selectall"+this.config.id).removeClass().addClass("selectionBox_item"));for(c=e.parentNode.parentNode.childNodes[1].getElementsByTagName("select"),a=0;a<c.length;a++)c[a].disabled=!0}void 0!==l&&1!=l||!i.config.click||i.config.click(i)}},Cyberoam.SelectionBox.prototype.getSelectedKeys=function(){if(this.config.isDisabled)return null;var e=[];for(var t in this.config.data)1==this.config.data[t].selected&&e.push(t);return e},Cyberoam.SelectionBox.prototype.getSelectedLabels=function(){if(this.config.isDisabled)return null;var e=[];for(var t in this.config.data)1==this.config.data[t].selected&&e.push(this.config.data[t].label);return e},Cyberoam.SelectionBox.prototype.getSelectedValues=function(){var e=[],t=[],l=[],o=[],i=this.config.id;return $("#selectionBoxBody"+i+" table tr td div").each((function(){if(-1!=this.className.indexOf("_select")&&this.innerHTML!=Language.SelectAll){e.push(this.getAttribute("key")),t.push(this.getAttribute("label"));var i=this.parentNode.parentNode.childNodes[1].getElementsByTagName("select");i[0]&&l.push(i[0].value),i[1]&&o.push(i[1].value)}})),{key:e,label:t,column1:l,column2:o}},Cyberoam.SelectionBox.prototype.getSelectedItems=function(){var e=[];for(var t in this.config.data)1==this.config.data[t].selected&&e.push(this.config.data[t]);return e},Cyberoam.SelectionBox.prototype.selectAll=function(e,t){var l=this,o=l.config.id;e.id=="selectall"+this.config.id&&(t?-1==e.className.indexOf("_select")&&($("#selectionBoxBody"+o+" table tr td div").each((function(){l.
2086setItem(this,"select",!1)})),l.config.selectAllButtonSelected=!0,e.className+=" selectionBox_item_select"):($("#selectionBoxBody"+o+" table tr td div").each((function(){l.setItem(this,"unselected",!1)})),l.config.selectAllButtonSelected=!1,e.className="selectionBox_item"))},Cyberoam.SelectionBox.prototype.create=function(){if(""!=this.id){var e=this;jQuery("#"+this.config.id).attr("class","selectionBox"),document.getElementById(this.config.id).style.height=e.config.height+"px",document.getElementById(this.config.id).style.width=e.config.width+"px",1==this.config.search?(jQuery("#"+this.config.id).html('<table width="100%" align="center" cellspacing="1" cellpadding="0"><tr><td><input type="text" id="searchText'+this.config.id+"\" class='selectionBoxSearch' style=\"width:"+(Number(e.config.width)-10)+"px;*weidth:97%;color:#CCCCCC\" value='"+Cyberoam.getTranslatedMSG("Language.Search")+"'/></td></table><div id=\"selectionBoxBody"+this.config.id+'" class=\'selectionBoxBody\' style="height:120px;"></div>'),jQuery("#searchText"+this.config.id).on("keyup",(function(){e.searchSelectedBox(jQuery(this))})),jQuery("#searchText"+this.config.id).on("focus",(function(e){Cyberoam.textEmptyFocus(this,Cyberoam.getTranslatedMSG("Language.Search"))})),jQuery("#searchText"+this.config.id).on("blur",(function(e){Cyberoam.textEmptyBlur(this,Cyberoam.getTranslatedMSG("Language.Search"))}))):jQuery("#"+this.config.id).html('<div id="selectionBoxBody'+this.config.id+"\" class='selectionBoxBody' style=\"height:"+e.config.height+'px;"></div>'),this.setSelectionBody()}};function replaceAll(e,t,n){for(;e.indexOf(t)>-1;)e=e.replace(t,n);return e}Cyberoam.DataTable=function(e){this.config={id:"",columns:[],width:"auto",height:"auto",validator:null,afterAdd:null,afterDelete:null,css:""};var t={name:"",label:"",type:"textbox",value:"",config:null,option:[],returnKey:!1,width:100,maxlength:null,events:null,title:""};for(var n in this.currentIndex=1,this.checkBox=null,this.CRController={},this.currentElements=[],e){if("undefined"==this.config[n])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+n});if("columns"==n)for(var l=0;l<e.columns.length;l++){var o={};for(var i in t)e.columns[l][i]?o[i]=e.columns[l][i]:o[i]=t[i];this.config[n].push(o)}else this.config[n]=e[n]}},Cyberoam.DataTable.prototype.create=function(){var e=this,t=this.config,n="auto",l=document.getElementById(t.id);"auto"!=t.width&&(l.style.width=t.width,n=parseInt(t.width)/t.columns.length),"auto"!=t.height&&(l.style.height=t.height),""!=t.css&&(l.style=t.css),dataTableHTML=[],dataTableHTML.push("<table class='datatable' cellpadding=0 cellspecing=0 ><tbody id=tbody"+t.id+" ><tr>");for(var o=0;o<t.columns.length;o++)dataTableHTML.push("<td class='tableheader' align='center' style='width:"+n+"' >"+t.columns[o].label+"</td>"),void 0===t.columns[o].width&&(t.columns[o].width=n);dataTableHTML.push("<td class='tableheader' align='center' style='width:20px;padding-right:12px' ><div class=\"datatableAdd\" id='datatableAdd"+t.id+'\'><i class="fa fa-plus-square"></i></div></td></tr><tr class="datatable-content-row" id=datatable_'+t.id+"_"+this.currentIndex+">");for(o=0;o<t.columns.length;o++)dataTableHTML.push("<td class=tabletext >"+this.createFromElement(t.columns[o])+"</td>");dataTableHTML.push('<td class=tabletext ><div class="datatableDelete" id=\'datatableDelete'+t.id+"_"+this.currentIndex+"' index='"+this.currentIndex+'\'><i class="fa fa-minus-circle"></i></div></td>'),dataTableHTML.push("</tr></tbody></table>"),jQuery(l).html(dataTableHTML.join("")),jQuery("#datatableDelete"+t.id+"_"+this.currentIndex).on("click",(function(){e.deleteRow(this.getAttribute("index"))})),this.CRController[this.currentIndex]={};for(o=0;o<t.columns.length;o++)if("checkbox"==t.columns[o].type){for(var i=[],a=0;a<t.columns[o].option.length;a++)void 0!==t.columns[o].value&&t.columns[o].option[a].key==t.columns[o].value?i.push({id:this.config.id+"_"+t.columns[o].name+"_"+this.currentIndex+"_"+a,name:t.columns[o].name,label:t.columns[o].option[a].label,value:t.columns[o].option[a].key,checked:!0}):i.push({id:this.config.id+"_"+t.columns[o].name+"_"+this.currentIndex+"_"+a,name:t.columns[o].name,label:t.columns[o].option[a].label,value:t.columns[o].option[a].key});this.checkBox=new Cyberoam.CheckBox(i),this.checkBox.create()}else"CRController"==t.columns[o].type&&(t.columns[o].config.id=this.config.id+"_"+t.columns[o].name+"_"+this.currentIndex,this.CRController[this.currentIndex][o]=new Cyberoam.CRController(t.columns[o].config),this.CRController[this.currentIndex][o].create());"textbox"==t.columns[t.columns.length-1].type||"textarea"==t.columns[t.columns.length-1].type||"select"==t.columns[t.columns.length-1].type||"password"==t.columns[t.columns.length-1].type||"hyperlink"==t.columns[t.columns.length-1].type?document.getElementById(this.config.id+"_"+t.columns[t.columns.length-1].name+"_"+this.currentIndex).onkeydown=function(t){9==new Cyberoam.Event(t).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&e.addRow()}:document.getElementById(this.config.id+"_"+t.columns[t.columns.length-1].name+"_"+this.currentIndex+"_"+(t.columns[t.columns.length-1].option.length-1)).onkeydown=function(t){9==new Cyberoam.Event(t).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&e.addRow()},this.currentElements.push(this.currentIndex++),jQuery("#datatableAdd"+t.id).on("click",(function(){e.addRow()}))},Cyberoam.DataTable.prototype.setValueByIndex=function(e,t){var n=this.config,l=document.getElementById("datatable_"+n.id+"_"+t);l||(this.addRow(!0),l=document.getElementById("datatable_"+n.id+"_"+t));for(var o={},i=0;i<this.config.columns.length;i++){var a=this.config.columns[i];if(e[a.name])if("textbox"==a.type&&(l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name]),"textarea"==a.type)l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name];else if("password"==a.type)l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name];else if("hyperlink"==a.type)l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name];else if("select"==a.type){var s=0;for(var d in a.option)e[a.name]==d&&(l.childNodes[i].childNodes[0].childNodes[0].options[s].selected=!0),s++}else if("checkbox"==a.type){o[a.name]=[];for(d=0;d<a.option.length;d++)"string"==typeof e[a.name]?a.option[d].key==e[a.name]?this.checkBox.selectById(this.config.id+"_"+a.name+"_"+t+"_"+d,!0):this.checkBox.selectById(this.config.id+"_"+a.name+"_"+t+"_"+d,!1):-1!=Cyberoam.findItemInArray(a.option[d].key,e[a.name])&&this.checkBox.selectById(this.config.id+"_"+a.name+"_"+t+"_"+d,!0)}else if("CRController"==a.type&&void 0!==e[a.name])"string"==typeof e[a.name]?this.CRController[t][i].setCategory(a.config.category[0].name,new Array(e[a.name])):this.CRController[t][i].setCategory(a.config.category[0].name,e[a.name]);else if("radio"==a.type){o[a.name]=[];for(d=0;d<a.option.length;d++)l.childNodes[i].childNodes[0].childNodes[0].checked=!0,e[a.name]==a.option[d].key&&(l.childNodes[i].childNodes[0].childNodes[2*d].checked=!0)}}},Cyberoam.DataTable.prototype.setValue=function(e){for(var t=0;t<e.length;t++)this.setValueByIndex(e[t],t+1)},Cyberoam.DataTable.prototype.getValueInArray=function(){for(var e={},t=0;t<this.config.columns.length;t++)e[this.config.columns[t].name]=[];for(var n=this.config,l=0;l<this.currentElements.length;l++){var o=document.getElementById("datatable_"+n.id+"_"+this.currentElements[l]);for(t=0;t<this.config.columns.length;t++){var i=this.config.columns[t],a=null;if("textbox"==i.type)a=o.childNodes[t].childNodes[0].childNodes[0].value;else if("password"==i.type)a=o.childNodes[t].childNodes[0].childNodes[0].value;else if("hyperlink"==i.type)a="";else if("textarea"==i.type)a=o.childNodes[t].childNodes[0].childNodes[0].value;else if("select"==i.type)a=i.returnKey?o.childNodes[t].childNodes[0].childNodes[0].value:o.childNodes[t].childNodes[0].childNodes[0].options[o.childNodes[t].childNodes[0].childNodes[0].selectedIndex].text;else if("checkbox"==i.type){record1=[];for(var s=0;s<i.option.length;s++){var d=this.checkBox.getValueById(this.config.id+"_"+i.name+"_"+this.currentElements[l]+"_"+s);0!=d&&record1.push(d)}a=record1}else if("CRController"==i.type)a="undefind"!=typeof i.config.category[0].radioBox&&1==i.config.category[0].radioBox?this.CRController[l][t].getSelectedKeys().toString():this.CRController[l][t].getSelectedKeys();else if("radio"==i.type){record1=[];for(s=0;s<i.option.length;s++)o.childNodes[t].childNodes[0].childNodes[2*s].checked&&record1.push(o.childNodes[t].childNodes[0].childNodes[2*s].value);a=record1}if(a)if("string"==typeof a)a=(a=Cyberoam.trim(a)).replace(/\s+/g," "),a=Cyberoam.replaceAll(a,"\\","\\\\"),a=Cyberoam.replaceAll(a,"'","\\'");else for(var r=0;r<a.length;r++)a[r]=Cyberoam.trim(a[r]),a[r]=a[r].replace(/\s+/g," "),a[r]=Cyberoam.replaceAll(a[r],"\\","\\\\"),a[r]=Cyberoam.replaceAll(a[r],"'","\\'");e[this.config.columns[t].name].push(a)}}return e},Cyberoam.DataTable.prototype.getValue=function(){for(var e=[],t=(this.config,0);t<this.currentElements.length;t++)e.push(this.getRecordByIndex(this.currentElements[t]));return e},Cyberoam.DataTable.prototype.getRecordByIndex=function(e){var t=this.config,n=document.getElementById("datatable_"+t.id+"_"+e),l={};if(n)for(var o=0;o<this.config.columns.length;o++){var i=this.config.columns[o];if("textbox"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("password"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("hyperlink"==i.type)l[i.name]="";else if("textarea"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("select"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("checkbox"==i.type){l[i.name]=[];for(var a=0;a<i.option.length;a++){var s=this.checkBox.getValueById(this.config.id+"_"+i.name+"_"+e+"_"+a
2086);0!=s&&l[i.name].push(s)}}else if("CRController"==i.type)"undefind"!=typeof i.config.category[0].radioBox&&1==i.config.category[0].radioBox?l[i.name]=this.CRController[e][o].getSelectedKeys().toString():l[i.name]=this.CRController[e][o].getSelectedKeys();else if("radio"==i.type){l[i.name]=[];for(a=0;a<i.option.length;a++)n.childNodes[o].childNodes[0].childNodes[2*a].checked&&l[i.name].push(n.childNodes[o].childNodes[0].childNodes[2*a].value)}if("string"==typeof l[i.name])l[i.name]=Cyberoam.replaceAll(l[i.name],"\\","\\\\"),l[i.name]=Cyberoam.replaceAll(l[i.name],"'","\\'");else for(var d=0;d<l[i.name].length;d++)l[i.name][d]=Cyberoam.replaceAll(l[i.name][d],"\\","\\\\"),l[i.name][d]=Cyberoam.replaceAll(l[i.name][d],"'","\\'")}return l},Cyberoam.DataTable.prototype.deleteRow=function(e){for(var t=0;t<this.currentElements.length;t++)if(this.currentElements[t]==e){this.currentElements.splice(t,1);break}jQuery("#datatable_"+this.config.id+"_"+e).remove(),null!=this.config.afterDelete&&this.config.afterDelete(this,e),0==this.currentElements.length&&this.addRow(!0)},Cyberoam.DataTable.prototype.addRow=function(e){var t=this,n=this.config,l=!0;if(void 0===e&&null!=n.validator&&(l=n.validator(this)),1==l){dataTableHTML=[],dataTableHTML.push('<tr class="datatable-content-row" id=datatable_'+n.id+"_"+this.currentIndex+">");for(var o=0;o<n.columns.length;o++)dataTableHTML.push("<td class=tabletext >"+this.createFromElement(n.columns[o])+"</td>");dataTableHTML.push("<td class=tabletext align='center' style='width:20px;padding-right:12px'><div class=\"datatableDelete\" id='datatableDelete"+n.id+"_"+this.currentIndex+"' index='"+this.currentIndex+'\'><i class="fa fa-minus-circle"></i></div></td>'),dataTableHTML.push("</tr>"),jQuery("#tbody"+n.id).append(jQuery(dataTableHTML.join(""))),this.CRController[this.currentIndex]={};for(o=0;o<n.columns.length;o++)if("checkbox"==n.columns[o].type)for(var i=0;i<n.columns[o].option.length;i++)void 0!==n.columns[o].value&&n.columns[o].option[i].key==n.columns[o].value?this.checkBox.insert({id:this.config.id+"_"+n.columns[o].name+"_"+this.currentIndex+"_"+i,name:n.columns[o].name,label:n.columns[o].option[i].label,value:n.columns[o].option[i].key,checked:!0}):this.checkBox.insert({id:this.config.id+"_"+n.columns[o].name+"_"+this.currentIndex+"_"+i,name:n.columns[o].name,label:n.columns[o].option[i].label,value:n.columns[o].option[i].key});else"CRController"==n.columns[o].type&&(n.columns[o].config.id=this.config.id+"_"+n.columns[o].name+"_"+this.currentIndex,this.CRController[this.currentIndex][o]=new Cyberoam.CRController(n.columns[o].config),this.CRController[this.currentIndex][o].create());jQuery("#datatableDelete"+n.id+"_"+this.currentIndex).on("click",(function(){t.deleteRow(this.getAttribute("index"))})),null!=n.afterAdd&&n.afterAdd(this,document.getElementById("datatable_"+n.id+"_"+this.currentIndex),this.currentIndex),"textbox"==n.columns[n.columns.length-1].type||"textarea"==n.columns[n.columns.length-1].type||"select"==n.columns[n.columns.length-1].type||"password"==n.columns[n.columns.length-1].type||"hyperlink"==n.columns[n.columns.length-1].type?document.getElementById(this.config.id+"_"+n.columns[n.columns.length-1].name+"_"+this.currentIndex).onkeydown=function(e){9==new Cyberoam.Event(e).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&t.addRow()}:document.getElementById(this.config.id+"_"+n.columns[n.columns.length-1].name+"_"+this.currentIndex+"_"+(n.columns[n.columns.length-1].option.length-1)).onkeydown=function(e){9==new Cyberoam.Event(e).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&t.addRow()},this.currentElements.push(this.currentIndex++)}},Cyberoam.DataTable.prototype.createFromElement=function(e){var t=["<div style='width:"+(parseInt(e.width)+5)+"px' >"];"textarea"==e.type&&(t=["<div style='margin-right:5px' >"]);var n=e.option;if("textbox"==e.type||"password"==e.type||"hyperlink"==e.type){var l="",o="";if(null!=e.maxlength&&(l="maxlength="+e.maxlength),null!=typeof e.value&&""!=e.value&&null!=e.value&&(o="value="+e.value),"textbox"==e.type?t.push('<input type="text" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+'" '+l+" "+o+" style='height:23px;min-width:30px;width:"+(parseInt(e.width)-15)+"px'"):"password"==e.type?t.push('<input type="password" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+'" '+l+" "+o+" style='height:23px;width:"+(parseInt(e.width)-15)+"px;padding: 5px 1px;min-width: 30px;'"):t.push('<a id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'"  name="'+e.name+'" '+l+" "+o+" style='width:"+(parseInt(e.width)-5)+"px' class='' "),e.events)for(var i in e.events)e.events.hasOwnProperty(i)&&t.push(i+"='"+e.events[i]+"' ");"hyperlink"==e.type?t.push(">"+e.value+"</a>"):t.push(">")}else if("textarea"==e.type){o="";null!=typeof e.value&&""!=e.value&&null!=e.value&&(o=e.value),""!=e.title?t.push('<textarea placeholder="'+Cyberoam.getTranslatedMSG(e.title)+'" class="textareacss" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+"\" style='width:"+(parseInt(e.width)-15)+"px' >"+o+"</textarea>"):t.push('<textarea class="textareacss" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+"\"  style='width:"+(parseInt(e.width)-5)+"px' >"+o+"</textarea>")}else if("checkbox"==e.type){if(0!=n.length)for(var a=0;a<n.length;a++)t.push('<div class="checkBox" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+"_"+a+'" ></div>')}else if("radio"==e.type){if(0!=n.length)for(a=0;a<n.length;a++)t.push('<input type="radio" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+"_"+a+'" name="'+e.name+"_"+this.currentIndex+'" value="'+n[a].key+"\"  style='width:"+(parseInt(e.width)-5)+"px'>"+n[a].label+"    ")}else if("CRController"==e.type)t.push('<div id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" ></div>');else if("select"==e.type){o="";if(null!=typeof e.value&&""!=e.value&&null!=e.value&&(o=e.value),t.push('<select name="'+e.name+'" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+"\" style='width:"+(parseInt(e.width)-5)+"px' "),e.events)for(var i in e.events)e.events.hasOwnProperty(i)&&t.push(i+"='"+e.events[i]+"' ");if(t.push(">"),0!=n.length)for(var a in n)if(n.hasOwnProperty(a)){i=a;void 0!==n[a].key&&(i=n[a].key),""!=o&&o==i?t.push('<option value="'+i+"\" selected='selected' title=\""+n[a].label+'">'+Cyberoam.getTranslatedMSG(n[a].label)+"</option>"):t.push('<option value="'+replaceAll(i,'"',"&quot;")+'" >'+replaceAll(Cyberoam.getTranslatedMSG(n[a].label),"<","&lt;")+"</option>")}t.push("</select>")}return t.push("</div>"),t.join("")};Cyberoam.dragList=function(e){for(var t in this.config={id:"",data:[],style:"",height:"auto",width:150,labelDisplay:"select",afterOk:"",dragable:!0,dragListType:Cyberoam.dragList.SELECT_COLUNM},this.selectedItem=[],this.selectedIndex=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:[],style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.dragList.SELECT_COLUNM=0,Cyberoam.dragList.SELECT_FILTER=1,Cyberoam.dragList.prototype.setBody=function(){$("#DragList_body"+this.config.id).html("");var e,t=this,i=this.config.id;e=this.config.data;var a=document.getElementById("DragList_body"+i),s=Cyberoam.createElement({tag:"div",id:"DragList_Items"+i,className:"DragList-Items-class"},a);s.style.overflowX="hidden",s.style.overflowY="auto",s.style.maxHeight="200px";var l="";if(""!=i){var r=0;for(r=0;r<e.length;r++){var o={tag:"div"},d={tag:"li",id:"Combo_item_"+i+"_"+e[r].key};e[r].disable&&e[r].selected?(o.className="dragList1_item selected disabled",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):e[r].disable&&!e[r].selected?o.className="dragList1_item disabled":!e[r].disable&&e[r].selected?(o.className="dragList1_item selected",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):o.className="dragList1_item";var n=Cyberoam.createElement(d,s),g=(Cyberoam.createElement(o,n),Cyberoam.createElement({tag:"div"},n));n.setAttribute("key",e[r].key),n.setAttribute("label",e[r].label),$(n).css({"list-style":"none"}),$(g).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(g).attr("title",e[r].label),n.onclick=function(e){t.divClickEvent(e,this)},g.appendChild(document.createTextNode(e[r].label)),e[r].selected&&Cyberoam.dragList.SELECT_FILTER==this.config.dragListType&&(""!=l&&(l+=", "),l+=e[r].label)}divObject=Cyberoam.createElement({tag:"div"},a),divObject.style.backgroundColor="#FFF",divObject.style.paddingTop="8px",divObject.style.paddingBottom="5px",divObject.setAttribute("align","center"),inputObject=Cyberoam.createElement({id:"draglist_okBtn_"+t.config.id,tag:"input",className:"draglist-primary-btn",type:"button"},divObject),inputObject.onclick=function(e){if(t.hideAndGetSelected(e,this),t.config.dragListType==Cyberoam.dragList.SELECT_FILTER){var i=$("#DragList_item_"+t.config.id+" .draglist-filter-label"),a=t.getSelectedLabels().join(", ");""==a?i.html(Language.All):i.html(a)}""!=t.config.afterOk&&t.config.afterOk(t)},this.config.dragable&&t.config.dragListType!=Cyberoam.dragList.SELECT_FILTER&&$("<label></label>").text(Language.dragToMoveColumn).css({color:"#7f8b93","font-size":"11px","font-family":"'InterRegular',arial,sans-serif",padding:"0px 0px 1px 4px"}).appendTo(a),t.config.dragListType==Cyberoam.dragList.SELECT_FILTER?inputObject.setAttribute("value",Language.Save):inputObject.setAttribute("value",Language.OkCC)}if(a.style.height="auto",a.style.width=this.config.width+20+"px",jQuery(a).height()>parseInt(this.config.height)+5&&(a.childNodes[0].style.height=this.config.height-25+"px",a.style.height=this.config.height+"px"),this.config.dragable&&this.dragListYUI(),Cyberoam.dragList.SELECT_FILTER==this.config.dragListType){var c=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==l?c.html(Language.All):c.html(l)}},Cyberoam.dragList.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=this.config.id,i=jQuery("#"+t).addClass("draglist_container").on("click",(function(){""==document.getElementById("DragList_body"+e.config.id).style.display?e.hide():e.show()}));jQuery("#"+t).on("mouseover",(function(){$(this).addClass("draglist_container_hilite"),$("#DragList_item_"+t).addClass("draglist_select_hilite"),$("#Combo_button"+t).addClass("draglist_button_hilite")})),jQuery("#"+t).on("mouseout",(function(){$(this).removeClass("draglist_container_hilite"),$("#DragList_item_"+t).removeClass("draglist_select_hilite"),$("#Combo_button"+t).removeClass("draglist_button_hilite")}));
2086var a=$("<div></div>").addClass("draglist-type-filter-title").html(e.config.labelDisplay).hide().appendTo(i),s=$("<div></div>").attr("id","DragList_item_"+t).addClass("draglist_select").html(e.config.labelDisplay).appendTo(i),l=($("<div></div>").attr("id","Combo_button"+t).addClass("draglist_button").html("").appendTo(i),"");if(Cyberoam.dragList.SELECT_FILTER==this.config.dragListType){i.addClass("draglist-container-type-filter"),s.addClass("draglist-type-filter"),l="draglist-combo-body-filter",a.show(),s.empty();$("<i></i>").addClass("fa").addClass("fa-sort").addClass("fa-1x").css({float:"right","margin-top":"3px"}).appendTo(s),$("<div></div>").css({float:"left",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",width:"88%"}).addClass("draglist-filter-label").appendTo(s)}jQuery("#mainbody").parent().append(jQuery("<div id=DragList_body"+t+" class ='Combo_body draglist-combo-body "+l+"' style='display:none'></div>")),this.setBody()},Cyberoam.dragList.prototype.setIndexAndItem=function(){var e=this;e.selectedItem=[],e.selectedIndex=[];for(var t=document.getElementById("DragList_body"+e.config.id).childNodes[0].childNodes,i=0;i<t.length;i++){$(t[i]).find(".dragList1_item").is(".selected")&&(e.selectedItem.push({key:t[i].getAttribute("key"),label:t[i].getAttribute("label")}),e.selectedIndex.push(i))}0==this.selectedItem.length&&Cyberoam.dragList.SELECT_FILTER==this.config.dragListType&&$("#DragList_item_"+e.config.id+" .draglist-filter-label").eq(0).html(Language.All)},Cyberoam.dragList.prototype.getSelectedKeys=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].key);return e},Cyberoam.dragList.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].label);return e},Cyberoam.dragList.prototype.getSelectedItems=function(){return this.selectedItem},Cyberoam.dragList.prototype.hideAndGetSelected=function(){this.setIndexAndItem(),""==document.getElementById("DragList_body"+this.config.id).style.display&&this.hide()},Cyberoam.dragList.prototype.getItemByIndex=function(e){if(this.config.data[e])return this.config.data[e]},Cyberoam.dragList.prototype.divClickEvent=function(e,t){var i=$(t).find(".dragList1_item");i.is(".disabled")||(i.is(".selected")?i.removeClass("selected"):i.addClass("selected"))},Cyberoam.dragList.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id),t=document.getElementById("DragList_body"+this.config.id);Cyberoam.pageLayer>0&&(t.style.zIndex=200*Cyberoam.pageLayer+5),t.style.top=e.offset().top+e.height()+"px",t.style.left=e.offset().left+"px",t.style.display="",Cyberoam.currentObject=this}},Cyberoam.dragList.prototype.hide=function(){document.getElementById("DragList_body"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.dragList.prototype.getOffsetPosition=function(){var e=document.getElementById("DragList_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]},Cyberoam.dragList.prototype.setSelectAllItems=function(e,t){null==e&&(e=!0),null==t&&(t=!1);for(var i=document.getElementById("DragList_body"+this.config.id).childNodes[0].childNodes,a=0;a<i.length;a++){var s=$(i[a]).find(".dragList1_item");if(s.is(".disabled")){if(!t)continue;e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}else e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}this.setIndexAndItem()},Cyberoam.dragList.prototype.removeItem=function(e){for(var t=0;t<this.selectedItem.length;t++)this.selectedItem[t].key==e&&(this.selectedItem.splice(t,1),this.selectedIndex.splice(t,1))},Cyberoam.dragList.prototype.dragListYUI=function(){var e=this.config.id,t=YAHOO.util.Dom,a=YAHOO.util.Event,s=YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("DragList_Items"+e);var t=document.getElementById("DragList_Items"+e);for(i=0;i<t.childNodes.length;i+=1)if(-1==t.childNodes[i].className.indexOf("_disable"))new YAHOO.example.DDList(t.childNodes[i].id)}},YAHOO.example.DDList=function(e,i,a){YAHOO.example.DDList.superclass.constructor.call(this,e,i,a);var s=this.getDragEl();t.setStyle(s,"opacity",.67),this.goingUp=!1,this.lastY=0},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(e,i){var a=this.getDragEl(),s=this.getEl();try{document.getElementById("dragdiv")&&s.removeChild(document.getElementById("dragdiv"))}catch(e){}a.innerHTML=s.innerHTML,t.setStyle(a,"color",t.getStyle(s,"color")),t.setStyle(a,"backgroundColor",t.getStyle(s,"backgroundColor")),t.setStyle(a,"border","2px solid gray")},endDrag:function(e){var i=this.getEl(),a=this.getDragEl();t.setStyle(a,"visibility","");var s=new YAHOO.util.Motion(a,{points:{to:t.getXY(i)}},.2,YAHOO.util.Easing.easeOut),l=a.id,r=this.id;s.onComplete.subscribe((function(){t.setStyle(l,"visibility","hidden"),t.removeClass(r,"dragElementSpace")})),s.animate()},onDragDrop:function(e,t){if(1===s.interactionInfo.drop.length)s.interactionInfo.point,s.interactionInfo.sourceRegion}
2086,onDrag:function(e){var t=a.getPageY(e);t<this.lastY?this.goingUp=!0:t>this.lastY&&(this.goingUp=!1),this.lastY=t},onDragOver:function(e,i){var a=this.getEl(),l=t.get(i);if("li"==l.nodeName.toLowerCase()){a.parentNode;var r=l.parentNode;this.goingUp?r.insertBefore(a,l):r.insertBefore(a,l.nextSibling),s.refreshCache()}}}),a.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)},Cyberoam.dragListWithSearch=function(e){for(var t in this.config={id:"",data:[],style:"",height:"auto",width:150,labelDisplay:"select",afterOk:"",dragable:!0,dragListType:Cyberoam.dragListWithSearch.SELECT_COLUNM},this.selectedItem=[],this.selectedKeys=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:[],style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.dragListWithSearch.SELECT_COLUNM=0,Cyberoam.dragListWithSearch.SELECT_FILTER=1,Cyberoam.dragListWithSearch.prototype.setBody=function(){$("#DragList_body"+this.config.id).html("");var e,t=this,i=this.config.id;e=this.config.data;var a=document.getElementById("DragList_body"+i);if(a.style.overflow="hidden",$("#DragList_body"+i).addClass("dragWithSearchDiv"),this.config.searchbox){var s=Cyberoam.createElement({tag:"div",className:"comboSearchLi",id:"Combo_item_search_li"+i},a),l=Cyberoam.createElement({id:"search"+i,className:"comboSearchInput",tag:"input",type:"text",value:""},s);Cyberoam.createElement({tag:"i",className:"comboSearchIcon fa fa-search"},s);l.onkeydown=function(e){t.searchArray(e,this,r)}}var r=Cyberoam.createElement({tag:"div",id:"DragList_Items"+i,className:"DragList-Items-class"},a);r.style.overflowX="hidden",r.style.overflowY="auto",r.style.maxHeight="165px";var o="";if(""!=i){var d=0;for(d=0;d<e.length;d++){var n={tag:"div"},g={tag:"li",id:"Combo_item_"+i+"_"+e[d].key};e[d].disable&&e[d].selected?(n.className="dragList1_item selected disabled",t.pushKeyInSelectedKeys(t,e[d].key,e[d].label)):e[d].disable&&!e[d].selected?n.className="dragList1_item disabled":!e[d].disable&&e[d].selected?(n.className="dragList1_item selected",t.pushKeyInSelectedKeys(t,e[d].key,e[d].label)):n.className="dragList1_item";var c=Cyberoam.createElement(g,r),h=(Cyberoam.createElement(n,c),Cyberoam.createElement({tag:"div"},c));c.setAttribute("key",e[d].key),c.setAttribute("label",e[d].label),$(c).css({"list-style":"none"}),$(h).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(h).attr("title",e[d].label),c.onclick=function(e){t.divClickEvent(e,this)},h.appendChild(document.createTextNode(e[d].label)),e[d].selected&&Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType&&(""!=o&&(o+=", "),o+=e[d].label)}divObject=Cyberoam.createElement({tag:"div"},a),divObject.style.backgroundColor="#FFF",divObject.style.paddingTop="8px",divObject.style.paddingBottom="5px",divObject.setAttribute("align","center"),inputObject=Cyberoam.createElement({id:"draglist_okBtn_"+t.config.id,tag:"input",className:"draglist-primary-btn",type:"button"},divObject),inputObject.onclick=function(e){if(t.hideAndGetSelected(e,this),t.config.dragListType==Cyberoam.dragListWithSearch.SELECT_FILTER){var i=$("#DragList_item_"+t.config.id+" .draglist-filter-label"),a=t.getSelectedLabels().join(", ");""==a?i.html(Language.All):i.html(a)}""!=t.config.afterOk&&t.config.afterOk(t);var s=$(this).closest(".dragWithSearchDiv").find(".comboSearchInput");s.val(""),s.trigger("keydown")},this.config.dragable&&t.config.dragListType!=Cyberoam.dragListWithSearch.SELECT_FILTER&&$("<label></label>").text(Language.dragToMoveColumn).css({color:"#7f8b93","font-size":"11px","font-family":"'InterRegular',arial,sans-serif",padding:"0px 0px 1px 4px"}).appendTo(a),t.config.dragListType==Cyberoam.dragListWithSearch.SELECT_FILTER?inputObject.setAttribute("value",Language.Save):inputObject.setAttribute("value",Language.OkCC)}if(a.style.height="auto",a.style.width=this.config.width+20+"px",jQuery(a).height()>parseInt(this.config.height)+5&&(a.childNodes[1].style.height=this.config.height-25+"px",a.style.height=this.config.height+"px"),this.config.dragable&&this.dragListYUI(),Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType){var m=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==o?m.html(Language.All):m.html(o)}},Cyberoam.dragListWithSearch.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=this.config.id,i=jQuery("#"+t).addClass("draglist_container").on("click",(function(){""==document.getElementById("DragList_body"+e.config.id).style.display?e.hide():e.show()}));jQuery("#"+t).on("mouseover",(function(){$(this).addClass("draglist_container_hilite"),$("#DragList_item_"+t).addClass("draglist_select_hilite"),$("#Combo_button"+t).addClass("draglist_button_hilite")})),jQuery("#"+t).on("mouseout",(function(){$(this).removeClass("draglist_container_hilite"),$("#DragList_item_"+t).removeClass("draglist_select_hilite"),$("#Combo_button"+t).removeClass("draglist_button_hilite")}));
2086var a=$("<div></div>").addClass("draglist-type-filter-title").html(e.config.labelDisplay).hide().appendTo(i),s=$("<div></div>").attr("id","DragList_item_"+t).addClass("draglist_select").html(e.config.labelDisplay).appendTo(i),l=($("<div></div>").attr("id","Combo_button"+t).addClass("draglist_button").html("").appendTo(i),"");if(Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType){i.addClass("draglist-container-type-filter"),s.addClass("draglist-type-filter"),l="draglist-combo-body-filter",a.show(),s.empty();$("<i></i>").addClass("fa").addClass("fa-sort").addClass("fa-1x").css({float:"right","margin-top":"3px"}).appendTo(s),$("<div></div>").css({float:"left",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",width:"88%"}).addClass("draglist-filter-label").appendTo(s)}$("body").append(jQuery("<div id=DragList_body"+t+" class ='Combo_body draglist-combo-body "+l+"' style='display:none'></div>")),this.setBody()},Cyberoam.dragListWithSearch.prototype.setIndexAndItem=function(){for(var e=this,t=document.getElementById("DragList_body"+e.config.id).childNodes[1].childNodes,i=0;i<t.length;i++){$(t[i]).find(".dragList1_item").is(".selected")?e.pushKeyInSelectedKeys(e,t[i].getAttribute("key"),t[i].getAttribute("label")):e.removeItem(t[i].getAttribute("key"))}0==this.selectedItem.length&&Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType&&$("#DragList_item_"+e.config.id+" .draglist-filter-label").eq(0).html(Language.All)},Cyberoam.dragListWithSearch.prototype.getSelectedKeys=function(){return this.selectedKeys},Cyberoam.dragListWithSearch.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.selectedKeys.length;t++)e.push(this.selectedItem[t].label);return e},Cyberoam.dragListWithSearch.prototype.getSelectedItems=function(){return this.selectedItem},Cyberoam.dragListWithSearch.prototype.hideAndGetSelected=function(){this.setIndexAndItem(),""==document.getElementById("DragList_body"+this.config.id).style.display&&this.hide()},Cyberoam.dragListWithSearch.prototype.getItemByIndex=function(e){if(this.config.data[e])return this.config.data[e]},Cyberoam.dragListWithSearch.prototype.divClickEvent=function(e,t){var i=this,a=$(t).find(".dragList1_item"),s=$(t).attr("key"),l=$(t).attr("label");a.is(".disabled")||(a.is(".selected")?(a.removeClass("selected"),i.removeItem(s)):(a.addClass("selected"),i.pushKeyInSelectedKeys(i,s,l)))},Cyberoam.dragListWithSearch.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id),t=document.getElementById("DragList_body"+this.config.id);Cyberoam.pageLayer>0&&(t.style.zIndex=200*Cyberoam.pageLayer+5),t.style.top=e.offset().top+e.height()+"px",t.style.left=e.offset().left+"px",t.style.display="",Cyberoam.currentObject=this}},Cyberoam.dragListWithSearch.prototype.hide=function(){document.getElementById("DragList_body"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.dragListWithSearch.prototype.getOffsetPosition=function(){var e=document.getElementById("DragList_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]},Cyberoam.dragListWithSearch.prototype.removeItem=function(e){for(var t=0;t<this.selectedItem.length;t++)this.selectedItem[t].key==e&&(this.selectedItem.splice(t,1),this.selectedKeys.splice(this.selectedKeys.indexOf(e),1))},Cyberoam.dragListWithSearch.prototype.setSelectAllItems=function(e,t){null==e&&(e=!0),null==t&&(t=!1);for(var i=document.getElementById("DragList_body"+this.config.id).childNodes[1].childNodes,a=0;a<i.length;a++){var s=$(i[a]).find(".dragList1_item");if(s.is(".disabled")){if(!t)continue;e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}else e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}this.setIndexAndItem()},Cyberoam.dragListWithSearch.prototype.dragListYUI=function(){var e=this.config.id;YAHOO.util.Dom,YAHOO.util.Event,YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("DragList_Items"+e);var t=document.getElementById("DragList_Items"+e);for(i=0;i<t.childNodes.length;i+=1)if(-1==t.childNodes[i].className.indexOf("_disable"))new YAHOO.example.DDList(t.childNodes[i].id)}}},Cyberoam.dragListWithSearch.prototype.searchArray=function(e,t,i){var a,s=this;setTimeout((function(){a=document.getElementById(t.id).value;var e=s.search(a,s);""!=t.id&&Cyberoam.dragListWithSearch.prototype.setBody_i(s,e,i)}),0)},Cyberoam.dragListWithSearch.prototype.search=function(e,t){for(var i=[],a=JSON.parse(JSON.stringify(t.config.data)),s=0;s<a.length;s++){var l=a[s].label.toLowerCase(),r=e.toLowerCase();l.startsWith(r)&&(i.push(a[s]),-1!=t.selectedKeys.indexOf(a[s].key)&&(i[i.length-1].isSelected=!0))}return i},Cyberoam.dragListWithSearch.prototype.setBody_i=function(e,t,i){var a=e.config.id,s=$("#DragList_body"+a).find(".comboSearchInput").val();$("#DragList_Items"+a+" li").remove();for(var l=0;l<t.length;l++)if(!s||t[l].label!=Language.All){var r={tag:"div"},o={tag:"li",id:"Combo_item_"+a+"_"+t[l].key};if(null!=e.selectedItemtemp&&e.selectedItemtemp.length>0)for(var d=0;d<e.selectedItemtemp.length;d++)e.selectedItemtemp[d].key==t[l].key&&(t[l].tempSelected=!0);t[l].disable&&t[l].isSelected?(r.className="dragList1_item selected disabled",e.pushKeyInSelectedKeys(e,t[l].key)):t[l].disable&&!t[l].isSelected?r.className="dragList1_item disabled":!t[l].disable&&t[l].isSelected?(r.className="dragList1_item selected",e.pushKeyInSelectedKeys(e,t[l].key)):r.className="dragList1_item";
2086var n=Cyberoam.createElement(o,i),g=(Cyberoam.createElement(r,n),Cyberoam.createElement({tag:"div"},n));n.setAttribute("key",t[l].key),n.setAttribute("label",t[l].label),$(n).css({"list-style":"none"}),$(g).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(g).attr("title",t[l].label),n.onclick=function(t){e.divClickEvent(t,this)},g.appendChild(document.createTextNode(t[l].label))}this.bindEvent(a,e)},Cyberoam.dragListWithSearch.prototype.bindEvent=function(e,t){var i=$("#DragList_body"+e+" li"),a="Combo_item_"+e+"_0",s=$("#"+a);s.length&&i.find("div.selected").length==i.length-1&&t.setSelectAllItems(!0,!1),i.on("click",(function(){$(this).attr("id")==a?s.find(".selected").length?t.setSelectAllItems(!0,!1):t.setSelectAllItems(!1,!1):s.find(".selected").length?s.find(".selected").removeClass("selected"):s.length&&i.find("div.selected").length==i.length-1&&t.setSelectAllItems(!0,!1)}))},Cyberoam.dragListWithSearch.prototype.pushKeyInSelectedKeys=function(e,t,i){-1==e.selectedKeys.indexOf(t)&&"0"!=t&&(e.selectedKeys.push(t),e.selectedItem.push({key:t,label:i}))},Cyberoam.dragListWithFilter=function(e){for(var t in this.config={id:"",data:[],style:"",height:"auto",width:150,labelDisplay:"select",afterOk:"",dragable:!0,dragListType:Cyberoam.dragListWithFilter.SELECT_COLUNM},this.selectedItem=[],this.selectedIndex=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:[],style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.dragListWithFilter.SELECT_COLUNM=0,Cyberoam.dragListWithFilter.SELECT_FILTER=1,Cyberoam.dragListWithFilter.prototype.setBody=function(){$("#DragList_body"+this.config.id).html("");var e,t=this,i=this.config.id;e=this.config.data;var a=document.getElementById("DragList_body"+i),s=Cyberoam.createElement({tag:"div",id:"DragList_Items"+i,className:"DragList-Items-class"},a);s.style.overflowX="hidden",s.style.overflowY="auto",s.style.maxHeight="200px";var l="";if(t.searchTag=new Cyberoam.searchTag(t),""!=i){var r=0;for(r=0;r<e.length;r++){var o={tag:"div"},d={tag:"li",id:"Combo_item_"+i+"_"+e[r].key};e[r].disable&&e[r].selected?(o.className="dragList1_item selected disabled",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):e[r].disable&&!e[r].selected?o.className="dragList1_item disabled":!e[r].disable&&e[r].selected?(o.className="dragList1_item selected",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):o.className="dragList1_item";var n=Cyberoam.createElement(d,s),g=(Cyberoam.createElement(o,n),Cyberoam.createElement({tag:"div"},n));n.setAttribute("key",e[r].key),n.setAttribute("label",e[r].label),$(n).css({"list-style":"none"}),$(g).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(g).attr("title",e[r].label),n.onclick=function(e){t.divClickEvent(e,this)},g.appendChild(document.createTextNode(e[r].label)),e[r].selected&&Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType&&(""!=l&&(l+=", "),l+=e[r].label),e[r].selected&&Cyberoam.dragListWithFilter.SELECT_COLUNM==this.config.dragListType&&(""!=l&&(l+=", "),l+=e[r].label)}t.selectedItem.length&&t.searchTag.create(),divObject=Cyberoam.createElement({tag:"div"},a),divObject.style.backgroundColor="#FFF",divObject.style.paddingTop="8px",divObject.style.paddingBottom="5px",divObject.setAttribute("align","center"),inputObject=Cyberoam.createElement({id:"draglist_okBtn_"+t.config.id,tag:"input",className:"draglist-primary-btn",type:"button"},divObject),inputObject.onclick=function(e){if(t.hideAndGetSelected(e,this),t.config.dragListType==Cyberoam.dragListWithFilter.SELECT_FILTER){var i=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==(a=t.getSelectedLabels().join(", "))?i.html(Language.All):i.html(a)}if(t.config.dragListType==Cyberoam.dragListWithFilter.SELECT_COLUNM){i=$("#DragList_item_"+t.config.id+" .text");var a,s=$("#DragList_item_"+t.config.id+" .iconSpanDiv");""==(a=t.getSelectedLabels().join(", "))?s.hide():s.show()}t.config.displaySelectedTag&&t.searchTag.create(),""!=t.config.afterOk&&t.config.afterOk(t)},this.config.dragable&&t.config.dragListType!=Cyberoam.dragListWithFilter.SELECT_FILTER&&$("<label></label>").text(Language.dragToMoveColumn).css({color:"#7f8b93","font-size":"11px","font-family":"'InterRegular',arial,sans-serif",padding:"0px 0px 1px 4px"}).appendTo(a),t.config.dragListType==Cyberoam.dragListWithFilter.SELECT_FILTER?inputObject.setAttribute("value",Language.Save):inputObject.setAttribute("value",Language.OkCC)}if(a.style.height="auto",a.style["border-radius"]="3px",a.style.width=this.config.width+30+"px",jQuery(a).height()>parseInt(this.config.height)+5&&(a.childNodes[0].style.height=this.config.height-25+"px",a.style.height=this.config.height+"px"),this.config.dragable&&this.dragListYUI(),Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType){var c=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==l?c.html(Language.All):c.html(l)}if(Cyberoam.dragListWithFilter.SELECT_COLUNM==this.config.dragListType){c=$("#DragList_item_"+t.config.id+" .text");var h=$("#DragList_item_"+t.config.id+" .iconSpanDiv");c.html(t.config.labelDisplay),""==l?h.hide():h.show()}},Cyberoam.dragListWithFilter.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=this.config.id,i=jQuery("#"+t).addClass("draglist_container").on("click",(function(){""==document.getElementById("DragList_body"+e.config.id).style.display?e.hide():e.show()}));i.wrap('<div id="'+e.config.id+'Div" class="dragFilterContainer"></div>'),i.after('<span class="iconspan"><i class="fa fa-caret-down"></i></span>'),$("#"+e.config.id+"Div .iconspan").on("click",(function(e){$(this).closest(".dragFilterContainer").find(".draglist_container").trigger("click")})),jQuery("#"+t).on("mouseover",(function(){$(this).addClass("draglist_container_hilite"),$("#DragList_item_"+t).addClass("draglist_select_hilite"),$("#Combo_button"+t).addClass("draglist_button_hilite")})),jQuery("#"+t).on("mouseout",(function(){$(this).removeClass("draglist_container_hilite"),$("#DragList_item_"+t).removeClass("draglist_select_hilite"),$("#Combo_button"+t).removeClass("draglist_button_hilite")}));
2086var a=$("<div></div>").addClass("draglist-type-filter-title").html(e.config.labelDisplay).hide().appendTo(i),s=$("<div></div>").attr("id","DragList_item_"+t).addClass("draglist_select").html('<span class="text">'+e.config.labelDisplay+'</span><span class="icon-circle-check iconSpanDiv"></span>').appendTo(i),l=($("<div></div>").attr("id","Combo_button"+t).addClass("draglist_button").html("").appendTo(i),"");if(Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType){i.addClass("draglist-container-type-filter"),s.addClass("draglist-type-filter"),l="draglist-combo-body-filter",a.show(),s.empty();$("<i></i>").addClass("fa").addClass("fa-sort").addClass("fa-1x").css({float:"right","margin-top":"3px"}).appendTo(s),$("<div></div>").css({float:"left",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",width:"88%"}).addClass("draglist-filter-label").appendTo(s)}jQuery("#mainbody").parent().append(jQuery("<div id=DragList_body"+t+" class ='Combo_body draglist-combo-body "+l+"' style='display:none'></div>")),this.setBody()},Cyberoam.dragListWithFilter.prototype.setIndexAndItem=function(){var e=this;e.selectedItem=[],e.selectedIndex=[];for(var t=document.getElementById("DragList_body"+e.config.id).childNodes[0].childNodes,i=0;i<t.length;i++){$(t[i]).find(".dragList1_item").is(".selected")&&(e.selectedItem.push({key:t[i].getAttribute("key"),label:t[i].getAttribute("label")}),e.selectedIndex.push(i))}if(0==this.selectedItem.length&&Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType&&$("#DragList_item_"+e.config.id+" .draglist-filter-label").eq(0).html(Language.All),0==this.selectedItem.length&&Cyberoam.dragListWithFilter.SELECT_COLUNM==this.config.dragListType){var a=$("#DragList_item_"+e.config.id);a.find(".text").html(e.config.labelDisplay),a.find(".text").attr("title",e.config.labelDisplay),a.find(".iconSpanDiv").hide()}},Cyberoam.dragListWithFilter.prototype.getSelectedKeys=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].key);return e},Cyberoam.dragListWithFilter.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].label);return e},Cyberoam.dragListWithFilter.prototype.getSelectedItems=function(){return this.selectedItem},Cyberoam.dragListWithFilter.prototype.hideAndGetSelected=function(){this.setIndexAndItem(),""==document.getElementById("DragList_body"+this.config.id).style.display&&this.hide()},Cyberoam.dragListWithFilter.prototype.getItemByIndex=function(e){if(this.config.data[e])return this.config.data[e]},Cyberoam.dragListWithFilter.prototype.divClickEvent=function(e,t){var i=$(t).find(".dragList1_item");i.is(".disabled")||(i.is(".selected")?i.removeClass("selected"):i.addClass("selected"))},Cyberoam.dragListWithFilter.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id),t=document.getElementById("DragList_body"+this.config.id);Cyberoam.pageLayer>0&&(t.style.zIndex=200*Cyberoam.pageLayer+5),t.style.top=e.offset().top+e.height()+"px",t.style.left=e.offset().left-1+"px",t.style.display="",t.style["min-height"]="auto",Cyberoam.currentObject=this}},Cyberoam.dragListWithFilter.prototype.hide=function(){document.getElementById("DragList_body"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.dragListWithFilter.prototype.getOffsetPosition=function(){var e=document.getElementById("DragList_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]},Cyberoam.dragListWithFilter.prototype.setSelectAllItems=function(e,t){null==e&&(e=!0),null==t&&(t=!1);for(var i=document.getElementById("DragList_body"+this.config.id).childNodes[0].childNodes,a=0;a<i.length;a++){var s=$(i[a]).find(".dragList1_item");if(s.is(".disabled")){if(!t)continue;e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}else e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}this.setIndexAndItem()},Cyberoam.dragListWithFilter.prototype.removeItem=function(e){for(var t=0;t<this.selectedItem.length;t++)this.selectedItem[t].key==e&&(this.selectedItem.splice(t,1),this.selectedIndex.splice(t,1)
2086)},Cyberoam.dragListWithFilter.prototype.dragListYUI=function(){var e=this.config.id;YAHOO.util.Dom,YAHOO.util.Event,YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("DragList_Items"+e);var t=document.getElementById("DragList_Items"+e);for(i=0;i<t.childNodes.length;i+=1)if(-1==t.childNodes[i].className.indexOf("_disable"))new YAHOO.example.DDList(t.childNodes[i].id)}}},Cyberoam.dragListWithFilter.prototype.clearFilter=function(){this.setSelectAllItems(!1,!1),this.config.afterOk(this)},Cyberoam.searchTag=function(e){if(this.tagConfig=e.config.tagConfig,e.config.displaySelectedTag)if(e.config.tagConfig){this.tagConfig.maximumCharToDisplay||(this.tagConfig.maximumCharToDisplay=35),this.tagConfig.inputId&&(this.tagConfig.getSelectedLabelMethod="none");for(var t in{parentContainerId:"",tagContainerId:"",clearFilterMethod:"",getSelectedLabelMethod:"",displayLabel:""})!this.tagConfig[t]||this.tagConfig[t];if($("#"+this.tagConfig.parentContainerId).length)if(this.tagConfig.inputId){if(!$("#"+this.tagConfig.inputId).length)return void Cyberoam.messageBox({message:"Input box is not available"})}else{this.parentThisObj=e;var i=this.tagConfig.clearFilterMethod;this.parentThisObj[i]}else Cyberoam.messageBox({message:"Container div is not available"})}else Cyberoam.messageBox({message:"Config parameters are missing"})},Cyberoam.searchTag.prototype.create=function(){var e,t=this,i=t.tagConfig.getSelectedLabelMethod;$parentContainer=$("#"+t.tagConfig.parentContainerId),$tagContainer=$("#"+t.tagConfig.tagContainerId);var a=lbl="";if(t.tagConfig.getTagsLabel?(a=lbl=t.parentThisObj.getTagsLabel(),e=t.parentThisObj.getKeyFilterVal().key):a=t.tagConfig.inputId?lbl=$("#"+t.tagConfig.inputId).val():lbl=t.parentThisObj[i]().join(", "),lbl)if(t.tagConfig.displayLabel&&(lbl=t.tagConfig.displayLabel+" : "+lbl),lbl.length>t.tagConfig.maximumCharToDisplay&&(lbl=lbl.substr(0,t.tagConfig.maximumCharToDisplay)+"..."),$tagContainer.length)$("#"+t.tagConfig.tagContainerId+" .searchTagLbl").text(lbl),$("#"+t.tagConfig.tagContainerId+" .searchTagLbl").attr("title",a);else{var s=$('<span class="searchTagMaindiv '+t.tagConfig.tagClass+'"> \t\t\t\t\t\t\t<span class="searchTagFilterDiv"> \t\t\t\t\t\t\t\t<span class="searchTagLbl" style="vertical-align: middle;"></span> \t\t\t\t\t\t\t\t<span class="removeTag icomoon-x '+t.tagConfig.tagRemoveClass+'" style="cursor:pointer;vertical-align: middle;" ></span> \t\t\t\t\t\t\t</span> \t\t\t\t\t\t</span>');s.attr("parentKey",e),s.attr("id",t.tagConfig.tagContainerId),s.find(".searchTagLbl").attr("title",a),s.find(".searchTagLbl").text(lbl),$parentContainer.append(s),$("#"+t.tagConfig.tagContainerId+" .removeTag").on("click",(function(){t.remove($(this))}))}else t.remove()},Cyberoam.searchTag.prototype.remove=function(e){var t,i=this,a=i.tagConfig.clearFilterMethod;e&&e.length?(t=e.closest(".searchTagMaindiv").attr("parentkey"),e.closest(".searchTagMaindiv").remove()):$("#"+i.tagConfig.tagContainerId).remove(),this.tagConfig.inputId?($("#"+i.tagConfig.inputId).val(""),i.tagConfig.clearFilterMethod()):i.parentThisObj[a]?i.parentThisObj[a]():i.tagConfig.clearFilterMethod&&e&&e.length&&i.tagConfig.clearFilterMethod(t,"")},Cyberoam.searchTag.prototype.removeTag=function(){this.tagConfig.inputId&&$("#"+this.tagConfig.inputId).val(""),$("#"+this.tagConfig.tagContainerId).remove()};Cyberoam.advanceFilterComponent=function(e){this.config=e,this.config.placeholderId?this.createButton():Cyberoam.messageBox({message:"Placeholder Div is not defined"})},Cyberoam.advanceFilterComponent.prototype.createButton=function(){var e=this,t=$("#"+e.config.placeholderId);t.length?(t.append('<div id="advanceFilterButton" title="Add filter"><label>'+e.config.buttonLable+'</label><div class="advanceFilterIcon fa fa-sort-desc"></div><div class="fa fa-caret-down" style="margin-left: 5px; font-size: 15px;></div></div>'),$("#advanceFilterButton").on("click",(function(){$("#advanceFilterOpenBox").length?$("#advanceFilterOpenBox").remove():t.append(e.returnPopupHtml()),e.bindEvents(t)}))):Cyberoam.messageBox({message:"Placeholder Div is not found"})},Cyberoam.advanceFilterComponent.prototype.returnPopupHtml=function(){var e=this,t=conditionOptionHtml="";for(t in e.config.field)if(e.config.field.hasOwnProperty(t)){var a=e.config.field[t];conditionOptionHtml+='<option tagLable="'+a.TagLable+'" value="'+a.Value+'" filtertype="'+a.filterType+'">'+a.ComponentLable+"</option>"}return $('<div id="advanceFilterOpenBox" class="advanceFilterPopupOpenBox">\t\t\t\t\t\t\t<div class="advanceFilterWrapperDiv">\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFirstLineDiv">\t\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFontFiled advanceFilterBoxSecondLineDiv"><label id="Language.Add_Filter">Add filter</label></div>\t\t\t\t\t\t\t\t\t<div id="advanceFilterBoxSecondLineDivClose" class="fa fa-times fa-3x advanceFilterBoxSecondLineDivClose"></div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFieldsText"><label id="Language.Field">Field</label>: </div>\t\t\t\t\t\t\t\t<div>\t\t\t\t\t\t\t\t\t<select id="advancefieldselection"  class="advanceFieldSelection">\t\t\t\t\t\t\t\t\t'+conditionOptionHtml+'\t\t\t\t\t\t\t\t\t</select>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFieldsText adavnceFilterConditionDiv"><label id="Language.Condition">Condition</label>: </div>\t\t\t\t\t\t\t\t<div><select id="advanceconditionselection" class="adavnceFilterConditionDiv advanceFieldSelection"></select></div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFieldsText thirdBox"></div>\t\t\t\t\t\t\t\t<div id="advanceFilterBoxValue" style="margin:30px 0px 0px 5px;"></div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxSubmitButtonDiv"><input type="submit" id="advanceFilterBoxSubmit" class="cp-btn cp-green-btn" value="'+Language.Add_Filter+'"></div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>')}
2086,Cyberoam.advanceFilterComponent.prototype.bindEvents=function(e){var t=this;$("#advanceFilterBoxSecondLineDivClose").on("click",(function(){t.hidePopup()})),$(document).on("click",(function(e){var a=$("#advanceFilterOpenBox, #advanceFilterButton, .CNS-multi-selector-div");a.is(e.target)||0!==a.has(e.target).length||$(".CNS-single-selector-div").length||$(".CNS-multi-selector-div").length||$(".messegeBoxcontent").length||t.hidePopup()})),$("#advancefieldselection").on("change",(function(){$("#advanceFilterBoxValue").html("");var e=$("#advancefieldselection :selected").attr("filtertype"),a="";for(key in t.config.condition[e])if(t.config.condition[e].hasOwnProperty(key)){var i=t.config.condition[e][key];a+='<option tagLable="'+i.TagLable+'"  value="'+i.value+'" filtertype="'+e+'" subfiltertype="'+key+'">'+i.label+"</option>"}$("#advanceconditionselection").html("").append(a).trigger("change")})),$("#advanceconditionselection").on("change",(function(){$("#advanceFilterBoxValue").html(""),$("#advanceFilterOpenBox .thirdBox").html("");var e=$("#advanceconditionselection :selected"),a=e.attr("filtertype"),i=e.attr("subfiltertype"),n="",l="",o=t.config.condition[a][i].type;if(o){if("text"==o)n="Value :",l='<input type="text" id="advanceInputBox" class="advanceInputBox" value="" maxlength="255"><select id="advanceValueSelection" class="advanceFieldSelection" style="display:none;"></select>\t\t\t\t\t\t\t<div alt="paste" class="paste manageicon" onclick="LogViewer.pasteAnonymizedFilterTxt();" title="Paste from temporary variable" id="advancepasteicon" style="display: none;"></div>',$("#advanceFilterBoxValue").html(l);else if("SingleSelector"==o||"MultiSelector"==o){n="Select :";var c=t.config.condition[a][i].data,d=t.config.condition[a][i].defaultOption,r=t.config.condition[a][i].searchableItems;null!=r&&null!=r||(r=[]),t.initSingleSelector(c,o,d,r)}$("#advanceFilterOpenBox .thirdBox").html("<label>"+n+"</label>")}t.config.condition[a][i].hidden?$(".adavnceFilterConditionDiv").hide():$(".adavnceFilterConditionDiv").show()})),$("#advanceFilterBoxSubmit").on("click",(function(){if(t.validateAdvanceFilterData()){var e=$("#advancefieldselection").val();e||(e=$("#advanceconditionselection :selected").val());var a="advancefieldselection"+e.replace(/[^A-Z0-9]/gi,"_");if(t.config.tagConfig.tagContainerId=a,t.config.displaySelectedTag&&(t.config.searchTag=new Cyberoam.searchTag(t),t.config.searchTag.create()),t.config.afterOk){var i=t.getKeyFilterVal();t.config.afterOk(i.key,i.val,i.selectedKey)}t.hidePopup()}})),$("#advancefieldselection").trigger("change")},Cyberoam.advanceFilterComponent.prototype.validateAdvanceFilterData=function(){var e=!0,t=$("#advanceconditionselection option:selected").attr("value"),a=$("#advanceFilterOpenBox #advanceInputBox");if($("#advanceFilterOpenBox .thirdBox").children().length){if(a.length)finalVal=a.val(),finalVal||(Cyberoam.messageBox({message:Language.FwPleaseEnterVal}),e=!1);else if(this.selectorData&&this.selectorData.selectorObj){this.selectorData.selectorObj.object.getSelectedLabels().length||(Cyberoam.messageBox({message:Language.FwSelectOne}),e=!1)}}else finalVal=t;return e},Cyberoam.advanceFilterComponent.prototype.initSingleSelector=function(e,t,a,i){var n=t;this.selectorData={selectorObj:{objType:n,config:{defaultOption:a,id:"advanceFilterBoxValue",isSearchBox:!0,defaultLabel:Language.Select,searchableItems:i,data:e}}},Cyberoam.initEntityObject(null,this.selectorData)},Cyberoam.advanceFilterComponent.prototype.hidePopup=function(){$("#advanceFilterOpenBox").remove()},Cyberoam.advanceFilterComponent.prototype.getSelectedValue=function(){},Cyberoam.advanceFilterComponent.prototype.clearMethod=function(){},Cyberoam.advanceFilterComponent.prototype.getKeyFilterVal=function(){var e={},t="",a="",i=$("#advancefieldselection option:selected").attr("value"),n=$("#advanceconditionselection option:selected").attr("value"),l=$("#advanceFilterOpenBox #advanceInputBox");if($("#advanceFilterOpenBox .thirdBox").children().length){if(l.length)a=l.val();else if(this.selectorData&&this.selectorData.selectorObj){var o=this.selectorData.selectorObj.object.getSelectedLabels();o.length&&(a=o.join(",")),(t=this.selectorData.selectorObj.object.getSelectedKeys()).length&&(t=t.join(","))}}else a=n;return i||n&&a&&(i=n),i&&a&&(e.val=a,e.key=i,e.selectedKey=t),e},Cyberoam.advanceFilterComponent.prototype.getTagsLabel=function(){var e,t="",a=$("#advancefieldselection option:selected").attr("taglable"),i=$("#advanceconditionselection option:selected").attr("taglable"),n=$("#advanceFilterOpenBox #advanceInputBox");if($("#advanceFilterOpenBox .thirdBox").children().length){if(n.length){if(!(t=n.val()))return Cyberoam.messageBox({message:"Please enter valid value."}),!1}else if(this.selectorData&&this.selectorData.selectorObj){var l=this.selectorData.selectorObj.object.getSelectedLabels();l.length&&(t=l.join(","))}i&&"undefined"!=i||(i=""),e=a+" "+i+" "+t}else t=i,e=a+" "+i;return e};Cyberoam.ListBox=function(t){for(var e in this.config={id:"",data:[],height:150,returnKey:!1,formater:"",addValidation:"",deleteValidation:"",addOperation:"",deleteOperation:"",draggable:!1,style:"",disabled:!1,width:150,textValidation:!0}
2086,this.searchInterval=null,this.searchData=[],this.listSearchThread=null,this.lastSearch="",this.myDTDrags=[],t){if(null==this.config[e])return Cyberoam.messageBox({message:"Wrong ListBox Configuration "+e}),void(this.config={id:"",data:[],addValidation:"",deleteValidation:"",draggable:!1});this.config[e]=t[e]}void 0===this.config.data&&(this.config.data={},this.config.data.length=0)},Cyberoam.ListBox.prototype.isDisabled=function(){return this.config.disabled},Cyberoam.ListBox.prototype.disabled=function(t){this.config.disabled=t,document.getElementById("btnAddItem"+this.config.id).disabled=!!t},Cyberoam.ListBox.prototype.deleteOperationBySystem=function(t){if(!this.config.disabled){var e=!0;if(""!=this.config.deleteValidation&&(e=this.config.deleteValidation(t.parent().parent(),t.prev().prev().attr("key"),this)),e){t.addClass("processing");var i=t.prev().prev().attr("key"),a=-1,o=0;for(var s in this.config.data){if(s==i){a=o;break}o++}if(""!=this.config.deleteOperation)(e=this.config.deleteOperation(t.parent().parent(),i,a,this))||t.removeClass("processing");else{delete this.config.data[i];try{this.config.data.length--}catch(t){}for(var s in this.searchData)this.searchData[s].label==i&&this.searchData.splice(s,1);this.setListBody()}}}},Cyberoam.ListBox.prototype.deleteNode=function(t){if(!this.config.disabled){var e=-1,i=0,a=!1;for(var o in this.config.data){if(o==t.key){e=i,a=!0;break}"length"!=o&&i++}if(a){delete this.config.data[t.key];try{this.config.data.length--}catch(t){}i=0;for(var o in this.searchData)this.searchData[o].label==t.label&&(this.searchData.splice(o,1),e=i),i++;var s=document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0];s.childNodes[e]&&s.removeChild(s.childNodes[e])}}},Cyberoam.ListBox.prototype.deleteAll=function(){this.config.data={},this.config.data.length=0,this.setListBody()},Cyberoam.ListBox.prototype.deleteNodeByIndex=function(t){if(!this.config.disabled&&this.config.data.length>t){delete this.config.data[document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0].childNodes[0].innerHTML];try{this.config.data.length--}catch(t){}var e=document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0];e.childNodes[t]&&e.removeChild(e.childNodes[t])}},Cyberoam.ListBox.prototype.insertOperationBySystem=function(t){if(!this.config.disabled){var e=this.config,i=!0,a=jQuery("#txtListItem"+this.config.id).val();(!e.textValidation||""!=a&&a!=Language.SearchOrAdd)&&(document.getElementById("listbody"+this.config.id).innerHTML="<div class='processing'>&nbsp;</div>",""!=e.addValidation&&(i=e.addValidation(a,this)),i?""!=e.addOperation?(i=e.addOperation(a,this))||this.afterInsertNode():(e.data[a]={label:a,key:a},this.afterInsertNode()):this.afterInsertNode()),jQuery("#txtListItem"+this.config.id).val(""),jQuery("#txtListItem"+this.config.id).css("color","#000"),i&&jQuery("#txtListItem"+this.config.id).trigger("focus")}},Cyberoam.ListBox.prototype.ListBoxNodes=function(){return this.config.data},Cyberoam.ListBox.prototype.insertNode=function(t){if(!this.config.disabled){""!=t.label&&t.label!=Language.SearchOrAdd&&(this.config.data[t.key]=t,this.config.data.length++),this.afterInsertNode()}},Cyberoam.ListBox.prototype.afterInsertNode=function(){this.setListBody()},Cyberoam.ListBox.prototype.searchListBox=function(t){null!=this.searchInterval&&clearTimeout(this.searchInterval);var e=this,i=this.config.data,a=t.val();this.searchProcess=function(t,i){document.getElementById("listbody"+this.config.id);if(this.lastSearch.length>t.length?this.searchData=[]:this.searchData.length>0&&(i=this.searchData,this.searchData=[]),""!=t&&"rgb(204, 204, 204)"!=document.getElementById("txtListItem"+this.config.id).style.color){t=t.toLowerCase(),jQuery("#listbody"+this.config.id).html("");var a=document.getElementById("listbody"+this.config.id),o=Cyberoam.createElement({tag:"table",className:"box"},a);o.setAttribute("cellspacing","1"),o.setAttribute("width","100%");var s=Cyberoam.createElement({tag:"tbody"},o),n=!0;for(var r in i)if("length"!=r&&0==i[r].label.toLowerCase().indexOf(t)){this.searchData.push(i[r]);var d=Cyberoam.createElement({tag:"tr"},s),l=Cyberoam.createElement({tag:"td"},d);n=!1;var c=Cyberoam.createElement({tag:"span"},l);c.style.display="none",c.setAttribute("key",i[r].label);var h=Cyberoam.createElement({tag:"div",title:i[r].label},l);Cyberoam.isIE?h.style.styleFloat="left":h.style.cssFloat="left",h.style.marginLeft="5px",h.style.width=this.config.width-48+"px",h.appendChild(document.createTextNode(i[r].label)),(h=Cyberoam.createElement({tag:"div",className:"listclose",title:i[r].label},l)).onclick=function(){e.deleteOperationBySystem(jQuery(this))}}if(n){d=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},s);(l=Cyberoam.createElement({tag:"td"},d)).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}}else this.searchData=[],this.setListBody();this.lastSearch=t},(""!=a||""==a&&""!=this.lastSearch)&&(this.searchInterval=setTimeout((function(){e.searchProcess(a,i)}),1e3))},Cyberoam.ListBox.prototype.refresh=function(){this.setListBody()},Cyberoam.ListBox.prototype.setListBody=function(t){null!=this.searchInterval&&clearTimeout(this.searchInterval);var e=[];null==t?e=this.config.data:(this.config.data=t,e=t),jQuery("#listbody"+this.config.id).html("");var i=document.getElementById("listbody"+this.config.id),a=this,o=Cyberoam.createElement({tag:"table",className:"box"},i);o.setAttribute("cellspacing","1"),o.setAttribute("width","100%");var s=Cyberoam.createElement({tag:"tbody"},o);if(void 0===e.length)for(var n in e.length=0,e)e.hasOwnProperty(n)&&e.length++;var r=!0;for(var n in e)if(e.hasOwnProperty(n)){if("length"==n)continue;if(void 0===e[n].label&&(e[n].label=n),this.config.draggable)(d=Cyberoam.createElement({tag:"tr",id:n+"_node",label:e[n].label},s)).style.cursor="move",d.setAttribute("key",n);else var d=Cyberoam.createElement({tag:"tr"},s);var l=Cyberoam.createElement({tag:"td"},d);null!=e[n].label&&""!=e[n].label||(e[n].label=n),r=!1;var c=Cyberoam.createElement({tag:"span"},l);c.style.display="none",c.setAttribute("key",n);var h=Cyberoam.createElement({tag:"div",title:e[n].label},l);Cyberoam.isIE?h.style.styleFloat="left":h.style.cssFloat="left",h.style.marginLeft="5px",h.style.width=this.config.width-48+"px",h.appendChild(document.createTextNode(e[n].label)),(h=Cyberoam.createElement({tag:"div",className:"listclose",title:e[n].label},l)).onclick=function(){a.deleteOperationBySystem(jQuery(this))}}if(r){d=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},s);(l=Cyberoam.createElement({tag:"td"},d)).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}this.config.draggable&&this.dragDropTableRow()},Cyberoam.ListBox.prototype.getRecord=function(){return this.config.data},Cyberoam.ListBox.prototype.getRecordKey=function(){var t=[];for(var e in this.config.data)"length"!=e&&t.push(e);return t},Cyberoam.ListBox.prototype.getRecordLabel=function(){var t=[];for(var e in this.config.data)"length"!=e&&t.push(this.config.data[e].label);return t},Cyberoam.ListBox.prototype.create=function(){if(""!=this.id){var t=this;jQuery("#"+this.config.id).attr("class","listBoxContainer"),jQuery("#"+this.config.id).attr("style",this.config.style);var e=parseInt(document.getElementById(this.config.id).style.width);if(this.config.width=e,jQuery("#"+this.config.id).html('<table align="center" cellspacing="1" cellpadding="0" style="width:'+jQuery("#"+this.config.id).width()+'px;"><tr><td><input type="text" id="txtListItem'+this.config.id+'"  style="width:100%;height: 17px;color:#CCCCCC" value=\''+Cyberoam.getTranslatedMSG("Language.SearchOrAdd")+'\'/></td><td width="40px"><input type="button" id="btnAddItem'+this.config.id+'" style="margin-right:0px;height: 23px;margin-left: 4px;font-size: 12px;"  value=\''+Cyberoam.getTranslatedMSG("Language.Add")+"'/></td></tr></table><div id=\"listbody"+this.config.id+'" style="height:150px;overflow:auto;"></div>'),void 0!==this.config.style){var i=parseInt(document.getElementById(this.config.id).style.height);isNaN(i)&&(i=150),document.getElementById("listbody"+this.config.id).style.height=i-35+"px"}jQuery("#btnAddItem"+this.config.id).on("click",(function(){t.insertOperationBySystem(jQuery(this))})),jQuery("#txtListItem"+this.config.id).on("keyup",(function(){t.searchListBox(jQuery(this))})),jQuery("#txtListItem"+this.config.id).on("focus",(function(t){Cyberoam.textEmptyFocus(this,Cyberoam.getTranslatedMSG("Language.SearchOrAdd"))})),jQuery("#txtListItem"+this.config.id).on("blur",(function(t){Cyberoam.textEmptyBlur(this,Cyberoam.getTranslatedMSG("Language.SearchOrAdd"))})),this.setListBody(),this.disabled(this.config.disabled)}},Cyberoam.ListBox.prototype.dragDropTableRow=function(){var t=document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0];if(t){var e=t.childNodes.length,i=YAHOO.util.Dom,a=YAHOO.util.Event,o=YAHOO.util.DragDropMgr,s=this;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("listbodynirav");for(j=0;j<e;j++)s.myDTDrags[t.childNodes[j].id]&&(s.myDTDrags[t.childNodes[j].id].unreg(),delete s.myDTDrags[t.childNodes[j].id]),s.myDTDrags[t.childNodes[j].id]=new YAHOO.example.DDList(t.childNodes[j].id)}},YAHOO.example.DDList=function(t,e,a){YAHOO.example.DDList.superclass.constructor.call(this,t,e,a);var o=this.getDragEl();i.setStyle(o,"opacity",.67),this.goingUp=!1,this.lastY=0},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(t,e){if(!s.config.disabled){var a=this.getDragEl(),o=this.getEl();a.innerHTML=o.innerHTML,i.setStyle(a,"color",i.getStyle(o,"color")),i.setStyle(a,"backgroundColor",i.getStyle(o,"backgroundColor")),i.setStyle(a,"border","2px solid gray")}},endDrag:function(a){var o=this.getEl(),n=this.getDragEl();i.setStyle(n,"visibility","");var r=new YAHOO.util.Motion(n,{points:{to:i.getXY(o)}},.2,YAHOO.util.Easing.easeOut),d=n.id,l=this.id;for(r.onComplete.subscribe((function(){i.setStyle(d,"visibility","hidden"),i.setStyle(l,"visibility","")})),r.animate(),s.config.data=[],j=0;j<e;j++)t.childNodes[j]&&(s.config.data[t.childNodes[j].getAttribute("key")]={label:t.childNodes[j].childNodes[0].childNodes[2].getAttribute("title"),key:t.childNodes[j].getAttribute("key")})},onDragDrop:function(t,e){if(!s.config.disabled&&1===o.interactionInfo.drop.length){var a=o.interactionInfo.point;if(!o.interactionInfo.sourceRegion.intersect(a)){var n=i.get(e);if("tbody"==n.nodeName.toLowerCase()){var r=o.getDDById(e);n.appendChild(this.getEl()),r.isEmpty=!1,o.refreshCache()}}}},onDrag:function(t){if(!s.config.disabled){var e=a.getPageY(t);e<this.lastY?this.goingUp=!0:e>this.lastY&&(this.goingUp=!1),this.lastY=e}},onDragOver:function(t,e){if(!s.config.disabled){var a=this.getEl(),n=i.get(e);if("tr"==n.nodeName.toLowerCase()){a.parentNode;var r=n.parentNode;"tbody"==r.nodeName.toLowerCase()&&(this.goingUp?r.insertBefore(a,n):r.insertBefore(a,n.nextSibling)),o.refreshCache()}}}}),a.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)}};
2086Cyberoam.Menu=function(e){for(var t in this.config={id:"",menuItems:[],currentURL:null,contextPath:"/webconsole"},e)"undifiend"!=this.config[t]?this.config[t]=e[t]:Cyberoam.messageBox({message:"Wrong Configuration for Menu"+t})},Cyberoam.Menu.prototype.create=function(){var e=this;this.currentTabs=null,jQuery("#"+this.config.id).html("<div id='"+this.config.id+"_menu0_data' class='main_data'></div>");var t;void 0!==this.config.type&&"array"==this.config.type.toLowerCase()&&(this.config.menuItems=this.menuArrayToJSON(this.config.menuItems)),t=this.config.menuItems;var n=function(t,l,i,a){for(var s=0;s<t.length;s++){var o=!0;t[s].module||(t[s].module=a),t[s].validator&&(o=t[s].validator(t[s].module,t[s].aclEntity)),o&&(e.createMenuItem(s,i,t[s].label,t[s].url,l,t[s].linktype,t[s].imagePosition,t[s].module,t[s].childNodes,t[s].title,t[s].aclEntity,t[s].beforeOperation,t[s].appController),t[s].childNodes&&n(t[s].childNodes,l+1,i+"_"+s,t[s].module))}};n(t,0,0,"")},Cyberoam.Menu.prototype.menuArrayToJSON=function(e){var t=0,n=0,l=function(){for(var i=[];t<e.length;){var a={};if(a.label=e[t][0],0==e[t][2]?(a.module=e[t][1],a.imagePosition=e[t][3]):(""!=e[t][1]&&(a.url=e[t][1]),void 0!==e[t][3]&&(a.module=e[t][3]),void 0!==e[t][4]&&(a.linktype=e[t][4])),a.validator=function(e){return validateMenuItem(e)},e[t+1]){if(e[t+1][2]==n)i.push(a),t++;else if(e[t+1][2]>n){if(n++,t++,a.childNodes=l(),e[t]&&e[t][2]!=n)return n--,i.push(a),i;i.push(a)}else if(e[t+1][2]<n)return i.push(a),t++,n--,i}else t++}return i};return l()},Cyberoam.Menu.prototype.goToURL=function(e){Cyberoam.xhrPool.abortAll(),this.config.currentURL=e,void 0!==this.config.type&&"array"==this.config.type.toLowerCase()?document.getElementById("mainframe").src=this.config.contextPath+e:Cyberoam.setMainFrame(e)},Cyberoam.Menu.prototype.getCurrentURL=function(){return this.config.currentURL},Cyberoam.Menu.prototype.showCurrentURL=function(){if(null==this.config.currentURL)return null;this.displayMenuByURL(this.config.currentURL)},Cyberoam.Menu.prototype.displayMenuByNumber=function(e){null!=this.currentTabs&&void 0!==this.currentTabs[e-1]&&this.displayMenuByURL(this.currentTabs[e-1].url)},Cyberoam.Menu.prototype.displayMenuByURL=function(e,t){var n=this,l=function(i,a,s){for(var o=0;o<i.length;o++){if(-1!=e.indexOf(i[o].url)&&s){var d=s.split("_"),c=document.getElementById(n.config.id+"_menu"+d[0]+"_"+d[1]);$(".menudata0").hide(),$("#"+c.id+"_data").show(),$(".lavel0_menu").attr("class","lavel0_menu"),$(".lavel0_menu").each((function(e){this.childNodes[0].style.backgroundPosition="-4px "+this.childNodes[0].style.backgroundPosition.split(" ")[1]})),$(".menu0select").hide(),$(c).next().show(),$(c).addClass("lavel0_menu_select"),c.childNodes[0].style.backgroundPosition="-29px "+c.childNodes[0].style.backgroundPosition.split(" ")[1];var u=null;1==a?(u=document.getElementById(n.config.id+"_menu"+d[0]+"_"+d[1]+"_"+o),o=0):u=document.getElementById(n.config.id+"_menu"+d[0]+"_"+d[1]+"_"+d[2]),$(".lavel1_menu").attr("class","lavel1_menu"),$(u).addClass("lavel1_menu_select"),document.getElementById("tab_menu").className="menutab",document.getElementById("tab_menu").innerHTML=document.getElementById(u.id+"_data").innerHTML,$(".menu1select").hide(),$(u).next().show(),$(u).next().css("top",$(u).offset().top);var m=document.getElementById("tab_menu").childNodes[o];return m.childNodes[0].className+=" "+m.childNodes[0].className+"_select",m.childNodes[1].className+=" "+m.childNodes[1].className+"_select",m.childNodes[2].className+=" "+m.childNodes[2].className+"_select",n.currentTabs=i,i[o].appController?Cyberoam.appController=i[o].appController:Cyberoam.appController=Cyberoam.defaultController,2==a?$("#tab_menu .tablavel2_menu").off().on("click",(function(){n.displayMenu(this,2,i)})):$("#tab_menu .tablavel2_menu").off().on("click",(function(){n.displayMenu(this,2,[{label:i[o].label,url:i[o].url}])})),void 0===t?n.goToURL(e):n.goToURL(t),!0}if(-1!=e.indexOf(i[o].url))return(c=document.getElementById(n.config.id+"_menu0_"+o))&&$(c).addClass("lavel0_menu_select"),n.goToURL(e),!0;if(i[o].childNodes&&l(i[o].childNodes,a+1,s+"_"+o))return!0}return!1};l(this.config.menuItems,0,0)||n.goToURL(e)}
2086,Cyberoam.Menu.prototype.createMenuItem=function(e,t,n,l,i,a,s,o,d,c,u,m,r){var h=$("#"+this.config.id+"_menu"+t+"_data"),_=this,v=e;e=t+"_"+e;if(htmlCon="",0==i){void 0===c&&(c=n),2==a?htmlCon=m?"<a href='"+Cyberoam.contextPath+"/"+l+"' onclick=' return "+m+"()'>":"<a href='"+Cyberoam.contextPath+"/"+l+"'>":1==a&&(htmlCon="<a href='"+Cyberoam.contextPath+"/"+l+"' target='_blank'>"),htmlCon+='<div class="lavel0_menu" id="'+this.config.id+"_menu"+e+'" title="'+c+'" ><div class="menu0image" style="background-position:-4px -'+s+'px;"></div><div class="menu0text" style="overflow:hidden; text-overflow:ellipsis; white-space:nowrap;" >'+n+'</div></div><div class="menu0select" id="'+this.config.id+"_menu"+e+'_select"></div><div id="'+this.config.id+"_menu"+e+'_data" class="menudata0" style="display:none" ></div>',2!=a&&1!=a||(htmlCon+="</a>")}else 1==i?(1==a&&(htmlCon="<a href='"+Cyberoam.contextPath+"/"+l+"' target='_blank' >"),d?(htmlCon+='<div class="lavel1_menu" id="'+this.config.id+"_menu"+e+'" ><div class="menu1image" ></div>'+n+'</div><div class="menu1select" id="'+this.config.id+"_menu"+e+'_select" ></div>',htmlCon+='<div id="'+this.config.id+"_menu"+e+'_data" class="menudata1" style="display:none" ></div>'):(htmlCon+='<div class="lavel1_menu" id="'+this.config.id+"_menu"+e+'" pageelementid='+u+'><div class="menu1image" ></div>'+n+'</div><div class="menu1select" id="'+this.config.id+"_menu"+e+'_select" ></div>',htmlCon+='<div id="'+this.config.id+"_menu"+e+'_data" class="menudata1" style="display:none" ><div id="'+this.config.id+"_menu"+e+'" class="tablavel2_menu" style="display:none" index=0 pageelementid='+u+' ><div class="tablavel2_menu_left"></div><div class="tablavel2_menu_middel">'+n+'</div><div class="tablavel2_menu_right"></div></div></div>'),1==a&&(htmlCon+="</a>")):htmlCon='<div id="'+this.config.id+"_menu"+e+'" class="tablavel2_menu" style="display:none" index=\''+v+"' pageelementid='"+u+'\'><div class="tablavel2_menu_left"></div><div class="tablavel2_menu_middel">'+n+'</div><div class="tablavel2_menu_right"></div></div>';h.append(htmlCon),a||$("#"+this.config.id+"_menu"+e).on("click",(function(){_.displayMenu(this,i,d,l,r)}))},Cyberoam.Menu.prototype.refreshMenu=function(){$(".menudata0").hide(),$(".menu0select").hide(),$(".menu1select").hide(),$(".lavel1_menu").attr("class","lavel1_menu"),document.getElementById("tab_menu").innerHTML="",document.getElementById("tab_menu").className="",$(".lavel0_menu").each((function(e){this.childNodes[0].style.backgroundPosition="-4px "+this.childNodes[0].style.backgroundPosition.split(" ")[1],this.className="lavel0_menu"}))},Cyberoam.Menu.prototype.displayMenu=function(e,t,n,l,i){var a=this;if(Cyberoam.appController=i||Cyberoam.defaultController,0==t)$("#"+e.id).hasClass("lavel0_menu_select")?($("#"+e.id+"_data").hide(),$(e).removeClass("lavel0_menu_select"),e.childNodes[0].style.backgroundPosition="-4px "+e.childNodes[0].style.backgroundPosition.split(" ")[1],$(".menu0select").hide()):($(".menudata0").hide(),$("#"+e.id+"_data").show(),$(".lavel0_menu").attr("class","lavel0_menu"),$(".lavel0_menu").each((function(e){this.childNodes[0].style.backgroundPosition="-4px "+this.childNodes[0].style.backgroundPosition.split(" ")[1]})),$(".menu0select").hide(),$(e).next().show(),$(e).next().next()&&$(e).next().next().show(),$(e).addClass("lavel0_menu_select"),e.childNodes[0].style.backgroundPosition="-29px "+e.childNodes[0].style.backgroundPosition.split(" ")[1]),l&&this.goToURL(l);else if(1==t)if($(".lavel1_menu").attr("class","lavel1_menu"),$(e).addClass("lavel1_menu_select"),document.getElementById("tab_menu").className="menutab",document.getElementById("tab_menu").innerHTML=document.getElementById(e.id+"_data").innerHTML,$(".menu1select").hide(),$(e).next().show(),$(e).next().css("top",$(e).offset().top),n){if(u=e.getAttribute("index")){var s=document.getElementById("tab_menu").childNodes;for(var o in s)if(s[o].id==e.id+"_"+u){d=s[o];break}}else for(var d=document.getElementById("tab_menu").childNodes[0],o=0;o<n.length;o++)if(d.id==e.id+"_"+o){u=o;break}d&&(d.childNodes[0].className+=" "+d.childNodes[0].className+"_select",d.childNodes[1].className+=" "+d.childNodes[1].className+"_select",d.childNodes[2].className+=" "+d.childNodes[2].className+"_select"),$("#tab_menu .tablavel2_menu").each((function(e){this.onclick=function(){a.displayMenu(this,2,n)}})),Cyberoam.pageElementId=n[u].aclEntity,this.goToURL(n[u].url),this.currentTabs=n}else{(d=document.getElementById("tab_menu").childNodes[0]).childNodes[0].className+=" "+d.childNodes[0].className+"_select",d.childNodes[1].className+=" "+d.childNodes[1].className+"_select",d.childNodes[2].className+=" "+d.childNodes[2].className+"_select";var c=d.childNodes[1].innerHTML;$("#tab_menu .tablavel2_menu").each((function(e){this.onclick=function(){a.displayMenu(this,2,[{label:c,url:l}])}})),this.currentTabs=null,Cyberoam.pageElementId=e.getAttribute("pageelementid"),this.goToURL(l)}else{$("#tab_menu .tablavel2_menu_left").attr("class","tablavel2_menu_left"),$("#tab_menu .tablavel2_menu_right").attr("class","tablavel2_menu_right"),$("#tab_menu .tablavel2_menu_middel").attr("class","tablavel2_menu_middel"),e.childNodes[0].className+=" "+e.childNodes[0].className+"_select",e.childNodes[1].className+=" "+e.childNodes[1].className+"_select",e.childNodes[2].className+=" "+e.childNodes[2].className+"_select";var u=e.getAttribute("index");l=n[u].url;var m=e.id.substring(0,e.id.lastIndexOf("_"));$("#"+m).attr("index",u),Cyberoam.pageElementId=e.getAttribute("pageelementid"),this.goToURL(l)}Cyberoam.setStatusBarMessage("","")};Cyberoam.MultListBox=function(t){for(var e in this.config={id:"",data:[],returnKey:!1,getOpcodeValue:"",selectOperation:"",deleteOperation:"",leftHeader:"",rightHeader:"",dragable:!1,disabled:!1,style:"",selectedItems:[],height:200,width:350,createItem:{},popupDiv:""},this.searchInterval=null,this.searchData=[],t){if(null==this.config[e])return Cyberoam.messageBox({message:"Wrong ListBox Configuration "+e}),void(this.config={id:"",data:[],dragable:!1,disabled:!1});this.config[e]=t[e]}},Cyberoam.MultListBox.prototype.create=function(){if(""!=this.id){var t=this;if(""==this.config.leftHeader||null==this.config.leftHeader)var e="All List";else e=this.config.leftHeader;var i=jQuery("#"+this.config.id);if(i.attr("style",this.config.style),200!=this.config.height&&i.height(parseInt(this.config.height)),350!=this.config.width&&i.width(parseInt(this.config.width)),""==this.config.rightHeader||null==this.config.rightHeader)var l="Selected List";else l=this.config.rightHeader;var s=parseInt((i.width()-35)/2);jQuery("#"+this.config.id).attr("class","maincontainer"),jQuery("#"+this.config.id).html('<table width="100%"><tr class="multilistheader" ><td width="50%"> <div class="left" title="'+e+"\" style='width:"+s+"px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;'>"+e+'</div></td><td><div class="right" title="'+l+"\" style='width:"+s+"px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;'>"+l+'</div></td></tr><tr><td valign="top"><div id="defaultlist'+this.config.id+'"style="float:left;" ></div></td><td valign="top"><div class="selectboxcontainer" style="height:'+(jQuery("#"+this.config.id).height()-33)+'px;width:99% !important;" ><ul id="sellist'+this.config.id+'" class="selmultlist"></ul></div></td></tr></table>'),jQuery("#defaultlist"+this.config.id).attr("class","listBoxContainer");var a=96;if(this.config.createItem&&this.config.createItem.url&&(a=68),jQuery("#defaultlist"+this.config.id).html('<table width="100%" al
2086ign="center" cellspacing="0" cellpadding="0"><tr><td><input type="text" id="txtListItem'+this.config.id+'" placeholder="'+Cyberoam.getTranslatedMSG("Language.typeToSearch")+'" class="searchtext" style="color:#334653;height:22px;padding-left: 5px;width:'+a+"% !important;border-radius: 4px;\" /><div id='MutliListItemCreateNewLabel"+this.config.id+"' style='display:none'></div></td></tr></table><div id=\"listbody"+this.config.id+'" style="height:'+(jQuery("#"+this.config.id).height()-70)+'px;min-width:200px;overflow-y:auto"></div>'),jQuery("#txtListItem"+this.config.id).on("keyup",(function(){t.searchListBox(jQuery(this))})),this.config.createItem&&this.config.createItem.url){var o;if(""==this.config.popupDiv){o=$("<div></div>").attr("id","MutliListPopupDiv"+this.config.id).appendTo(i);var d=-$("#"+this.config.id).height();o.css({position:"relative",top:d+"px"}),this.config.popupDiv="MutliListPopupDiv"+this.config.id}var n="Create";this.config.createItem.label&&(n=Cyberoam.getTranslatedMSG(this.config.createItem.label)),$("#txtListItem"+this.config.id).css({float:"left"}),(h=$("#MutliListItemCreateNewLabel"+this.config.id)).show(),h.text(n),h.css({float:"left","text-overflow":"ellipsis","white-space":"nowrap",width:"30%",overflow:"hidden",color:"#005bc8",cursor:"pointer","padding-left":"2px"});var c=this;h.on("click",(function(){c.config.createItem.url&&""!=c.config.createItem.url&&Cyberoam.showWidgetPopup({title:c.config.createItem.pageTitle,URL:c.config.createItem.url+"&multilist="+c.config.id,width:620,height:400,popupDiv:c.config.popupDiv})}))}var r=[];if(void 0!==this.config.selectedItems){r=this.config.selectedItems;for(var m=0;m<r.length;m++)this.config.data[r[m]].selected=!0}this.config.selectedItems="",this.setListBody();for(m=0;m<r.length;m++){this.config.data[r[m]].index;var g=document.getElementById("sellist"+this.config.id),h=document.createElement("li");this.config.dragable&&(h.style.cursor="move"),h.className="List_item_single",h.id="sellist_"+this.config.id+"_"+r[m],h.title=this.config.data[r[m]].label;var f=this.config.data[r[m]].label,u=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},h),b=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+r[m],className:"multilist-item-icon",title:"remove"},u),y=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},u);u.setAttribute("key",r[m]),u.setAttribute("label",this.config.data[r[m]].label),u.style.width=this.config.width/2+"px",y.appendChild(document.createTextNode(f)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},b).style.fontSize="1.4em",g.appendChild(h),this.config.data[r[m]].selected=!0,void 0!==this.config.data[r[m]].disabled&&0!=this.config.data[r[m]].disabled||(b.onclick=function(){for(var e=this.id.split("_"),i=e[2],l=3;l<e.length;l++)i=i+"_"+e[l];t.removeMultiListSelElement(i)})}1==this.config.dragable&&this.MultiListYUI()}},Cyberoam.MultListBox.prototype.setMultiList=function(t,e){var i=this;if(this.config.data=t,this.config.selectedItems=[],this.setListBody(),void 0!==e){this.config.selectedItems=e;for(var l=0;l<e.length;l++){void 0!==this.config.data[e[l]].disabled&&1==this.config.data[e[l]].disabled?document.getElementById("mainlist_"+this.config.id+"_icon_"+e[l]).className="multiselect_item_select_disabled":document.getElementById("mainlist_"+this.config.id+"_icon_"+e[l]).className="multiselect_item_select";var s=document.getElementById("sellist"+this.config.id),a=document.createElement("li");this.config.dragable&&(a.style.cursor="move"),a.className="List_item_single",a.id="sellist_"+this.config.id+"_"+e[l],a.title=this.config.data[e[l]].label;var o=this.config.data[e[l]].label,d=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},a),n=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+e[l],className:"multilist-item-icon",title:"remove"},d),c=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},d);d.setAttribute("key",e[l]),d.setAttribute("label",this.config.data[e[l]].label),d.style.width=this.config.width/2+"px",c.appendChild(document.createTextNode(o)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},n).style.fontSize="1.4em",s.appendChild(a),this.config.data[e[l]].selected=!0,void 0!==this.config.data[e[l]].disabled&&0!=this.config.data[e[l]].disabled||(n.onclick=function(){for(var t=this.id.split("_"),e=t[2],l=3;l<t.length;l++)e="_"+t[l];i.removeMultiListSelElement(e)})}}1==this.config.dragable&&this.MultiListYUI()},Cyberoam.MultListBox.prototype.setListBody=function(t){var e=[];e=null==t?this.config.data:t,jQuery("#listbody"+this.config.id).html(""),jQuery("#sellist"+this.config.id).html("");var i=this,l=document.getElementById("listbody"+this.config.id),s=document.getElementById("sellist"+this.config.id),a=Cyberoam.createElement({tag:"table",className:"box"},l);a.setAttribute("cellspacing","1"),a.setAttribute("cellpadding","0"),a.setAttribute("style","background-color:transparent;"),a.setAttribute("width","100%");var o=Cyberoam.createElement({tag:"tbody"},a),d=0;if(void 0===e.length)for(var n in e.length=-1,e)e.hasOwnProperty(n)&&e.length++;for(var n in e)if("length"!=n){tr=Cyberoam.createElement({tag:"tr"},o),this.config.draggable?(td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="move"):(td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="pointer"),e[n].index=d,null!=e[n].label&&""!=e[n].label||(e[n].label=n);var c=e[n].label,r={tag:"div",className:"multiselect_item_label",id:"mainlist_"+this.config.id+"_"+n,title:e[n].label},m={tag:"div",id:"mainlist_"+this.config.id+"_icon_"+n,title:e[n].label};
2086if(1==e[n].selected){if(void 0!==e[n].disabled&&1==e[n].disabled?m.className="multiselect_item_select_disabled":m.className="multiselect_item_select",""!=this.config.selectedItems){var g=document.createElement("li");this.config.dragable&&(g.style.cursor="move"),g.className="List_item_single",g.id="sellist_"+this.config.id+"_"+n,g.title=e[n].label;c=e[n].label;var h=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},g),f=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+n,className:"multilist-item-icon",title:"remove"},h),u=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},h);h.setAttribute("key",n),h.setAttribute("label",e[n].label),h.style.width=this.config.width/2+"px",u.appendChild(document.createTextNode(c)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},f).style.fontSize="1.4em",s.appendChild(g),void 0!==e[n].disabled&&0!=e[n].disabled||(f.onclick=function(){for(var t=this.id.split("_"),e=t[2],l=3;l<t.length;l++)e=e+"_"+t[l];i.removeMultiListSelElement(e)})}}else void 0!==e[n].disabled&&1==e[n].disabled?m.className="multiselect_item_disabled":m.className="multiselect_item";divIcon=Cyberoam.createElement(m,td),$(divIcon).attr("divtype","icon"),div=Cyberoam.createElement(r,td),void 0!==e[n].disabled&&1==e[n].disabled||(div.onclick=function(){i.insertMultiListSelElement(this)},divIcon.onclick=function(){i.insertMultiListSelElement(this)}),div.setAttribute("key",n),div.style.width=this.config.width/2-25+"px",div.setAttribute("label",e[n].label),div.appendChild(document.createTextNode(c)),d++}if(void 0===e.length||0==e.length){var b=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},o);Cyberoam.createElement({tag:"td"},b).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}1==this.config.dragable&&this.MultiListYUI()},Cyberoam.MultListBox.prototype.removeMultiListSelElement=function(t){if(!this.config.disabled){var e=document.getElementById("mainlist_"+this.config.id+"_"+t);document.getElementById("mainlist_"+this.config.id+"_icon_"+t).className="multiselect_item",this.config.data[e.getAttribute("key")].selected=!1;var i=document.getElementById("sellist"+this.config.id);i.removeChild(document.getElementById("sellist_"+this.config.id+"_"+t)),i.scrollHeight==parseInt(i.style.height)&&(i.style.height="auto",i.style.overflowY=""),""!=this.config.deleteOperation&&this.config.deleteOperation(e.getAttribute("key"),e.getAttribute("label"))}},Cyberoam.MultListBox.prototype.isDisabled=function(){return this.config.disabled},Cyberoam.MultListBox.prototype.isEnabled=function(){return!this.config.disabled},Cyberoam.MultListBox.prototype.setDisabled=function(t){this.config.disabled=t},Cyberoam.MultListBox.prototype.setEnabled=function(t){this.config.disabled=!t},Cyberoam.MultListBox.prototype.insertMultiListSelElement=function(t){if(!this.config.disabled){for(var e=this,i=(document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0].childNodes,$(t).parent().find("[divtype='icon']").get(0)),l=$(t).parent().find(".multiselect_item_label").get(0),s=l.id.split("_"),a=s[2],o=3;o<s.length;o++)a=a+"_"+s[o];if("multiselect_item_select"==i.className){i.className="multiselect_item",e.removeMultiListSelElement(a);var d=l.getAttribute("key");this.config.data[d].selected=!1}else{i.className="multiselect_item_select";var n=document.getElementById("sellist"+this.config.id),c=document.createElement("li");this.config.dragable&&(c.style.cursor="move"),c.className="List_item_single",c.id="sellist_"+this.config.id+"_"+a;d=l.getAttribute("key");var r=l.getAttribute("label");c.title=r;var m=r,g=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},c),h=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+a,className:"multilist-item-icon",title:"remove"},g),f=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},g);g.setAttribute("key",d),g.setAttribute("label",r),g.style.width=this.config.width/2+"px",f.appendChild(document.createTextNode(m)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},h).style.fontSize="1.4em",n.appendChild(c),h.onclick=function(){e.removeMultiListSelElement(a)},this.config.data[d].selected=!0}""!=this.config.selectOperation&&this.config.selectOperation(d,r),1==this.config.dragable&&this.MultiListYUI()}},Cyberoam.MultListBox.prototype.afterInsertNode=function(){this.setListBody()},Cyberoam.MultListBox.prototype.searchListBox=function(t){var e=this,i=this.config.data,l=t.val();this.searchProcess=function(t,i){document.getElementById("sellist"+this.config.id).childNodes;var l=document.getElementById("listbody"+this.config.id);if(""!=t){t=t.toLowerCase(),jQuery("#listbody"+this.config.id).html("");var s=Cyberoam.createElement({tag:"table"},l);s.setAttribute("cellspacing","1"),s.setAttribute("cellpadding","0"),s.setAttribute("width","100%");var a=Cyberoam.createElement({tag:"tbody"},s);
2086for(var o in i)if("length"!=o){if(1!=i[o].selected&&0==i[o].label.toLowerCase().indexOf(t)){this.searchData.push(i[o]),tr=Cyberoam.createElement({tag:"tr"},a),td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="pointer",(r=i[o].label).length>20&&(r=r.substr(0,20)+"...");var d={tag:"div",className:"multiselect_item_label",id:"mainlist_"+this.config.id+"_"+o,title:i[o].label},n={tag:"div",id:"mainlist_"+this.config.id+"_icon_"+o,title:i[o].label};1==i[o].selected?void 0!==i[o].disabled&&1==i[o].disabled?n.className="multiselect_item_select_disabled":n.className="multiselect_item_select":void 0!==i[o].disabled&&1==i[o].disabled?n.className="multiselect_item_disabled":n.className="multiselect_item",divIcon=Cyberoam.createElement(n,td),$(divIcon).attr("divtype","icon"),div=Cyberoam.createElement(d,td),void 0!==i[o].disabled&&1==i[o].disabled||(div.onclick=function(){e.insertMultiListSelElement(this)},divIcon.onclick=function(){e.insertMultiListSelElement(this)}),div.setAttribute("key",o),div.style.width=this.config.width/2-25+"px",div.setAttribute("label",i[o].label),div.appendChild(document.createTextNode(r))}else if(1==i[o].selected){var c=i[o].label;tr=Cyberoam.createElement({tag:"tr"},a),td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="pointer";d={tag:"div",className:"multiselect_item_label",id:"mainlist_"+this.config.id+"_"+o,title:c},n={tag:"div",id:"mainlist_"+this.config.id+"_icon_"+o,title:c,className:"multiselect_item_select"};divIcon=Cyberoam.createElement(n,td),$(divIcon).attr("divtype","icon"),div=Cyberoam.createElement(d,td),void 0!==i[o].disabled&&1==i[o].disabled||(div.onclick=function(){e.insertMultiListSelElement(this)},divIcon.onclick=function(){e.insertMultiListSelElement(this)}),div.setAttribute("key",o),div.setAttribute("label",c);var r=c;div.appendChild(document.createTextNode(r)),div.style.width=this.config.width/2-25+"px",this.searchData.push(i[o])}0}if(0==this.searchData.length){var m=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},a);Cyberoam.createElement({tag:"td"},m).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}}else this.searchData=[],this.config.selectedItems=this.getSelectedKeys(),this.setListBody()},null!=this.searchInterval&&clearTimeout(this.searchInterval),this.searchInterval=setTimeout((function(){e.searchProcess(l,i)}),100)},Cyberoam.MultListBox.prototype.insertNode=function(t){""!=t.label&&t.label!=Language.typeToSearch&&this.config.data.unshift(t),this.afterInsertNode()},Cyberoam.MultListBox.prototype.insertNodeKey=function(t,e,i){var l=!1;i&&(l=!0),""!=t&&t!=Language.typeToSearch&&(this.config.data[e]={label:t});var s=this.getSelectedLabels()||[];for(var a in this.config.selectedItems=[],this.setListBody(),l&&(s.push(t),$("#listbody"+this.config.id+" .noRecordFound").remove()),s)if(s[a]){s[a]=Cyberoam.replaceAll(s[a],"\\","\\\\"),s[a]=Cyberoam.replaceAll(s[a],"'","\\'");var o=$("#listbody"+this.config.id).find("div[label='"+s[a]+"']"),d=o.parent().find("div[divtype='icon']");d.hasClass("multiselect_item_select_disabled")||d.removeClass("multiselect_item_select").addClass("multiselect_item"),this.insertMultiListSelElement(o.get(0))}},Cyberoam.MultListBox.prototype.getSelectedItems=function(){for(var t=[],e=document.getElementById("sellist"+this.config.id).childNodes,i=0;i<e.length;i++){var l={};l[e[i].childNodes[0].getAttribute("key")]={lable:e[i].childNodes[0].getAttribute("label")},t[e[i].childNodes[0].getAttribute("key")]=l}return t},Cyberoam.MultListBox.prototype.getSelectedKeys=function(){for(var t=document.getElementById("sellist"+this.config.id).childNodes,e=[],i=0;i<t.length;i++){var l=t[i].childNodes[0].getAttribute("key");this.config.data[l].selected=!0,e.push(l)}return e},Cyberoam.MultListBox.prototype.getSelectedLabels=function(){for(var t=document.getElementById("sellist"+this.config.id).childNodes,e=[],i=0;i<t.length;i++){var l=t[i].childNodes[0].getAttribute("label");e.push(l)}return e},Cyberoam.MultListBox.prototype.MultiListYUI=function(){var t=YAHOO.util.Dom,e=YAHOO.util.Event,l=YAHOO.util.DragDropMgr,s=this;YAHOO.example.DDApp={init:function(){if(0==s.config.disabled){new YAHOO.util.DDTarget("sellist"+s.config.id);var t=document.getElementById("sellist"+s.config.id);for(i=0;i<t.childNodes.length;i+=1)new YAHOO.example.DDList(t.childNodes[i].id)}}},YAHOO.example.DDList=function(e,i,l){if(0==s.config.disabled){YAHOO.example.DDList.superclass.constructor.call(this,e,i,l);var a=this.getDragEl();t.setStyle(a,"opacity",.67),this.goingUp=!1,this.lastY=0}},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(e,i){if(0==s.config.disabled){var l=this.getDragEl(),a=this.getEl();try{document.getElementById("dragdiv")&&a.removeChild(document.getElementById("dragdiv"))}catch(t){}l.innerHTML=a.innerHTML,t.setStyle(l,"color",t.getStyle(a,"color")),t.setStyle(l,"backgroundColor",t.getStyle(a,"backgroundColor")),t.setStyle(l,"border","2px solid gray")}},endDrag:function(e){if(0==s.config.disabled){var i=this.getEl(),l=this.getDragEl();t.setStyle(l,"visibility","");var a=new YAHOO.util.Motion(l,{points:{to:t.getXY(i)}},.2,YAHOO.util.Easing.easeOut),o=l.id,d=this.id;a.onComplete.subscribe((function(){t.setStyle(o,"visibility","hidden"),t.removeClass(d,"dragElementSpace")})),a.animate()}},onDragDrop:function(t,e){if(0==s.config.disabled&&1===l.interactionInfo.drop.length)l.interactionInfo.point,l.interactionInfo.sourceRegion}
2086,onDrag:function(t){if(0==s.config.disabled){var i=e.getPageY(t);i<this.lastY?this.goingUp=!0:i>this.lastY&&(this.goingUp=!1),this.lastY=i}},onDragOver:function(e,i){if(0==s.config.disabled){var a=this.getEl(),o=t.get(i);if("li"==o.nodeName.toLowerCase()){a.parentNode;var d=o.parentNode;this.goingUp?d.insertBefore(a,o):d.insertBefore(a,o.nextSibling),l.refreshCache()}}}}),e.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)};function getID(e){return document.getElementById(e)}Cyberoam.pageLayer=0,Cyberoam.pageObject={},Cyberoam.pageObject[0]={},Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1,Cyberoam.popupCloseInterval=null,Cyberoam.currentNavigationUrl="",Cyberoam.showPopup=function(e){null!=Cyberoam.currentObject&&Cyberoam.currentObject.hide(),Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup=!0,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.createPopupDiv(),document.getElementById("TB_overlay").style.opacity="0.5",e.URL?(Cyberoam.pageObject[Cyberoam.pageLayer].operation=Cyberoam.getRequestParam(e.URL,"operation"),Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule=Cyberoam.getRequestParam(e.URL,"clone"),Cyberoam.sendPageRequest(e.URL,e.width,e.height)):e.id?(Cyberoam.setPopupContent(e.id,e.width,e.height),Cyberoam.setFocus()):e.template&&e.module&&(Cyberoam.setPopupContentString(e.template,e.width,e.height),Cyberoam.pageLoad(e.module),Cyberoam.setFocus()),(null==e.closeOnEscape||e.closeOnEscape)&&Cyberoam.onEscPopupClose("popup"+Cyberoam.pageLayer),Cyberoam.setStatusBarMessage("",""),Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1},Cyberoam.showPopupInline=function(e){null!=Cyberoam.currentObject&&Cyberoam.currentObject.hide(),Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup=!0,Cyberoam.createPopupDivInline(),e.URL?(Cyberoam.pageObject[Cyberoam.pageLayer].operation=Cyberoam.getRequestParam(e.URL,"operation"),Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule=Cyberoam.getRequestParam(e.URL,"clone"),Cyberoam.sendPageRequest(e.URL)):e.id&&(Cyberoam.setPopupContent(e.id,e.width,e.height),Cyberoam.setFocus()),Cyberoam.setStatusBarMessage("",""),Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1,window.scrollTo(0,0)},Cyberoam.createPopupDivInline=function(){var e=!1;if(null!=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton&&(e=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton),null==Cyberoam.pageObject[Cyberoam.pageLayer].close){var a="right: 20px;";if(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].message)a="right: 25px;";e?"":'<div onmouseout="this.className=\'popupclose\'" onmouseover="this.className=\'popupclose_hover\'" style="'+a+'" onclick="Cyberoam.hidePopup()" class="popupclose"></div>'}jQuery("<div id=popupouter"+Cyberoam.pageLayer+" ><div id=popup"+Cyberoam.pageLayer+"></div></div>").appendTo(document.getElementById("inlinePopup"));document.getElementById("popup"+Cyberoam.pageLayer);jQuery(document.getElementById("mainframecontent")).hide()},Cyberoam.hidePopup=function(e){clearTimeout(Cyberoam.popupCloseInterval),Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.pageObject[Cyberoam.pageLayer].id&&(document.getElementById(Cyberoam.pageObject[Cyberoam.pageLayer].id).innerHTML=document.getElementById("popup"+Cyberoam.pageLayer).innerHTML),jQuery(document.getElementById("popup"+Cyberoam.pageLayer).parentNode).remove(),void 0===Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&(Cyberoam.pageLayer>1?document.getElementById("TB_overlay").style.zIndex=200*(Cyberoam.pageLayer-1):(document.getElementById("TB_overlay").style.opacity="0",document.getElementById("TB_overlay").style.zIndex=-1)),Cyberoam.pageObject[Cyberoam.pageLayer].afterCancel&&"function"==typeof Cyberoam.pageObject[Cyberoam.pageLayer].afterCancel&&Cyberoam.pageObject[Cyberoam.pageLayer].afterCancel(),Cyberoam.clearAllTimeout();for(var a=Cyberoam.getElementsByClassName("CRController_body"),t=0;t<a.length;t++)a[t].getAttribute("layer")==Cyberoam.pageLayer&&jQuery(a[t]).remove();1==Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup&&(0===$("#tabs-container .popupouter").length?$("#tabs-container").remove():($("#widget-header #widgetPopupTitle"+(Cyberoam.pageLayer-1)).find(".widgetPopupHeader").addClass("widgetPopupHeader-focus").removeClass("widgetPopupHeader"),$("#widget-header #widgetPopupTitle"+(Cyberoam.pageLayer-1)).siblings(".fa-caret-right").remove(),document.getElementById("tabs-container").style.zIndex=200*(Cyberoam.pageLayer-1)+1,document.getElementById("tabs-container").parentNode.style.zIndex=200*(Cyberoam.pageLayer-1)+1),$("#popupouter"+(Cyberoam.pageLayer-1)).show(),$("#widget-header #widgetPopupTitle"+Cyberoam.pageLayer).remove(),void 0===$("#tabs-container")[0]&&Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv&&Cyberoam.hideShowWidgetPopupTR(Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv,"none")),1==Cyberoam.pageObject[Cyberoam.pageLayer-1].widgetPopup&&(document.getElementById("TB_overlay").style.opacity="0.3"),Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=null,Cyberoam.pageObject[Cyberoam.pageLayer]=null,Cyberoam.pageLayer--,Cyberoam.pageObject[Cyberoam.pageLayer]&&(Cyberoam.getDataObject=Cyberoam.pageObject[Cyberoam.pageLayer].dataObject),void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&(document.getElementById("TB_overlay").style.opacity="0",document.getElementById("TB_overlay").style.zIndex=-1),0==Cyberoam.pageLayer&&jQuery(document.getElementById("mainframecontent")).show(),Cyberoam.setPageTitle(),1==Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup&&Cyberoam.setFocus()},Cyberoam.refreshPage=function(){Cyberoam.sendPageRequest(Cyberoam.pageObject[Cyberoam.pageLayer].URL,Cyberoam.pageObject[Cyberoam.pageLayer].width,Cyberoam.pageObject[Cyberoam.pageLayer].height),Cyberoam.setStatusBarMessage("","")},Cyberoam.messageBox=function(e){Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup=!0,Cyberoam.createPopupDiv();var a=Language.OkCC,t=Language.Cancel,o="",r=500;void 0!==e.okLabel&&(a=e.okLabel),void 0!==e.cancelLabel&&(t=e.cancelLabel);
2086var n='<div id="popupcontent" class="messegeBoxcontent">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /></div>';e.confirm&&(n='<div id="popupcontent" class="messegeBoxcontent">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /><input style="margin-right: 15px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /></div>'),e.warning&&(r=650,e.headerMessage&&(o='<div class="subheader">'+Cyberoam.getTranslatedMSG(e.headerMessage)+"</div>"),n=o+'<div class="icomoon-caution messageWarning"></div><div id="popupcontent"  class="messegeBoxcontent" style = "width:90%">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /><input style="margin-right: 15px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /></div>'),e.redeula&&(r=650,e.headerMessage&&(o='<div class="subheader">'+Cyberoam.getTranslatedMSG(e.headerMessage)+"</div>"),n=o+'<div id="popupcontent"  class="messegeBoxcontent" style = "width:90%">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /></div>'),e.localAPcountry&&(r=800,e.headerMessage&&(o='<div class="subheader" align="center" style="font-weight:bolder">'+Cyberoam.getTranslatedMSG(e.headerMessage)+"</div>"),n=o+'<div id="popupcontent"  class="messegeBoxcontent" style = "width:90%;font-weight: bold;">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style=""text-align: center;Width:50px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /><input style=""text-align: center;Width:50px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /></div>'),Cyberoam.fillContentInDiv(n,r),e.obj&&document.getElementById("popupcontent").appendChild(e.obj),document.getElementById("popup"+Cyberoam.pageLayer).style.height="auto",document.getElementById("popup"+Cyberoam.pageLayer).style.height=document.getElementById("popup"+Cyberoam.pageLayer).offsetHeight+10+"px",e.autoClose&&(Cyberoam.popupCloseInterval=setTimeout("Cyberoam.hidePopup()",5e3)),document.getElementById("popup"+Cyberoam.pageLayer).getElementsByTagName("input")[0].focus(),Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),document.getElementById("TB_overlay").style.opacity="0.5",Cyberoam.onEscPopupClose("popup"+Cyberoam.pageLayer)},Cyberoam.setTimeout=function(e,a,t){Cyberoam.pageObject[Cyberoam.pageLayer]&&(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].timers&&(Cyberoam.pageObject[Cyberoam.pageLayer].timers={}),Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]=setTimeout(a,t))},Cyberoam.clearTimeout=function(e){Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.pageObject[Cyberoam.pageLayer].timers&&Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]&&(clearTimeout(Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]),Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]=null)},Cyberoam.clearAllTimeout=function(){if(Cyberoam.pageObject[Cyberoam.pageLayer])for(var e in Cyberoam.pageObject[Cyberoam.pageLayer].timers)Cyberoam.pageObject[Cyberoam.pageLayer].timers.hasOwnProperty(e)&&(clearTimeout(Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]),Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]=null)},Cyberoam.setMainFrame=function(e,a){jQuery("#ygddfdiv").remove(),Cyberoam.set_hash(e);for(var t=Cyberoam.pageLayer;t>0;t--)Cyberoam.hidePopup();if("undefined"!=typeof CCC&&void 0!==CCC.pageLayer)for(t=CCC.pageLayer;t>0;t--)CCC.hidePopup();Cyberoam.pageLayer=0,Cyberoam.clearAllTimeout();var o=Cyberoam.getElementsByClassName("CRController_body");for(t=0;t<o.length;t++)o[t].getAttribute("layer")==Cyberoam.pageLayer&&jQuery(o[t]).remove();var r="";void 0!==Cyberoam.pageObject[Cyberoam.pageLayer]&&(r=Cyberoam.pageObject[0].URL,Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=null,Cyberoam.pageObject[Cyberoam.pageLayer]=null),Cyberoam.pageObject[Cyberoam.pageLayer]={operation:Cyberoam.getRequestParam(e,"operation")},Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule=Cyberoam.getRequestParam(e,"clone"),Cyberoam.pageObject[Cyberoam.pageLayer].prevURL=r,Cyberoam.pageObject[Cyberoam.pageLayer].URL=e,Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.page=e.substring(e.lastIndexOf("/")+1,e.lastIndexOf(".jsp")),Cyberoam.topBarHook(e),Cyberoam.sendPageRequest(e),1!=a&&Cyberoam.setStatusBarMessage("",""),document.getElementById("content")&&document.getElementById("content").childNodes[0]&&"subheader"==document.getElementById("content").childNodes[0].className&&jQuery(document.getElementById("content").childNodes[0]).remove()},Cyberoam.topBarHook=function(e){var a=$("#topbar-title"),t=$("#topbar #breadcrumbs");a.empty().append(t.detach()),a.height(Cyberoam.topBarHeight)},Cyberoam.closeMessageBox=function(e){if(1==e){clearTimeout(Cyberoam.popupCloseInterval),Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.pageObject[Cyberoam.pageLayer].id&&(document.getElementById(Cyberoam.pageObject[Cyberoam.pageLayer].id).innerHTML=document.getElementById("popup"+Cyberoam.pageLayer).innerHTML),jQuery(document.getElementById("popup"+Cyberoam.pageLayer).parentNode).remove(),Cyberoam.pageLayer>1&&void 0===Cyberoam.pageObject[Cyberoam.pageLayer-1].inlinePopup?document.getElementById("TB_overlay").style.zIndex=200*(Cyberoam.pageLayer-1):(document.getElementById("TB_overlay").style.opacity="0",document.getElementById("TB_overlay").style.zIndex=-1),1==Cyberoam.pageObject[Cyberoam.pageLayer-1].widgetPopup&&(document.getElementById("TB_overlay").style.opacity="0.3"),Cyberoam.pageObject[Cyberoam.pageLayer].afterOk&&Cyberoam.pageObject[Cyberoam.pageLayer].afterOk();var a=Cyberoam.pageLayer;Cyberoam.pageLayer--,Cyberoam.pageObject[a].afterOkAndClose&&Cyberoam.pageObject[a].afterOkAndClose()}else Cyberoam.hidePopup(e)},Cyberoam.createPopupDiv=function(){var e="",a=!1;if(null!=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton&&(a=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton),null==Cyberoam.pageObject[Cyberoam.pageLayer].close){var t="right: 20px;";if(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].message)t="right: 25px;";e=a?"":'<div onmouseout="this.className=\'popupclose\'" onmouseover="this.className=\'popupclose_hover\'" style="'+t+'" onclick="Cyberoam.hidePopup()" class="popupclose"></div>'}jQuery("<div class='cp-wrapper popupouter' id=popupouter"+Cyberoam.pageLayer+" ><div id=popup"+Cyberoam.pageLayer+" class='popupinner'></div>"+e+"</div>").appendTo(document.body);document.getElementById("popup"+Cyberoam.pageLayer),Cyberoam.createLightboxOverlay();document.getElementById("popup"+Cyberoam.pageLayer).parentNode.style.zIndex=200*Cyberoam.pageLayer+1;var o=parseInt((document.documentElement.clientHeight-document.getElementById("popup"+Cyberoam.pageLayer).parentNode.offsetHeight)/2),r=parseInt((document.documentElement.clientWidth-document.getElementById("popup"+Cyberoam.pageLayer).parentNode.offsetWidth)/2);$("#popup"+Cyberoam.pageLayer).parent().css("top",o+"px"),$("#popup"+Cyberoam.pageLayer).parent().css("left",r+"px")},Cyberoam.fillContentInDiv=function(e,a,t){var o="popup"+Cyberoam.pageLayer;if(0==Cyberoam.pageLayer&&(o=Cyberoam.mainFrame+" #mainframecontent"),Cyberoam.removeOver
2086Lay(),$("#"+o).empty().append(e),0!=Cyberoam.pageLayer){var r=document.documentElement.clientHeight,n=document.documentElement.clientWidth,y=100,p=50;if(popupElement=document.getElementById(o),(!0===Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup||!0===Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup&&!0===Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopupFixedPosition)&&(popupElement.style.height="auto",popupElement.style.width="auto",popupElement.style.overflow="auto",popupElement.style.clear="both",void 0!==t&&(popupElement.style.height=t+"px"),document.documentElement.clientHeight<popupElement.parentNode.offsetHeight+60&&(popupElement.style.height=r-100+"px"),y=parseInt((document.documentElement.clientHeight-document.getElementById(o).parentNode.offsetHeight)/2),popupElement.style.width=void 0!==a?a+"px":"600px",document.documentElement.clientWidth<document.getElementById(o).parentNode.offsetWidth?(popupElement.parentNode.style.width=n-100+"px",popupElement.style.width=n-100+"px"):popupElement.style.width=popupElement.offsetWidth+20+"px",p=parseInt((document.documentElement.clientWidth-document.getElementById(o).parentNode.offsetWidth)/2),!0===Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup?(popupElement.parentNode.style.top=y+"px",popupElement.parentNode.style.left=p+"px"):(popupElement.parentNode.parentNode.parentNode.style.top=y+"px",popupElement.parentNode.parentNode.parentNode.style.left=p+"px")),1==Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup){for(var m=$(".subheader"),b=0;b<m.length;b++)$(".subheader")[b].style.display="none";var i=document.getElementById("popup"+Cyberoam.pageLayer);if(i){var s=Cyberoam.getElementsByClassName("footer-btn-pnl",i);s[0]&&(s[0].className="popup-footer-btn-pnl")}}}},Cyberoam.setPopupContentString=function(e,a,t){Cyberoam.fillContentInDiv(e,a,t)},Cyberoam.setPopupContent=function(e,a,t){Cyberoam.fillContentInDiv(document.getElementById(e).innerHTML,a,t),document.getElementById(e).innerHTML=""},Cyberoam.getOperation=function(){return Cyberoam.pageObject[Cyberoam.pageLayer].operation},Cyberoam.getObjectID=function(){return Cyberoam.pageObject[Cyberoam.pageLayer].objectID?Cyberoam.pageObject[Cyberoam.pageLayer].objectID:0},Cyberoam.isCloneRule=function(){return!!Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule&&Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule},Cyberoam.isCloneRuleBool=function(){return"true"==Cyberoam.isCloneRule()},Cyberoam.setRequestObject=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].reuqestObject=e},Cyberoam.getRequestObject=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].reuqestObject?Cyberoam.pageObject[Cyberoam.pageLayer].reuqestObject:null},Cyberoam.setConfirm=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].confirm=e},Cyberoam.getConfirm=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].confirm?Cyberoam.pageObject[Cyberoam.pageLayer].confirm:null},Cyberoam.setClick=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].click=e},Cyberoam.getClick=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].click?Cyberoam.pageObject[Cyberoam.pageLayer].click:null},Cyberoam.setParentEntityObject=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].entityObject=e},Cyberoam.getParentEntityObject=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].entityObject?Cyberoam.pageObject[Cyberoam.pageLayer].entityObject:null},Cyberoam.getPageRequestParameter=function(e){if(Cyberoam.pageObject[Cyberoam.pageLayer].URL)return Cyberoam.getRequestParam(Cyberoam.pageObject[Cyberoam.pageLayer].URL,e)},Cyberoam.getCorporatePageInDiv=function(e,a){var t=Cyberoam.contextPath+"/webpages"+e;0==Cyberoam.pageLayer&&Cyberoam.currentNavigationUrl!==e&&($("#"+a).empty(),Cyberoam.currentNavigationUrl=e),Cyberoam.addOverLay(a);var o=function(e){$.ajax({url:e,success:function(e){$("#"+a).length>0&&($("#"+a).empty().append(e),Cyberoam.pageLoad(y)),Cyberoam.removeOverLay()}})},r=function(e){$.ajax({url:Cyberoam.contextPath+"/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!n(JSON.parse(e.responseText))||o(t)}
2086,error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},n=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,"undefined"!=typeof loginFrom&&"userportal"==loginFrom?location.href="/userportal/webpages/myaccount/login.jsp":location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},y=e.substring(0,e.indexOf("."));y=y.substring(y.lastIndexOf("/")+1),t=-1!=e.indexOf(".jsp")?Cyberoam.getURL(t,"t",(new Date).getTime()):Cyberoam.getURL(t,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=y,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(t,"objectID"),"300"==Cyberoam.getRequestParam(t,"mode")&&-1==e.indexOf(".jsp")?function(a){var t=Cyberoam.contextPath+"/Controller?"+e.substring(e.indexOf("?")+1);$.ajax({url:t,cache:!1,success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,width,height),void Cyberoam.removeOverLay()}catch(e){}var t=JSON.parse(e);n(t)&&(599!=t.status?r(a):(Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.jsp")),Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=t,Cyberoam.getDataObject=t)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})}(y):r(y)},Cyberoam.getiviewPageInDiv=function(e,a){var t="";t=-1==e.indexOf(".jsp")?"/iview/webpages/"+e:Cyberoam.contextPath+"/webpages/iview/"+e,Cyberoam.addOverLay(a);var o=function(e){$.ajax({url:e,contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){$("#"+a).html(e),Cyberoam.pageLoad(y),Cyberoam.removeOverLay()}})},r=function(e){$.ajax({url:"/iview/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!n(JSON.parse(e.responseText))||o(t)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},n=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},y=e.substring(0,e.indexOf("."));y=y.substring(y.lastIndexOf("/")+1),t=-1!=e.indexOf(".jsp")?Cyberoam.getURL(t,"t",(new Date).getTime()):Cyberoam.getURL(t,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=y,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(t,"objectID"),-1==e.indexOf(".jsp")?function(a){var t=Cyberoam.contextPath+"/AjaxController",o=e.substring(e.indexOf("?")+1);"json"==o.match("json")&&"startdate"==o.match("startdate")&&"edndate"==o.match("edndate")&&(o=o.split("startdate:")[0]+"startdate:"+Cyberoam.start+",edndate:"+Cyberoam.end+"}"),$.ajax({url:t,cache:!1,data:o,type:"POST",contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,width,height),void Cyberoam.removeOverLay()}catch(e){}var t=JSON.parse(e);n(t)&&(597==t.status?location.href=Cyberoam.contextPath+"/webpages/login.jsp":599!=t.status?r(a):(Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.html")),Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=t,Cyberoam.getDataObject=t)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})}(y):r(y)},Cyberoam.getPageInDiv=function(e,a){Cyberoam.getController()&&"iview"==Cyberoam.getController()?Cyberoam.getiviewPageInDiv(e,a):Cyberoam.getCorporatePageInDiv(e,a)},Cyberoam.corporatePageRequest=function(e,a,t){var o="popup"+Cyberoam.pageLayer,r=Cyberoam.contextPath+"/webpages"+e;r=Cyberoam.getURL(r,"popup",Cyberoam.pageLayer),0==Cyberoam.pageLayer&&(o=Cyberoam.mainFrame+" #mainframecontent"),Cyberoam.currentNavigationUrl!==e&&($("#"+o).empty(),$("#menuLevelDiv").css("visibility","hidden"),$("#timeDiv").css("visibility","hidden"),Cyberoam.currentNavigationUrl=e),Cyberoam.addOverLay(o);var n=function(e){$.ajax({url:e,success:function(e){Cyberoam.fillContentInDiv(e,a,t),-1==e.indexOf("Language.PageDenied")?Cyberoam.pageLoad(m):(0==Cyberoam.pageLayer?Cyberoam.setLabelValue(document.getElementById(Cyberoam.mainFrame)):Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),Cyberoam.setPageSize()),0!==Cyberoam.pageLayer&&Cyberoam.removeOver
2086Lay()}})},y=function(e){$.ajax({url:Cyberoam.contextPath+"/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!p(JSON.parse(e.responseText))||n(r)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},p=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,"undefined"!=typeof loginFrom&&"userportal"==loginFrom?location.href="/userportal/webpages/myaccount/login.jsp":location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},m=e.substring(0,e.indexOf("."));m=m.substring(m.lastIndexOf("/")+1),r=-1!=e.indexOf(".jsp")?Cyberoam.getURL(r,"t",(new Date).getTime()):Cyberoam.getURL(r,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=m,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(r,"objectID"),"300"==Cyberoam.getRequestParam(r,"mode")?function(o){var r=Cyberoam.contextPath+"/Controller?"+e.substring(e.indexOf("?")+1);$.ajax({url:r,cache:!1,success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,a,t),void Cyberoam.removeOverLay()}catch(e){}var r=JSON.parse(e);if(p(r)){if(599!=r.status&&502!=r.status)y(o);else if(599==r.status)Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.jsp");else if(502==r.status)return Cyberoam.removeOverLay(),Cyberoam.setStatusBarMessage(Message.RecordNotExists,r.status),void(""!=Cyberoam.pageObject[0].prevURL&&Cyberoam.setMainFrame(Cyberoam.pageObject[0].prevURL,1));Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=r,Cyberoam.getDataObject=r}},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})}(m):y(m)},Cyberoam.iviewPageRequest=function(e,a,t){var o="popup"+Cyberoam.pageLayer;0==Cyberoam.pageLayer&&(o=Cyberoam.mainFrame+" #mainframecontent"),Cyberoam.currentNavigationUrl!==e&&($("#"+o).empty(),Cyberoam.currentNavigationUrl=e),$("#menuLevelDiv").css("visibility","hidden"),$("#timeDiv").css("visibility","hidden"),Cyberoam.addOverLay(o);var r="";r=-1==e.indexOf(".jsp")?"/iview/webpages/"+e:Cyberoam.contextPath+"/webpages/iview/"+e;var n=r=Cyberoam.getURL(r,"popup",Cyberoam.pageLayer),y="";r.indexOf("?")>0&&(n=r.substring(0,r.indexOf("?")),y=r.substring(r.indexOf("?")+1));var p=function(e){$.ajax({type:"POST",url:n,data:y,contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){void 0!==e.status&&597==e.status&&(location.href=Cyberoam.contextPath+"/webpages/login.jsp"),Cyberoam.fillContentInDiv(e,a,t),$("#menuLevelDiv").css("visibility","visible"),$("#timeDiv").css("visibility","visible"),-1==e.indexOf("Language.PageDenied")?Cyberoam.pageLoad(i):(0==Cyberoam.pageLayer?Cyberoam.setLabelValue(document.getElementById(Cyberoam.mainFrame)):Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),Cyberoam.setPageSize()),Cyberoam.removeOverLay()}})},m=function(e){$.ajax({url:"/iview/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!b(JSON.parse(e.responseText))||p()},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},b=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},i=e.substring(0,e.indexOf("."));i=i.substring(i.lastIndexOf("/")+1),r=-1!=e.indexOf(".jsp")?Cyberoam.getURL(r,"t",(new Date).getTime()):Cyberoam.getURL(r,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=i,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(r,"objectID"),-1==e.indexOf(".jsp")?function(o){var r=Cyberoam.contextPath+"/AjaxController",n=e.substring(e.indexOf("?")+1);$.ajax({url:r,data:n,type:"POST",cache:!1,dataType:"json",contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,a,t),void Cyberoam.removeOver
2086Lay()}catch(e){}var r=e;if(b(r)){if(void 0===r.status||599!=r.status&&502!=r.status)m(o);else if(599==r.status)Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.jsp");else if(502==r.status)return Cyberoam.removeOverLay(),Cyberoam.setStatusBarMessage(Message.RecordNotExists,r.status),void(""!=Cyberoam.pageObject[0].prevURL&&Cyberoam.setMainFrame(Cyberoam.pageObject[0].prevURL,1));Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=r,Cyberoam.getDataObject=r}},error:function(e){Cyberoam.removeOverLay();var a=e.responseText;void 0!==a?-1==a.indexOf("session_ex.png")&&-1==a.indexOf("Language.PageDenied")||(location.href=Cyberoam.contextPath+"/webpages/login.jsp"):"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)},complete:function(){}})}(i):m(i)},Cyberoam.sendPageRequest=function(e,a,t){Cyberoam.getController()&&"iview"==Cyberoam.getController()?Cyberoam.iviewPageRequest(e,a,t):Cyberoam.corporatePageRequest(e,a,t)},Cyberoam.getController=function(){return!Cyberoam.getPageRequestParameter("ctrl")||null==Cyberoam.getPageRequestParameter("ctrl")&&"null"==Cyberoam.getPageRequestParameter("ctrl")||(Cyberoam.appController=Cyberoam.getPageRequestParameter("ctrl")),void 0===Cyberoam.appController&&(Cyberoam.appController=Cyberoam.defaultController),Cyberoam.appController},Cyberoam.parentPage=function(e){return void 0===e?Cyberoam.pageObject[Cyberoam.pageLayer-1].module:Cyberoam.pageObject[e].module},Cyberoam.getRequestParam=function(e,a){if(-1!=e.indexOf(a+"=")){var t=e.indexOf(a+"=")+a.length+1;return-1!=e.indexOf("&",t)?e.substring(t,e.indexOf("&",t)):e.substring(t)}return null},Cyberoam.removeRequestParam=function(e,a){if(-1!=e.indexOf(a+"=")){var t=e.indexOf(a+"="),o=e.indexOf("&",t);return-1==o?e.substring(0,t):e.substring(0,t)+e.substring(o)}return e};var dragObj=new Object;function dragStart(e,a){var t,o;dragObj.elNode=getID(a);try{t=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft,o=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop}catch(a){t=e.clientX+window.scrollX,o=e.clientY+window.scrollY}return dragObj.cursorStartX=t,dragObj.cursorStartY=o,dragObj.elStartLeft=parseInt(dragObj.elNode.style.left,10),dragObj.elStartTop=parseInt(dragObj.elNode.style.top,10),isNaN(dragObj.elStartLeft)&&(dragObj.elStartLeft=0),isNaN(dragObj.elStartTop)&&(dragObj.elStartTop=0),dragapproved=!0,document.onmousemove=function(e){dragGo(e),(e=new Cyberoam.Event(e)).clearKeyCode()},!1}var z,x,y,maxleft,maxtop,maxright,maxbottom,dragapproved=!1;function dragGo(e){var a,t;try{a=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft,t=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop}catch(o){a=e.clientX+window.scrollX,t=e.clientY+window.scrollY}if(dragapproved){var o=dragObj.elStartLeft+a-dragObj.cursorStartX,r=dragObj.elStartTop+t-dragObj.cursorStartY;return dragObj.elNode.style.left=o>0?o+"px":"1px",dragObj.elNode.style.top=r>0?r+"px":"1px",t>=document.getElementById("wrapper").offsetHeight-50&&(dragObj.elNode.style.top=document.getElementById("wrapper").offsetHeight-70+"px"),a>=document.getElementById("wrapper").offsetWidth-50&&(dragObj.elNode.style.left=document.getElementById("wrapper").offsetWidth-70+"px"),!1}}document.onmouseup=new Function("dragapproved=false; document.onmousemove=null;"),Cyberoam.showWidgetPopup=function(e){null!=Cyberoam.currentObject&&Cyberoam.currentObject.hide(),Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup=!0,e.popupDiv&&(Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv=e.popupDiv,Cyberoam.hideShowWidgetPopupTR(e.popupDiv,"")),Cyberoam.createWidgetPopupDiv(e),document.getElementById("TB_overlay").style.opacity="0.3",e.hideTitle&&(document.getElementById("widgetPopupTitle"+Cyberoam.pageLayer).style.display="none"),e.URL?(Cyberoam.pageObject[Cyberoam.pageLayer].operation=Cyberoam.getRequestParam(e.URL,"operation"),Cyberoam.sendPageRequest(e.URL,e.width,e.height)):e.id&&Cyberoam.setPopupContent(e.id,e.width,e.height),Cyberoam.setStatusBarMessage("",""),Cyberoam.onEscPopupClose("popupouter"+Cyberoam.pageLayer)},Cyberoam.createLightboxOverlay=function(){var e=document.getElementById("TB_overlay");return e||((e=document.createElement("div")).className="TB_overlayBG",e.id="TB_overlay",document.body.appendChild(e)),e.style.zIndex=200*Cyberoam.pageLayer,e.style.width=document.body.scrollWidth,e.style.height=document.body.scrollHeight,e},Cyberoam.createWidgetPopupDiv=function(e){var a,t="";Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv?t=Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv:Cyberoam.pageObject[Cyberoam.pageLayer-1]&&Cyberoam.pageObject[Cyberoam.pageLayer-1].popupDiv&&(t=Cyberoam.pageObject[Cyberoam.pageLayer-1].popupDiv),t?a=document.getElementById(""+t):(jQuery("<div id=widget-popup-"+Cyberoam.pageLayer+" class='cp-wrapper'></div>").appendTo(document.body),a=document.getElementById("widget-popup-"+Cyberoam.pageLayer)),$(a).addClass("widgetPopup");var o="";Cyberoam.pageObject[Cyberoam.pageLayer].title?o=Cyberoam.pageObject[Cyberoam.pageLayer].title:e.title&&(o=e.title),0==$("#tabs-container").length?($("<div id='tabs-container' class='widgetPopupDiv'><div id='widget-header'><div id='title-tags'><div class='widgetPopupTitle' id='widgetPopupTitle"+Cyberoam.pageLayer+"'><div class='widgetPopupHeader-focus'>"+o+"</div></div></div><div class='icomoon-x popup-close-icon last' onclick=\"Cyberoam.xhrPool.abortAll();Cyberoam.hidePopup();\"></div></div></div>").appendTo(a),$("<div id=popupouter"+Cyberoam.pageLayer+" class='popupouter'><div id=popup"+Cyberoam.pageLayer+" style='position: relative'></div></div>").appendTo($("#tabs-container"))):(0!=Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&1!=Cyberoam.pageObject[Cyberoam.pageLayer-1].widgetPopup||($("#widgetPopupTitle"+(Cyberoam.pageLayer-1)).find(".widgetPopupHeader-focus").addClass("widgetPopupHeader").removeClass("widgetPopupHeader-focus"),$("#widget-header #title-tags").append('<div class="fa fa-caret-right popup-breadcrumb"></div>'),$("#popupouter"+(Cyberoam.pageLayer-1)).hide()),$("<div class='widgetPopupTitle' id='widgetPopupTitle"+Cyberoam.pageLayer+"'><div class='widgetPopupHeader-focus'>"+o+"</div></div>").appendTo("#widget-header #title-tags"),$("<div id=popupouter"+Cyberoam.pageLayer+" class='popupouter'><div id=popup"+Cyberoam.pageLayer+" style='position: relative'></div></div>").appendTo($("#tabs-container")));Cyberoam.createLightboxOverlay();if(document.getElementById("popup"+Cyberoam.pageLayer).parentNode.style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").parentNode.style.zIndex=200*Cyberoam.pageLayer+1,!t){Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopupFixedPosition=!0,a.style.position="fixed",document.getElementById("popup"+Cyberoam.pageLayer).parentNode.style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").parentNode.style.zIndex=200*Cyberoam.pageLayer+1;var r=parseInt((document.documentElement.clientHeight-a.offsetHeight)/2),n=parseInt((document.documentElement.clientWidth-a.offsetWidth)/2);a.style.top=r+"px",a.style.left=n+"px"}},Cyberoam.hideShowWidgetPopupTR=function(e,a){if(e&&$("#"+e)[0]){var t=$("#"+e);t.parent()[0]&&t.parent().parent()[0]&&t.parent().parent()[0].tagName&&"tr"==t.parent().parent()[0].tagName.toLowerCase()&&(t.parent().parent()[0].style.display=a)}},Cyberoam.onEscPopupClose=function(e){$("#"+e).on("keyup",(function(e){27==new Cyberoam.Event(e).getKeyCode()&&Cyberoam.pageLayer>0&&(Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup||void 0===Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup)&&null==Cyberoam.pageObject[Cyberoam.pageLayer].close&&0!=Cyberoam.pageObject[Cyberoam.pageLayer].close&&Cyberoam.hidePopup()}))};
2087
2088/** The Calendar object constructor. */
2089Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) {
2090	// member variables
2091	this.activeDiv = null;
2092	this.currentDateEl = null;
2093	this.getDateStatus = null;
2094	this.timeout = null;
2095	this.onSelected = onSelected || null;
2096	this.onClose = onClose || null;
2097	this.dragging = false;
2098	this.hidden = false;
2099	this.minYear = 1970;
2100	this.maxYear = 2050;
2101	this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];
2102	this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
2103	this.isPopup = true;
2104	this.weekNumbers = true;
2105	this.mytab = false;
2106	this.firstDayOfWeek = firstDayOfWeek; // 0 for Sunday, 1 for Monday, etc.
2107	this.showsOtherMonths = false;
2108	this.dateStr = dateStr;
2109	this.ar_days = null;
2110	this.showsTime = false;
2111	this.time24 = true;
2112	this.yearStep = 2;
2113	this.timeFormatOnToday = 0;
2114	// HTML elements
2115	this.table = null;
2116	this.element = null;
2117	this.tbody = null;
2118	this.firstdayname = null;
2119	// Combo boxes
2120	this.monthsCombo = null;
2121	this.yearsCombo = null;
2122	this.hilitedMonth = null;
2123	this.activeMonth = null;
2124	this.hilitedYear = null;
2125	this.activeYear = null;
2126	// Information
2127	this.dateClicked = false;
2128
2129	// one-time initializations
2130	if (typeof Calendar._SDN == "undefined") {
2131		// table of short day names
2132		if (typeof Calendar._SDN_len == "undefined")
2133			Calendar._SDN_len = 3;
2134		var ar = new Array();
2135		for (var i = 8; i > 0;) {
2136			ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len);
2137		}
2138		Calendar._SDN = ar;
2139		// table of short month names
2140		if (typeof Calendar._SMN_len == "undefined")
2141			Calendar._SMN_len = 3;
2142		ar = new Array();
2143		for (var i = 12; i > 0;) {
2144			ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len);
2145		}
2146		Calendar._SMN = ar;
2147	}
2148};
2149
2150// ** constants
2151
2152/// "static", needed for event handlers.
2153Calendar._C = null;
2154
2155/// detect a special case of "web browser"
2156Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&
2157		   !/opera/i.test(navigator.userAgent) );
2158
2159Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) );
2160
2161/// detect Opera browser
2162Calendar.is_opera = /opera/i.test(navigator.userAgent);
2163
2164/// detect KHTML-based browsers
2165Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);
2166
2167// detect Chrome browser
2168Calendar.is_chrome = /chrome/i.test(navigator.userAgent);
2169// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate
2170//        library, at some point.
2171
2172Calendar.getAbsolutePos = function(el) {
2173	var SL = 0, ST = 0;
2174	var is_div = /^div$/i.test(el.tagName);
2175	if (is_div && el.scrollLeft)
2176		SL = el.scrollLeft;
2177	if (is_div && el.scrollTop)
2178		ST = el.scrollTop;
2179	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
2180	if (el.offsetParent) {
2181		var tmp = this.getAbsolutePos(el.offsetParent);
2182		r.x += tmp.x;
2183		r.y += tmp.y;
2184	}
2185	return r;
2186};
2187
2188Calendar.isRelated = function (el, evt) {
2189	var related = evt.relatedTarget;
2190	if (!related) {
2191		var type = evt.type;
2192		if (type == "mouseover") {
2193			related = evt.fromElement;
2194		} else if (type == "mouseout") {
2195			related = evt.toElement;
2196		}
2197	}
2198	/*while (related) {
2199		if (related == el) {
2200			return true;
2201		}
2202		related = related.parentNode;
2203	}*/
2204	return false;
2205};
2206
2207Calendar.removeClass = function(el, className) {
2208	if (!(el && el.className)) {
2209		return;
2210	}
2211	var cls = el.className.split(" ");
2212	var ar = new Array();
2213	for (var i = cls.length; i > 0;) {
2214		if (cls[--i] != className) {
2215			ar[ar.length] = cls[i];
2216		}
2217	}
2218	el.className = ar.join(" ");
2219};
2220
2221Calendar.addClass = function(el, className) {
2222	Calendar.removeClass(el, className);
2223	el.className += " " + className;
2224};
2225
2226Calendar.getElement = function(ev) {
2227	if (Calendar.is_ie) {
2228		return window.event.srcElement;
2229	} else {
2230		return ev.currentTarget;
2231	}
2232};
2233
2234Calendar.getTargetElement = function(ev) {
2235	if (Calendar.is_ie) {
2236		return window.event.srcElement;
2237	} else {
2238		return ev.target;
2239	}
2240};
2241
2242Calendar.stopEvent = function(ev) {
2243	ev || (ev = window.event);
2244	if (Calendar.is_ie) {
2245		ev.cancelBubble = true;
2246		ev.returnValue = false;
2247	} else {
2248		ev.preventDefault();
2249		ev.stopPropagation();
2250	}
2251	return false;
2252};
2253
2254Calendar.addEvent = function(el, evname, func) {
2255	if (el.attachEvent) { // IE
2256		el.attachEvent("on" + evname, func);
2257	} else if (el.addEventListener) { // Gecko / W3C
2258		el.addEventListener(evname, func, true);
2259	} else {
2260		el["on" + evname] = func;
2261	}
2262};
2263
2264Calendar.removeEvent = function(el, evname, func) {
2265	if (el.detachEvent) { // IE
2266		el.detachEvent("on" + evname, func);
2267	} else if (el.removeEventListener) { // Gecko / W3C
2268		el.removeEventListener(evname, func, true);
2269	} else {
2270		el["on" + evname] = null;
2271	}
2272};
2273
2274Calendar.createElement = function(type, parent) {
2275	var el = null;
2276	if (document.createElementNS) {
2277		// use the XHTML namespace; IE won't normally get here unless
2278		// _they_ "fix" the DOM2 implementation.
2279		el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
2280	} else {
2281		el = document.createElement(type);
2282	}
2283	if (typeof parent != "undefined") {
2284		parent.appendChild(el);
2285	}
2286	return el;
2287};
2288
2289// END: UTILITY FUNCTIONS
2290
2291// BEGIN: CALENDAR STATIC FUNCTIONS
2292
2293/** Internal -- adds a set of events to make some element behave like a button. */
2294Calendar._add_evs = function(el) {
2295	with (Calendar) {
2296		addEvent(el, "mouseover", dayMouseOver);
2297		addEvent(el, "mousedown", dayMouseDown);
2298		addEvent(el, "mouseout", dayMouseOut);
2299		if (is_ie) {
2300			addEvent(el, "dblclick", dayMouseDblClick);
2301			el.setAttribute("unselectable", true);
2302		}
2303	}
2304};
2305Calendar.myeve = function(el) {
2306	with (Calendar) {
2307		addEvent(el, "mousedown", dayMouseDown);
2308		if (is_ie) {
2309			//addEvent(el, "dblclick", dayMouseDblClick);
2310			el.setAttribute("unselectable", true);
2311		}
2312	}
2313};
2314
2315
2316Calendar.findMonth = function(el) {
2317	if (typeof el.month != "undefined") {
2318		return el;
2319	} else if (typeof el.parentNode.month != "undefined") {
2320		return el.parentNode;
2321	}
2322	return null;
2323};
2324
2325Calendar.findYear = function(el) {
2326	if (typeof el.year != "undefined") {
2327		return el;
2328	} else if (typeof el.parentNode.year != "undefined") {
2329		return el.parentNode;
2330	}
2331	return null;
2332};
2333
2334Calendar.showMonthsCombo = function () {
2335	var cal = Calendar._C;
2336	if (!cal) {
2337		return false;
2338	}
2339	var cal = cal;
2340	var cd = cal.activeDiv;
2341	var mc = cal.monthsCombo;
2342	if (cal.hilitedMonth) {
2343		Calendar.removeClass(cal.hilitedMonth, "hilite");
2344	}
2345	if (cal.activeMonth) {
2346		Calendar.removeClass(cal.activeMonth, "active");
2347	}
2348	var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
2349	Calendar.addClass(mon, "active");
2350	cal.activeMonth = mon;
2351	var s = mc.style;
2352	s.display = "block";
2353	if (cd.navtype < 0)
2354		s.left = cd.offsetLeft + "px";
2355	else {
2356		var mcw = mc.offsetWidth;
2357		if (typeof mcw == "undefined")
2358			// Konqueror brain-dead techniques
2359			mcw = 50;
2360		s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px";
2361	}
2362	s.top = (cd.offsetTop + cd.offsetHeight) + "px";
2363};
2364
2365Calendar.showYearsCombo = function (fwd) {
2366	var cal = Calendar._C;
2367	if (!cal) {
2368		return false;
2369	}
2370	var cal = cal;
2371	var cd = cal.activeDiv;
2372	var yc = cal.yearsCombo;
2373	if (cal.hilitedYear) {
2374		Calendar.removeClass(cal.hilitedYear, "hilite");
2375	}
2376	if (cal.activeYear) {
2377		Calendar.removeClass(cal.activeYear, "active");
2378	}
2379	cal.activeYear = null;
2380	var Y = cal.date.getFullYear() + (fwd ? 1 : -1);
2381	var yr = yc.firstChild;
2382	var show = false;
2383	for (var i = 12; i > 0; --i) {
2384		if (Y >= cal.minYear && Y <= cal.maxYear) {
2385			yr.firstChild.data = Y;
2386			yr.year = Y;
2387			yr.style.display = "block";
2388			show = true;
2389		} else {
2390			yr.style.display = "none";
2391		}
2392		yr = yr.nextSibling;
2393		Y += fwd ? cal.yearStep : -cal.yearStep;
2394	}
2395	if (show) {
2396		var s = yc.style;
2397		s.display = "block";
2398		if (cd.navtype < 0)
2399			s.left = cd.offsetLeft + "px";
2400		else {
2401			var ycw = yc.offsetWidth;
2402			if (typeof ycw == "undefined")
2403				// Konqueror brain-dead techniques
2404				ycw = 50;
2405			s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px";
2406		}
2407		s.top = (cd.offsetTop + cd.offsetHeight) + "px";
2408	}
2409};
2410
2411// event handlers
2412
2413Calendar.tableMouseUp = function(ev) {
2414	var cal = Calendar._C;
2415	if (!cal) {
2416		return false;
2417	}
2418	if (cal.timeout) {
2419		clearTimeout(cal.timeout);
2420	}
2421	var el = cal.activeDiv;
2422	if (!el) {
2423		return false;
2424	}
2425	var target = Calendar.getTargetElement(ev);
2426	ev || (ev = window.event);
2427	Calendar.removeClass(el, "active");
2428	if (target == el || target.parentNode == el) {
2429		Calendar.cellClick(el, ev);
2430	}
2431	var mon = Calendar.findMonth(target);
2432	var date = null;
2433	if (mon) {
2434		date = new Date(cal.date);
2435		if (mon.month != date.getMonth()) {
2436			date.setMonth(mon.month);
2437			cal.setDate(date);
2438			cal.dateClicked = false;
2439			if(!cal.params.dateStatusFunc(date)){
2440				cal.callHandler();
2441			}
2442		}
2443	} else {
2444		var year = Calendar.findYear(target);
2445		if (year) {
2446			date = new Date(cal.date);
2447			if (year.year != date.getFullYear()) {
2448				date.setFullYear(year.year);
2449				cal.setDate(date);
2450				cal.dateClicked = false;
2451				if(!cal.params.dateStatusFunc(date)){
2452					cal.callHandler();
2453				}
2454			}
2455		}
2456	}
2457	with (Calendar) {
2458		removeEvent(document, "mouseup", tableMouseUp);
2459		removeEvent(document, "mouseover", tableMouseOver);
2460		removeEvent(document, "mousemove", tableMouseOver);
2461		cal._hideCombos();
2462		_C = null;
2463		return stopEvent(ev);
2464	}
2465};
2466
2467Calendar.tableMouseOver = function (ev) {
2468	var cal = Calendar._C;
2469	if (!cal) {
2470		return;
2471	}
2472	var el = cal.activeDiv;
2473	var target = Calendar.getTargetElement(ev);
2474	if (target == el || target.parentNode == el) {
2475		Calendar.addClass(el, "hilite active");
2476		Calendar.addClass(el.parentNode, "rowhilite");
2477	} else {
2478		if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2)))
2479			Calendar.removeClass(el, "active");
2480		Calendar.removeClass(el, "hilite");
2481		Calendar.removeClass(el.parentNode, "rowhilite");
2482	}
2483	ev || (ev = window.event);
2484	/*if (el.navtype == 50 && target != el) {
2485		var pos = Calendar.getAbsolutePos(el);
2486		var w = el.offsetWidth;
2487		var x = ev.clientX;
2488		var dx;
2489		var decrease = true;
2490		if (x > pos.x + w) {
2491			dx = x - pos.x - w;
2492			decrease = false;
2493		} else
2494			dx = pos.x - x;
2495
2496		if (dx < 0) dx = 0;
2497		var range = el._range;
2498		var current = el._current;
2499		var count = Math.floor(dx / 10) % range.length;
2500		for (var i = range.length; --i >= 0;)
2501			if (range[i] == current)
2502				break;
2503		while (count-- > 0)
2504			if (decrease) {
2505				if (--i < 0)
2506					i = range.length - 1;
2507			} else if ( ++i >= range.length )
2508				i = 0;
2509		var newval = range[i];
2510		el.value = newval;
2511
2512		cal.onUpdateTime();
2513	}*/
2514	var mon = Calendar.findMonth(target);
2515	if (mon) {
2516		if (mon.month != cal.date.getMonth()) {
2517			if (cal.hilitedMonth) {
2518				Calendar.removeClass(cal.hilitedMonth, "hilite");
2519			}
2520			Calendar.addClass(mon, "hilite");
2521			cal.hilitedMonth = mon;
2522		} else if (cal.hilitedMonth) {
2523			Calendar.removeClass(cal.hilitedMonth, "hilite");
2524		}
2525	} else {
2526		if (cal.hilitedMonth) {
2527			Calendar.removeClass(cal.hilitedMonth, "hilite");
2528		}
2529		var year = Calendar.findYear(target);
2530		if (year) {
2531			if (year.year != cal.date.getFullYear()) {
2532				if (cal.hilitedYear) {
2533					Calendar.removeClass(cal.hilitedYear, "hilite");
2534				}
2535				Calendar.addClass(year, "hilite");
2536				cal.hilitedYear = year;
2537			} else if (cal.hilitedYear) {
2538				Calendar.removeClass(cal.hilitedYear, "hilite");
2539			}
2540		} else if (cal.hilitedYear) {
2541			Calendar.removeClass(cal.hilitedYear, "hilite");
2542		}
2543	}
2544	return Calendar.stopEvent(ev);
2545};
2546
2547Calendar.tableMouseDown = function (ev) {
2548	if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) {
2549		return Calendar.stopEvent(ev);
2550	}
2551};
2552
2553Calendar.calDragIt = function (ev) {
2554	var cal = Calendar._C;
2555	if (!(cal && cal.dragging)) {
2556		return false;
2557	}
2558	var posX;
2559	var posY;
2560	if (Calendar.is_ie) {
2561		posY = window.event.clientY + document.body.scrollTop;
2562		posX = window.event.clientX + document.body.scrollLeft;
2563	} else {
2564		posX = ev.pageX;
2565		posY = ev.pageY;
2566	}
2567	cal.hideShowCovered();
2568	var st = cal.element.style;
2569	st.left = (posX - cal.xOffs) + "px";
2570	st.top = (posY - cal.yOffs) + "px";
2571	return Calendar.stopEvent(ev);
2572};
2573
2574Calendar.calDragEnd = function (ev) {
2575	var cal = Calendar._C;
2576	if (!cal) {
2577		return false;
2578	}
2579	cal.dragging = false;
2580	with (Calendar) {
2581		removeEvent(document, "mousemove", calDragIt);
2582		removeEvent(document, "mouseup", calDragEnd);
2583		tableMouseUp(ev);
2584	}
2585	cal.hideShowCovered();
2586};
2587
2588Calendar.dayMouseDown = function(ev) {
2589	var el = Calendar.getElement(ev);
2590	if (el.disabled) {
2591		return false;
2592	}
2593	var cal = el.calendar;
2594	if(!eval(cal)) { return; }
2595	cal.activeDiv = el;
2596	Calendar._C = cal;
2597	if (el.navtype != 300) with (Calendar) {
2598		if (el.navtype == 50) {
2599			el._current = el.value;
2600			addEvent(document, "mousemove", tableMouseOver);
2601		} else
2602			addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver);
2603		addClass(el, "hilite active");
2604		addEvent(document, "mouseup", tableMouseUp);
2605	} else if (cal.isPopup) {
2606		cal._dragStart(ev);
2607	}
2608	if (el.navtype == -1 || el.navtype == 1) {
2609		if (cal.timeout) clearTimeout(cal.timeout);
2610		cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250);
2611	} else if (el.navtype == -2 || el.navtype == 2) {
2612		if (cal.timeout) clearTimeout(cal.timeout);
2613		cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);
2614	} else {
2615		cal.timeout = null;
2616	}
2617	return Calendar.stopEvent(ev);
2618};
2619
2620Calendar.dayMouseDblClick = function(ev) {
2621	Calendar.cellClick(Calendar.getElement(ev), ev || window.event);
2622	if (Calendar.is_ie) {
2623		document.selection.empty();
2624	}
2625};
2626
2627Calendar.dayMouseOver = function(ev) {
2628	var el = Calendar.getElement(ev);
2629	if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {
2630		return false;
2631	}
2632	if (el.ttip) {
2633		if (el.ttip.substr(0, 1) == "_") {
2634			el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1);
2635		}
2636		el.calendar.tooltips.firstChild.data = el.ttip;
2637	}
2638
2639	if (el.navtype != 300 && el.tagName!="IMG") {
2640		Calendar.addClass(el, "hilite");
2641		if (el.caldate) {
2642			Calendar.addClass(el.parentNode, "rowhilite");
2643		}
2644	}
2645	return Calendar.stopEvent(ev);
2646};
2647
2648Calendar.dayMouseOut = function(ev) {
2649	with (Calendar) {
2650		var el = getElement(ev);
2651		if (isRelated(el, ev) || _C || el.disabled) {
2652			return false;
2653		}
2654		removeClass(el, "hilite");
2655		if (el.caldate) {
2656			removeClass(el.parentNode, "rowhilite");
2657		}
2658		el.calendar.tooltips.firstChild.data = _TT["DRAG_TO_MOVE"];
2659		return stopEvent(ev);
2660	}
2661};
2662
2663/**
2664 *  A generic "click" handler :) handles all types of buttons defined in this
2665 *  calendar.
2666 */
2667Calendar.cellClick = function(el, ev) {
2668	var cal = el.calendar;
2669	if(!eval(cal)) { return; }
2670	var closing = false;
2671	var newdate = false;
2672	var date = null;
2673	if (typeof el.navtype == "undefined") {
2674		Calendar.removeClass(cal.currentDateEl, "selected");
2675		Calendar.addClass(el, "selected");
2676		closing = (cal.currentDateEl == el);
2677		if (!closing) {
2678			cal.currentDateEl = el;
2679		}
2680		el.caldate.setHours(cal.date.getHours());
2681        el.caldate.setMinutes(cal.date.getMinutes());
2682		cal.date = new Date(el.caldate);
2683		date = cal.date;
2684		newdate = true;
2685		// a date was clicked
2686		if (!(cal.dateClicked = !el.otherMonth))
2687			cal._init(cal.firstDayOfWeek, date);
2688	} else {
2689		if (el.navtype == 200) {
2690			Calendar.removeClass(el, "hilite");
2691			cal.callCloseHandler();
2692			return;
2693		}
2694		date = (el.navtype == 0) ? new Date() : new Date(cal.date);
2695		// unless "today" was clicked, we assume no date was clicked so
2696		// the selected handler will know not to close the calenar when
2697		// in single-click mode.
2698		// cal.dateClicked = (el.navtype == 0);
2699		cal.dateClicked = false;
2700		var year = date.getFullYear();
2701		var mon = date.getMonth();
2702		function setMonth(m) {
2703			var day = date.getDate();
2704			var max = date.getMonthDays(m);
2705			if (day > max) {
2706				date.setDate(max);
2707			}
2708			date.setMonth(m);
2709		};
2710		switch (el.navtype) {
2711		    case 400:
2712			Calendar.removeClass(el, "hilite");
2713			var text = Calendar._TT["ABOUT"];
2714			if (typeof text != "undefined") {
2715				text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : "";
2716			} else {
2717				// FIXME: this should be removed as soon as lang files get updated!
2718				text = "Help and about box text is not translated into this language.\n" +
2719					"If you know this language and you feel generous please update\n" +
2720					"the corresponding file in \"lang\" subdir to match calendar-en.js\n" +
2721					"and send it back to <[email protected]> to get it into the distribution  ;-)\n\n" +
2722					"Thank you!\n" +
2723					"http://dynarch.com/mishoo/calendar.epl\n";
2724			}
2725			callme(el.id);
2726			return;
2727		    case -2:
2728			if (year > cal.minYear) {
2729				date.setFullYear(year - 1);
2730			}
2731			break;
2732		    case -1:
2733			if (mon > 0) {
2734				setMonth(mon - 1);
2735			} else if (year-- > cal.minYear) {
2736				date.setFullYear(year);
2737				setMonth(11);
2738			}
2739			break;
2740		    case 1:
2741			if (mon < 11) {
2742				setMonth(mon + 1);
2743			} else if (year < cal.maxYear) {
2744				date.setFullYear(year + 1);
2745				setMonth(0);
2746			}
2747			break;
2748		    case 2:
2749			if (year < cal.maxYear) {
2750				date.setFullYear(year + 1);
2751			}
2752			break;
2753		    case 100:
2754			cal.setFirstDayOfWeek(el.fdow);
2755			return;
2756		    case 50:
2757			var range = el._range;
2758			var current = el.value;
2759			for (var i = range.length; --i >= 0;)
2760				if (range[i] == current)
2761					break;
2762			if (ev && ev.shiftKey) {
2763				if (--i < 0)
2764					i = range.length - 1;
2765			} else if ( ++i >= range.length )
2766				i = 0;
2767			var newval = range[i];
2768			el.value = newval;
2769			cal.onUpdateTime();
2770			return;
2771		    case 0:
2772			// TODAY will bring us here 
2773			//
2774			if(cal.timeFormatOnToday != 0){
2775				if(cal.timeFormatOnToday == 1){
2776					date.setHours(00,00,00);
2777				} else if(cal.timeFormatOnToday == 2){
2778					date.setHours(23,59,59);
2779				}
2780			}
2781			if ((typeof cal.getDateStatus == "function") && cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) {
2782				// remember, "date" was previously set to new
2783				// Date() if TODAY was clicked; thus, it
2784				// contains today date.
2785				Cyberoam.messageBox({message:Calendar._TT["TODAY_NOT_ALLOWED"]});
2786				return false;
2787			}
2788			break;
2789		}
2790		if (!date.equalsTo(cal.date)) {
2791			cal.setDate(date);
2792			newdate = true;
2793		}
2794	}
2795	if (newdate && !cal.params.dateStatusFunc(cal.date)) {
2796		cal.callHandler();
2797	}
2798	if (closing) {
2799		Calendar.removeClass(el, "hilite");
2800		cal.callCloseHandler();
2801	}
2802};
2803
2804// END: CALENDAR STATIC FUNCTIONS
2805
2806// BEGIN: CALENDAR OBJECT FUNCTIONS
2807
2808/**
2809 *  This function creates the calendar inside the given parent.  If _par is
2810 *  null than it creates a popup calendar inside the BODY element.  If _par is
2811 *  an element, be it BODY, then it creates a non-popup calendar (still
2812 *  hidden).  Some properties need to be set before calling this function.
2813 */
2814Calendar.prototype.create = function (_par) {
2815	var parent = null;
2816	if (! _par) {
2817		// default parent is the document body, in which case we create
2818		// a popup calendar.
2819		parent = document.getElementsByTagName("body")[0];
2820		this.isPopup = true;
2821	} else {
2822		parent = _par;
2823		this.isPopup = false;
2824	}
2825	this.date = this.dateStr ? new Date(this.dateStr) : new Date();
2826
2827	var table = Calendar.createElement("table");
2828	this.table = table;
2829	table.cellSpacing = 0;
2830	table.cellPadding = 0;
2831if(this.mytab==true )
2832{
2833	table.width = "100%";
2834}
2835	table.calendar = this;
2836	Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);
2837
2838	var div = Calendar.createElement("div");
2839	this.element = div;
2840	div.className = "calendar";
2841	if (this.isPopup) {   
2842            div.style.position = "fixed";                 
2843            if(Cyberoam.pageLayer >= 1) {
2844                div.style.position = "absolute";                           
2845            }                                                                 
2846            div.style.display = "none";                                                                                                                                                                       
2847        } 
2848	div.appendChild(table);
2849
2850	var thead = Calendar.createElement("thead", table);
2851	var cell = null;
2852	var row = null;
2853
2854	var cal = this;
2855	var hh = function (text, cs, navtype, img) {
2856		cell = Calendar.createElement("td", row);
2857		cell.colSpan = cs;
2858		cell.className = "button";
2859		
2860		if (img == true) cell.style.width="20px";
2861
2862		if (navtype != 0 && Math.abs(navtype) <= 2)
2863			cell.className += " nav";
2864		
2865		if (text == "&#x00d7;") {
2866			cell.className += " close";
2867			iTag = Calendar.createElement("i", cell);
2868			iTag.className += " fa fa-times";
2869		}
2870		
2871		if (text == "&#x00ab;") {
2872			cell.className += " nav_prv_year";
2873			iTag = Calendar.createElement("i", cell);
2874			iTag.className += "fa fa-caret-left";
2875			iTag = Calendar.createElement("i", cell);
2876			iTag.className += "fa fa-caret-left";
2877		}
2878
2879		if (text == "&#x2039;") {
2880			cell.className += " nav_prv_month";
2881			iTag = Calendar.createElement("i", cell);
2882			iTag.className += " fa fa-caret-left";
2883		}
2884		if (text == "&#x203a;") {
2885			cell.className += " nav_next_month";
2886			iTag = Calendar.createElement("i", cell);
2887			iTag.className += " fa fa-caret-right";
2888		}
2889
2890		if (text == "&#x00bb;") {
2891			cell.className += " nav_next_year";
2892			iTag = Calendar.createElement("i", cell);
2893			iTag.className += " fa fa-caret-right";
2894			iTag = Calendar.createElement("i", cell);
2895			iTag.className += " fa fa-caret-right";
2896		}
2897
2898		if ( text == Calendar._TT["TODAY"] ) 
2899			cell.className += " nav_today";
2900		
2901
2902		Calendar._add_evs(cell);
2903
2904		cell.calendar = cal;
2905		cell.navtype = navtype;
2906		if (text.substr(0, 1) != "&") {
2907				cell.appendChild(document.createTextNode(text));
2908		}
2909		else {
2910			// FIXME: dirty hack for entities
2911			//if(text != "&#x00d7;")
2912				//cell.innerHTML = text;
2913		}
2914
2915		return cell;
2916	};
2917	var myhh = function (text, cs, navtype, img) {
2918		cell = Calendar.createElement("td", row);
2919		cell.colSpan = cs;
2920
2921		if (img == true) cell.style.width="30";
2922
2923		Calendar.myeve(cell);
2924
2925		cell.calendar = cal;
2926		cell.navtype = navtype;
2927		if (text.substr(0, 1) != "&") {
2928			cell.appendChild(document.createTextNode(text));
2929		}
2930		else {
2931			// FIXME: dirty hack for entities
2932			cell.innerHTML = text;
2933		}
2934
2935		return cell;
2936	};
2937
2938
2939	row = Calendar.createElement("tr", thead);
2940	//row.className = "title";
2941
2942	var title_length = 7;
2943	(this.isPopup) && --title_length;
2944	(this.weekNumbers) && ++title_length;
2945if(this.mytab)
2946{
2947	mytab=myhh("&#160<img src='./"+currentImages+"/calendar_single.gif' onclick='callme(\"c\")' border=0 title='Single Calendar Day'>", 1, 400, true);
2948	mytab.ttip = Calendar._TT["INFO"];
2949	mytab.id="c";
2950	mytab.className="calTabON";
2951	mytab=myhh("&#160<img src='./"+currentImages+"/calendar_range.gif' onclick='callme(\"r\")' border=0 title='Range of Days'>", 1, 400, true);
2952	mytab.ttip = Calendar._TT["INFO"];
2953	mytab.id="r";
2954	mytab.className="calTabOFF";
2955
2956	//hh("<img src='../"+currentImages+"/calendar.gif'>", 1, 400).ttip = Calendar._TT["INFO"];
2957	this.title = hh("Choose Date", (title_length-1), 300);
2958}
2959else
2960{
2961	//hh("?", 1, 400).ttip = Calendar._TT["INFO"]; to rmove "?" form title 
2962	this.title = hh("", (title_length), 300);
2963}
2964	this.title.className = "title";
2965	if (this.isPopup) {
2966		this.title.ttip = Calendar._TT["DRAG_TO_MOVE"];
2967		this.title.style.cursor = "move";
2968		this.title.style.paddingLeft = "20px";
2969		hh("&#x00d7;", 1, 200,true).ttip = Calendar._TT["CLOSE"];
2970	}
2971
2972
2973{
2974	//saperator
2975	row = Calendar.createElement("tr", thead);
2976	row.className = "sap";
2977	hh("",7,300);
2978
2979	row = Calendar.createElement("tr", thead);
2980	row.className = "headrow";
2981	this._nav_py = hh("&#x00ab;", 1, -2);
2982	this._nav_py.ttip = Calendar._TT["PREV_YEAR"];
2983
2984	this._nav_pm = hh("&#x2039;", 1, -1);
2985	this._nav_pm.ttip = Calendar._TT["PREV_MONTH"];
2986
2987	this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0);
2988	this._nav_now.ttip = Calendar._TT["GO_TODAY"];
2989
2990	this._nav_nm = hh("&#x203a;", 1, 1);
2991	this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];
2992
2993	this._nav_ny = hh("&#x00bb;", 1, 2);
2994	this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"];
2995
2996	//saperator
2997	row = Calendar.createElement("tr", thead);
2998	row.className = "sap";
2999	hh("",7,300);
3000
3001	// day names
3002	row = Calendar.createElement("tr", thead);
3003	row.className = "daynames";
3004	if (this.weekNumbers) {
3005		cell = Calendar.createElement("td", row);
3006		cell.className = "name wn";
3007		cell.appendChild(document.createTextNode(Calendar._TT["WK"]));
3008	}
3009	for (var i = 7; i > 0; --i) {
3010		cell = Calendar.createElement("td", row);
3011		cell.appendChild(document.createTextNode(""));
3012		if (!i) {
3013			cell.navtype = 100;
3014			cell.calendar = this;
3015			Calendar._add_evs(cell);
3016		}
3017	}
3018	this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild;
3019	this._displayWeekdays();
3020
3021	var tbody = Calendar.createElement("tbody", table);
3022	this.tbody = tbody;
3023	tbody.style.border="none";
3024
3025	for (i = 6; i > 0; --i) {
3026		row = Calendar.createElement("tr", tbody);
3027		if (this.weekNumbers) {
3028			cell = Calendar.createElement("td", row);
3029			cell.appendChild(document.createTextNode(""));
3030		}
3031		for (var j = 7; j > 0; --j) {
3032			cell = Calendar.createElement("td", row);
3033			cell.appendChild(document.createTextNode(""));
3034			cell.calendar = this;
3035			Calendar._add_evs(cell);
3036		}
3037	}
3038
3039	if (this.showsTime) {
3040		row = Calendar.createElement("tr", tbody);
3041		row.className = "time";
3042
3043		cell = Calendar.createElement("td", row);
3044		cell.className = "time";
3045		cell.colSpan = 2;
3046		cell.innerHTML = Calendar._TT["TIME"] || "&nbsp;";
3047
3048		cell = Calendar.createElement("td", row);
3049		cell.className = "time";
3050		cell.colSpan = this.weekNumbers ? 4 : 3;
3051
3052		(function(){
3053			function makeTimePart(className, init, range_start, range_end) {
3054				var part = Calendar.createElement("input", cell);
3055				part.type= "text";
3056				part.className = className;
3057				part.value = init;
3058				part.calendar = cal;
3059				part.ttip = Calendar._TT["TIME_PART"];
3060				part.navtype = 50;
3061				part._range = [];
3062				part.style.width = "18px";
3063				part.style.fontSize = "10px";
3064				part.maxLength = "2";
3065				part.onfocus = function(){
3066					Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
3067					Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
3068					Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);
3069				}
3070				part.onkeyup = function(ev){
3071					(Calendar.is_ie) && (ev = window.event);
3072					switch (ev.keyCode) {
3073						case 27: // KEY esc
3074							cal.callCloseHandler();
3075							return;
3076						case 13: // KEY enter
3077							if (!cal.params.dateStatusFunc(cal.date)) {
3078								cal.callHandler();
3079							}
3080							cal.hide();
3081							cal.params.inputField.focus();
3082							return;
3083					}
3084					if(this.value!="" && isNaN(parseInt(this.value))){
3085						Cyberoam.messageBox({message:this.className+Calendar._TT["NOT_CHAR"]});
3086						document.getElementById('popupmessege').style.zIndex = "10000";
3087						this.value = "";
3088					}
3089					if( this.value!="" && this.value > range_end){
3090						Cyberoam.messageBox({message:this.className+Calendar._TT["NOT_GREATER"]+range_end});
3091						document.getElementById('popupmessege').style.zIndex = "10000";
3092						this.value = "";
3093					}
3094					cal.onUpdateTime();
3095				}
3096				part.onblur = function(){
3097					Calendar.addEvent(document, "keydown", Calendar._keyEvent);
3098					Calendar.addEvent(document, "keypress", Calendar._keyEvent);
3099					Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);
3100					if(this.value == "")
3101						this.value = "00";
3102				}
3103				if (typeof range_start != "number")
3104					part._range = range_start;
3105				else {
3106					for (var i = range_start; i <= range_end; ++i) {
3107						var txt;
3108						if (i < 10 && range_end >= 10) txt = '0' + i;
3109						else txt = '' + i;
3110						part._range[part._range.length] = txt;
3111					}
3112				}
3113				//Calendar._add_evs(part);
3114				return part;
3115			};
3116			var hrs = cal.date.getHours();
3117			var mins = cal.date.getMinutes();
3118			var t12 = !cal.time24;
3119			var pm = (hrs > 12);
3120			if (t12 && pm) hrs -= 12;
3121			var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);
3122			var span = Calendar.createElement("span", cell);
3123			span.appendChild(document.createTextNode(":"));
3124			span.className = "colon";
3125			var M = makeTimePart("minute", mins, 0, 59);
3126			var AP = null;
3127			cell = Calendar.createElement("td", row);
3128			cell.className = "";
3129			cell.colSpan = 2;
3130			if (t12)
3131				AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);
3132			else
3133				cell.innerHTML = "&nbsp;";
3134
3135			cal.onSetTime = function() {
3136				var hrs = this.date.getHours();
3137				var mins = this.date.getMinutes();
3138				var pm = (hrs > 12);
3139				if (pm && t12) hrs -= 12;
3140				H.value = (hrs < 10) ? ("0" + hrs) : hrs;
3141				M.value = (mins < 10) ? ("0" + mins) : mins;
3142				if (t12)
3143					AP.value = pm ? "pm" : "am";
3144			};
3145
3146			cal.onUpdateTime = function() {
3147				var date = this.date;
3148				if(H.value=="")
3149					var h = parseInt("00", 10);
3150				else
3151					var h = parseInt(H.value, 10);
3152				if (t12) {
3153					if (/pm/i.test(AP.value) && h < 12)
3154						h += 12;
3155					else if (/am/i.test(AP.value) && h == 12)
3156						h = 0;
3157				}
3158				var d = date.getDate();
3159				var m = date.getMonth();
3160				var y = date.getFullYear();
3161				date.setHours(h);
3162				if(M.value=="")
3163					date.setMinutes(parseInt("00", 10));
3164				else
3165					date.setMinutes(parseInt(M.value, 10));
3166				date.setFullYear(y);
3167				date.setMonth(m);
3168				date.setDate(d);
3169				this.dateClicked = false;
3170				this.callHandler();
3171			};
3172		})();
3173	} else {
3174		this.onSetTime = this.onUpdateTime = function() {};
3175	}
3176
3177	var tfoot = Calendar.createElement("tfoot", table);
3178
3179	row = Calendar.createElement("tr", tfoot);
3180	row.className = "footrow";
3181
3182	cell.className = "time";
3183	cell = hh(Calendar._TT["DRAG_TO_MOVE"], this.weekNumbers ? 8 : 7, 300);
3184	cell.className = "ttip";
3185	if (this.isPopup) {
3186		cell.ttip = Calendar._TT["DRAG_TO_MOVE"];
3187		cell.style.cursor = "move";
3188	}
3189	this.tooltips = cell;
3190}
3191	div = Calendar.createElement("div", this.element);
3192	this.monthsCombo = div;
3193	div.className = "combo";
3194	for (i = 0; i < Calendar._MN.length; ++i) {
3195		var mn = Calendar.createElement("div");
3196		mn.className = Calendar.is_ie ? "label-IEfix" : "label";
3197		mn.month = i;
3198		mn.appendChild(document.createTextNode(Calendar._SMN[i]));
3199		div.appendChild(mn);
3200	}
3201
3202	div = Calendar.createElement("div", this.element);
3203	this.yearsCombo = div;
3204	div.className = "combo";
3205	for (i = 12; i > 0; --i) {
3206		var yr = Calendar.createElement("div");
3207		yr.className = Calendar.is_ie ? "label-IEfix" : "label";
3208		yr.appendChild(document.createTextNode(""));
3209		div.appendChild(yr);
3210	}
3211
3212	this._init(this.firstDayOfWeek, this.date);
3213	parent.appendChild(this.element);
3214};
3215
3216/** keyboard navigation, only for popup calendars */
3217Calendar._keyEvent = function(ev) {
3218	if (!window.calendar) {
3219		return false;
3220	}
3221	(Calendar.is_ie) && (ev = window.event);
3222	var cal = window.calendar;
3223	var act = (Calendar.is_ie || Calendar.is_chrome || ev.type == "keypress");
3224	if (ev.ctrlKey) {
3225		switch (ev.keyCode) {
3226		    case 37: // KEY left
3227			act && Calendar.cellClick(cal._nav_pm);
3228			break;
3229		    case 38: // KEY up
3230			act && Calendar.cellClick(cal._nav_py);
3231			break;
3232		    case 39: // KEY right
3233			act && Calendar.cellClick(cal._nav_nm);
3234			break;
3235		    case 40: // KEY down
3236			act && Calendar.cellClick(cal._nav_ny);
3237			break;
3238		    default:
3239			return false;
3240		}
3241	} else switch (ev.keyCode) {
3242	    case 32: // KEY space (now)
3243		Calendar.cellClick(cal._nav_now);
3244		break;
3245	    case 27: // KEY esc
3246		act && cal.callCloseHandler();
3247		break;
3248	    case 37: // KEY left
3249	    case 38: // KEY up
3250	    case 39: // KEY right
3251	    case 40: // KEY down
3252		if (act) {
3253			var date = cal.date.getDate() - 1;
3254			var el = cal.currentDateEl;
3255			var ne = null;
3256			var prev = (ev.keyCode == 37) || (ev.keyCode == 38);
3257			switch (ev.keyCode) {
3258			    case 37: // KEY left
3259				(--date >= 0) && (ne = cal.ar_days[date]);
3260				break;
3261			    case 38: // KEY up
3262				date -= 7;
3263				(date >= 0) && (ne = cal.ar_days[date]);
3264				break;
3265			    case 39: // KEY right
3266				(++date < cal.ar_days.length) && (ne = cal.ar_days[date]);
3267				break;
3268			    case 40: // KEY down
3269				date += 7;
3270				(date < cal.ar_days.length) && (ne = cal.ar_days[date]);
3271				break;
3272			}
3273			if (!ne) {
3274				if (prev) {
3275					Calendar.cellClick(cal._nav_pm);
3276				} else {
3277					Calendar.cellClick(cal._nav_nm);
3278				}
3279				date = (prev) ? cal.date.getMonthDays() : 1;
3280				el = cal.currentDateEl;
3281				ne = cal.ar_days[date - 1];
3282			}
3283			Calendar.removeClass(el, "selected");
3284			Calendar.addClass(ne, "selected");
3285			cal.date = new Date(ne.caldate);
3286			if (!cal.params.dateStatusFunc(cal.date)) {
3287				cal.callHandler();
3288			}
3289			cal.currentDateEl = ne;
3290		}
3291		break;
3292	    case 13: // KEY enter
3293		if (act) {
3294			if (!cal.params.dateStatusFunc(cal.date)) {
3295				cal.callHandler();
3296			}
3297			cal.hide();
3298			cal.params.inputField.focus();
3299		}
3300		break;
3301	    default:
3302		return false;
3303	}
3304	return Calendar.stopEvent(ev);
3305};
3306
3307/**
3308 *  (RE)Initializes the calendar to the given date and firstDayOfWeek
3309 */
3310Calendar.prototype._init = function (firstDayOfWeek, date) {
3311	var today = new Date();
3312	this.table.style.visibility = "hidden";
3313	var year = date.getFullYear();
3314	if (year < this.minYear) {
3315		year = this.minYear;
3316		date.setFullYear(year);
3317	} else if (year > this.maxYear) {
3318		year = this.maxYear;
3319		date.setFullYear(year);
3320	}
3321	this.firstDayOfWeek = firstDayOfWeek;
3322	this.date = new Date(date);
3323	var month = date.getMonth();
3324	var mday = date.getDate();
3325	var no_days = date.getMonthDays();
3326
3327	// calendar voodoo for computing the first day that would actually be
3328	// displayed in the calendar, even if it's from the previous month.
3329	// WARNING: this is magic. ;-)
3330	date.setDate(1);
3331	var day1 = (date.getDay() - this.firstDayOfWeek) % 7;
3332	if (day1 < 0)
3333		day1 += 7;
3334	if(day1 ==0)
3335		date.setDate(0);
3336	else
3337		date.setDate(-day1);
3338	date.setDate(date.getDate() + 1);
3339{
3340	var row = this.tbody.firstChild;
3341	var MN = Calendar._SMN[month];
3342	var ar_days = new Array();
3343	var weekend = Calendar._TT["WEEKEND"];
3344	for (var i = 0; i < 6; ++i, row = row.nextSibling) {
3345		var cell = row.firstChild;
3346		if (this.weekNumbers) {
3347			cell.className = "day wn";
3348			cell.firstChild.data = date.getWeekNumber();
3349			cell = cell.nextSibling;
3350		}
3351		row.className = "daysrow";
3352		var hasdays = false;
3353		for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(date.getDate() + 1)) {
3354			var iday = date.getDate();
3355			var wday = date.getDay();
3356			cell.className = "day";
3357			var current_month = (date.getMonth() == month);
3358			if (!current_month) {
3359				if (this.showsOtherMonths) {
3360					cell.className += " othermonth";
3361					cell.otherMonth = true;
3362				} else {
3363					cell.className = "emptycell";
3364					cell.innerHTML = "&nbsp;";
3365					cell.disabled = true;
3366					continue;
3367				}
3368			} else {
3369				cell.otherMonth = false;
3370				hasdays = true;
3371			}
3372			cell.disabled = false;
3373			cell.firstChild.data = iday;
3374			if (typeof this.getDateStatus == "function") {
3375				var status = this.getDateStatus(date, year, month, iday);
3376				if (status === true) {
3377					cell.className += " disabled";
3378					cell.disabled = true;
3379				} else {
3380					if (/disabled/i.test(status))
3381						cell.disabled = true;
3382					cell.className += " " + status;
3383				}
3384			}
3385			//if (!cell.disabled) {
3386				ar_days[ar_days.length] = cell;
3387				cell.caldate = new Date(date);
3388				cell.ttip = "_";
3389				if (current_month && iday == mday) {
3390					cell.className += " selected";
3391					this.currentDateEl = cell;
3392				}
3393				if (date.getFullYear() == today.getFullYear() &&
3394				    date.getMonth() == today.getMonth() &&
3395				    iday == today.getDate()) {
3396					cell.className += " today";
3397					cell.ttip += Calendar._TT["PART_TODAY"];
3398				}
3399				if (weekend.indexOf(wday.toString()) != -1) {
3400					cell.className += cell.otherMonth ? " oweekend" : " weekend";
3401				}
3402			//}
3403		}
3404		if (!(hasdays || this.showsOtherMonths))
3405			row.className = "emptyrow";
3406	}
3407	this.ar_days = ar_days;
3408	this.title.firstChild.data = Calendar._MN[month] + ", " + year;
3409	this.onSetTime();
3410}
3411	this.table.style.visibility = "visible";
3412	// PROFILE
3413	// this.tooltips.firstChild.data = "Generated in " + ((new Date()) - today) + " ms";
3414};
3415
3416/**
3417 *  Calls _init function above for going to a certain date (but only if the
3418 *  date is different than the currently selected one).
3419 */
3420Calendar.prototype.setDate = function (date) {
3421	if (!date.equalsTo(this.date)) {
3422		this._init(this.firstDayOfWeek, date);
3423	}
3424};
3425
3426/**
3427 *  Refreshes the calendar.  Useful if the "disabledHandler" function is
3428 *  dynamic, meaning that the list of disabled date can change at runtime.
3429 *  Just * call this function if you think that the list of disabled dates
3430 *  should * change.
3431 */
3432Calendar.prototype.refresh = function () {
3433	this._init(this.firstDayOfWeek, this.date);
3434};
3435
3436/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */
3437Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) {
3438	this._init(firstDayOfWeek, this.date);
3439	this._displayWeekdays();
3440};
3441
3442/**
3443 *  Allows customization of what dates are enabled.  The "unaryFunction"
3444 *  parameter must be a function object that receives the date (as a JS Date
3445 *  object) and returns a boolean value.  If the returned value is true then
3446 *  the passed date will be marked as disabled.
3447 */
3448Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) {
3449	this.getDateStatus = unaryFunction;
3450};
3451
3452/** Customization of allowed year range for the calendar. */
3453Calendar.prototype.setRange = function (a, z) {
3454	this.minYear = a;
3455	this.maxYear = z;
3456};
3457
3458/** Calls the first user handler (selectedHandler). */
3459Calendar.prototype.callHandler = function () {
3460	if (this.onSelected) {
3461		this.onSelected(this, this.date.print(this.dateFormat));
3462	}
3463};
3464
3465/** Calls the second user handler (closeHandler). */
3466Calendar.prototype.callCloseHandler = function () {
3467	if (this.onClose) {
3468		this.onClose(this);
3469	}
3470	this.hideShowCovered();
3471};
3472
3473/** Removes the calendar object from the DOM tree and destroys it. */
3474Calendar.prototype.destroy = function () {
3475	var el = this.element.parentNode;
3476	el.removeChild(this.element);
3477	Calendar._C = null;
3478	window.calendar = null;
3479};
3480
3481/**
3482 *  Moves the calendar element to a different section in the DOM tree (changes
3483 *  its parent).
3484 */
3485Calendar.prototype.reparent = function (new_parent) {
3486	var el = this.element;
3487	el.parentNode.removeChild(el);
3488	new_parent.appendChild(el);
3489};
3490
3491// This gets called when the user presses a mouse button anywhere in the
3492// document, if the calendar is shown.  If the click was outside the open
3493// calendar this function closes it.
3494Calendar._checkCalendar = function(ev) {
3495	if (!window.calendar) {
3496		return false;
3497	}
3498	var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
3499	for (; el != null && el != calendar.element; el = el.parentNode);
3500	if (el == null) {
3501		// calls closeHandler which should hide the calendar.
3502		window.calendar.callCloseHandler();
3503		return Calendar.stopEvent(ev);
3504	}
3505};
3506
3507/** Shows the calendar. */
3508Calendar.prototype.show = function () {
3509	var rows = this.table.getElementsByTagName("tr");
3510	for (var i = rows.length; i > 0;) {
3511		var row = rows[--i];
3512		Calendar.removeClass(row, "rowhilite");
3513		var cells = row.getElementsByTagName("td");
3514		for (var j = cells.length; j > 0;) {
3515			var cell = cells[--j];
3516			Calendar.removeClass(cell, "hilite");
3517			Calendar.removeClass(cell, "active");
3518		}
3519	}
3520	this.element.style.display = "block";
3521	this.hidden = false;
3522	if (this.isPopup) {
3523		window.calendar = this;
3524		Calendar.addEvent(document, "keydown", Calendar._keyEvent);
3525		Calendar.addEvent(document, "keypress", Calendar._keyEvent);
3526		Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);
3527	}
3528	this.element.style.zIndex=(Cyberoam.pageLayer + 1) * 200;
3529	this.hideShowCovered();
3530};
3531
3532/**
3533 *  Hides the calendar.  Also removes any "hilite" from the class of any TD
3534 *  element.
3535 */
3536Calendar.prototype.hide = function () {
3537	if (this.isPopup) {
3538		Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
3539		Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
3540		Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);
3541	}
3542	this.element.style.display = "none";
3543	this.hidden = true;
3544	this.hideShowCovered();
3545};
3546
3547/**
3548 *  Shows the calendar at a given absolute position (beware that, depending on
3549 *  the calendar element style -- position property -- this might be relative
3550 *  to the parent's containing rectangle).
3551 */
3552Calendar.prototype.showAt = function (x, y) {
3553	var s = this.element.style;
3554	s.left = x + "px";
3555	s.top = y + "px";
3556/*	s.left=0; change by vishal 
3557	s.top=0; to show calndar near button area*/
3558	this.show();
3559};
3560
3561/** Shows the calendar near a given element. */
3562Calendar.prototype.showAtElement = function (el, opts) {
3563	var self = this;
3564	var p = Calendar.getAbsolutePos(el);
3565	if (!opts || typeof opts != "string") {
3566		this.showAt(p.x, p.y + el.offsetHeight);
3567		return true;
3568	}
3569	function fixPosition(box) {
3570		if (box.x < 0)
3571			box.x = 0;
3572		if (box.y < 0)
3573			box.y = 0;
3574		var cp = document.createElement("div");
3575		var s = cp.style;
3576		s.position = "absolute";
3577		s.right = s.bottom = s.width = s.height = "0px";
3578		document.body.appendChild(cp);
3579		var br = Calendar.getAbsolutePos(cp);
3580		document.body.removeChild(cp);
3581		//Commenting following line because it open dialog on the fix top position in IE.
3582		/* if (Calendar.is_ie) {
3583			br.y += document.body.scrollTop;
3584			br.x += document.body.scrollLeft;
3585		} else { */
3586			br.y += window.scrollY;
3587			br.x += window.scrollX;
3588		//}
3589		var tmp = box.x + box.width - br.x;
3590		if (tmp > 0) box.x -= tmp;
3591		tmp = box.y + box.height - br.y;
3592		if (tmp > 0) box.y -= tmp;
3593	};
3594	this.element.style.display = "block";
3595	Calendar.continuation_for_the_khtml_browser = function() {
3596		var w = self.element.offsetWidth;
3597		var h = self.element.offsetHeight;
3598		self.element.style.display = "none";
3599		var valign = opts.substr(0, 1);
3600		var halign = "l";
3601		if (opts.length > 1) {
3602			halign = opts.substr(1, 1);
3603		}
3604
3605		// vertical alignment
3606		switch (valign) {
3607		    case "T": p.y -= h; break;
3608		    case "B": p.y += el.offsetHeight; break;
3609		    case "C": p.y += (el.offsetHeight - h) / 2; break;
3610		    case "t": p.y += el.offsetHeight - h; break;
3611		    case "b": break; // already there
3612		}
3613		// horizontal alignment
3614		switch (halign) {
3615		    case "L": p.x -= w; break;
3616		    case "R": p.x += el.offsetWidth; break;
3617		    case "C": p.x += (el.offsetWidth - w) / 2; break;
3618		    case "r": p.x += el.offsetWidth - w; break;
3619		    case "l": break; // already there
3620		}
3621		p.width = w;
3622		p.height = h + 40;
3623		self.monthsCombo.style.display = "none";
3624		fixPosition(p);
3625		self.showAt(p.x, p.y);
3626	};
3627	if (Calendar.is_khtml)
3628		setTimeout("Calendar.continuation_for_the_khtml_browser()", 10);
3629	else
3630		Calendar.continuation_for_the_khtml_browser();
3631};
3632
3633/** Customizes the date format. */
3634Calendar.prototype.setDateFormat = function (str) {
3635	this.dateFormat = str;
3636};
3637
3638/** Customizes the tooltip date format. */
3639Calendar.prototype.setTtDateFormat = function (str) {
3640	this.ttDateFormat = str;
3641};
3642
3643/**
3644 *  Tries to identify the date represented in a string.  If successful it also
3645 *  calls this.setDate which moves the calendar to the given date.
3646 */
3647Calendar.prototype.parseDate = function (str, fmt) {
3648	var y = 0;
3649	var m = -1;
3650	var d = 0;
3651	var a = str.split(/\W+/);
3652	if (!fmt) {
3653		fmt = this.dateFormat;
3654	}
3655	var b = fmt.match(/%./g);
3656	var i = 0, j = 0;
3657	var hr = 0;
3658	var min = 0;
3659	for (i = 0; i < a.length; ++i) {
3660		if (!a[i])
3661			continue;
3662		switch (b[i]) {
3663		    case "%d":
3664		    case "%e":
3665			d = parseInt(a[i], 10);
3666			break;
3667
3668		    case "%m":
3669			m = parseInt(a[i], 10) - 1;
3670			break;
3671
3672		    case "%Y":
3673		    case "%y":
3674			y = parseInt(a[i], 10);
3675			(y < 100) && (y += (y > 29) ? 1900 : 2000);
3676			break;
3677
3678		    case "%b":
3679		    case "%B":
3680			for (j = 0; j < 12; ++j) {
3681				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
3682			}
3683			break;
3684
3685		    case "%H":
3686		    case "%I":
3687		    case "%k":
3688		    case "%l":
3689			hr = parseInt(a[i], 10);
3690			break;
3691
3692		    case "%P":
3693		    case "%p":
3694			if (/pm/i.test(a[i]) && hr < 12)
3695				hr += 12;
3696			break;
3697
3698		    case "%M":
3699			min = parseInt(a[i], 10);
3700			break;
3701		}
3702	}
3703	if (y != 0 && m != -1 && d != 0) {
3704		this.setDate(new Date(y, m, d, hr, min, 0));
3705		return;
3706	}
3707	y = 0; m = -1; d = 0;
3708	for (i = 0; i < a.length; ++i) {
3709		if (a[i].search(/[a-zA-Z]+/) != -1) {
3710			var t = -1;
3711			for (j = 0; j < 12; ++j) {
3712				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
3713			}
3714			if (t != -1) {
3715				if (m != -1) {
3716					d = m+1;
3717				}
3718				m = t;
3719			}
3720		} else if (parseInt(a[i], 10) <= 12 && m == -1) {
3721			m = a[i]-1;
3722		} else if (parseInt(a[i], 10) > 31 && y == 0) {
3723			y = parseInt(a[i], 10);
3724			(y < 100) && (y += (y > 29) ? 1900 : 2000);
3725		} else if (d == 0) {
3726			d = a[i];
3727		}
3728	}
3729	if (y == 0) {
3730		var today = new Date();
3731		y = today.getFullYear();
3732	}
3733	if (m != -1 && d != 0) {
3734		this.setDate(new Date(y, m, d, hr, min, 0));
3735	}
3736};
3737
3738Calendar.prototype.hideShowCovered = function () {
3739	var self = this;
3740	Calendar.continuation_for_the_khtml_browser = function() {
3741		function getVisib(obj){
3742			var value = obj.style.visibility;
3743			if (!value) {
3744				if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
3745					if (!Calendar.is_khtml)
3746						value = document.defaultView.
3747							getComputedStyle(obj, "").getPropertyValue("visibility");
3748					else
3749						value = '';
3750				} else if (obj.currentStyle) { // IE
3751					value = obj.currentStyle.visibility;
3752				} else
3753					value = '';
3754			}
3755			return value;
3756		};
3757
3758		var tags = new Array("applet", "iframe", "select");
3759		var el = self.element;
3760
3761		var p = Calendar.getAbsolutePos(el);
3762		var EX1 = p.x;
3763		var EX2 = el.offsetWidth + EX1;
3764		var EY1 = p.y;
3765		var EY2 = el.offsetHeight + EY1;
3766
3767		for (var k = tags.length; k > 0; ) {
3768			var ar = document.getElementsByTagName(tags[--k]);
3769			var cc = null;
3770
3771			for (var i = ar.length; i > 0;) {
3772				cc = ar[--i];
3773
3774				p = Calendar.getAbsolutePos(cc);
3775				var CX1 = p.x;
3776				var CX2 = cc.offsetWidth + CX1;
3777				var CY1 = p.y;
3778				var CY2 = cc.offsetHeight + CY1;
3779
3780				if (self.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
3781					if (!cc.__msh_save_visibility) {
3782						cc.__msh_save_visibility = getVisib(cc);
3783					}
3784					cc.style.visibility = cc.__msh_save_visibility;
3785				} else {
3786					if (!cc.__msh_save_visibility) {
3787						cc.__msh_save_visibility = getVisib(cc);
3788					}
3789					//cc.style.visibility = "hidden";
3790				}
3791			}
3792		}
3793	};
3794	if (Calendar.is_khtml)
3795		setTimeout("Calendar.continuation_for_the_khtml_browser()", 10);
3796	else
3797		Calendar.continuation_for_the_khtml_browser();
3798};
3799
3800/** Internal function; it displays the bar with the names of the weekday. */
3801Calendar.prototype._displayWeekdays = function () {
3802	var fdow = this.firstDayOfWeek;
3803	var cell = this.firstdayname;
3804	var weekend = Calendar._TT["WEEKEND"];
3805	for (var i = 0; i < 7; ++i) {
3806		cell.className = "day name";
3807		var realday = (i + fdow) % 7;
3808		if (i) {
3809			cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]);
3810			cell.navtype = 100;
3811			cell.calendar = this;
3812			cell.fdow = realday;
3813			Calendar._add_evs(cell);
3814		}
3815		if (weekend.indexOf(realday.toString()) != -1) {
3816			Calendar.addClass(cell, "weekend");
3817		}
3818		cell.firstChild.data = Calendar._SDN[(i + fdow) % 7];
3819		cell = cell.nextSibling;
3820	}
3821};
3822
3823/** Internal function.  Hides all combo boxes that might be displayed. */
3824Calendar.prototype._hideCombos = function () {
3825	this.monthsCombo.style.display = "none";
3826	this.yearsCombo.style.display = "none";
3827};
3828
3829/** Internal function.  Starts dragging the element. */
3830Calendar.prototype._dragStart = function (ev) {
3831	if (this.dragging) {
3832		return;
3833	}
3834	this.dragging = true;
3835	var posX;
3836	var posY;
3837	if (Calendar.is_ie) {
3838		posY = window.event.clientY + document.body.scrollTop;
3839		posX = window.event.clientX + document.body.scrollLeft;
3840	} else {
3841		posY = ev.clientY + window.scrollY;
3842		posX = ev.clientX + window.scrollX;
3843	}
3844	var st = this.element.style;
3845	this.xOffs = posX - parseInt(st.left);
3846	this.yOffs = posY - parseInt(st.top);
3847	with (Calendar) {
3848		addEvent(document, "mousemove", calDragIt);
3849		addEvent(document, "mouseup", calDragEnd);
3850	}
3851};
3852
3853// BEGIN: DATE OBJECT PATCHES
3854
3855/** Adds the number of days array to the Date object. */
3856Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
3857
3858/** Constants used for time computations */
3859Date.SECOND = 1000 /* milliseconds */;
3860Date.MINUTE = 60 * Date.SECOND;
3861Date.HOUR   = 60 * Date.MINUTE;
3862Date.DAY    = 24 * Date.HOUR;
3863Date.WEEK   =  7 * Date.DAY;
3864
3865/** Returns the number of days in the current month */
3866Date.prototype.getMonthDays = function(month) {
3867	var year = this.getFullYear();
3868	if (typeof month == "undefined") {
3869		month = this.getMonth();
3870	}
3871	if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
3872		return 29;
3873	} else {
3874		return Date._MD[month];
3875	}
3876};
3877
3878/** Returns the number of day in the year. */
3879Date.prototype.getDayOfYear = function() {
3880	var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
3881	var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
3882	var time = now - then;
3883	return Math.floor(time / Date.DAY);
3884};
3885
3886/** Returns the number of the week in year, as defined in ISO 8601. */
3887Date.prototype.getWeekNumber = function() {
3888	var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
3889	var DoW = d.getDay();
3890	d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
3891	var ms = d.valueOf(); // GMT
3892	d.setMonth(0);
3893	d.setDate(4); // Thu in Week 1
3894	return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
3895};
3896
3897/** Checks dates equality (ignores time) */
3898Date.prototype.equalsTo = function(date) {
3899	return ((this.getFullYear() == date.getFullYear()) &&
3900		(this.getMonth() == date.getMonth()) &&
3901		(this.getDate() == date.getDate()) &&
3902		(this.getHours() == date.getHours()) &&
3903		(this.getMinutes() == date.getMinutes()));
3904};
3905
3906/** Prints the date in a string according to the given format. */
3907Date.prototype.print = function (str) {
3908	var m = this.getMonth();
3909	var d = this.getDate();
3910	var y = this.getFullYear();
3911	var wn = this.getWeekNumber();
3912	var w = this.getDay();
3913	var s = {};
3914	var hr = this.getHours();
3915	var pm = (hr >= 12);
3916	var ir = (pm) ? (hr - 12) : hr;
3917	var dy = this.getDayOfYear();
3918	if (ir == 0)
3919		ir = 12;
3920	var min = this.getMinutes();
3921	var sec = this.getSeconds();
3922	s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]
3923	s["%A"] = Calendar._DN[w]; // full weekday name
3924	s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]
3925	s["%B"] = Calendar._MN[m]; // full month name
3926	// FIXME: %c : preferred date and time representation for the current locale
3927	s["%C"] = 1 + Math.floor(y / 100); // the century number
3928	s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31)
3929	s["%e"] = d; // the day of the month (range 1 to 31)
3930	// FIXME: %D : american date style: %m/%d/%y
3931	// FIXME: %E, %F, %G, %g, %h (man strftime)
3932	s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format)
3933	s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format)
3934	s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366)
3935	s["%k"] = hr;		// hour, range 0 to 23 (24h format)
3936	s["%l"] = ir;		// hour, range 1 to 12 (12h format)
3937	s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12
3938	s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59
3939	s["%n"] = "\n";		// a newline character
3940	s["%p"] = pm ? "PM" : "AM";
3941	s["%P"] = pm ? "pm" : "am";
3942	// FIXME: %r : the time in am/pm notation %I:%M:%S %p
3943	// FIXME: %R : the time in 24-hour notation %H:%M
3944	s["%s"] = Math.floor(this.getTime() / 1000);
3945	s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59
3946	s["%t"] = "\t";		// a tab character
3947	// FIXME: %T : the time in 24-hour notation (%H:%M:%S)
3948	s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn;
3949	s["%u"] = w + 1;	// the day of the week (range 1 to 7, 1 = MON)
3950	s["%w"] = w;		// the day of the week (range 0 to 6, 0 = SUN)
3951	// FIXME: %x : preferred date representation for the current locale without the time
3952	// FIXME: %X : preferred time representation for the current locale without the date
3953	s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99)
3954	s["%Y"] = y;		// year with the century
3955	s["%%"] = "%";		// a literal '%' character
3956
3957	var re = /%./g;
3958	if (!Calendar.is_ie5)
3959		return str.replace(re, function (par) { return s[par] || par; });
3960
3961	var a = str.match(re);
3962	for (var i = 0; i < a.length; i++) {
3963		var tmp = s[a[i]];
3964		if (tmp) {
3965			re = new RegExp(a[i], 'g');
3966			str = str.replace(re, tmp);
3967		}
3968	}
3969
3970	return str;
3971};
3972
3973//Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
3974if ( Date.prototype.__msh_oldSetFullYear == null )
3975{
3976	Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
3977}
3978
3979Date.prototype.setFullYear = function(y) {
3980	var d = new Date(this);
3981	d.__msh_oldSetFullYear(y);
3982	if (d.getMonth() != this.getMonth())
3983		this.setDate(28);
3984	this.__msh_oldSetFullYear(y);
3985	
3986};
3987
3988// END: DATE OBJECT PATCHES
3989
3990
3991// global object that remembers the calendar
3992window.calendar = null;
3993/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
3994 * ---------------------------------------------------------------------------
3995 *
3996 * The DHTML Calendar
3997 *
3998 * Details and latest version at:
3999 * http://dynarch.com/mishoo/calendar.epl
4000 *
4001 * This script is distributed under the GNU Lesser General Public License.
4002 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
4003 *
4004 * This file defines helper functions for setting up the calendar.  They are
4005 * intended to help non-programmers get a working calendar on their site
4006 * quickly.  This script should not be seen as part of the calendar.  It just
4007 * shows you what one can do with the calendar, while in the same time
4008 * providing a quick and simple method for setting it up.  If you need
4009 * exhaustive customization of the calendar creation process feel free to
4010 * modify this code to suit your needs (this is recommended and much better
4011 * than modifying calendar.js itself).
4012 */
4013
4014// $Id: calendar-setup.js,v 1.1.12.1 2006/06/27 12:09:17 gramkumar Exp $
4015
4016/**
4017 *  This function "patches" an input field (or other element) to use a calendar
4018 *  widget for date selection.
4019 *
4020 *  The "params" is a single object that can have the following properties:
4021 *
4022 *    prop. name   | description
4023 *  -------------------------------------------------------------------------------------------------
4024 *   inputField    | the ID of an input field to store the date
4025 *   displayArea   | the ID of a DIV or other element to show the date
4026 *   button        | ID of a button or other element that will trigger the calendar
4027 *   eventName     | event that will trigger the calendar, without the "on" prefix (default: "click")
4028 *   ifFormat      | date format that will be stored in the input field
4029 *   daFormat      | the date format that will be used to display the date in displayArea
4030 *   singleClick   | (true/false) wether the calendar is in single click mode or not (default: true)
4031 *   firstDay      | numeric: 0 to 6.  "0" means display Sunday first, "1" means display Monday first, etc.
4032 *   align         | alignment (default: "Br"); if you don't know what's this see the calendar documentation
4033 *   range         | array with 2 elements.  Default: [1900, 2999] -- the range of years available
4034 *   weekNumbers   | (true/false) if it's true (default) the calendar will display week numbers
4035 *   flat          | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
4036 *   flatCallback  | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar)
4037 *   disableFunc   | function that receives a JS Date object and should return true if that date has to be disabled in the calendar
4038 *   onSelect      | function that gets called when a date is selected.  You don't _have_ to supply this (the default is generally okay)
4039 *   onClose       | function that gets called when the calendar is closed.  [default]
4040 *   onUpdate      | function that gets called after the date is updated in the input field.  Receives a reference to the calendar.
4041 *   date          | the date that the calendar will be initially displayed to
4042 *   showsTime     | default: false; if true the calendar will include a time selector
4043 *   timeFormat    | the time format; can be "12" or "24", default is "12"
4044 *   electric      | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
4045 *   step          | configures the step of the years in drop-down boxes; default: 2
4046 *   position      | configures the calendar absolute position; default: null
4047 *   cache         | if "true" (but default: "false") it will reuse the same calendar object, where possible
4048 *   showOthers    | if "true" (but default: "false") it will show days from other months too
4049 *
4050 *  None of them is required, they all have default values.  However, if you
4051 *  pass none of "inputField", "displayArea" or "button" you'll get a warning
4052 *  saying "nothing to setup".
4053 */
4054Calendar.setup = function (params) {
4055	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };
4056
4057	param_default("inputField",     null);
4058	param_default("displayArea",    null);
4059	param_default("button",         null);
4060	param_default("eventName",      "click");
4061	param_default("ifFormat",       "%Y-%m-%d");
4062	param_default("daFormat",       "%Y-%m-%d");
4063	param_default("singleClick",    true);
4064	param_default("disableFunc",    null);
4065	param_default("dateStatusFunc", params["disableFunc"]);	// takes precedence if both are defined
4066	param_default("firstDay",       0); // defaults to "Sunday" first
4067	param_default("align",          "Br");
4068	param_default("range",          [1900, 2999]);
4069	param_default("weekNumbers",    true);
4070	param_default("mytab",    false);
4071	param_default("flat",           null);
4072	param_default("flatCallback",   null);
4073	param_default("onSelect",       null);
4074	param_default("onClose",        null);
4075	param_default("onUpdate",       null);
4076	param_default("date",           null);
4077	param_default("showsTime",      false);
4078	param_default("timeFormat",     "24");
4079	param_default("electric",       true);
4080	param_default("step",           2);
4081	param_default("position",       null);
4082	param_default("cache",          false);
4083	param_default("showOthers",     false);
4084	param_default("timeFormatOnToday",     0);  // 0 : set current time on clicking today
4085												// 1 : set 00:00:00 time on clicking today
4086												// 2 : set 23:59:59 time on clicking today
4087	
4088	var tmp = ["inputField", "displayArea", "button"];
4089	for (var i in tmp) {
4090		if (typeof params[tmp[i]] == "string") {
4091			params[tmp[i]] = document.getElementById(params[tmp[i]]);
4092		}
4093	}
4094	if (!(params.flat || params.inputField || params.displayArea || params.button)) {
4095		alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
4096		return false;
4097	}
4098	
4099	function onSelect(cal) {
4100		var p = cal.params;
4101		var update = (cal.dateClicked || p.electric);
4102		if (update && p.flat) {
4103			if (typeof p.flatCallback == "function")
4104				p.flatCallback(cal);
4105			else
4106				alert("No flatCallback given -- doing nothing.");
4107			return false;
4108		}
4109		if (update && p.inputField) {
4110			p.inputField.value = cal.date.print(p.ifFormat);
4111			if (typeof p.inputField.onchange == "function")
4112				p.inputField.onchange();
4113		}
4114		if (update && p.displayArea)
4115			p.displayArea.innerHTML = cal.date.print(p.daFormat);
4116		if (update && p.singleClick && cal.dateClicked)
4117			cal.callCloseHandler();
4118		if (update && typeof p.onUpdate == "function")
4119			p.onUpdate(cal);
4120	};
4121	
4122	if (params.flat != null) {
4123		if (typeof params.flat == "string")
4124			params.flat = document.getElementById(params.flat);
4125		if (!params.flat) {
4126			alert("Calendar.setup:\n  Flat specified but can't find parent.");
4127			return false;
4128		}
4129		var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);
4130		cal.showsTime = params.showsTime;
4131		cal.time24 = (params.timeFormat == "24");
4132		cal.params = params;
4133		cal.weekNumbers = params.weekNumbers;
4134		cal.skipCalendar = params.skipCalendar;
4135		cal.mytab = params.mytab;
4136		cal.setRange(params.range[0], params.range[1]);
4137		cal.setDateStatusHandler(params.dateStatusFunc);
4138		cal.create(params.flat);
4139		cal.show();
4140		return false;
4141	}
4142	
4143	var triggerEl = params.button || params.displayArea || params.inputField;
4144	triggerEl["on" + params.eventName] = function() {
4145		if(params.inputField && params.inputField.disabled){
4146			return;
4147		}
4148		var dateEl = params.inputField || params.displayArea;
4149		var dateFmt = params.inputField ? params.ifFormat : params.daFormat;
4150		var mustCreate = false;
4151		var cal = window.calendar;
4152		if (!(cal && params.cache)) {
4153			window.calendar = cal = new Calendar(params.firstDay,
4154							     params.date,
4155							     params.onSelect || onSelect,
4156							     params.onClose || function(cal) { cal.hide(); });
4157			cal.showsTime = params.showsTime;
4158			cal.time24 = (params.timeFormat == "24");
4159			cal.weekNumbers = params.weekNumbers;
4160			cal.skipCalendar = params.skipCalendar;
4161			cal.mytab = params.mytab;
4162			mustCreate = true;
4163		} else {
4164			if (params.date)
4165				cal.setDate(params.date);
4166			cal.hide();
4167		}
4168		cal.showsOtherMonths = params.showOthers;
4169		cal.yearStep = params.step;
4170		cal.setRange(params.range[0], params.range[1]);
4171		cal.params = params;
4172		cal.setDateStatusHandler(params.dateStatusFunc);
4173		cal.setDateFormat(dateFmt);
4174		if (mustCreate)
4175			cal.create();
4176		cal.parseDate(dateEl.value || dateEl.innerHTML);
4177		cal.timeFormatOnToday = params.timeFormatOnToday; 
4178		cal.refresh();
4179		if (!params.position)
4180			cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
4181		else
4182			cal.showAt(params.position[0], params.position[1]);
4183		return false;
4184	};
4185};
4186/**
4187 * jscolor, JavaScript Color Picker
4188 *
4189 * @version 1.2.2
4190 * @license http://www.gnu.org/copyleft/lesser.html  GNU Lesser General Public License
4191 * @author  Honza Odvarko <[email protected]>
4192 * @created 2008-06-15
4193 * @updated 2009-02-03
4194 * @link    http://jscolor.com
4195 */
4196
4197
4198var jscolor = {
4199
4200
4201	dir : '/images/', // location of jscolor directory (leave empty to autodetect)
4202	bindClass : 'color', // class name
4203	binding : true, // automatic binding via <input class="...">
4204	preloading : true, // use image preloading?
4205
4206
4207	install : function() {
4208		jscolor.addEvent(window, 'load', jscolor.init)
4209	},
4210
4211
4212	init : function() {
4213		if(jscolor.binding) {
4214			jscolor.bind()
4215		}
4216		if(jscolor.preloading) {
4217			jscolor.preload()
4218		}
4219	},
4220
4221
4222	getDir : function() {
4223		if(!jscolor.dir) {
4224			var detected = jscolor.detectDir()
4225			jscolor.dir = detected!=false ? detected : 'jscolor/'
4226		}
4227		return jscolor.dir
4228	},
4229
4230
4231	detectDir : function() {
4232		var base = location.href
4233
4234		var e = document.getElementsByTagName('base')
4235		for(var i=0; i<e.length; i++) {
4236			if(e[i].href) base = e[i].href
4237		}
4238
4239		var e = document.getElementsByTagName('script')
4240		for(var i=0; i<e.length; i++) {
4241			if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) {
4242				var src = new jscolor.URI(e[i].src)
4243				var srcAbs = src.toAbsolute(base)
4244				srcAbs.path = srcAbs.path.replace(/[^\/]+$/, '') // remove filename
4245				delete srcAbs.query
4246				delete srcAbs.fragment
4247				return srcAbs.toString()
4248			}
4249		}
4250		return false
4251	},
4252
4253
4254	bind : function() {
4255		var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')\\s*(\\{[^}]*\\})?', 'i')
4256		var e = document.getElementsByTagName('input')
4257		for(var i=0; i<e.length; i++) {
4258			var m
4259			if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) {
4260				var prop = {}
4261				if(m[3]) {
4262					try {
4263						eval('prop='+m[3])
4264					} catch(eInvalidProp) {}
4265				}
4266				e[i].color = new jscolor.color(e[i], prop)
4267			}
4268		}
4269	},
4270
4271
4272	preload : function() {
4273		for(var fn in jscolor.imgRequire) {
4274			jscolor.loadImage(fn)
4275		}
4276	},
4277
4278
4279	images : {
4280		pad : [ 181, 101 ],
4281		sld : [ 16, 101 ],
4282		cross : [ 15, 15 ],
4283		arrow : [ 7, 11 ]
4284	},
4285
4286
4287	imgRequire : {},
4288	imgLoaded : {},
4289
4290
4291	requireImage : function(filename) {
4292		jscolor.imgRequire[filename] = true
4293	},
4294
4295
4296	loadImage : function(filename) {
4297		if(!jscolor.imgLoaded[filename]) {
4298			jscolor.imgLoaded[filename] = new Image()
4299			jscolor.imgLoaded[filename].src = jscolor.getDir()+filename
4300		}
4301	},
4302
4303
4304	fetchElement : function(mixed) {
4305		return typeof(mixed) == 'string' ? document.getElementById(mixed) : mixed
4306	},
4307
4308
4309	addEvent : function(el, evnt, func) {
4310		if(el.addEventListener) {
4311			return el.addEventListener(evnt, func, false)
4312		} else if(el.attachEvent) {
4313			return el.attachEvent('on'+evnt, func)
4314		} else {
4315			return false
4316		}
4317	},
4318
4319
4320	fireEvent : function(el, evnt) {
4321		if(!el) {
4322			return false
4323		} else if(document.createEventObject) {
4324			var ev = document.createEventObject()
4325			return el.fireEvent('on'+evnt, ev)
4326		} else if(document.createEvent) {
4327			var ev = document.createEvent('HTMLEvents')
4328			ev.initEvent(evnt, true, true)
4329			return el.dispatchEvent(ev)
4330		} else if(el['on'+evnt]) { // alternatively use the traditional event model (IE5)
4331			return el['on'+evnt]()
4332		} else {
4333			return false
4334		}
4335	},
4336
4337
4338	getElementPos : function(e) {
4339		var e1=e, e2=e
4340		var x=0, y=0
4341		if(e1.offsetParent) {
4342			do {
4343				x += e1.offsetLeft
4344				y += e1.offsetTop
4345			} while(e1 = e1.offsetParent)
4346		}
4347		while((e2 = e2.parentNode) && e2.nodeName != 'BODY') {
4348			x -= e2.scrollLeft
4349			y -= e2.scrollTop
4350		}
4351		return [x, y]
4352	},
4353
4354
4355	getElementSize : function(e) {
4356		return [e.offsetWidth, e.offsetHeight]
4357	},
4358
4359
4360	getMousePos : function(e) {
4361		if(!e) e = window.event
4362		if(typeof e.pageX == 'number') {
4363			return [e.pageX, e.pageY]
4364		} else if(typeof e.clientX == 'number') {
4365			return [
4366				e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft,
4367				e.clientY + document.body.scrollTop + document.documentElement.scrollTop
4368			]
4369		}
4370	},
4371
4372
4373	getViewPos : function() {
4374		if(typeof window.pageYOffset == 'number') {
4375			return [window.pageXOffset, window.pageYOffset]
4376		} else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
4377			return [document.body.scrollLeft, document.body.scrollTop]
4378		} else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
4379			return [document.documentElement.scrollLeft, document.documentElement.scrollTop]
4380		} else {
4381			return [0, 0]
4382		}
4383	},
4384
4385
4386	getViewSize : function() {
4387		if(typeof window.innerWidth == 'number') {
4388			return [window.innerWidth, window.innerHeight]
4389		} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
4390			return [document.body.clientWidth, document.body.clientHeight]
4391		} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
4392			return [document.documentElement.clientWidth, document.documentElement.clientHeight]
4393		} else {
4394			return [0, 0]
4395		}
4396	},
4397
4398
4399	URI : function(uri) { // See RFC3986
4400
4401		this.scheme = null
4402		this.authority = null
4403		this.path = ''
4404		this.query = null
4405		this.fragment = null
4406
4407		this.parse = function(uri) {
4408			var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/)
4409			this.scheme = m[3] ? m[2] : null
4410			this.authority = m[5] ? m[6] : null
4411			this.path = m[7]
4412			this.query = m[9] ? m[10] : null
4413			this.fragment = m[12] ? m[13] : null
4414			return this
4415		}
4416
4417		this.toString = function() {
4418			var result = ''
4419			if(this.scheme != null) result = result + this.scheme + ':'
4420			if(this.authority != null) result = result + '//' + this.authority
4421			if(this.path != null) result = result + this.path
4422			if(this.query != null) result = result + '?' + this.query
4423			if(this.fragment != null) result = result + '#' + this.fragment
4424			return result
4425		}
4426
4427		this.toAbsolute = function(base) {
4428			var base = new jscolor.URI(base)
4429			var r = this
4430			var t = new jscolor.URI
4431
4432			if(base.scheme == null) return false
4433
4434			if(r.scheme != null && r.scheme.toLowerCase() == base.scheme.toLowerCase()) {
4435				r.scheme = null
4436			}
4437
4438			if(r.scheme != null) {
4439				t.scheme = r.scheme
4440				t.authority = r.authority
4441				t.path = removeDotSegments(r.path)
4442				t.query = r.query
4443			} else {
4444				if(r.authority != null) {
4445					t.authority = r.authority
4446					t.path = removeDotSegments(r.path)
4447					t.query = r.query
4448				} else {
4449					if(r.path == '') {
4450						t.path = base.path
4451						if(r.query != null) {
4452							t.query = r.query
4453						} else {
4454							t.query = base.query
4455						}
4456					} else {
4457						if(r.path.substr(0,1) == '/') {
4458							t.path = removeDotSegments(r.path)
4459						} else {
4460							if(base.authority != null && base.path == '') {
4461								t.path = '/'+r.path
4462							} else {
4463								t.path = base.path.replace(/[^\/]+$/,'')+r.path
4464							}
4465							t.path = removeDotSegments(t.path)
4466						}
4467						t.query = r.query
4468					}
4469					t.authority = base.authority
4470				}
4471				t.scheme = base.scheme
4472			}
4473			t.fragment = r.fragment
4474
4475			return t
4476		}
4477
4478		function removeDotSegments(path) {
4479			var out = ''
4480			while(path) {
4481				if(path.substr(0,3)=='../' || path.substr(0,2)=='./') {
4482					path = path.replace(/^\.+/,'').substr(1)
4483				} else if(path.substr(0,3)=='/./' || path=='/.') {
4484					path = '/'+path.substr(3)
4485				} else if(path.substr(0,4)=='/../' || path=='/..') {
4486					path = '/'+path.substr(4)
4487					out = out.replace(/\/?[^\/]*$/, '')
4488				} else if(path=='.' || path=='..') {
4489					path = ''
4490				} else {
4491					var rm = path.match(/^\/?[^\/]*/)[0]
4492					path = path.substr(rm.length)
4493					out = out + rm
4494				}
4495			}
4496			return out
4497		}
4498
4499		if(uri) {
4500			this.parse(uri)
4501		}
4502
4503	},
4504
4505
4506	/*
4507	 * Usage example:
4508	 * var myColor = new jscolor.color(myInputElement)
4509	 */
4510
4511	color : function(target, prop) {
4512
4513
4514		this.required = true // refuse empty values?
4515		this.adjust = true // adjust value to uniform notation?
4516		this.hash = false // prefix color with # symbol?
4517		this.caps = true // uppercase?
4518		this.valueElement = target // value holder
4519		this.styleElement = target // where to reflect current color
4520		this.hsv = [0, 0, 1] // read-only  0-6, 0-1, 0-1
4521		this.rgb = [1, 1, 1] // read-only  0-1, 0-1, 0-1
4522
4523		this.pickerOnfocus = true // display picker on focus?
4524		this.pickerMode = 'HSV' // HSV | HVS
4525		this.pickerPosition = 'bottom' // left | right | top | bottom
4526		this.pickerFace = 10 // px
4527		this.pickerFaceColor = 'ThreeDFace' // CSS color
4528		this.pickerBorder = 1 // px
4529		this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight' // CSS color
4530		this.pickerInset = 1 // px
4531		this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow' // CSS color
4532		this.pickerZIndex = 10000
4533
4534
4535		for(var p in prop) this[p] = prop[p]
4536
4537
4538		this.hidePicker = function() {
4539			if(isPickerOwner()) {
4540				removePicker()
4541			}
4542		}
4543
4544
4545		this.showPicker = function() {
4546			if(!isPickerOwner()) {
4547				var tp = jscolor.getElementPos(target) // target pos
4548				var ts = jscolor.getElementSize(target) // target size
4549				var vp = jscolor.getViewPos() // view pos
4550				var vs = jscolor.getViewSize() // view size
4551				var ps = [ // picker size
4552					2*this.pickerBorder + 4*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[1] + jscolor.images.sld[0],
4553					2*this.pickerBorder + 2*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[1]
4554				]
4555				var a, b, c
4556				switch(this.pickerPosition.toLowerCase()) {
4557					case 'left': a=1; b=0; c=-1; break
4558					case 'right':a=1; b=0; c=1; break
4559					case 'top':  a=0; b=1; c=-1; break
4560					default:     a=0; b=1; c=1; break
4561				}
4562				var l = (ts[b]+ps[b])/2
4563				var pp = [ // picker pos
4564					-vp[a]+tp[a]+ps[a] > vs[a] ?
4565						(-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >
4565= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) : tp[a],
4566					-vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?
4567						(-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :
4568						(tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)
4569				]
4570				drawPicker(pp[a], pp[b])
4571			}
4572		}
4573
4574
4575		this.importColor = function() {
4576			if(!valueElement) {
4577				this.exportColor()
4578			} else {
4579				if(!this.adjust) {
4580					if(!this.fromString(valueElement.value, leaveValue)) {
4581						styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor
4582						styleElement.style.color = styleElement.jscStyle.color
4583						this.exportColor(leaveValue | leaveStyle)
4584					}
4585				} else if(!this.required && /^\s*$/.test(valueElement.value)) {
4586					valueElement.value = ''
4587					styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor
4588					styleElement.style.color = styleElement.jscStyle.color
4589					this.exportColor(leaveValue | leaveStyle)
4590
4591				} else if(this.fromString(valueElement.value)) {
4592					// OK
4593				} else {
4594					this.exportColor()
4595				}
4596			}
4597		}
4598
4599
4600		this.exportColor = function(flags) {
4601			if(!(flags & leaveValue) && valueElement) {
4602				var value = this.toString()
4603				if(this.caps) value = value.toUpperCase()
4604				if(this.hash) value = '#'+value
4605				valueElement.value = value
4606			}
4607			if(!(flags & leaveStyle) && styleElement) {
4608				styleElement.style.backgroundColor = '#'+this.toString()
4609				styleElement.style.color =
4610					0.213 * this.rgb[0] +
4611					0.715 * this.rgb[1] +
4612					0.072 * this.rgb[2]
4613					< 0.5 ? '#FFF' : '#000'
4614			}
4615			if(!(flags & leavePad) && isPickerOwner()) {
4616				redrawPad()
4617			}
4618			if(!(flags & leaveSld) && isPickerOwner()) {
4619				redrawSld()
4620			}
4621		}
4622
4623
4624		this.fromHSV = function(h, s, v, flags) { // null = don't change
4625			h<0 && (h=0) || h>6 && (h=6)
4626			s<0 && (s=0) || s>1 && (s=1)
4627			v<0 && (v=0) || v>1 && (v=1)
4628			this.rgb = HSV_RGB(
4629				h==null ? this.hsv[0] : (this.hsv[0]=h),
4630				s==null ? this.hsv[1] : (this.hsv[1]=s),
4631				v==null ? this.hsv[2] : (this.hsv[2]=v)
4632			)
4633			this.exportColor(flags)
4634		}
4635
4636
4637		this.fromRGB = function(r, g, b, flags) { // null = don't change
4638			r<0 && (r=0) || r>1 && (r=1)
4639			g<0 && (g=0) || g>1 && (g=1)
4640			b<0 && (b=0) || b>1 && (b=1)
4641			var hsv = RGB_HSV(
4642				r==null ? this.rgb[0] : (this.rgb[0]=r),
4643				g==null ? this.rgb[1] : (this.rgb[1]=g),
4644				b==null ? this.rgb[2] : (this.rgb[2]=b)
4645			)
4646			if(hsv[0] != null) {
4647				this.hsv[0] = hsv[0]
4648			}
4649			if(hsv[2] != 0) {
4650				this.hsv[1] = hsv[1]
4651			}
4652			this.hsv[2] = hsv[2]
4653			this.exportColor(flags)
4654		}
4655
4656
4657		this.fromString = function(hex, flags) {
4658			var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i)
4659			if(!m) {
4660				return false
4661			} else {
4662				if(m[1].length == 6) { // 6-char notation
4663					this.fromRGB(
4664						parseInt(m[1].substr(0,2),16) / 255,
4665						parseInt(m[1].substr(2,2),16) / 255,
4666						parseInt(m[1].substr(4,2),16) / 255,
4667						flags
4668					)
4669				} else { // 3-char notation
4670					this.fromRGB(
4671						parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255,
4672						parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255,
4673						parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255,
4674						flags
4675					)
4676				}
4677				return true
4678			}
4679		}
4680
4681
4682		this.toString = function() {
4683			return (
4684				(0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) +
4685				(0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) +
4686				(0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1)
4687			)
4688		}
4689
4690
4691		function RGB_HSV(r, g, b) {
4692			var n = Math.min(Math.min(r,g),b)
4693			var v = Math.max(Math.max(r,g),b)
4694			var m = v - n
4695			if(m == 0) return [ null, 0, v ]
4696			var h = r==n ? 3+(b-g)/m : (g==n ? 5+(r-b)/m : 1+(g-r)/m)
4697			return [ h==6?0:h, m/v, v ]
4698		}
4699
4700
4701		function HSV_RGB(h, s, v) {
4702			if(h == null) return [ v, v, v ]
4703			var i = Math.floor(h)
4704			var f = i%2 ? h-i : 1-(h-i)
4705			var m = v * (1 - s)
4706			var n = v * (1 - s*f)
4707			switch(i) {
4708				case 6:
4709				case 0: return [v,n,m]
4710				case 1: return [n,v,m]
4711				case 2: return [m,v,n]
4712				case 3: return [m,n,v]
4713				case 4: return [n,m,v]
4714				case 5: return [v,m,n]
4715			}
4716		}
4717
4718
4719		function removePicker() {
4720			delete jscolor.picker.owner
4721			document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB)
4722		}
4723
4724
4725		function drawPicker(x, y) {
4726			if(typeof jscolor.picker != "undefined" && typeof jscolor.picker.boxB != "undefined") {
4727				try{
4728					document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB)
4729				}catch(e){}
4730			}
4731			jscolor.picker = {
4732				box : document.createElement('div'),
4733				boxB : document.createElement('div'),
4734				pad : document.createElement('div'),
4735				padB : document.createElement('div'),
4736				padM : document.createElement('div'),
4737				sld : document.createElement('div'),
4738				sldB : document.createElement('div'),
4739				sldM : document.createElement('div')
4740			}
4741			for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) {
4742				var seg = document.createElement('div')
4743				seg.style.height = segSize+'px'
4744				seg.style.fontSize = '1px'
4745				seg.style.lineHeight = '0'
4746				jscolor.picker.sld.appendChild(seg)
4747			}
4748			jscolor.picker.sldB.appendChild(jscolor.picker.sld)
4749			jscolor.picker.box.appendChild(jscolor.picker.sldB)
4750			jscolor.picker.box.appendChild(jscolor.picker.sldM)
4751			jscolor.picker.padB.appendChild(jscolor.picker.pad)
4752			jscolor.picker.box.appendChild(jscolor.picker.padB)
4753			jscolor.picker.box.appendChild(jscolor.picker.padM)
4754			jscolor.picker.boxB.appendChild(jscolor.picker.box)
4755			//}
4756
4757			var p = jscolor.picker
4758
4759			// recompute controls positions
4760			posPad = [
4761				x+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset,
4762				y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ]
4763			posSld = [
4764				null,
4765				y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ]
4766
4767			// controls interaction
4768			p.box.onmouseup =
4769			p.box.onmouseout = function() { target.focus() }
4770			p.box.onmousedown = function() { abortBlur=true }
4771			p.box.onmousemove = function(e) { holdPad && setPad(e); holdSld && setSld(e) }
4772			p.padM.onmouseup =
4773			p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change') } }
4774			p.padM.onmousedown = function(e) { holdPad=true; setPad(e) }
4775			p.sldM.onmouseup =
4776			p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change') } }
4777			p.sldM.onmousedown = function(e) { holdSld=true; setSld(e) }
4778
4779			// picker
4780			p.box.style.width = 4*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] + 'px'
4781			p.box.style.height = 2*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[1] + 'px'
4782
4783			// picker border
4784			p.boxB.style.position = 'absolute'
4785			p.boxB.style.clear = 'both'
4786			p.boxB.style.left = x+'px'
4787			p.boxB.style.top = y+'px'
4788			p.boxB.style.zIndex = THIS.pickerZIndex
4789			p.boxB.style.border = THIS.pickerBorder+'px solid'
4790			p.boxB.style.borderColor = THIS.pickerBorderColor
4791			p.boxB.style.background = THIS.pickerFaceColor
4792
4793			// pad image
4794			p.pad.style.width = jscolor.images.pad[0]+'px'
4795			p.pad.style.height = jscolor.images.pad[1]+'px'
4796
4797			// pad border
4798			p.padB.style.position = 'absolute'
4799			p.padB.style.left = THIS.pickerFace+'px'
4800			p.padB.style.top = THIS.pickerFace+'px'
4801			p.padB.style.border = THIS.pickerInset+'px solid'
4802			p.padB.style.borderColor = THIS.pickerInsetColor
4803
4804			// pad mouse area
4805			p.padM.style.position = 'absolute'
4806			p.padM.style.left = '0'
4807			p.padM.style.top = '0'
4808			p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px'
4809			p.padM.style.height = p.box.style.height
4810			p.padM.style.cursor = 'crosshair'
4811
4812			// slider image
4813			p.sld.style.overflow = 'hidden'
4814			p.sld.style.width = jscolor.images.sld[0]+'px'
4815			p.sld.style.height = jscolor.images.sld[1]+'px'
4816
4817			// slider border
4818			p.sldB.style.position = 'absolute'
4819			p.sldB.style.right = THIS.pickerFace+'px'
4820			p.sldB.style.top = THIS.pickerFace+'px'
4821			p.sldB.style.border = THIS.pickerInset+'px solid'
4822			p.sldB.style.borderColor = THIS.pickerInsetColor
4823
4824			// slider mouse area
4825			p.sldM.style.position = 'absolute'
4826			p.sldM.style.right = '0'
4827			p.sldM.style.top = '0'
4828			p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px'
4829			p.sldM.style.height = p.box.style.height
4830			try {
4831				p.sldM.style.cursor = 'pointer'
4832			} catch(eOldIE) {
4833				p.sldM.style.cursor = 'hand'
4834			}
4835
4836			// load images in optimal order
4837			switch(modeID) {
4838				case 0: var padImg = Cyberoam.contextPath+'/images/hs.png'; break
4839				case 1: var padImg = '/images/hv.png'; break
4840			}
4841			p.padM.style.background = "url('/images/cross.gif') no-repeat"
4842			p.sldM.style.background = "url('/images/colorarrow.gif') no-repeat"
4843			p.pad.style.background = "url('"+padImg+"') 0 0 no-repeat"
4844
4845			// place pointers
4846			redrawPad()
4847			redrawSld()
4848
4849			jscolor.picker.owner = THIS
4850			document.getElementsByTagName('body')[0].appendChild(p.boxB)
4851		}
4852
4853
4854		function redrawPad() {
4855			// redraw the pad pointer
4856			switch(modeID) {
4857				case 0: var yComponent = 1; break
4858				case 1: var yComponent = 2; break
4859			}
4860			var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1))
4861			var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1))
4862			jscolor.picker.padM.style.backgroundPosition =
4863				(THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' +
4864				(THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px'
4865
4866			// redraw the slider image
4867			var seg = jscolor.picker.sld.childNodes
4868
4869			switch(modeID) {
4870				case 0:
4871					var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1)
4872					for(var i=0; i<seg.length; i++) {
4873						seg[i].style.backgroundColor = 'rgb('+
4874							(rgb[0]*(1-i/seg.length)*100)+'%,'+
4875							(rgb[1]*(1-i/seg.length)*100)+'%,'+
4876							(rgb[2]*(1-i/seg.length)*100)+'%)'
4877					}
4878					break
4879				case 1:
4880					var rgb, s, c = [ THIS.hsv[2], 0, 0 ]
4881					var i = Math.floor(THIS.hsv[0])
4882					var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i)
4883					switch(i) {
4884						case 6:
4885						case 0: rgb=[0,1,2]; break
4886						case 1: rgb=[1,0,2]; break
4887						case 2: rgb=[2,0,1]; break
4888						case 3: rgb=[2,1,0]; break
4889						case 4: rgb=[1,2,0]; break
4890						case 5: rgb=[0,2,1]; break
4891					}
4892					for(var i=0; i<seg.length; i++) {
4893						s = 1 - 1/(seg.length-1)*i
4894						c[1] = c[0] * (1 - s*f)
4895						c[2] = c[0] * (1 - s)
4896						seg[i].style.backgroundColor = 'rgb('+
4897							(c[rgb[0]]*100)+'%,'+
4898							(c[rgb[1]]*100)+'%,'+
4899							(c[rgb[2]]*100)+'%)'
4900					}
4901					break
4902			}
4903		}
4904
4905
4906		function redrawSld() {
4907			// redraw the slider pointer
4908			switch(modeID) {
4909				case 0: var yComponent = 2; break
4910				case 1: var yComponent = 1; break
4911			}
4912			var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1))
4913			jscolor.picker.sldM.style.backgroundPosition =
4914				'0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px'
4915		}
4916
4917
4918		function isPickerOwner() {
4919			return jscolor.picker && jscolor.picker.owner == THIS
4920		}
4921
4922
4923		function blurTarget() {
4924			if(valueElement == target) THIS.importColor()
4925			if(THIS.pickerOnfocus) THIS.hidePicker()
4926		}
4927
4928
4929		function blurValue() {
4930			if(valueElement != target) THIS.importColor()
4931		}
4932
4933
4934		function setPad(e) {
4935			var posM = jscolor.getMousePos(e)
4936			var x = posM[0]-posPad[0]
4937			var y = posM[1]-posPad[1]
4938			switch(modeID) {
4939				case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break
4940				case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break
4941			}
4942		}
4943
4944
4945		function setSld(e) {
4946			var posM = jscolor.getMousePos(e)
4947			var y = posM[1]-posPad[1]
4948			switch(modeID) {
4949				case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break
4950				case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break
4951			}
4952		}
4953
4954
4955		var THIS = this
4956		var modeID = this.pickerMode.toLowerCase()=='hvs' ? 1 : 0
4957		var abortBlur = false
4958		var
4959			valueElement = jscolor.fetchElement(this.valueElement),
4960			styleElement = jscolor.fetchElement(this.styleElement)
4961		var
4962			holdPad = false,
4963			holdSld = false
4964		var
4965			posPad,
4966			posSld
4967		var
4968			leaveValue = 1<<0,
4969			leaveStyle = 1<<1,
4970			leavePad = 1<<2,
4971			leaveSld = 1<<3
4972
4973		// target
4974		jscolor.addEvent(target, 'focus', function() {
4975			if(THIS.pickerOnfocus) THIS.showPicker()
4976		})
4977		jscolor.addEvent(target, 'blur', function() {
4978			if(!abortBlur) {
4979				setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false }, 0)
4980			} else {
4981				abortBlur = false
4982			}
4983		})
4984
4985		// valueElement
4986		if(valueElement) {
4987			var updateField = function() {
4988				THIS.fromString(valueElement.value, leaveValue)
4989			}
4990			jscolor.addEvent(valueElement, 'keyup', updateField)
4991			jscolor.addEvent(valueElement, 'input', updateField)
4992			jscolor.addEvent(valueElement, 'blur', blurValue)
4993			valueElement.setAttribute('autocomplete', 'off')
4994		}
4995
4996		// styleElement
4997		if(styleElement) {
4998			styleElement.jscStyle = {
4999				backgroundColor : styleElement.style.backgroundColor,
5000				color : styleElement.style.color
5001			}
5002		}
5003
5004		// require images
5005		switch(modeID) {
5006			case 0: jscolor.requireImage('hs.png'); break
5007			case 1: jscolor.requireImage('hv.png'); break
5008		}
5009		jscolor.requireImage('cross.gif');
5010		jscolor.requireImage('arrow.gif');
5011
5012		this.importColor()
5013	}
5014
5015}
5016
5017
5018jscolor.install()
5019TooltipThread=null,Cyberoam.showTooltipByMode=function(o,t){o.id&&null!=o.id&&""!=o.id&&0!=o.id&&"null"!=o.id?(Cyberoam.showTooltip(null,t),TooltipThread=setTimeout((function(){Cyberoam.AJAXCall({url:"/Controller",postResponse:function(e){o.data=e,Cyberoam.showTooltip(o,t)},method:"GET",query:"mode="+o.mode+"&id="+o.id+"&entity="+o.entity,id:null})}),100),t.onmouseout=function(){clearTimeout(TooltipThread),TooltipThread=null}):(o.data=Language.noItemSelectedTip,Cyberoam.showTooltip(o,t))},Cyberoam.showTooltip=function(o,t){if($(t).is(":hover")&&jQuery("#tooltip")&&0!=$(t).offset().left){jQuery('<div id="tooltip" style="width:auto;position:absolute"></div>').appendTo("#body");var e=[];e.push('<div id="tooltipCorner"></div>
5019'),e.push('<div class="tooltipWrapper">'),null!=o&&o.header&&e.push('<div class="tooltipheader"><div style="display:inline-block;">'+Cyberoam.getTranslatedMSG(o.header)+'</div><div style="float:right" class="tooltipclose" onclick=Cyberoam.closeTooltip();></div></div>'),e.push('<div id="tooltipbody">'),null!=o?e.push(o.data):e.push('<div class="spinner-loading"></div>'),e.push("</div>"),e.push("</div>"),e.push("</div>"),$("#tooltip").html(e.join("")),document.getElementById("tooltip").style.zIndex=Cyberoam.pageLayer?200*Cyberoam.pageLayer+10:200,$(t).on("mouseout",(function(o){Cyberoam.hideTooltip()})),$(t).on("mouseover",(function(o){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),$("#tooltip").on("mouseout",(function(o){Cyberoam.hideTooltip()})),$("#tooltip").on("mouseover",(function(o){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),Cyberoam.setLabelValue(document.getElementById("tooltip"));var l=document.getElementById("tooltip");jQuery("#tooltip").width()+$(t).offset().left+$(t).width()>document.body.clientWidth?(l.style.left=$(t).offset().left-jQuery("#tooltip").width()-10+"px",jQuery("#tooltipCorner").addClass("tooltipleft")):(l.style.left=$(t).offset().left+$(t).width()+10+"px",jQuery("#tooltipCorner").addClass("tooltipright")),jQuery("#tooltip").height()+$(t).offset().top+$(t).height()>document.body.clientHeight&&jQuery("#tooltip").height()<$(t).offset().top?(l.style.top=$(t).offset().top-(jQuery("#tooltip").height()-20)+"px",document.getElementById("tooltipCorner").style.top=jQuery("#tooltip").height()-20+"px"):l.style.top=$(t).offset().top-5+"px";var i=null;i=setInterval((function(){var o;(o=$(t))&&!o.is(":hover")&&0===$("#tooltip:hover").length&&(Cyberoam.closeTooltip(),clearInterval(i),i=null)}),100)}},Cyberoam.hideTooltip=function(){hideTooltip=function(){Cyberoam.tooltipInterval&&($("#tooltip").length>0&&jQuery("#tooltip").remove(),$("#tooltipcustom").length>0&&jQuery("#tooltipcustom").remove())},Cyberoam.tooltipInterval=setTimeout((function(){this.hideTooltip()}),50)},Cyberoam.closeTooltip=function(){$("#tooltip").length>0&&jQuery("#tooltip").remove(),$("#tooltipcustom").length>0&&jQuery("#tooltipcustom").remove()};Cyberoam.combobox=function(e){for(var t in this.config={id:"",data:{},style:"",maxlength:256,editable:!1,height:200,width:110,onChange:null,selectedItems:[],multiSelect:!1,labelDisplay:"select"},this.selectedItem=[],this.selectedIndex=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:{},style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.combobox.prototype.getSelectedLabel=function(){if(this.config.editable&&""!=Cyberoam.trim(document.getElementById("Combo_select_input"+this.config.id).value))return document.getElementById("Combo_select_input"+this.config.id).value;for(var e=[],t=0;t<this.selectedItem.length;t++)e.push(this.config.data[this.selectedItem[t]].label);return e},Cyberoam.combobox.prototype.getSelectedKey=function(){if(this.config.editable&&""!=Cyberoam.trim(document.getElementById("Combo_select_input"+this.config.id).value))return document.getElementById("Combo_select_input"+this.config.id).value;for(var e=[],t=0;t<this.selectedItem.length;t++)e.push(this.selectedItem[t]);return e},Cyberoam.combobox.prototype.getSelectedIndex=function(){return this.selectedIndex},Cyberoam.combobox.prototype.getLabelByIndex=function(e){for(var t=[],o=0;o<e.length&&(t[o]=this.config.data[e[o]].label,this.config.multiSelect);o++);return t},Cyberoam.combobox.prototype.getKeyByIndex=function(e){for(var t=[],o=0;o<e.length&&(t[o]=this.config.data[e[o]].key,this.config.multiSelect);o++);return t},Cyberoam.combobox.prototype.selectNodesByKeys=function(e){for(var t=this,o=this.config.id,i=[],l=0;l<e.length;l++)document.getElementById("Combo_item"+o+e[l])&&(t.config.multiSelect&&(document.getElementById("Combo_item"+o+e[l]).className="dragList_item_select"),i.push(this.config.data[e[l]].label));t.selectedItem=e;var n=i.toString(),m=i.toString();n.length>
501917?(n=n.substring(0,17)+"...",jQuery("#Combo_select"+o).html(n),jQuery("#Combo_select"+o).attr("title",m)):(jQuery("#Combo_select"+o).attr("title",m),0==t.selectedItem.length?jQuery("#Combo_select"+o).html(t.config.labelDisplay):jQuery("#Combo_select"+o).html(n))},Cyberoam.combobox.prototype.deleteNodeByIndex=function(e){for(var t=0;t<e.length;t++){var o=this.config.data[e[t]-t];if(this.config.data.splice(e[t]-t,1),$("#Combo_item"+o.key).html("").remove(),0==this.config.multiSelect)break}},Cyberoam.combobox.prototype.getSelectedItems=function(){return myobject=this,myobject.selectedItem},Cyberoam.combobox.prototype.divClickEvent=function(e,t){myobject=this;var o=[],i=this.config.id;if(myobject.config.multiSelect){var l=t.getAttribute("key");-1==t.className.indexOf("dragList_item_select")?($(t).removeClass(),$(t).addClass("dragList_item_select_current"),myobject.selectedItem.push(l)):($(t).removeClass(),$(t).addClass("dragList_item"),myobject.selectedItem=Cyberoam.removeItemInArray(l,myobject.selectedItem));for(var n=0;n<myobject.selectedIndex.length;n++)o.push(this.config.data[myobject.selectedItem[n]].label);jQuery("#Combo_select"+i).html("");var m=Cyberoam.replaceAll(o.toString(),"<","&lt;"),s=Cyberoam.replaceAll(o.toString(),"<","&lt;");m.length>17?(m=m.substring(0,17)+"...",jQuery("#Combo_select"+i).html(m),jQuery("#Combo_select"+i).attr("title",s)):(jQuery("#Combo_select"+i).attr("title",s),0==myobject.selectedItem.length?jQuery("#Combo_select"+i).html(Cyberoam.replaceAll(myobject.config.labelDisplay,"<","&lt;")):jQuery("#Combo_select"+i).html(m))}else{l=t.getAttribute("key");myobject.selectedItem[0]=l,jQuery("#Combo_select"+i).html(Cyberoam.replaceAll(this.config.data[myobject.selectedItem[0]].label,"<","&lt;")),jQuery("#Combo_select"+i).attr("title",Cyberoam.replaceAll(this.config.data[myobject.selectedItem[0]].label,"<","&lt;")),myobject.hide()}document.getElementById("Combo_select_input"+i).value="",null!=myobject.config.onChange&&myobject.config.onChange(myobject.selectedItem)},Cyberoam.combobox.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=[];t=this.config.data;var o=this.config.id;jQuery("#"+o).attr("class","ComboBox"),0==this.config.editable&&jQuery("#"+o).on("click",(function(){var t=document.getElementById("Combo_body"+e.config.id);t.style.top=jQuery(this).offset().top+18,t.style.left=jQuery(this).offset().left,""==t.style.display?e.hide():e.show()})),jQuery("#"+o).html("<input id=Combo_select_input"+o+" maxlength='"+this.config.maxlength+"' style='width:85%;height:18px;float:left;border:1px solid #666;border-right:none;display:none' /><div id=Combo_select"+o+" class='Combo_select1'>"+e.config.labelDisplay+"</div><div id=btn"+o+" class='Combo_button'> </div>"),jQuery("#mainbody").append(jQuery("<div id=Combo_body"+o+" class='Combo_body' style='display:none'></div>"));var i=[];if(""!=o){var l=0;if(e.config.multiSelect)for(var l in t)t.hasOwnProperty(l)&&(i.push("<div id=Combo_item_"+o+l+" key='"+l+"' title='"+Cyberoam.replaceAll(t[l].label,"<","&lt;")+"' class ='dragList_item'>"),i.push(Cyberoam.replaceAll(t[l].label,"<","&lt;")),i.push("</div>"));else for(var l in t)t.hasOwnProperty(l)&&(i.push("<div id=Combo_item"+o+l+" key='"+l+"' title='"+Cyberoam.replaceAll(t[l].label,"<","&lt;")+"' class ='Combo_item_single'>"),i.push(Cyberoam.replaceAll(t[l].label,"<","&lt;")),i.push("</div>"));document.getElementById("Combo_body"+o).innerHTML=i.join("")}if(document.getElementById("Combo_body"+o).style.width=e.config.width+"px",document.getElementById("Combo_body"+o).offsetHeight>e.config.height&&(document.getElementById("Combo_body"+o).style.height=e.config.height+"px"),this.config.editable&&($("#btn"+o).on("click",(function(t){var o=document.getElementById("Combo_body"+e.config.id);o.style.top=jQuery(this.parentNode).offset().top+18,o.style.left=jQuery(this.parentNode).offset().left,""==o.style.display?e.hide():e.show()})),""!=this.config.selectedItems?document.getElementById("Combo_select_input"+o).value=this.config.selectedItems:document.getElementById("Combo_select_input"+o).value="",document.getElementById("Combo_select_input"+o).onblur=function(){if(""!=this.value){var e=Cyberoam.replaceAll(this.value,"<","&lt;");this.value.length>25&&(e=this.value.substring(0,25)+"..."),document.getElementById("Combo_select"+o
5019).title=Cyberoam.replaceAll(this.value,"<","&lt;"),document.getElementById("Combo_select"+o).innerHTML=e}document.getElementById("Combo_select_input"+o).style.display="none",document.getElementById("Combo_select"+o).style.display=""},$("#Combo_select"+o).on("click",(function(t){void 0!==document.getElementById("Combo_select"+o).title&&""!=document.getElementById("Combo_select"+o).title?document.getElementById("Combo_select_input"+o).value=Cyberoam.replaceAll(document.getElementById("Combo_select"+o).title,"&lt;","<"):document.getElementById("Combo_select"+o).innerHTML!=e.config.labelDisplay?document.getElementById("Combo_select_input"+o).value=Cyberoam.replaceAll(document.getElementById("Combo_select"+o).innerHTML,"&lt;","<"):document.getElementById("Combo_select_input"+o).value="",document.getElementById("Combo_select_input"+o).style.display="",document.getElementById("Combo_select_input"+o).focus(),document.getElementById("Combo_select"+o).style.display="none",document.getElementById("Combo_select"+o).title=""}))),$("#Combo_body"+o+" div").on("click",(function(t){e.divClickEvent(t,this)})),$("#Combo_body"+o+" div").on("mouseover",(function(t){e.mouseOverEvent(t,this)})),$("#Combo_body"+o+" div").on("mouseout",(function(t){e.mouseOutEvent(t,this)})),""!=this.config.selectedItems)if("object"==typeof this.config.selectedItems)this.selectNodesByKeys(this.config.selectedItems);else{var n=this.config.selectedItems;if(""!=n){var m=n;n.length>25&&(m=n.substring(0,25)+"..."),document.getElementById("Combo_select"+o).title=n,document.getElementById("Combo_select"+o).innerHTML=m}document.getElementById("Combo_select_input"+o).style.display="none",document.getElementById("Combo_select"+o).style.display=""}},Cyberoam.combobox.prototype.getItemByIndex=function(e){return this.config.data[e]?this.config.data[e]:null},Cyberoam.combobox.prototype.addElement=function(e){var t=this;this.config.id;t.config.multiSelect?jQuery("<div id=Combo_item"+e.key+" class ='dragList_item'> "+e.label+"</div>").appendTo("#Combo_body"+this.config.id):jQuery("<div id=Combo_item"+e.key+" class ='Combo_item_single'> "+e.label+"</div>").appendTo("#Combo_body"+this.config.id),this.config.data.push(e),$("#Combo_item"+e.key).on("click",(function(e){t.divClickEvent(e,this)})),$("#Combo_item"+e.key).on("mouseover",(function(e){t.mouseOverEvent(e,this)})),$("#Combo_item"+e.key).on("mouseout",(function(e){t.mouseOutEvent(e,this)}))},Cyberoam.combobox.prototype.mouseOverEvent=function(e,t){this.config.multiSelect?($(t).is(".dragList_item")||$(t).is(".dragList_item_select_current"))&&$(t).addClass("highlight"):$(t).is(".Combo_item_single")&&($(t).removeClass(),$(t).addClass("Combo_item_single_hilite"))},Cyberoam.combobox.prototype.mouseOutEvent=function(e,t){this.config.multiSelect?($(t).is(".dragList_item")||$(t).is(".dragList_item_select_current"))&&$(t).removeClass("highlight"):$(t).is(".Combo_item_single_hilite")&&($(t).removeClass(),$(t).addClass("Combo_item_single"))},Cyberoam.combobox.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id);document.getElementById("Combo_body"+this.config.id).style.top=e.offset().top+20+"px",e.offset().top+30+jQuery("#Combo_body"+this.config.id).height()>document.body.clientHeight-30&&(document.getElementById("Combo_body"+this.config.id).style.top=parseInt(document.getElementById("Combo_body"+this.config.id).style.top)-(e.offset().top+30+jQuery("#Combo_body"+this.config.id).height()-document.body.clientHeight)+"px"),document.getElementById("Combo_body"+this.config.id).style.left=e.offset().left+"px",e.offset().left+jQuery("#Combo_body"+this.config.id).width()>document.body.clientWidth&&(document.getElementById("Combo_body"+this.config.id).style.left=parseInt(document.getElementById("Combo_body"+this.config.id).style.left)-(e.offset().left+jQuery("#Combo_body"+this.config.id).width()-document.body.clientWidth)+"px"),document.getElementById("Combo_body"+this.config.id).style.display="",Cyberoam.addClass(document.getElementById("Combo_body"+this.config.id),"ComboBox_opened"),Cyberoam.currentObject=this}},Cyberoam.combobox.prototype.hide=function(){document.getElementById("Combo_body"+this.config.id).style.display="none",Cyberoam.removeClass(document.getElementById("Combo_body"+this.config.id),"ComboBox_opened"),Cyberoam.currentObject=null},Cyberoam.combobox.prototype.getOffsetPosition=function(){var e=document.getElementById("Combo_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]};Cyberoam.ExpandedDivJson={},Cyberoam.ExpandedDivList={},Cyberoam.TreeTable=function(e){for(var t in this.config={uniquefield:"id",column:[],isParent:!1,data:[],isChild:!1,id:"",actionConstant:null,postRenderEvent:null,operation:null,mode:null,requestParamKey:[],requestURL:"",afterColleps:null,afterExpand:null,tableLevel:0},this.config)if(void 0!==e[t])if("child"==t){for(var a in defaultchild)void 0!==e[t][a]&&(defaultchild[a]=e[t][a]);this.config[t]=defaultchild}else this.config[t]=e[t]},Cyberoam.TreeTable.prototype.create=function(){this.createTable(this.config)},Cyberoam.TreeTable.prototype.createTable=function(e){Cyberoam.ExpandedDivList={};var t=e.id,a=(e.data,document.getElementById(t)),d=e.column,r=function(e,t,a){var d=document.getElementById(e.id).parentNode.parentNode.parentNode;if(void 0!==Cyberoam.ExpandedDivList[d.id])if("tree_blue fa fa-caret-square-o-right---"==document.getElementById(e.id).className){for(var r in document.getElementById(e.id).className="tree_blue fa fa-caret-square-o-down---",setVisibleHideRow(d.id,"Hide"),Cyberoam.ExpandedDivJson)if("object"==typeof Cyberoam.ExpandedDivJson[r]){var l=d.id.split("_");if(void 0!==Cyberoam.ExpandedDivJson[r][l[l.length-1]]){delete Cyberoam.ExpandedDivJson[r][l[l.length-1]];break}}delete Cyberoam.ExpandedDivList[d.id]}else"tree_dblue fa fa-caret-square-o-right---"==document.getElementById(e.id).className?(document.getElementById(e.id).className="tree_dblue fa fa-caret-square-o-down---",setVisibleHideRow(d.id,"Hide"),void 0!==Cyberoam.ExpandedDivJson[d.id]&&delete Cyberoam.ExpandedDivJson[d.id],delete Cyberoam.ExpandedDivList[d.id]):"tree_dblue fa fa-caret-square-o-down---"==document.getElementById(e.id).className?(document.getElementById(e.id).className="tree_dblue fa fa-caret-square-o-right---",setVisibleHideRow(d.id,"Show")):(document.getElementById(e.id).className="tree_blue fa fa-caret-square-o-right---",setVisibleHideRow(d.id,"Show"));else{var i=YAHOO.lang.JSON.parse(e.getAttribute("rowindex")),n=[];void 0!==t.requestParamKey&&(n=t.requestParamKey);var s={};for(r=0;r<n.length;r++)void 0!==i[n[r]]&&(s[n[r]]=i[n[r]]);var c="/Controller",m="";null!=t.requestURL&&""!=t.requestURL&&(c=t.requestURL),null!=t.actionConstant&&""!=t.actionConstant&&(m+="&action="+t.actionConstant),null!=t.operation&&""!=t.operation&&(m+="&operation="+t.operation),null!=t.mode&&""!=t.mode&&(m+="&mode="+t.mode),m+="&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(s));var u={divid:e.id,tableLevel:a+1};Cyberoam.AJAXCall({url:c,postResponse:o,method:"post",dataType:"json",query:m,id:u})}},o=function(t,a){var o=document.getElementById(a.divid).parentNode.parentNode.parentNode,l=o.id,i=a.tableLevel,n="tdlevel2";2==i&&(n="tdlevel3");var s=t.record;if(void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].module&&"InterfaceManage"===Cyberoam.pageObject[Cyberoam.pageLayer].module&&(s=Cyberoam.AlphaNumericSorting(s,"name")),s.length>0){for(var c=new Array,m=0;m<s.length;m++){var u=new Array,y="tabletext-bkgd",b=Cyberoam.createElement({tag:"tr",id:l+"_tr"+s[m][e.uniquefield]});$(b).insertAfter(o),b.setAttribute("parentTrId",l);var h=null;h="tdlevel2"==n?Cyberoam.createElement({tag:"td",id:l+"_td"+s[m][e.uniquefield],className:y+" treecolumntd treestrip tdlevel2"},b):Cyberoam.createElement({tag:"td",id:l+"_td"+s[m][e.uniquefield],className:y+" treecolumntd treestrip"},b),(E=Cyberoam.createElement({tag:"div"},h)).style.width="5px",E.style.height="100%";var p="tree_blue fa fa-caret-square-o-down---";void 0!==s[m].hasChild&&0!=s[m].hasChild||(p=-1!=document.getElementById(l).childNodes[0].childNodes[0].childNodes[0].className.indexOf("tree_dblue")?"tree_blue":"tree_lblue"),-1!=p.indexOf("tree_blue")&&void 0!==s[m].hasChild&&1==s[m].hasChild&&(b.onmouseover=function(){this.style.cursor="pointer"},b.onmouseout=function(){this.style.cursor="default"}),(C=Cyberoam.createElement({tag:"div",className:p,id:l+"_div"+s[m][e.uniquefield]},E)).setAttribute("rowid",s[m][e.uniquefield]),C.setAttribute("rowindex",YAHOO.lang.JSON.stringify(s[m])),C.row=m,C.rowId=s[m][e.uniquefield],C.totalRecords=s.length,u.push(C),void 0!==s[m].hasChild&&1==s[m].hasChild&&(C.parentNode.parentNode.parentNode.onclick=function(){r(this.childNodes[0].childNodes[0].childNodes[0],e,i)});for(var g=0;g<d.length;g++)if(void 0!==e.column[g].group&&""!=e.column[g].group){for(var f=0;f<e.column[g].group.length;
5019f++)if(void 0===e.column[g].group[f].type||"hidden"!=e.column[g].group[f].type){var v="";void 0!==s[m][e.column[g].group[f].key]&&(v=s[m][e.column[g].group[f].key]);y="tabletext-bkgd leftborder bottomborder "+n,h=Cyberoam.createElement({tag:"td",className:y},b);var C=Cyberoam.createElement({tag:"div",style:"width:100%;"},h);if(null!=e.column[g].group[f].formater?e.column[g].group[f].formater(C,v,s[m]):C.appendChild(document.createTextNode(v)),s[m].isParent&&void 0===d[g].type&&"checkbox"!=d[g].type){h.style.background="#FFFFFF",h.colSpan=d.length;break}}}else{if(void 0!==d[g].type&&"hidden"==d[g].type)continue;v="";void 0!==s[m][d[g].key]&&(v=s[m][d[g].key]);y="tabletext-bkgd leftborder bottomborder "+n,h=Cyberoam.createElement({tag:"td",className:y},b),C=Cyberoam.createElement({tag:"div"},h);if(""!=d[g].width&&(C.style.wordWrap="break-word",C.style.textAlign="left"),void 0!==d[g].type&&"checkbox"==d[g].type?d[g].formater(C,s[m][e.uniquefield],s[m],i,a.divid):null!=d[g].formater?d[g].formater(C,v,s[m]):C.appendChild(document.createTextNode(v)),s[m].isParent&&void 0===d[g].type&&"checkbox"!=d[g].type){h.style.background="#FFFFFF",h.colSpan=d.length;break}}(o=b).offsetHeight<25&&(o.style.height="25px");for(var N=0;N<u.length;N++)u[N].style.height=o.offsetHeight+"px";c.push(b),1==isExpanded(b.id)&&b.childNodes[0].childNodes[0].childNodes[0].click()}Cyberoam.ExpandedDivList[l]=c,createExpandDivListJSON(Cyberoam.ExpandedDivJson,l.split("_"),1),"tree_dblue fa fa-caret-square-o-down---"==document.getElementById(a.divid).className?document.getElementById(a.divid).className="tree_dblue fa fa-caret-square-o-right---":document.getElementById(a.divid).className="tree_blue fa fa-caret-square-o-right---"}else{u=new Array,c=new Array,b=Cyberoam.createElement({tag:"tr"});$(b).insertAfter(o),-1!=document.getElementById(l).childNodes[0].childNodes[0].childNodes[0].className.indexOf("tree_dblue")?(p="tree_blue",n=" tdlevel2"):(p="tree_lblue",n=" tdlevel3");var E;h=Cyberoam.createElement({tag:"td",className:"tabletext-bkgd tdObject treestrip "+n},b);(E=Cyberoam.createElement({tag:"div"},h)).style.width="5px",E.style.height="100%";C=Cyberoam.createElement({tag:"div",className:p},E);u.push(C);var x="tabletext-bkgd leftborder bottomborder "+n;b.setAttribute("parentTrId",l),h=Cyberoam.createElement({tag:"td",className:x,colspan:d.length+1,style:"height:25px"},b),(C=Cyberoam.createElement({tag:"div"},h)).style.textAlign="left",C.appendChild(document.createTextNode(Language.NoRecordFound)),c.push(b);for(N=0;N<u.length;N++)u[N].style.height=b.offsetHeight+"px";Cyberoam.ExpandedDivList[l]=c,createExpandDivListJSON(Cyberoam.ExpandedDivJson,l.split("_"),1),"tree_dblue fa fa-caret-square-o-down---"==document.getElementById(a.divid).className?document.getElementById(a.divid).className="tree_dblue fa fa-caret-square-o-right---":document.getElementById(a.divid).className="tree_blue fa fa-caret-square-o-right---"}null!=e.postRenderEvent&&e.postRenderEvent()};if(0!=d.length){for(var l=!1,i=0;i<e.column.length;i++)if(void 0!==e.column[i].group&&""!=e.column[i].group){l=!0;break}var n=Cyberoam.createElement({tag:"table",id:"table_"+t,cellspacing:"0",cellpadding:"0",className:"yui-dt"},a);n.style.width="100%";var s=Cyberoam.createElement({tag:"thead"},n),c="yui-dt-first yui-dt-last",m=Cyberoam.createElement({tag:"tr",className:c},s);1==l&&(trObject2=Cyberoam.createElement({tag:"tr",className:c},s)),c="yui-dt94-col-hosttype yui-dt-col-hosttype yui-dt-sortable",(y=Cyberoam.createElement({tag:"th",className:c},m)).setAttribute("width","5px"),1==l&&(y.rowSpan=2),c="yui-dt-liner",(g=Cyberoam.createElement({tag:"div",className:c},y)).style.width="5px";for(i=0;i<d.length;i++){var u="auto";void 0!==(h=d[i]).width&&""!=h.width&&(u=h.width+"px");c="yui-dt94-col-hosttype yui-dt-col-hosttype yui-dt-sortable";var y=Cyberoam.createElement({tag:"th",id:"td"+h.key,className:c},m);if(void 0!==h.width&&""!=h.width&&(y.width=u),1==l&&void 0===h.group&&(y.rowSpan=2),c="yui-dt-liner",(g=Cyberoam.createElement({tag:"div",id:"divHeader"+h.key,className:c},y)).style.width=u,g.style.cssFloat="left",g.style.styleFloat="left",void 0!==h.label&&g.appendChild(document.createTextNode(Cyberoam.getTranslatedMSG(h.label))),void 0!==h.group&&""!=h.group){y.colSpan=h.group.length;for(var b=0;b<e.column[i].group.length;
5019b++)if(void 0===e.column[i].group[b].type||"hidden"!=e.column[i].group[b].type){var h,p="width:auto";""!=(h=e.column[i].group[b]).width&&(p="width:"+h.width+"px;"),c="yui-dt94-col-hosttype yui-dt-col-hosttype yui-dt-sortable";y=Cyberoam.createElement({tag:"td",title:h.label,className:c},trObject2);""!=h.width&&y.setAttribute("width",h.width),c="yui-dt-liner";var g=Cyberoam.createElement({tag:"div",style:p,className:c},y);Cyberoam.createElement({tag:"span",className:"yui-dt-label"},g).innerHTML=h.label}}}}if(e.data.length>0)for(var f=Cyberoam.createElement({tag:"tbody"},n),v=0;v<e.data.length;v++){var C=new Array;c="tabletext-bkgd",m=Cyberoam.createElement({tag:"tr",id:"tr"+e.data[v][e.uniquefield],class:"yui-dt-rec yui-dt-odd"},f),y=null;if(y=Cyberoam.createElement({tag:"td",id:"td"+e.data[v][e.uniquefield],className:c+" treecolumntd treestrip"},m),(w=Cyberoam.createElement({tag:"div"},y)).style.width="5px",w.style.height="100%",void 0!==e.data[v].hasChild&&1==e.data[v].hasChild){var N="tree_dblue fa fa-caret-square-o-down---";g=Cyberoam.createElement({tag:"div",className:N,id:"div"+e.data[v][e.uniquefield]},w),m.onmouseover=function(){this.style.cursor="pointer"},m.onmouseout=function(){this.style.cursor="default"}}else{N="tree_lastrecord_white";g=Cyberoam.createElement({tag:"div",className:N,id:"div"+e.data[v][e.uniquefield]},w)}g.setAttribute("rowid",e.data[v][e.uniquefield]),g.setAttribute("rowindex",YAHOO.lang.JSON.stringify(e.data[v])),g.row=v,g.tableLevel=e.tableLevel,g.rowId=e.data[v][e.uniquefield],g.totalRecords=e.data.length,C.push(g),void 0!==e.data[v].hasChild&&1==e.data[v].hasChild&&(g.parentNode.parentNode.parentNode.onclick=function(){r(this.childNodes[0].childNodes[0].childNodes[0],e,0)});for(i=0;i<d.length;i++)if(void 0!==e.column[i].group&&""!=e.column[i].group){for(b=0;b<e.column[i].group.length;b++)if(void 0===e.column[i].group[b].type||"hidden"!=e.column[i].group[b].type){var E="";void 0!==e.data[v][e.column[i].group[b].key]&&(E=e.data[v][e.column[i].group[b].key]),c="tabletext-bkgd leftborder bottomborder tdlevel1";y=Cyberoam.createElement({tag:"td",className:c},m),g=Cyberoam.createElement({tag:"div",style:"width:100%;",className:"yui-dt-liner"},y);if(null!=e.column[i].group[b].formater?e.column[i].group[b].formater(g,E,e.data[v]):g.appendChild(document.createTextNode(E)),e.data[v].isParent&&void 0===d[i].type&&"checkbox"!=d[i].type){y.colSpan=d.length;break}}}else{if(void 0!==d[i].type&&"hidden"==d[i].type)continue;E="";void 0!==e.data[v][d[i].key]&&(E=e.data[v][d[i].key]),c="tabletext-bkgd leftborder bottomborder tdlevel1";y=Cyberoam.createElement({tag:"td",className:c},m),g=Cyberoam.createElement({tag:"div",className:"yui-dt-liner"},y);if(""!=d[i].width&&(g.style.wordWrap="break-word",g.style.textAlign="left"),void 0!==d[i].type&&"checkbox"==d[i].type?d[i].formater(g,e.data[v][e.uniquefield],e.data[v],e.tableLevel,""):null!=d[i].formater?d[i].formater(g,E,e.data[v]):g.appendChild(document.createTextNode(E)),e.data[v].isParent&&void 0===d[i].type&&"checkbox"!=d[i].type){y.colSpan=d.length;break}}m.offsetHeight<25&&(m.style.height="25px");for(var x=0;x<C.length;x++)C[x].style.height=m.offsetHeight+"px";void 0!==Cyberoam.ExpandedDivJson["tr"+e.data[v][e.uniquefield]]&&m.childNodes[0].childNodes[0].childNodes[0].click()}else{var w;C=new Array,m=Cyberoam.createElement({tag:"tr",className:"yui-dt-rec yui-dt-first yui-dt-even"},s);(y=Cyberoam.createElement({tag:"td",className:"tabletext-bkgd leftborder bottomborder tdlevel1"},m)).style.background="#FFFFFF",(w=Cyberoam.createElement({tag:"div"},y)).style.width="5px",w.style.height="100%";g=Cyberoam.createElement({tag:"div",className:"tree_lastrecord_white"},w);C.push(g),y=Cyberoam.createElement({tag:"td",className:"yui-dt-empty",colspan:d.length+1,style:"height:25px"},m),"undefined"!=typeof parentTrId&&(m.setAttribute("parentTrId",parentTrId),y.style.backgroundColor=backColor),(g=Cyberoam.createElement({tag:"div",className:"yui-dt-liner"},y)).style.textAlign="left",g.appendChild(document.createTextNode(Language.NoRecordFound));for(x=0;x<C.length;x++)C[x].style.height=m.offsetHeight+"px"}null!=e.postRenderEvent&&e.postRenderEvent()};var setVisibleHideRow=function(e,t){if(void 0!==Cyberoam.ExpandedDivList[e]){var a=0;if("Show"==t)for(var d=0;d<document.getElementById(e).childNodes[0].childNodes[0].childNodes.length;d++){var r=document.getElementById(e).childNodes[0].childNodes[0].childNodes[d];"tree_dblue fa fa-caret-square-o-down---"!=r.className&&"tree_blue fa fa-caret-square-o-down---"!=r.className||(a=1)}if(0==a)for(var o=0;o<Cyberoam.ExpandedDivList[e].length;o++){var l=Cyberoam.ExpandedDivList[e][o];"Hide"==t?l.style.display="none":0==a&&(l.style.display="")}}if(void 0!==Cyberoam.ExpandedDivList[e])for(o=0;o<Cyberoam.ExpandedDivList[e].length;o++){l=Cyberoam.ExpandedDivList[e][o];setVisibleHideRow(l.id,t)}};function createExpandDivListJSON(e,t,a){var d=t[a-1];
5019return void 0===e[d]&&(e[d]={}),t.length>a&&(e[d]=createExpandDivListJSON(e[d],t,a+1)),e}function isExpanded(e){for(var t=e.split("_"),a=Cyberoam.ExpandedDivJson,d=0;d<t.length;d++){if(void 0===a[t[d]])return 0;a=a[t[d]]}return 1}var EventListener={listen:function(e,n,t){return e.addEventListener?(e.addEventListener(n,t,!1),{remove:function(){e.removeEventListener(n,t,!1)}}):e.attachEvent?(e.attachEvent("on"+n,t),{remove:function(){e.detachEvent("on"+n,t)}}):void 0}};function isNodeInRoot(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}var DropdownStateMixin={getInitialState:function(){return{open:!1}},setDropdownState:function(n,e){this.props.noBindCloseHandlers||(n?this.bindRootCloseHandlers():this.unbindRootCloseHandlers()),this.setState({open:n},e)},handleDocumentKeyUp:function(n){27===n.keyCode&&this.setDropdownState(!1)},handleDocumentClick:function(n){isNodeInRoot(n.target,ReactDOM.findDOMNode(this))||this.setDropdownState(!1)},bindRootCloseHandlers:function(){this._onDocumentClickListener=EventListener.listen(document,"click",this.handleDocumentClick),this._onDocumentKeyupListener=EventListener.listen(document,"keyup",this.handleDocumentKeyUp)},unbindRootCloseHandlers:function(){this._onDocumentClickListener&&this._onDocumentClickListener.remove(),this._onDocumentKeyupListener&&this._onDocumentKeyupListener.remove()},componentWillUnmount:function(){this.unbindRootCloseHandlers()}};var alertMenuConfig={menuLabel:"",menuClass:"toplink",menuIconClass:"toplinkicon",menuClassSelect:"toplink toplink_select",menuIconClassSelect:"toplinkicon toplinkicon_select",menuItems:[{isItemIconDiv:!0,itemIconClass:"",label:"Alert 1",funcName:testFunction,index:1},{isItemIconDiv:!0,itemIconClass:"",label:"Alert 2",funcName:testFunction,index:2},{isItemIconDiv:!0,itemIconClass:"",label:"alert 2",funcName:testFunction,index:2}]},MenuItem=React.createClass({displayName:"MenuItem",handleClick:function(e){this.props.menuItem.noClick||(this.props.menuItem.funcName&&this.props.menuItem.funcName(this,this.props.menuItem.index),this.props.onClick(e))},render:function(){var e;if(this.props.menuItem.isLoadding)e=React.createElement("li",{style:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"5px"}},React.createElement("i",{className:"fa fa-spinner"}));else if(this.props.menuItem.isItemIconDiv)if(this.props.menuItem.multilineLabel){const t=[];this.props.menuItem.labels.forEach((function(e,a){t.push(React.createElement("span",0===a?null:{className:"small-notes"},e))})),e=React.createElement("li",{className:"multiline-label"},React.createElement("i",{className:this.props.menuItem.iconClass}),React.createElement("span",null,t))}else e=React.createElement("li",null,React.createElement("a",{href:"#",onClick:this.handleClick},React.createElement("i",{className:this.props.menuItem.iconClass}),React.createElement("p",null,this.props.menuItem.label)));else e=this.props.menuItem.isSeparator?React.createElement("li",null,React.createElement("hr",{className:this.props.menuItem.itemClass})):React.createElement("li",null,React.createElement("a",{href:"#",onClick:this.handleClick,className:this.props.menuItem.itemClass},this.props.menuItem.label));return e}}),MenuList=React.createClass({displayName:"MenuList",handleClick:function(e){this.props.onClick(e)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(MenuItem,{key:a,onClick:this.handleClick,menuItem:t}))}),this),React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),AccountDropDownWrapper=React.createClass({displayName:"AccountDropDownWrapper",getInitialState:function(){return this.fetchHAInfo=this.fetchHAInfo.bind(this),{isHAEanbled:!1,title:this.props.accDropDownConfig.title,haInfo:this.props.accDropDownConfig.haInfo,accMenuItems:[],accMenuTitleClass:""}},getTitleFromHAstates:function(e){return e.haconfigmode===HAConfigurationHelper.ACTIVE_PASSIVE_MODE?Cyberoam.getTranslatedMSG("Language.Active_Passive_Cluster"):Cyberoam.getTranslatedMSG("Language.Active_Active_Cluster")},fetchHAInfo:function(){const e=[];e.push({isLoadding:!0,index:2}),e.push({isSeparator:!0,itemClass:"ha-separator",index:3}),this.setState({accMenuItems:e}),Cyberoam.AJAXCall({overlay:!1,url:"/Controller",query:"mode="+Modes.READ_RECORD+"&operation="+Modes.ENABLE_HA,postResponse:function(e){const t=YAHOO.lang.JSON.parse(e).Record;if(t?.haMode==HAConfigurationHelper.ENABLE)this.prepareHAInfo({haconfigmode:t.haConfigMode,nodename:t.nodename,peerappkey:t.auxiliaryAppKey,peer_nodename:t.peer_nodename,peerstatus:t.peerStatus,ownstatus:t.ownStatus,ownappkey:t.primaryAppKey,hamode:t.haMode,status:HAConfigurationHelper.HA_CONFIGURED});else{var a=Cyberoam.name;this.props.encodedHostname&&(a=a+"@"+this.props.encodedHostname),this.setState({accMenuItems:[],title:a,accMenuTitleClass:"",isHAEanbled:!1})}}.bind(this)})},prepareHAInfo:function(e){const t=[];var a=this.getTitleFromHAstates(e);void 0!==a&&t.push({label:a,noClick:!0,itemClass:"simple-text"});var s=this.getHAModeAndColour(e);const n=s.titleClass||"";t.push({labels:[Cyberoam.getTranslatedMSG("Language."+s.currDevice)+" ("+Cyberoam.getTranslatedMSG("Language.HA_"+s.currState)+")",e.nodename,e.ownappkey],multilineLabel:!0,isItemIconDiv:!0,iconClass:"icon-status "+s.currColourClass,index:1}),t.push({labels:[Cyberoam.getTranslatedMSG("Language."+s.peerDevice)+" ("+Cyberoam.getTranslatedMSG("Language.HA_"+s.peerState)+")",e.peer_nodename,e.peerappkey],multilineLabel:!0,isItemIconDiv:!0,iconClass:"icon-status "+s.peerColourClass,index:2}),t.push({isSeparator:!0,itemClass:"ha-separator",index:3});
5019var o=e.nodename;this.props.encodedHostname&&(o=o+"-"+this.props.encodedHostname),this.setState({accMenuItems:[...t],accMenuTitleClass:n,title:o})},getHAModeAndColour:function(e){var t=peerDevice=HAConfigurationHelper.AUXILIARY_DEV,a=peerColourClass="status-green",s=peerState="";const n=HAConfigurationHelper.MODES[e.ownstatus],o=HAConfigurationHelper.MODES[e.peerstatus];if(e.hamode===HAConfigurationHelper.ENABLE){var i="ha-title ";switch(n){case HAConfigurationHelper.MODES[HAConfigurationHelper.NOT_AVAILABLE]:a="status-gray";break;case HAConfigurationHelper.MODES[HAConfigurationHelper.FAULT]:a="status-red",peerDevice=HAConfigurationHelper.PRIMARY_DEV;break;case HAConfigurationHelper.MODES[HAConfigurationHelper.AUXILIARY]:break;case HAConfigurationHelper.MODES[HAConfigurationHelper.STANDALONE]:t=HAConfigurationHelper.PRIMARY_DEV,a="status-orange";break;default:t=HAConfigurationHelper.PRIMARY_DEV}switch(o){case HAConfigurationHelper.MODES[HAConfigurationHelper.NOT_AVAILABLE]:peerColourClass="status-gray";break;case HAConfigurationHelper.MODES[HAConfigurationHelper.FAULT]:peerColourClass="status-red";break;case HAConfigurationHelper.MODES[HAConfigurationHelper.PRIMARY]:peerDevice=HAConfigurationHelper.PRIMARY_DEV;break;case HAConfigurationHelper.MODES[HAConfigurationHelper.STANDALONE]:peerColourClass="status-orange"}return n===HAConfigurationHelper.PRIMARY_DEV&&o===HAConfigurationHelper.AUXILIARY_DEV||n===HAConfigurationHelper.AUXILIARY_DEV&&o===HAConfigurationHelper.PRIMARY_DEV?(i+="title-green",e.haconfigmode===HAConfigurationHelper.ACTIVE_PASSIVE_MODE?t===HAConfigurationHelper.PRIMARY_DEV?(s="Active",peerState="Passive"):(s="Passive",peerState="Active"):s=peerState="Active"):(i+="title-orange",s=n.replaceAll(" ",""),peerState=o.replaceAll(" ","")),{currDevice:t,peerDevice:peerDevice,currColourClass:a,peerColourClass:peerColourClass,currState:s,peerState:peerState,titleClass:i}}},componentDidMount:function(){const{haInfo:e}=this.props.accDropDownConfig;if(e?.status===HAConfigurationHelper.HA_CONFIGURED){var t=this.getHAModeAndColour(e);this.setState({accMenuTitleClass:t.titleClass||"",isHAEanbled:!0})}},render:function(){const{accDropDownConfig:e}=this.props,t={...e,menuClass:"acc-btn",menuClassSelect:"selected",menuIconClass:"fa fa-caret-down",menuDropDownClass:"menu",titleClass:this.state.accMenuTitleClass||"",menuItems:[...this.state.accMenuItems,...e?.menuItems||[]],title:this.state?.title?.length>40?this.state.title.substring(0,40)+"...":this.state.title,onClick:async()=>{try{this.state.isHAEanbled&&this.fetchHAInfo()}catch(e){console.error("Error in dropdown onClick handler:",e)}}};return React.createElement(DropDownMenu,{config:t})}}),DropDownMenu=React.createClass({displayName:"DropDownMenu",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1}},handleClick:function(e){e.preventDefault(),this.props.config.shouldStateChange&&"function"==typeof this.props.config.shouldStateChange&&!this.props.config.shouldStateChange()||(this.state.open||(this.setState({hoverVictim:!this.state.hoverVictim}),"function"==typeof this.props.config?.onClick&&this.props.config?.onClick()),this.setDropdownState(!this.state.open))},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},componentDidUpdate:function(){if(this.state.open&&this.props.config.postUpdate&&"function"==typeof this.props.config.postUpdate){var e=ReactDOM.findDOMNode(this.refs.dropDownMenu);this.props.config.postUpdate.call(this,e)}},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_select",ref:"dropDownMenu"},React.createElement("a",{className:"selected",href:"#"},React.createElement("span",{className:"title "+this.props.config.titleClass},this.props.config.title),React.createElement("i",{className:this.props.config.menuIconClass})),React.createElement(MenuList,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems})):this.state.hoverVictim?React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_hover"},React.createElement("a",{href:"#",className:""},React.createElement("span",{className:"title "+this.props.config.titleClass},this.props.config.title),React.createElement("i",{className:this.props.config.menuIconClass}))):React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,className:this.props.config.menuClass},React.createElement("a",{href:"#",className:""},React.createElement("span",{className:"title "+this.props.config.titleClass},this.props.config.title),React.createElement("i",{className:this.props.config.menuIconClass})))}}),MenuButton=React.createClass({displayName:"MenuButton",getInitialState:function(){return{mouseOver:!1}},handleClick:function(e){this.props.config.funcName&&this.props.config.funcName(this)},handleMouseOver:function(e){this.setState({mouseOver:!0})},handleMouseOut:function(e){this.setState({mouseOver:!1})},render:function(){return React.createElement("div",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,onClick:this.handleClick,className:this.props.config.buttonclass},React.createElement("a",{href:"#"},React.createElement("i",{className:this.props.config.iconclass}),React.createElement("span",{className:"title"},this.props.config.title)))}}),MenuItemDesc=React.createClass({displayName:"MenuItemDesc",handleClick:function(e){this.props.menuItem.funcName&&this.props.menuItem.funcName(this,this.props.menuItem.index),this.props.onClick(e)},render:function(){return React.createElement("li",{onClick:this.handleClick},React.createElement("div",null,React.createElement("div",{className:this.props.menuItem.imageClass}),React.createElement("a",{href:"#"},this.props.menuItem.label)),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc)))}}),MenuListDesc=React.createClass({displayName:"MenuListDesc",handleClick:function(e){this.props.onClick(e)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(MenuItemDesc,{key:a,onClick:this.handleClick,menuItem:t}))}),this),React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),DropDownMenuDesc=React.createClass({displayName:"DropDownMenuDesc",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1}},handleClick:function(e){e.preventDefault(),this.state.open||this.setState({hoverVictim:!this.state.hoverVictim}),this.setDropdownState(!this.state.open)},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_select"},React.createElement("a",{className:"selected"},React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)),React.createElement(MenuListDesc,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems})):this.state.hoverVictim?React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_hover"},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass+"_select",style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title))):React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,className:this.props.config.menuClass},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)))}}),ApplianceLogo=React.createClass({displayName:"ApplianceLogo",render:function(){return React.createElement("div",{id:this.props.config.id},React.createElement("a",{href:"#"},React.createElement("img",{src:this.props.config.imgsrc})))}}),OverlayWrapper=React.createClass({displayName:"OverlayWrapper",render:function(){return React.createElement("div",{className:this.props.overlayclass},this.props.children)}}),testFunction=function(e,t){console.log("Function Called : "+t)};function Reset_Order(){var e={username:Cyberoam.loginUserName,reset:1};Cyberoam.AJAXCall({url:"/Controller",dataType:"json",query:"mode="+Modes.SET_USER_DASHBOARD+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(e)),postResponse:AjaxResponse1,id:2})}function createPolicyAddBtn(e){var t=[{label:Language.NetworkPolicy,desc:Language.NPDesc,imageClass:"dropdown-policy-icon icon-network-allow-enabled fg-allow",funcName:function(t,a){Cyberoam.showPopupInline({URL:"/firewall/NetworkPolicyEdit.html?mode=300&o
5019peration="+Modes.FIREWALL_RULE_ADD+"&ipType="+e+"&Entity=securitypolicy",title:Language.Add+" "+Language.NetworkPolicy}),setPolicyPageBreadCrumb(a)},index:1},{label:Language.BusinessAppPolicy,desc:Language.BAPDesc,imageClass:"dropdown-policy-icon icon-business-allow-enabled fg-allow",funcName:function(t,a){Cyberoam.showPopupInline({URL:"/firewall/policy.html?mode=300&operation="+Modes.FIREWALL_RULE_ADD+"&ipType="+e,title:Language.Add+" "+Language.BusinessAppPolicy}),setPolicyPageBreadCrumb(a)},index:2}],a={menuClass:"paginatorAddBtnDesc",menuClassSelect:"selected",menuIconClass:"addRecordIcon",menuDropDownClass:"btnDropDownDesc",title:Language.AddNewPolicy,menuItems:t};ReactDOM.render(React.createElement(DropDownMenuDesc,{config:a}),document.getElementById("addPolicyBtn"))}function comboChanged(e){}function afterAddItem(){}function afterDeleteItem(){}ComboItem=React.createClass({displayName:"ComboItem",handleClick:function(e){this.props.onClick(e,this.props.menuItem)},render:function(){return this.props.menuItem.isItemIconDiv?React.createElement("li",{onClick:this.handleClick},React.createElement("i",{className:this.props.menuItem.itemIconClass}),React.createElement("label",null,this.props.menuItem.label)):React.createElement("li",{onClick:this.handleClick},React.createElement("label",null,this.props.menuItem.label))}}),ComboList=React.createClass({displayName:"ComboList",handleClick:function(e,t){this.props.onClick(e,t)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(ComboItem,{key:a,onClick:this.handleClick,menuItem:t}))}),this),React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),ComboBox=React.createClass({displayName:"ComboBox",mixins:[DropdownStateMixin],getInitialState:function(){for(var e={},t=0;t<this.props.config.menuItems.length;t++)if(this.props.config.menuItems[t].key==this.props.config.defaultSelected){e=this.props.config.menuItems[t];break}return{currentSelectedObject:e}},getSelectedKey:function(){return this.state.currentSelectedObject.key},selectNodesByKeys:function(e){for(var t=0;t<this.props.config.menuItems.length;t++)if(this.props.config.menuItems[t].key==e)return void this.setState({currentSelectedObject:this.props.config.menuItems[t]})},addElement:function(e){this.props.config.menuItems.push(e)},deleteElement:function(e){for(var t=0;t<this.props.config.menuItems.length;t++)if(this.props.config.menuItems[t].key==e)return void this.props.config.menuItems.splice(t,1)},handleClick:function(e,t){e.preventDefault(),null!=t&&-1==t.toString().indexOf(".")&&(this.setState({currentSelectedObject:t}),this.props.config.onChange&&this.props.config.onChange(t.key)),this.setDropdownState(!this.state.open)},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,ref:"parentDiv",className:this.props.config.menuClassSelect},React.createElement("i",{className:this.state.currentSelectedObject.itemIconClass}),React.createElement("div",{className:"title"},React.createElement("label",null,null!=this.state.currentSelectedObject.label?this.state.currentSelectedObject.label:this.props.config.noSelection),React.createElement("i",{className:"fa fa-caret-up "+this.props.config.dropDownIconClass})),React.createElement(ComboList,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems})):React.createElement("div",{onClick:this.handleClick,ref:"parentDiv",className:this.props.config.menuClass,title:this.state.currentSelectedObject.label},React.createElement("i",{className:this.state.currentSelectedObject.itemIconClass}),React.createElement("div",{className:"title"},React.createElement("label",null,null!=this.state.currentSelectedObject.label?this.state.currentSelectedObject.label:this.props.config.noSelection),React.createElement("i",{className:"fa fa-caret-down "+this.props.config.dropDownIconClass})))}});var cmbviewsThird=null,cmbviewsForth=null,groupjsonid=0,foruthLevelid=0;function thirdLevelMenuItem(){if(null!=groupjson){for(var e=new Array,t=groupjson.length-1;t>=0;t--){var a=groupjson[t];e.push({label:Cyberoam.getTranslatedMSG(a.label),key:a.groupjsonid})}ComboBoxConfig={menuClass:"thirdLevelMenu",menuIconClass:"",menuClassSelect:"thirdLevelMenu",menuDropDownClass:"thirdMenuDropdown",dropDownIconClass:"fa fa-chevron-down fa-1x",noSelection:"Select View",defaultSelected:groupjsonid,onChange:function(e){getSelectedThirdMenu(e)},afterAdd:"",afterDelete:"",menuItems:e},cmbviewsThird=ReactDOM.render(React.createElement(ComboBox,{config:ComboBoxConfig}),$("#thirdLevelMenu")[0])}else $("#menuLevelDiv").css("display","none")}function getSelectedThirdMenu(e){if(e!=groupjsonid){foruthLevelid=0,groupjsonid=e;var t=fourthLevelMenuItem();null!=t?Cyberoam.setMainFrame(""+t):(cmbviewsForth.selectNodesByKeys("0"),callSetMainFrame(0))}}function fourthLevelMenuItem(){if(null!=groupjson){for(var e=null,t=null,a=new Array,s=0;s<groupjson.length;s++){var n=groupjson[s];if(groupjsonid==groupjson[s].groupjsonid){groupjson[s].hasOwnProperty("childNodes")?e=n.childNodes:groupjson[s].hasOwnProperty("url")&&(t=n.url);break}}if(null!=e){$("#fourthLevelMenu").css("display","block"),$("#arrowicon").css("display","block");for(var o=0;o<e.length;o++)if(e[o].hasOwnProperty("url")){t=e[o].url;a.push({label:Cyberoam.getTranslatedMSG(e[o].label),key:o})}return ComboBoxConfig={menuClass:"forthLevelMenu",menuIconClass:"",menuClassSelect:"forthLevelMenu",menuDropDownClass:"thirdMenuDropdown",dropDownIconClass:"fa fa-chevron-down fa-1x",noSelection:"Select View",defaultSelected:foruthLevelid,onChange:function(e){callSetMainFrame(e)},afterAdd:"",afterDelete:"",menuItems:a},waitFourthMenuDivCreation(),null}return $("#fourthLevelMenu").css("display","none"),$("#arrowicon").css("display","none"),t}$("#menuLevelDiv").css("display","none")}function waitFourthMenuDivCreation(){$("#fourthLevelMenu").length<1?window.setTimeout(waitFourthMenuDivCreation,100):cmbviewsForth=ReactDOM.render(React.createElement(ComboBox,{config:ComboBoxConfig}),$("#fourthLevelMenu")[0])}function callSetMainFrame(e){foruthLevelid=e;for(var t=0;t<groupjson.length;t++){var a=groupjson[t];if(groupjsonid==a.groupjsonid){if(a.hasOwnProperty("childNodes")){var s=a.childNodes;s[foruthLevelid].hasOwnProperty("url")&&Cyberoam.setMainFrame(""+s[foruthLevelid].url)}break}}}function createIfaceBtn(e){var t=[{label:Language.AddBridge,funcName:function(){Cyberoam.setMainFrame("/network/BridgePairEdit.html?mode=300&o
5019peration="+Modes.ADD_BRIDGE_PAIR)},index:1},{label:Language.AliasAddHeader,funcName:function(){Cyberoam.setMainFrame("/network/AliasEdit.html?mode=300&operation="+Modes.ALIAS_INTERFACE_ADD)},index:2},{label:Language.AddVLANHdr,funcName:function(){Cyberoam.setMainFrame("/network/VLANEdit.html?mode=300&operation="+Modes.VLAN_INTERFACE_ADD)},index:3},{label:Language.AddLAG,funcName:function(){Cyberoam.setMainFrame("/network/LinkAggregationEdit.html?mode=300&operation="+Modes.CREATE_LINK_AGGREGATION)},index:4}];1==Cyberoam.deviceProperty.redavailability&&t.push({label:Language.ADDRED,funcName:function(){if(1==e)Cyberoam.setMainFrame("/network/REDInterfaceEdit.html?mode=300&operation="+Modes.RED_CLIENT_ADD);else if(2===e){var t=Language.REDSophosPrivacyPolicy4;Cyberoam.messageBox({message:t,redeula:!0,headerMessage:Language.REDEulaAccept,confirm:!0,okLabel:Language.Accept,afterOk:function(){var e={Entity:"redconfiguration",red_eula:"1",Event:"UPDATE",status:"1"};Cyberoam.AJAXCall({url:"/Controller",method:"POST",dataType:"json",query:"mode="+Modes.RED_GLOBAL_SETTINGS+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(e)),postResponse:function(e){e=JSON.parse(JSON.stringify(e)),Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(e.message),e.status),200==e.status&&Cyberoam.setMainFrame("/network/REDInterfaceEdit.html?mode=300&operation="+Modes.RED_CLIENT_ADD)}})}})}else Cyberoam.messageBox({message:Language.REDDisableMessage,confirm:!1})},index:5});var a={menuClass:"paginatorAddBtn",menuClassSelect:"selected",menuIconClass:"fa fa-chevron-down fa-1x",menuDropDownClass:"btnDropDown",title:Language.AddInterface,menuItems:t};ReactDOM.render(React.createElement(DropDownMenu,{config:a}),document.getElementById("addIfaceBtn"))}MoreOptionsControl=React.createClass({propTypes:{enableToggle:React.PropTypes.object,options:React.PropTypes.array},mixins:[DropdownStateMixin],handleClick:function(){this.setDropdownState(!this.state.open)},render:function(){return React.DOM.div({className:"policy-icon more-option-icon",onClick:this.handleClick},this.state.open?React.createElement(MoreOptionsDropdown,{enableToggle:this.props.enableToggle,options:this.props.options}):null)}}),MoreOptionsDropdown=React.createClass({propTypes:{enableToggle:React.PropTypes.object,options:React.PropTypes.array},render:function(){var e=[];return this.props.enableToggle&&e.push(React.createElement(MoreOptionsEnableToggle,this.props.enableToggle)),this.props.options&&this.props.options.forEach((function(t){e.push(React.createElement(MoreOptionsItem,t))})),React.DOM.div({className:"more-options-control-dropdown"},e)}}),MoreOptionsEnableToggle=React.createClass({propTypes:{isEnabled:React.PropTypes.bool,handleClick:React.PropTypes.func},render:function(){return React.DOM.div({className:"more-options-control-enable-container",onClick:this.props.handleClick},[React.DOM.input({checked:this.props.isEnabled===Cyberoam.DB.TRUE,type:"checkbox"}),React.DOM.label(null,React.DOM.div({className:"small"}))])}}),MoreOptionsItem=React.createClass({propTypes:{type:React.PropTypes.string,label:React.PropTypes.string,disabled:React.PropTypes.bool,handleClick:React.PropTypes.func},getDefaultProps:function(){return{classMap:{add:"add-icon",clone:"clone-icon",edit:"edit-icon",delete:"delete-icon"}}},getIconClassName:function(){return"policy-icon "+this.props.classMap[this.props.type]},getOptionClassName:function(){return this.props.disabled?"more-options-control-item disabled":"more-options-control-item"},render:function(){var e=[];return this.props.type&&e.push(React.DOM.div({className:this.getIconClassName()})),e.push(React.DOM.a({className:"more-options-item-label"},this.props.label)),React.DOM.div({onClick:this.props.disabled?null:this.props.handleClick,className:this.getOptionClassName()},e)}}),ManageControl=React.createClass({propTypes:{controls:React.PropTypes.array,menuPostMount:React.PropTypes.func,shouldStateChange:React.PropTypes.func},render:function(){var e=[];return this.props.controls.forEach(function(t){e.push(React.createElement(ManageControlButton,{label:t.label,type:t.type,disabled:t.disabled,inactive:t.inactive,handleClick:t.handleClick,customClassName:t.customClassName,menuItems:t.menuItems,menuPostMount:this.props.menuPostMount,shouldStateChange:this.props.shouldStateChange}))}.bind(this)),React.DOM.div({className:"expand-manage-icon-container"},e)}}
5019),ManageControlButton=React.createClass({propTypes:{customClassName:React.PropTypes.string,disabled:React.PropTypes.bool,handleClick:React.PropTypes.func,inactive:React.PropTypes.bool,label:React.PropTypes.string,menuItems:React.PropTypes.array,menuPostMount:React.PropTypes.func,shouldStateChange:React.PropTypes.func,type:React.PropTypes.string},mixins:[DropdownStateMixin],getDefaultProps:function(){var e={disabled:!1,inactive:!0};return e.classMap={base:"expand-manage-icon",add:"add-icon",clone:"clone-icon",edit:"edit-icon",remove:"delete-icon",inactive:"inactive-icon",disabled:"disabled-icon"},e},render:function(){var e=[],t={className:this.buildClassName(),title:this.props.label,onClick:this.props.handleClick?this.props.handleClick:this.handleClick};return this.props.disabled&&delete t.onClick,this.state.open&&Array.isArray(this.props.menuItems)&&e.push(React.createElement(ManageControlMenu,{menuItems:this.props.menuItems,menuPostMount:this.props.menuPostMount})),React.DOM.div(t,e)},handleClick:function(){this.props.shouldStateChange&&"function"==typeof this.props.shouldStateChange&&!this.props.shouldStateChange()||this.setDropdownState(!this.state.open)},buildClassName:function(){var e=this.props.classMap.base+" "+this.props.classMap[this.props.type];return this.props.disabled&&(e+=" "+this.props.classMap.disabled),this.props.inactive&&(e+=" "+this.props.classMap.inactive),this.props.customClassName&&(e+=" "+this.props.customClassName),e}}),ManageControlMenu=React.createClass({displayName:"ManageControlMenu",propTypes:{menuItems:React.PropTypes.array,menuPostMount:React.PropTypes.func},render:function(){var e=[];return this.props.menuItems.forEach((function(t){e.push(React.DOM.div({className:"security-policy-popup-item",onClick:t.handleClick},t.label))})),React.DOM.div({className:"security-policy-add-popup",ref:"manageControlMenu"},e)},componentDidMount:function(){"function"==typeof this.props.menuPostMount&&this.props.menuPostMount.call(this,ReactDOM.findDOMNode(this.refs.manageControlMenu),this.constructor.displayName)}}),OverlayMessage=React.createClass({propTypes:{shouldShowMessage:React.PropTypes.func},render:function(){var e,t=[];return this.props.shouldShowMessage&&"function"==typeof this.props.shouldShowMessage&&this.props.shouldShowMessage()&&(t.push(React.DOM.i({key:"overlay-icon",className:"fa fa-exclamation-circle"})),t.push(React.DOM.div({key:"overlay-text"},this.props.shouldShowMessage())),e={className:"overlay-message security-policy-add-popup",title:Language.ClickHide,onClick:this.handleClick}),React.DOM.div(e,t)},handleClick:function(){$(ReactDOM.findDOMNode(this)).hide()}});var FwMenuItemDesc=React.createClass({displayName:"FwMenuItemDesc",handleClick:function(e){this.props.menuItem.funcName&&this.props.menuItem.funcName(this,this.props.menuItem.index),this.props.onClick(e)},render:function(){var e;if(this.props.menuItem.isparent)e=React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",null,React.createElement("div",{className:"addtogroup"},this.props.menuItem.label),React.createElement(FwMenuListDesc,{onClick:this.handleClick,itemArray:this.props.menuItem.childarray})),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc)));else if(this.props.menuItem.istoggleoption){var t=toggleArray[this.props.menuItem.id].checked,a=toggleArray[this.props.menuItem.id].disabled;e=React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",{style:{"min-height":"20px; margin-bottom:10px"}},React.createElement("div",{className:"ruleToggleRulename textellipces",style:{"padding-top":"3px",display:"inherit",width:"70%",float:"left","font-weight":"bold"}},React.createElement("label",{},this.props.menuItem.label)),React.createElement("div",{className:"ruleToggleDiv font20",style:{width:"30%",float:"right"}},React.createElement("input",{type:"checkbox",name:this.props.menuItem.idName,id:this.props.menuItem.idName,className:"ruleToggleInput",checked:t,disabled:a,onClick:this.props.menuItem.ocClickHandling},React.createElement("label",{className:"ruleToggleLabel",style:{float:"right"}},React.createElement("div",{className:"small"}))))))}else e=this.props.menuItem.iswafdependency?React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",{style:{"min-height":"30px; margin-bottom:10px"}},React.createElement("div",{className:"ruleToggleRulename textellipces",style:{"padding-top":"3px",display:"inherit",width:"50%",float:"left","font-weight":"bold"}},React.createElement("label",{},this.props.menuItem.label)),React.createElement("div",{style:{"font-size":"14px","font-weight":"bold",color:"red",width:"50%",float:"right"}},React.createElement("label",{},this.props.menuItem.dependencyLabel,React.createElement("span",{id:this.props.menuItem.idName},React.createElement("div",{className:this.props.menuItem.toolTipClassName,style:{color:"#fab95e","margin-left":"4px"},onMouseOver:this.props.menuItem.hoverInfo})))))):this.props.menuItem.isInputBox?React.createElement("li",{className:this.props.menuItem.className,onClick:this.props.menuItem.ocClickHandling},React.createElement("div",null,React.createElement("div",{style:{width:"10%;"}},React.createElement("div",{style:{"margin-top":"4px;"},className:this.props.menuItem.menuIconClass||"policy-icon"})),React.createElement("div",{style:{width:"auto;"}},React.createElement("a",{style:{display:"inline","padding-right":"5px;",cursor:"text"},href:"#"},Language.MoveTo),React.createElement("input",{placeholder:Language.Position,className:"movePositionInput",style:{width:"38%;",height:"20px;
5019",display:"inline","font-size":"11px"},type:"text",onKeyPress:this.props.menuItem.inputKeyPress,onKeyUp:this.props.menuItem.inputKeyUp,onMouseOver:this.props.menuItem.hoverInfo}))),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc))):this.props.menuItem.isgroupoption?React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",null,React.createElement("div",{style:{width:"10%;"}},React.createElement("div",{style:{"margin-top":"4px;"},className:this.props.menuItem.menuIconClass||"policy-icon"})),React.createElement("div",{style:{width:"90%;"}},React.createElement("a",{onClick:this.handleClick,href:"#",title:this.props.menuItem.label},this.props.menuItem.label),React.createElement("div",{onClick:this.props.menuItem.deleteGroup,style:{"margin-top":"4px;"},className:this.props.menuItem.deleteIconClass}))),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc))):React.createElement("li",{onClick:this.handleClick,className:this.props.menuItem.className},React.createElement("div",null,React.createElement("div",null,React.createElement("div",{style:{"margin-top":"4px;"},className:this.props.menuItem.menuIconClass||"policy-icon"})),React.createElement("a",{href:"#",title:this.props.menuItem.label},this.props.menuItem.label)),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc)));return e}}),FwMenuListDesc=React.createClass({displayName:"FwMenuListDesc",handleClick:function(e){this.props.onClick(e)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(FwMenuItemDesc,{key:a,onClick:this.handleClick,menuItem:t}))}),this),this.props.customStyle&&void 0!==this.props.customStyle?React.createElement("ul",{className:this.props.menuDropDownClass,style:this.props.customStyle},e):this.props.addGroupCustomStyle&&void 0!==this.props.addGroupCustomStyle?React.createElement("ul",{className:this.props.menuDropDownClass,style:this.props.addGroupCustomStyle},e):React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),FwDropDownMenuDesc=React.createClass({displayName:"FwDropDownMenuDesc",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1,tempStyle:null}},handleClick:function(e){e.preventDefault(),this.state.open||this.setState({hoverVictim:!this.state.hoverVictim}),this.setDropdownState(!this.state.open);const t={position:"absolute",top:`${$(e.currentTarget).offset().top+28}px`,left:$(e.currentTarget).offset().left-168+"px",marginBottom:"10px"};this.setState({tempStyle:t})},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_select"},React.createElement("a",{className:"selected"},React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)),React.createElement(FwMenuListDesc,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems,customStyle:this.state.tempStyle})):this.state.hoverVictim?React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_hover"},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass+"_select",style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title))):React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,className:this.props.config.menuClass},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)))}}),FwAttachMenuDesc=React.createClass({displayName:"FwAttachMenuDesc",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1,addGroupStyle:null}},handleClick:function(e){e.preventDefault(),this.state.open||this.setState({hoverVictim:!this.state.hoverVictim}),this.setDropdownState(!this.state.open);const t={position:"absolute",top:`${$(e.currentTarget).height()}px`,right:"-25px"};this.setState({addGroupStyle:t})},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},render:function(){return this.state.open?React.createElement("div",{className:"addMultiGrpBtn addMultiGrpBtn_select",style:{display:"none"},onClick:this.handleClick},React.createElement("label",{className:"title"},"Add to group"),React.createElement("div",{className:"drpIcon fa fa-sort-desc"}),React.createElement(FwMenuListDesc,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems,addGroupCustomStyle:this.state.addGroupStyle})):this.state.hoverVictim?React.createElement("div",{className:"addMultiGrpBtn addMultiGrpBtn_hover",style:{display:"none"},onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut},React.createElement("label",{className:"title"},"Add to group"),React.createElement("div",{className:"drpIcon fa fa-sort-desc"})):React.createElement("div",{className:"addMultiGrpBtn",style:{display:"none"},onClick:this.handleClick,onMouseOver:this.handleMouseOver},React.createElement("label",{className:"title"},"Add to group"),React.createElement("div",{className:"drpIcon fa fa-sort-desc"}))}}),Checkbox=React.createClass({displayName:"Checkbox",PropTypes:{checked:React.PropTypes.bool,disabled:React.PropTypes.bool,label:React.PropTypes.string,handleClick:React.PropTypes.func},render:function(){var e=Math.random().toString(36).substr(2,6),t=function(e){this.props.disabled||this.props.handleClick(e)}.bind(this);return React.DOM.div({className:"chk-wrapper"},[React.DOM.input({id:e,type:"checkbox",checked:this.props.checked,disabled:this.props.disabled,onChange:t}),React.DOM.label({htmlFor:e},[React.DOM.span({className:"fa-stack"},[React.DOM.i({className:"fa fa-square-o fa-2x"}),React.DOM.i({className:"fa fa-check-square fa-2x chosen"})]),this.props.label])])}}),SearchBar=React.createClass({displayName:"SearchBar",propTypes:{filter:React.PropTypes.string,maxLength:React.PropTypes.string,handleSearch:React.PropTypes.func.isRequired,handleClear:React.PropTypes.func.isRequired},getInitialState:function(){return{filter:this.props.filter}},componentWillReceiveProps:function(e){this.setState({filter:this.truncateFilter(e.filter)})},render:function(){var e=[React.DOM.input({className:"search-bar-input",type:"text",value:this.state.filter,maxLength:this.props.maxLength,onChange:this.onChange,onKeyDown:this.onKeyDown}),React.DOM.span({className:"fa search-bar-icon--glass",onClick:this.search})];return this.state.filter&&e.push(React.DOM.span({className:"fa fa-times",onClick:this.clearSearch})),React.DOM.div({className:"search-bar"},e)},truncateFilter:function(e){return this.props.maxLength?e?e.substring(0,this.props.maxLength):"":e},onChange:function(e){this.setState({filter:e.target.value})},onKeyDown:function(e){13===e.keyCode&&this.props.handleSearch(e.target.value)},search:function(e){this.props.handleSearch(e.target.parentElement.children[0].value)},clearSearch:function(){this.setState({filter:""}),this.props.handleClear()}}
5019),Banner=React.createClass({displayName:"Banner",propTypes:{type:React.PropTypes.string,size:React.PropTypes.string,text:React.PropTypes.string,html:React.PropTypes.string,closeable:React.PropTypes.bool,onClose:React.PropTypes.func},getInitialState:function(){return{}},onClose:function(){this.props.onClose()},render:function(){var e={success:{icon:"fa fa-lg fa-check-circle",css:"banner--type-success"},info:{icon:"fa fa-lg fa-info-circle",css:"banner--type-info"},warn:{icon:"fa fa-lg fa-exclamation-circle",css:"banner--type-warn"},error:{icon:"fa fa-lg fa-exclamation-triangle",css:"banner--type-error"}},t="large";null!=this.props.size&&(t=this.props.size);var a=[];return a.push(React.DOM.div({key:"banner-icon",className:e[this.props.type].icon+" banner__icon"})),null!=this.props.text?a.push(React.DOM.div({key:"banner-text",className:"banner__text"},this.props.text)):null!=this.props.html&&a.push(React.DOM.div({key:"banner-text",className:"banner__text",dangerouslySetInnerHTML:{__html:this.props.html}})),this.props.closeable&&a.push(React.DOM.div({key:"banner-close-btn",className:"fa fa-times banner__close-btn",onClick:this.onClose})),React.DOM.div({key:"banner",className:"banner "+{large:"banner--size-large",medium:"banner--size-medium"}[t]+" "+e[this.props.type].css},a)}}),HealthCheckSummaryWidget=React.createClass({displayName:"FWHealthCheckSummaryWidget",propTypes:{data:React.PropTypes.shape({totalPolicyCount:React.PropTypes.number,compliantPolicyCount:React.PropTypes.number,nonCompliantPolicyCount:React.PropTypes.number,overriddenPolicyCount:React.PropTypes.number,countBySeverity:React.PropTypes.shape({compliantHighRisk:React.PropTypes.number,nonCompliantHighRisk:React.PropTypes.number,overriddenHighRisk:React.PropTypes.number,compliantMediumRisk:React.PropTypes.number,nonCompliantMediumRisk:React.PropTypes.number,overriddenMediumRisk:React.PropTypes.number,compliantLowRisk:React.PropTypes.number,nonCompliantLowRisk:React.PropTypes.number,overriddenLowRisk:React.PropTypes.number,compliantVeryLowRisk:React.PropTypes.number,nonCompliantVeryLowRisk:React.PropTypes.number,overriddenVeryLowRisk:React.PropTypes.number})}),variant:React.PropTypes.oneOf(["small","large"])},getDefaultProps:function(){return{variant:"large",data:{totalPolicyCount:0,compliantPolicyCount:0,nonCompliantPolicyCount:0,overriddenPolicyCount:0,countBySeverity:{compliantHighRisk:0,nonCompliantHighRisk:0,overriddenHighRisk:0,compliantMediumRisk:0,nonCompliantMediumRisk:0,overriddenMediumRisk:0,compliantLowRisk:0,nonCompliantLowRisk:0,overriddenLowRisk:0,compliantVeryLowRisk:0,nonCompliantVeryLowRisk:0,overriddenVeryLowRisk:0}}}},calculatePercentage:function(e,t){return 0===t?0:Math.round(e/t*100)},renderPolicyAndSeverityBreakdown:function(){var e=this.props.data||{totalPolicyCount:0,compliantPolicyCount:0,nonCompliantPolicyCount:0,overriddenPolicyCount:0,countBySeverity:{compliantHighRisk:0,nonCompliantHighRisk:0,overriddenHighRisk:0,compliantMediumRisk:0,nonCompliantMediumRisk:0,overriddenMediumRisk:0,compliantLowRisk:0,nonCompliantLowRisk:0,overriddenLowRisk:0,compliantVeryLowRisk:0,nonCompliantVeryLowRisk:0,overriddenVeryLowRisk:0}},t=e.countBySeverity||{},a=this.calculatePercentage(e.compliantPolicyCount+e.overriddenPolicyCount,e.totalPolicyCount),s=[{key:"HighRisk",label:sf.core.
5019i18nService.translate("fwHealthCheck.labels.high"),class:"sc-severity-high"},{key:"MediumRisk",label:sf.core.i18nService.translate("fwHealthCheck.labels.medium"),class:"sc-severity-medium"},{key:"LowRisk",label:sf.core.i18nService.translate("fwHealthCheck.labels.low"),class:"sc-severity-info"}];return React.createElement("div",{className:"row align-items-stretch g-2"},React.createElement("div",{className:"col-12 col-sm-12 col-md-4 col-lg-5 col-xl-5 d-flex flex-grow-1",style:{"max-width":"315px"}},React.createElement("div",{className:"w-100 d-flex flex-column"},React.createElement("h6",{className:"mb-2 cc-widget-header position-relative"},sf.core.i18nService.translate("fwHealthCheck.labels.complianceTotal"),React.createElement("span",{className:"badge ms-1 position-absolute"},e.totalPolicyCount)),React.createElement("div",{className:"row justify-content-start g-2 flex-grow-1"},React.createElement("div",{className:"col-6 col-sm-6 col-md-6 col-lg-6 col-xl-6"},React.createElement("div",{className:"card border-0 bg-block h-100"},React.createElement("div",{className:"card-body p-2 d-flex flex-column"},React.createElement("div",{className:"mb-1 mb-sm-1 d-flex"},React.createElement("span",{className:"h4 sc-severity-info fw-bold mb-0 "+(0===a?"sc-severity-high":"sc-severity-good")},e.compliantPolicyCount+e.overriddenPolicyCount),React.createElement("span",{className:"badge small align-self-center ms-1"},this.calculatePercentage(e.compliantPolicyCount+e.overriddenPolicyCount,e.totalPolicyCount)+"%")),React.createElement("h6",{className:"cc-counter text-start mb-0 py-0"},sf.core.i18nService.translate("fwHealthCheck.labels.compliant"))))),React.createElement("div",{className:"col-6 col-sm-6 col-md-6 col-lg-6 col-xl-6"},React.createElement("div",{className:"card border-0 bg-block h-100"},React.createElement("div",{className:"card-body p-2 d-flex flex-column"},React.createElement("div",{className:"mb-1 mb-sm-1"},React.createElement("span",{className:"h4 sc-severity-info fw-bold "+(100===a?"sc-severity-info":"sc-severity-high")},e.nonCompliantPolicyCount)),React.createElement("h6",{className:"cc-counter text-start mb-0 py-0"},sf.core.i18nService.translate("fwHealthCheck.labels.nonCompliant")))))))),React.createElement("div",{className:"col-12 col-sm-12 col-md-4 col-lg-1 col-xl-1 d-flex w-auto"},React.createElement("div",{className:"d-flex flex-column"},React.createElement("h6",{className:"mb-2 cc-widget-header",style:{height:"20%"}},""),React.createElement("div",{className:"vr d-none d-md-block d-lg-block d-xl-block ms-0"}))),React.createElement("div",{className:"col-12 col-sm-12 col-md-8 col-lg-6 col-xl-6 d-flex flex-grow-1",style:{"max-width":"490px"}},React.createElement("div",{className:"w-100 d-flex flex-column"},React.createElement("h6",{className:"mb-2 cc-widget-header"},sf.core.i18nService.translate("fwHealthCheck.labels.complianceBySeverity")),React.createElement("div",{className:"row justify-content-start g-2 flex-grow-1"},s.map((function(e){var a=t["compliant"+e.key]||0,s=t["nonCompliant"+e.key]||0,n=t["overridden"+e.key]||0,o=a+s+n;return(0===o||o===a+n)&&(e.class="sc-severity-info"),React.createElement("div",{key:e.key,className:"col-6 col-sm-6 col-md-6 col-lg-4 col-xl-4"},React.createElement("div",{className:"card border-0 bg-block h-100"},React.createElement("div",{className:"card-body p-2 d-flex flex-column"},React.createElement("div",{className:"mb-2 mb-sm-1"},React.createElement("span",{className:"h4 fw-bold mb-1 mb-sm-2 mt-0 "+e.class},s),React.createElement("span",{className:"h5 fw-bold mb-1 mb-sm-2 mt-0 sc-severity-info"},"/"),React.createElement("span",{className:"h5 fw-bold mb-1 mb-sm-2 mt-0 sc-severity-info"},o)),React.createElement("h6",{className:"cc-counter text-start mb-0 py-0"},e.label))))}))))))},render:function(){var e="small"===this.props.variant?"small-widget":"large-widget";return React.createElement("div",{id:"policyAndSeverityBreakdown",className:e},this.renderPolicyAndSeverityBreakdown())}});var Breadcrumbs=React.createClass({displayName:"Breadcrumbs",render:function(){var e=[],t={paddingTop:3,paddingRight:30,paddingLeft:30};return null!=this.props.explicitCall&&1==this.props.explicitCall||this.props.data.length>1?this.props.data.forEach((function(t,a){e.push(React.createElement(Breadcrumbs.breads,{key:a,index:a,isExplicit:this.props.explicitCall,last:a===this.props.data.length-1,data:t}))}),this):t.display="none",React.createElement("ul",{style:t},e)},componentDidMount:function(){$("#breadcrumbs").show()},componentDidUpdate:function(){$("#breadcrumbs").show()}});Breadcrumbs.breads=React.createClass({displayName:"breads",handleClick:function(e){e.preventDefault(),e.stopPropagation(),this.props.data.url&&(this.props.isExplicit?this.props.data.click.call(null,this.props.data):openClickHereLink(this.props.data.url))},render:function(){var e=this.props.data.url,t=(this.props.last,this.props.index),a=Cyberoam.getTranslatedMSG(this.props.data.label);return React.createElement("li",null,React.createElement("span",null,t>0?" > ":""),e?React.createElement("a",{onClick:this.handleClick},a):React.createElement("span",null,a))}});var LeftMenu=React.createClass({displayName:"LeftMenu",activeData:null,getInitialState:function(){return{activeMenuIndexes:[]}},render:function(){var e,t,a=[],n="";
5019return this.props.navItems.forEach(function(i,s){this.isValidMenu(i)&&(e=null,i.childNodes&&(e=React.createElement("ul",null,i.childNodes.map(function(e,a){return!!this.isValidMenu(e)&&(t=Cyberoam.getTranslatedMSG(e.label),n="",this.state.activeMenuIndexes[0]==s&&this.state.activeMenuIndexes[1]==a&&(n=" active-nav "),React.createElement("li",{key:a,onClick:this.handleClick.bind(null,[s,a],e),id:"nav-"+e.id},React.createElement("a",{href:"javascript:void(0)",className:n},React.createElement("span",{title:t},t))))}.bind(this)))),t=Cyberoam.getTranslatedMSG(i.label),a.push(React.createElement("section",{key:s},React.createElement("h1",React.__spread({},this.getCategoryAttr(i,s,t),{title:t}),t),e)))}.bind(this)),React.createElement("nav",{className:"left-menu"},a)},getCategoryAttr:function(e,t,a){var n={};return(e.url||"function"==typeof e.click)&&(n={className:"base-menu-item",onClick:this.handleClick.bind(null,[t],e)},1==this.state.activeMenuIndexes.length&&this.state.activeMenuIndexes[0]==t&&(n.className+=" active-nav ")),n},isValidMenu:function(e){return e.url||"function"==typeof e.click||e.childNodes&&e.childNodes.length},handleClick:function(e,t){this.setactiveMenuIndexes(e),this.props.customHandleClick&&this.props.customHandleClick(e,t)},setactiveMenuIndexes:function(e){1==e.length?this.activeData=this.props.navItems[e[0]]:this.activeData=this.props.navItems[e[0]].childNodes[e[1]],this.setState({activeMenuIndexes:e})},getActiveMenuIndexes:function(){return this.state.activeMenuIndexes}}),CustomTab=React.createClass({displayName:"CustomTab",render:function(){var e,t,a,n,i,s=null,l="tab-header";return e=this.props.showSetting?this.props.settingTabItems:this.props.normalTabItems,t=React.createElement(MainTab,{tabItems:e,customHandleClick:this.tabHandleClick,activeTabIndex:this.props.activeCustomTabIndex}),this.props.showSetting?(a=Cyberoam.getTranslatedMSG(Language.CloseSettings).replace("{menu}",this.props.MenuAndTabRef.getMenuTitle()),s=React.createElement("label",null,Cyberoam.getTranslatedMSG(Language.Settings)),l+=" tab-openSetting"):a=Cyberoam.getTranslatedMSG(Language.ShowSettings).replace("{menu}",this.props.MenuAndTabRef.getMenuTitle()),n=React.createElement("span",{className:"tab-switch-btn"},React.createElement("span",{className:"icomoon-configuration",style:{fontSize:16}}),React.createElement("a",{href:"#",onClick:this.handleToggleLinkClick},a)),i=React.createElement("div",{className:l},s,n),React.createElement("div",null,i,t)},handleToggleLinkClick:function(){this.props?.handleToggleLinkClick()},tabHandleClick:function(e,t){this.props?.tabHandleClick(e,t)}}),CustomTabContainer=React.createClass({displayName:"CustomTabContainer",getInitialState:function(){const e=this.props.showSetting?0:this.props.activeCustomTabIndex,t=this.props.showSetting?this.props.activeCustomTabIndex:0;return{showSetting:this.props.showSetting,activeCustomTabIndex:this.props.activeCustomTabIndex,lastActiveTabIndex:{normalTab:e,settingTab:t}}},componentWillReceiveProps:function(e){this.setState({showSetting:e.showSetting,lastActiveTabIndex:{normalTab:0,settingTab:0},activeCustomTabIndex:e.activeCustomTabIndex})},updateShowSetting:function(e){this.setState({showSetting:e})},handleToggleLinkClick:function(){const{showSetting:e,lastActiveTabIndex:t}=this.state,{settingTabItems:a,normalTabItems:n}=this.props,i=!e;let s,l;i?(s=t.settingTab,l=a[s]):(s=t.normalTab,l=n[s]),this.setState({showSetting:i,activeCustomTabIndex:s}),this.props.MenuAndTabRef.loadRightPanel(l)},tabHandleClick:function(e,t){const{lastActiveTabIndex:a,showSetting:n}=this.state,i={...a};n?i.settingTab=e:i.normalTab=e,this.setState({lastActiveTabIndex:i,activeCustomTabIndex:e}),this.props.customHandleClick(e,t)},render:function(){return React.createElement(CustomTab,{tabItems:this.props.tabItems,tabHandleClick:this.tabHandleClick,normalTabItems:this.props.normalTabItems,settingTabItems:this.props.settingTabItems,showSetting:this.state.showSetting,updateShowSetting:this.updateShowSetting,activeCustomTabIndex:this.state.activeCustomTabIndex,lastActiveTabIndex:this.state.lastActiveTabIndex,MenuAndTabRef:this.props.MenuAndTabRef,tabId:this.props.tabId,handleToggleLinkClick:this.handleToggleLinkClick})}}),CustomMainTab=React.createClass({displayName:"CustomMainTab",props:{tabItems:React.PropTypes.array,selectedIndex:React.PropTypes.number},getDefaultProps:function(){return{selectedIndex:0}},getInitialState:function(){return{selectedIndex:this.props.selectedIndex}},render:function(){return React.createElement(MainTab,{tabItems:this.props.tabItems,customHandleClick:this.handleTabClick,activeTabIndex:this.state.selectedIndex})},componentDidMount:function(){var e;this.state.selectedIndex>=this.props.tabItems.length||(e=this.props.tabItems[this.state.selectedIndex])&&e.url&&Cyberoam.setMainFrame(e.url)},handleTabClick:function(e,t){t.url&&(this.setState({selectedIndex:e}),Cyberoam.setMainFrame(t.url))}}),MainTab=React.createClass({displayName:"MainTab",Tab_SHOW_COUNT:9,getInitialState:function(){return{activeTabIndex:this.props.activeTabIndex||0}},componentWillReceiveProps:function(e){0===e.activeTabIndex&&this.setState({activeTabIndex:0}),e.activeTabIndex!==this.props.activeTabIndex&&this.setState({activeTabIndex:e.activeTabIndex})},render:function(){var e,t=[],a=this.props.tabItems.length,n=window.innerWidth;n<=800?this.Tab_SHOW_COUNT=3:n<=1024?this.Tab_SHOW_COUNT=5:n<1300&&(this.Tab_SHOW_COUNT=7);var i=function(t,a){return e=Cyberoam.getTranslatedMSG(t.label),React.createElement("li",{key:t.id,onClick:this.handleClick.bind(null,a,t),className:this.state.activeTabIndex==a?" active-tab":"",title:e,id:t.id},React.createElement("div",null,e))}.bind(this);if(a>this.Tab_SHOW_COUNT+1){var s=[],l=[],c=0,r=0;if(this.state.activeTabIndex<this.Tab_SHOW_COUNT){for(c=0;c<this.Tab_SHOW_COUNT;c++)s.push(c);for(r=this.Tab_SHOW_COUNT;r<a;r++)l.push(r)}else{for(c=0;c<this.Tab_SHOW_COUNT-1;c++)s.push(c);for(s.push(this.state.activeTabIndex),r=this.Tab_SHOW_COUNT-1;r<a;r++)r!==this.state.activeTabIndex&&l.push(r)}t=s.map(function(e){return i(this.props.tabItems[e],e)}.bind(this));var o=l.map(function(e){return i(this.props.tabItems[e],e)}.bind(this));t.push(React.createElement("li",{className:"more-tabs",key:"more",onClick:this.toggleMoreTabs,title:Cyberoam.getTranslatedMSG(Language.MoreTab)},React.createElement("i",{style:{fontSize:18},className:"fa fa-ellipsis-h","aria-hidden":"true"}),React.createElement("ul",null,o)))}else t=this.props.tabItems.map(function(e,t){return i(e,t)}.bind(this));return React.createElement("nav",{className:"tabs-nav"},React.createElement("ul",{id:"tabs-"+this.props.tabId},t))},handleClick:function(e,t){this.setState({activeTabIndex:e}),this.props.customHandleClick&&this.props.customHandleClick(e,t)},toggleMoreTabs:function(){}}
5019),MenuAndTab=function(e,t,a){var n=null,i=null,s=null,l={navItems:null,leftMenuElement:e,tabElement:document.getElementById("main-tab-container"),currentData:null,init:function(e,t){this.navItems=this.filterNavItem($.extend(!0,[],e)),n=ReactDOM.render(React.createElement(LeftMenu,{navItems:this.navItems,customHandleClick:this.menuCustomHandleClick.bind(this)}),this.leftMenuElement,t),ReactDOM.render(React.createElement(GlobalSearchComponent,{maxLength:GlobalSearchComponentConstants.maxLength,handleSearch:this.searchMenuItems.bind(this),onItemClick:this.onItemClick.bind(this)}),document.getElementById("menu-search-container"))},update:function(e,t){var a=null;a=(t=t||{}).loadMenuIndex?function(){this.setMenuByIndexes(t.loadMenuIndex,{triggerClick:!0})}.bind(this):function(){var e=t.reload||!1,a=t.url||this.currentData&&this.currentData[0].url;a&&this.displayMenuByURL(a,{reload:e})}.bind(this),this.init(e,a)},filterNavItem:function(e,t){return e.filter(function(e){return e.childNodes&&(e.childNodes=this.filterNavItem(e.childNodes,e.module)),this.validateNavItem(e,t)}.bind(this))},validateNavItem:function(e,t){return(null==e.visible||1==e.visible)&&(e.module||(e.module=t||""),!(e.validator&&"function"==typeof e.validator&&!e.validator(e.module,e.aclEntity)))},menuCustomHandleClick:function(e,t){"function"==typeof t.click?(this.createTabs(),t.click()):t.url?(this.loadRightPanel(t),this.createTabs()):t.childNodes&&t.childNodes.length&&(this.loadRightPanel(t.childNodes[0]),this.createTabs(t.childNodes,null,t.id))},createTabs:function(e,t,a){if(this.tabElement){if(!e||0==e.length)return i=ReactDOM.render(React.createElement(MainTab,{tabItems:[],activeTabIndex:-1}),this.tabElement),void(this.tabElement.style.display="none");this.tabElement.style.display="block";var n,s=null,l=!1,c=[],r=[],o=!1;e.forEach(function(e,a){e.realItemIndex=a,"setting"==e.tabtype?(n=r.push(e),t==a&&(s=n-1,o=!0),l=!0):(n=c.push(e),t==a&&(s=n-1))}.bind(this)),s=s||0,l?(t=o?r[s].realItemIndex:c[s].realItemIndex,i=ReactDOM.render(React.createElement(CustomTabContainer,{tabItems:e,customHandleClick:this.tabCustomHandleClick.bind(this),activeTabIndex:t,normalTabItems:c,settingTabItems:r,showSetting:o,activeCustomTabIndex:s,MenuAndTabRef:this,tabId:a}),this.tabElement)):i=ReactDOM.render(React.createElement(MainTab,{tabItems:e,customHandleClick:this.tabCustomHandleClick.bind(this),activeTabIndex:s,tabId:a}),this.tabElement)}},getActiveMenuAndTabIndexes:function(){var e=this.getActiveMenuIndexes();return e?(this.getActiveTabIndex()>=0&&e.push(this.getActiveTabIndex()),e):null},getActiveMenuIndexes:function(){var e=n.getActiveMenuIndexes();return e&&e.length?e.slice(0):null},getActiveTabIndex:function(){return i?i.props.activeTabIndex:-1},tabCustomHandleClick:function(e,t){t.url&&this.loadRightPanel(t)},loadRightPanel:function(e,t){if(this.currentData=e?[e]:null,t=t||e&&e.url){var a=null;e&&e.appController?Cyberoam.appController=e.appController:Cyberoam.appController=Cyberoam.defaultController,e&&e.type&&(a=e.type),1==a?(t=Cyberoam.contextPath+t,window.open(t,"_blank"),window.focus()):(Cyberoam.xhrPool.abortAll(),Cyberoam.setMainFrame(t))}},displayMenuByURL:function(e,t){t=t||{};var a=this.findUrlInMenu(e,this.navItems,0,[],t.parentUrl),i=a.indexPath,s=a.urlData;if(i)if(n.setactiveMenuIndexes(i.slice(0,2)),0!=t.reload&&this.loadRightPanel(s,e),i.length>2){var l=this.navItems[i[0]].childNodes[i[1]].childNodes,c=i[2];this.createTabs(l,c,this.navItems[i[0]].childNodes[i[1]].id)}else this.createTabs()},findUrlInMenu:function(e,t,a,n,i){var s,l=t.length,c=0;for(c=0;c<l;c+=1){if(s=t[c],n[a]=c,s.url&&(0===e.indexOf(s.url)||i&&0===i.indexOf(s.url)))return{indexPath:n,urlData:s};if(s.childNodes){var r=this.findUrlInMenu(e,s.childNodes,a+1,n,i);if(r)return r;n.splice(n.length-1,1)}}},getDataByIndexes:function(e){var t,a=[];for(a[0]=this.navItems[e[0]],t=1;t<e.length;t++)a[t]=a[t-1].childNodes[e[t]];return a},setMenuByIndexes:function(e,t){t=t||{};var a=this.getDataByIndexes(e),i=e.slice(0,2),s=a[a.length-1];if(n.setactiveMenuIndexes(i),this.createTabs(),e.length<=2)t.triggerClick&&n.handleClick(e,s);else{t.triggerClick&&this.loadRightPanel(s);var l=this.navItems[e[0]].childNodes[e[1]].childNodes,c=e[2];this.createTabs(l,c,this.navItems[e[0]].childNodes[e[1]].id)}},getMenuTitle:function(){return n&&n.activeData?Cyberoam.getTranslatedMSG(n.activeData.label):""},searchMenuItems:function(e){return s.search(e)},onItemClick:function(e){this.displayMenuByURL(e.url)},_:{}};l._.displayMenuByURL=l.displayMenuByURL;var c=a?$.extend({},l,a):l;return s=new Cyberoam.GlobalSearchService(JSON.parse(JSON.stringify(t))),c.init(t),c};
5019Cyberoam.CategoryItem=React.createClass({displayName:"CategoryItem",handleClick:function(e){null!=this.props.handleClick&&this.props.handleClick(e,this.props.categoryKey,this.props.operation)},render:function(){return React.createElement("div",{onClick:this.handleClick,title:Cyberoam.getTranslatedMSG(this.props.categoryLabel)},React.createElement("span",null,Cyberoam.getTranslatedMSG(this.props.categoryLabel)))}}),Cyberoam.CategoryContainer=React.createClass({displayName:"CategoryContainer",handleClick:function(e,t,i){this.props.handleClick(e,t,i)},render:function(){var e=[],t=[];for(var i in this.props.config.category)("create object"!=this.props.openFor||null!=this.props.config.category[i].addURL&&""!=this.props.config.category[i].addURL)&&t.push(React.createElement(Cyberoam.CategoryItem,{categoryKey:i,key:i,categoryLabel:this.props.config.category[i].label,operation:this.props.openFor,handleClick:this.handleClick}));return e.push(React.createElement("div",null,t)),React.createElement("div",{style:this.props.style,className:"CNS-single-selector-category-list"},e)}}),Cyberoam.CategorySelctionLink=React.createClass({displayName:"CategorySelctionLink",mixins:[DropdownStateMixin],handleClick:function(e,t,i){void 0===t&&void 0===i?this.props.handleClick(e,e.target.value,this.props.openFor):("create object"==i&&this.props.handleClick(e,t,i),this.setDropdownState(!this.state.open))},render:function(){if("filter"!==this.props.openFor){if(this.state.open){var e={};return e=this.state.open?{display:""}:{display:"none"},React.createElement("div",{className:"select"},React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up"}),React.createElement(Cyberoam.CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}e={};return e={display:"none"},React.createElement("div",null,React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up",style:e}),React.createElement(Cyberoam.CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}var t=[];for(var i in t.push(React.createElement("option",{key:"alltypes",title:Language.AllTypes,value:"",operation:this.props.openFor},Language.AllTypes)),this.props.config.category)if(this.props.config.category.hasOwnProperty(i)){var a=this.props.config.category[i].label;t.push(React.createElement("option",{key:i,title:a,value:i,operation:this.props.openFor},a))}return React.createElement("div",{className:"filter-elements"},React.createElement("select",{onChange:this.handleClick},t))}}),Cyberoam.CategorySelctionLinkContainer=React.createClass({displayName:"CategorySelctionLinkContainer",handleClick:function(e,t,i){"filter"==i?this.props.handleClick(e,t):"create object"==i&&this.props.handleAddEditEntityClick(e,t,"category")},handleAddEditEntityClick:function(e){this.props.handleAddEditEntityClick(e,this.props.filteredCategory,"category")},render:function(){var e=[],t=this.props.config.category;if(null!=this.props.filterLabel?e.push(React.createElement("li",null,React.createElement(Cyberoam.CategorySelctionLink,{config:this.props.config,viewLabel:this.props.filterLabel,openFor:"filter",handleClick:this.handleClick}))):e.push(React.createElement("li",null,React.createElement("div",null,React.createElement("span",null)))),null!=this.props.filterLabel&&""==this.props.filteredCategory){var i=!1;for(var a in t)if(null!=t[a].addURL&&""!=t[a].addURL){i=!0;break}i?e.push(React.createElement("li",null,React.createElement(Cyberoam.CategorySelctionLink,{config:this.props.config,viewLabel:Language.Add,openFor:"create object",handleClick:this.handleClick}))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",null))))}else null==this.props.filterLabel||null!=t[this.props.filteredCategory].addURL&&""!=t[this.props.filteredCategory].addURL?e.push(React.createElement("li",null,React.createElement("div",null,React.createElement("span",{onClick:this.handleAddEditEntityClick},Language.Add)))):e.push(React.createElement("li",null,React.createElement("div",null,React.createElement("span",null))));return React.createElement("li",{className:"CNS-top-panel"},React.createElement("ul",null,e))}}),Cyberoam.DataItem=React.createClass({displayName:"DataItem",handleClick:function(e){"
5019i"==e.target.tagName.toLowerCase()?(this.props.handleAddEditEntityClick(e,this.props.dataKey,"data"),e.stopPropagation()):this.props.handleClick(e,this.props.dataKey)},customOver:function(e){var t,i=this.props.dataKey,a=this.props.config.objectTooltip.entity,o=e.target;t=setTimeout((function(){"None"!=i&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:i,entity:a},o)}),480),o.onmouseout=function(){clearTimeout(t),t=null}},onMouseOverShowTooltip:function(e){var t=this.props.dataKey,i=Cyberoam.getTranslatedMSG(this.props.viewLabel),a=this.props.config.objectTooltip.tooltipDataProvider(t,i);Cyberoam.showTooltip({data:a},e.target)},render:function(){var e=[],t={title:Cyberoam.getTranslatedMSG(this.props.viewLabel)};this.props.config.objectTooltip&&(delete t.title,this.props.config.objectTooltip.tooltipDataProvider?t.onMouseOver=this.onMouseOverShowTooltip:t.onMouseOver=this.customOver);var i=this.props.config.category;e.push(React.createElement("span",t,Cyberoam.getTranslatedMSG(this.props.viewLabel)));var a=this.props.categoryKey;if(1==this.props.config.categoryLength&&null==this.props.categoryKey)for(var o in i)i.hasOwnProperty(o)&&(a=o);return null==i||null==i[a]||null==i[a].editURL||""==i[a].editURL||null!=this.props.isDefaultOption&&1==this.props.isDefaultOption||void 0!==this.props.config.disableEditOption&&this.props.config.disableEditOption[this.props.viewLabel]||e.push(React.createElement("i",{className:"fa fa-pencil",onClick:this.handleClick})),React.createElement("li",{onClick:this.handleClick},e)}}),Cyberoam.DataContainer=React.createClass({displayName:"DataContainer",handleClick:function(e,t){this.props.handleDataSelection(e,t)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},render:function(){var e=[],t=[];if(null!=this.props.config.defaultOption)for(var i in this.props.config.defaultOption)this.props.config.defaultOption.hasOwnProperty(i)&&e.push(React.createElement(Cyberoam.DataItem,{config:this.props.config,viewLabel:this.props.config.defaultOption[i].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.config.defaultOption[i].type,isDefaultOption:!0,dataKey:i,key:i,handleClick:this.handleClick}));if(this.props.config.sortItems)(t=$.map(this.props.previewData,(function(e,t){return e.key=t,e}))).sort((function(e,t){return e.label.localeCompare(t.label)})),t.forEach(function(t,i){e.push(React.createElement(Cyberoam.DataItem,{config:this.props.config,viewLabel:t.label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:t.type,dataKey:t.key,key:t.key,handleClick:this.handleClick}))}.bind(this));else for(var i in this.props.previewData)this.props.previewData.hasOwnProperty(i)&&e.push(React.createElement(Cyberoam.DataItem,{config:this.props.config,viewLabel:this.props.previewData[i].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.previewData[i].type,dataKey:i,key:i,handleClick:this.handleClick}));return React.createElement("li",{className:"CNS-single-selector-data-list"},React.createElement("ul",null,e))}}),Cyberoam.OpenList=React.createClass({displayName:"OpenList",getInitialState:function(){var e="",t="",i=0;if(null!=this.props.config.category)for(var a in this.props.config.category)this.props.config.category.hasOwnProperty(a)&&(i++,e=a);return 1==i&&(t=e),!t&&this.props.config.defaultFilterType&&(t=this.props.config.defaultFilterType),this.props.config.categoryLength=i,{filteredCategory:t,categoryLength:i,searchCriteria:"",currentSelectedKey:""}},handleClick:function(e,t){this.setState({filteredCategory:t})},handleAddEditEntityClick:function(e,t,i){var a={};if(this.props.config.beforeEntityClick&&"function"==typeof this.props.config.beforeEntityClick){var o=ReactDOM.findDOMNode(this.refs.dataList);this.props.config.beforeEntityClick.call(this,o)}if("category"==i){var s=this.props.config.category[t].addURL;s=Cyberoam.getURL(s,"SingleSelector",this.props.config.id),s=Cyberoam.getURL(s,"objectType",t),a.URL=s,null!=this.props.config.category[t].addURLTitle?a.title=this.props.config.category[t].addURLTitle:a.title=Language.Add+" "+this.props.config.category[t].label,null!=this.props.config.category[t].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[t].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}else{1==this.props.config.categoryLength&&null==this.props.config.data[t].type?urlOpenCategoryType=this.state.filteredCategory:urlOpenCategoryType=this.props.config.data[t].type,null!=this.props.config.category[urlOpenCategoryType].editURLTitle?a.title=this.props.config.category[urlOpenCategoryType].editURLTitle:a.title=Language.Edit+" "+this.props.config.category[urlOpenCategoryType].label;var n=this.props.config.category[urlOpenCategoryType].editURL;n=Cyberoam.getURL(n,"SingleSelector",this.props.config.id),n=Cyberoam.getURL(n,"objectID",this.props.config.dataKey?this.props.config.data[t].id:t),a.URL=n,null!=this.props.config.category[urlOpenCategoryType].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[urlOpenCategoryType].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}
5019var r="";Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv?r=Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv:this.props.config.popupDiv&&(r=this.props.config.popupDiv),""!=r?(a.popupDiv=r,Cyberoam.showWidgetPopup(a)):Cyberoam.showPopup(a),this.props.handleClick(e)},handleDataSelection:function(e,t){this.setState({currentSelectedKey:t}),this.props.handleDataSelection(e,t)},handleSearch:function(e){searchValue=e.target.value,currentObject=this,null!=currentObject.searchInterval&&clearTimeout(currentObject.searchInterval),currentObject.searchInterval=setTimeout((function(){currentObject.setState({searchCriteria:searchValue})}),500)},clearSearch:function(e){this.props.config.isSearchBox&&(ReactDOM.findDOMNode(this.refs.searchText).value=""),this.setState({searchCriteria:""})},componentDidMount:function(){this.props.config.isSearchBox&&ReactDOM.findDOMNode(this.refs.searchText).focus();var e=ReactDOM.findDOMNode(this.refs.dataList);if(e){var t=document.documentElement.clientHeight,i=e.offsetHeight,a=$(e).offset();e.offsetParent;this.props.config.postMount&&"function"==typeof this.props.config.postMount?this.props.config.postMount.call(this,e,this.constructor.displayName):$(window).scrollTop()+t<i+a.top+70&&$("html, body").animate({scrollTop:i+a.top+70-t})}},render:function(){var e=[];if(null==this.props.config.isSearchBox||1==this.props.config.isSearchBox){var t="";t=""!=this.state.searchCriteria?"fa fa-times":"fa fa-search",e.push(React.createElement("li",{className:"CNS-search-txt"},React.createElement("input",{type:"text",onKeyUp:this.handleSearch,ref:"searchText",className:"CNSSearchTxt"}),React.createElement("i",{className:t,onClick:this.clearSearch})))}if(null!=this.props.config.category)if(this.state.categoryLength>1){var i="";i=""==this.state.filteredCategory?Language.Show+" : "+Language.All:Language.ShowOnly+" : "+this.props.config.category[this.state.filteredCategory].label,e.push(React.createElement(Cyberoam.CategorySelctionLinkContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,filterLabel:i,config:this.props.config,handleClick:this.handleClick}))}else this.state.categoryLength<2&&null!=this.props.config.category[this.state.filteredCategory].addURL&&""!=this.props.config.category[this.state.filteredCategory].addURL&&e.push(React.createElement(Cyberoam.CategorySelctionLinkContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,config:this.props.config}));if(""==this.state.filteredCategory&&""==this.state.searchCriteria)e.push(React.createElement(Cyberoam.DataContainer,{handleDataSelection:this.handleDataSelection,handleAddEditEntityClick:this.handleAddEditEntityClick,config:this.props.config,previewData:this.props.config.data}));else if(""!=this.state.filteredCategory&&""==this.state.searchCriteria){var a={};for(var o in this.props.config.data)(1==this.state.categoryLength||this.props.config.data[o].type&&this.state.filteredCategory==this.props.config.data[o].type)&&(a[o]={label:this.props.config.data[o].label,type:this.props.config.data[o].type,id:this.props.config.dataKey?this.props.config.data[o][this.props.config.dataKey]:""});e.push(React.createElement(Cyberoam.DataContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a}))}else if(""==this.state.filteredCategory&&""!=this.state.searchCriteria){a={};for(var o in this.props.config.data)if(this.props.config.data[o].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:this.props.config.data[o].label,type:this.props.config.data[o].type,id:this.props.config.dataKey?this.props.config.data[o][this.props.config.dataKey]:""}),void 0!==this.props.config.searchableItems){var s=this;this.props.config.searchableItems.forEach((function(e){if(s.props.config.data[o].hasOwnProperty(e)){var t=s.props.config.data[o][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(s.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:s.props.config.data[o].label,type:s.props.config.data[o].type,id:s.props.config.dataKey?s.props.config.data[o][s.props.config.dataKey]:""})}}))}e.push(React.createElement(Cyberoam.DataContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a}))}else{a={};for(var o in this.props.config.data)if((1==this.state.categoryLength||this.props.config.data[o].type&&this.state.filteredCategory==this.props.config.data[o].type)&&(this.props.config.data[o].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:this.props.config.data[o].label,type:this.props.config.data[o].type,id:this.props.config.dataKey?this.props.config.data[o][this.props.config.dataKey]:""}),void 0!==this.props.config.searchableItems)){s=this;
5019this.props.config.searchableItems.forEach((function(e){if(s.props.config.data[o].hasOwnProperty(e)){var t=s.props.config.data[o][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(s.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:s.props.config.data[o].label,type:s.props.config.data[o].type,id:s.props.config.dataKey?s.props.config.data[o][s.props.config.dataKey]:""})}}))}e.push(React.createElement(Cyberoam.DataContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a}))}const n=!1===this.props.config.dropDownOverlay?"CNS-single-selector-list position-relative":"CNS-single-selector-list";return React.createElement("ul",{className:n,ref:"dataList"},e)}}),Cyberoam.SingleSelector=React.createClass({displayName:"SingleSelector",mixins:[DropdownStateMixin],getInitialState:function(){var e="",t="",i=!1,a=this.props.config.defaultOption;if(null!=a)for(var o in a)null!=a[o].isSelected&&1==a[o].isSelected&&(e=o,t=null!=a[o].type?a[o].type:"");if((this.props.config.selectedItem&&this.props.config.selectedItem.length>0||"number"==typeof this.props.config.selectedItem)&&(e="object"==typeof this.props.config.selectedItem?this.props.config.selectedItem[0]:this.props.config.selectedItem,null!=this.props.config.data[e]&&null!=this.props.config.data[e].type&&(t=this.props.config.data[e].type)),this.props.config.isDisabled&&1==this.props.config.isDisabled&&(i=!0),""==t){var s=0,n="";if(null!=this.props.config.category)for(var o in this.props.config.category)this.props.config.category.hasOwnProperty(o)&&(n=o,s++);1==s&&(t=n)}return{selectedItem:e,selectedCategory:t,isDisabled:i}},addRecord:function(e){null!=e.type&&e.type;this.props.config.data[e.key]={label:e.label,type:e.type}},setRecord:function(e){var t="",i="";i="object"==typeof e?e[0]:e,null!=this.props.config.defaultOption&&null!=this.props.config.defaultOption[i]&&null!=this.props.config.defaultOption[i].type?t=null!=this.props.config.defaultOption[i].type?this.props.config.defaultOption[i].type:"":null!=this.props.config.data[i]&&null!=this.props.config.data[i].type&&(t=null!=this.props.config.data[i].type?this.props.config.data[i].type:""),this.setState({selectedItem:i,selectedCategory:t})},getSelectedLabels:function(){var e=[],t=this.props.config.defaultOption;return null!=t&&null!=t[this.state.selectedItem]?e.push(Cyberoam.getTranslatedMSG(this.props.config.defaultOption[this.state.selectedItem].label)):""!=this.state.selectedItem&&null!=this.props.config.data[this.state.selectedItem]&&e.push(Cyberoam.getTranslatedMSG(this.props.config.data[this.state.selectedItem].label)),e},getSelectedKeys:function(){var e=[];return""!=this.state.selectedItem&&e.push(this.state.selectedItem),e},getSelectedValuesByParam:function(e){var t=[],i=this.props.config.defaultOption;return null!=i&&null!=i[this.state.selectedItem]?t.push(i[this.state.selectedItem][e]):""!=this.state.selectedItem&&null!=this.props.config.data[this.state.selectedItem]&&t.push(this.props.config.data[this.state.selectedItem][e]),t},isDisabled:function(){return this.state.isDisabled},setDisabled:function(e){this.setState({isDisabled:e})},disabled:function(e){this.setState({isDisabled:e})},getSelectedCategory:function(){var e=this.props.config.category;if(null!=this.state.selectedCategory&&""!=this.state.selectedCategory){if(null!=e)return null!=e[this.state.selectedCategory]&&null!=e[this.state.selectedCategory].name?e[this.state.selectedCategory].name:this.state.selectedCategory}else{var t=0,i="";if(null!=e)for(var a in e)e.hasOwnProperty(a)&&(i=a,t++);if(1==t)return null!=e&&null!=e[i]&&null!=e[i].name?e[i].name:i}return""},handleClick:function(e){this.setDropdownState(!this.state.open)},handleKeyUp:function(e){0!=(e=new Cyberoam.Event(e)).getKeyCode()&&32!=e.getKeyCode()||(this.setDropdownState(!this.state.open),e.clearKeyCode())},handleDataSelection:function(e,t){var i="",a=this.props.config.defaultOption;i=null!=a&&null!=a[t]&&null!=a[t].type?this.props.config.defaultOption[t].type:null!=this.props.config.data[t]&&null!=this.props.config.data[t].type?this.props.config.data[t].type:"",this.props.config.afterOkButton?this.setState({selectedItem:t,selectedCategory:i},(function(){this.props.config.afterOkButton(this)})):this.setState({selectedItem:t,selectedCategory:i}),this.props.handleDataSelection&&"function"==typeof this.props.handleDataSelection&&this.props.handleDataSelection(t),this.setDropdownState(!this.state.open)},customOver:function(e,t){var i,a=e,o=this.props.config.objectTooltip.entity,s=t.target;i=setTimeout((function(){"None"!=a&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:a,entity:o},s)}),480),s.onmouseout=function(){clearTimeout(i),i=null}},onMouseOverShowTooltip:function(e,t,i){var a=e,o=t,s=this.props.config.objectTooltip.tooltipDataProvider(a,o);Cyberoam.showTooltip({data:s},i.target)},render:function(){if(this.state.open||this.props.config.open)return React.createElement("div",{className:"CNS-single-selector-div"},React.createElement(Cyberoam.OpenList,{config:this.props.config,handleDataSelection:this.handleDataSelection,handleClick:this.handleClick}));var e="",t="function"==typeof this.props.config.shouldOverrideDisabled&&this.props.config.shouldOverrideDisabled()?this.props.config.isDisabled:this.state.isDisabled;if(this.props.handleDataSelection&&"function"==typeof this.props.handleDataSelection&&this.props.config.selectedItem&&this.props.config.selectedItem.length>0?key=this.props.config.selectedItem[0]:key=this.state.selectedItem,"function"==typeof this.props.config.shouldOverrideSelectedItem&&this.props.config.shouldOverrideSelectedItem()&&(key=""),0==key.length)e=this.props.config.defaultLabel;else{var i=this.props.config.defaultOption;null!=i&&null!=i[key]?e=Cyberoam.getTranslatedMSG(i[key].label):null!=this.props.config.data[key]?e=Cyberoam.getTranslatedMSG(this.props.config.data[key].label):console.log("Item not in list")}var a={};return this.props.config.objectTooltip?this.props.config.objectTooltip.tooltipDataProvider?a.onMouseOver=this.onMouseOverShowTooltip.bind(this,key,e):a.onMouseOver=this.customOver.bind(this,key):a={title:e},t?React.createElement("div",{className:"CNS-single-selector-div disabled"},React.createElement("div",null,React.createElement("span",{title:e},e),React.createElement("i",{className:"fa fa-caret-down"}
5019))):React.createElement("div",{onClick:this.handleClick,className:"CNS-single-selector-div",onKeyPress:this.handleKeyUp,tabIndex:"0"},React.createElement("div",null,React.createElement("span",a,e),React.createElement("i",{className:"fa fa-caret-down"})))}});Cyberoam.MS_CategoryItem=React.createClass({displayName:"MS_CategoryItem",handleClick:function(e){null!=this.props.handleClick&&this.props.handleClick(e,this.props.categoryKey,this.props.operation)},render:function(){return React.createElement("div",{onClick:this.handleClick,title:Cyberoam.getTranslatedMSG(this.props.categoryLabel)},React.createElement("span",null,Cyberoam.getTranslatedMSG(this.props.categoryLabel)))}}),Cyberoam.MS_CategoryContainer=React.createClass({displayName:"MS_CategoryContainer",handleClick:function(e,t,i){this.props.handleClick(e,t,i)},render:function(){var e=[],t=[];for(var i in this.props.config.category)("create object"!=this.props.openFor||null!=this.props.config.category[i].addURL&&""!=this.props.config.category[i].addURL)&&t.push(React.createElement(Cyberoam.MS_CategoryItem,{categoryKey:i,key:i,categoryLabel:this.props.config.category[i].label,operation:this.props.openFor,handleClick:this.handleClick}));return t=Cyberoam.languageNeutralSort(t,"props.categoryLabel"),e.push(React.createElement("div",{key:"twoLenArrLast"},t)),React.createElement("div",{style:this.props.style,className:"CNS-multi-selector-category-list"},e)}}),Cyberoam.MS_CategorySelctionLink=React.createClass({displayName:"MS_CategorySelctionLink",mixins:[DropdownStateMixin],handleClick:function(e,t,i){void 0===t&&void 0===i?this.props.handleClick(e,e.target.value,this.props.openFor):("create object"==i&&this.props.handleClick(e,t,i),this.setDropdownState(!this.state.open))},render:function(){if("filter"!==this.props.openFor){if(this.state.open){var e={};return e=this.state.open?{display:""}:{display:"none"},React.createElement("div",{className:"select"},React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up"}),React.createElement(Cyberoam.MS_CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}e={};return e={display:"none"},React.createElement("div",null,React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up",style:e}),React.createElement(Cyberoam.MS_CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}var t=[];for(var i in t.push(React.createElement("option",{key:"alltypes",title:Language.AllTypes,value:"",operation:this.props.openFor},Language.AllTypes)),this.props.config.category)if(this.props.config.category.hasOwnProperty(i)){var a=this.props.config.category[i].label;t.push(React.createElement("option",{key:i,title:a,value:i,operation:this.props.openFor},a))}return t=Cyberoam.languageNeutralSort(t,"props.children","alltypes"),React.createElement("div",{className:"filter-elements"},React.createElement("select",{onChange:this.handleClick,defaultValue:this.props.config.defaultCategory},t))}}),Cyberoam.MS_CategorySelctionLinkContainer=React.createClass({displayName:"MS_CategorySelctionLinkContainer",handleClick:function(e,t,i){"filter"==i?this.props.handleClick(e,t):"create object"==i&&this.props.handleAddEditEntityClick(e,t,"category")},handleAddEditEntityClick:function(e){this.props.handleAddEditEntityClick(e,this.props.filteredCategory,"category")},render:function(){var e=[],t=this.props.config.category;if(null!=this.props.filterLabel?e.push(React.createElement("li",{key:"CategoryLinkContainerLi2"},React.createElement(Cyberoam.MS_CategorySelctionLink,{config:this.props.config,viewLabel:this.props.filterLabel,openFor:"filter",handleClick:this.handleClick}))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi2"},React.createElement("div",null,React.createElement("span",null)))),null!=this.props.filterLabel&&""==this.props.filteredCategory){var i=!1;for(var a in t)if(null!=t[a].addURL&&""!=t[a].addURL){i=!0;break}i?e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement(Cyberoam.MS_CategorySelctionLink,{config:this.props.config,viewLabel:Language.Add,openFor:"create object",handleClick:this.handleClick}))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",null))))}else null==this.props.filterLabel||null!=this.props.config.category[this.props.filteredCategory].addURL&&""!=t[this.props.filteredCategory].addURL?e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",{onClick:this.handleAddEditEntityClick},Language.Add)))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",null))));return React.createElement("li",{className:"CNS-top-panel"},React.createElement("ul",null,e))}}),Cyberoam.MS_CheckBox=React.createClass({displayName:"MS_CheckBox",handleClick:function(e){},render:function(){var e="chk"+this.props.dataKey;return React.createElement("div",{className:"checkbox"},React.createElement("input",{type:"checkbox",id:e,checked:this.props.isChecked,onClick:this.handleClick}),React.createElement("label",null,React.createElement("span",{className:"fa-stack"},React.createElement("i",{className:"fa fa-square-o fa-2x"}),React.createElement("i",{className:"fa fa-check-square fa-2x chosen"}))))}}),Cyberoam.MS_DataItem=React.createClass({displayName:"MS_DataItem",handleClick:function(e){"
5019i"==e.target.tagName.toLowerCase()&&"fa fa-pencil"==e.target.className?(e.stopPropagation(),this.props.handleAddEditEntityClick(e,this.props.dataKey,"data")):("i"==e.target.tagName.toLowerCase()&&e.stopPropagation(),this.props.handleClick(e,this.props.dataKey))},customOver:function(e){var t,i=this.props.dataKey,a=this.props.config.objectTooltip,s=a.entity,o=e.target,n=this.props.viewLabel;t=setTimeout((function(){a.customTooltips&&a.customTooltips[i]?Cyberoam.showTooltip({data:a.customTooltips[i]},o):"Any"!=n&&"Any IPv4"!=n&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:i,entity:s},o)}),480),o.onmouseout=function(){clearTimeout(t),t=null}},onMouseOverShowTooltip:function(e){var t=this.props.dataKey,i=this.props.categoryKey,a=this.props.viewLabel,s=this.props.config.objectTooltip.tooltipDataProvider(t,a,i);Cyberoam.showTooltip({data:s},e.target)},render:function(){var e=this.props.config.category,t=(this.props.dataKey,[]),i={key:"span"+this.props.dataKey,title:this.props.viewLabel};this.props.config.objectTooltip&&(delete i.title,this.props.config.objectTooltip.tooltipDataProvider?i.onMouseOver=this.onMouseOverShowTooltip:i.onMouseOver=this.customOver);var a=null!=this.props.currentSelecectedItems[this.props.dataKey];if(t.push(React.createElement(Cyberoam.MS_CheckBox,{key:"checkbox"+this.props.dataKey,dataKey:this.props.dataKey,isChecked:a})),this.props.config.displayImages){var s=this.props.config.itemImage?this.props.config.itemImage:this.props.config.typeImages[this.props.categoryKey];t.push(React.createElement("span",{key:"span_img"+this.props.dataKey,style:{width:"24px"}},React.createElement("img",{style:{height:"24px"},src:s}))),t.push(React.createElement("span",{key:"span"+this.props.dataKey,title:this.props.viewLabel,style:{marginLeft:"10px",width:"172px",paddingBottom:"7px"}},this.props.viewLabel))}else t.push(React.createElement("span",i,this.props.viewLabel));var o=this.props.categoryKey;if(1==this.props.config.categoryLength&&null==this.props.categoryKey)for(var n in this.props.config.category)this.props.config.category.hasOwnProperty(n)&&(o=n);return null==e||!e[o]||null==e[o].editURL||""==e[o].editURL||null!=this.props.isDefaultOption&&1==this.props.isDefaultOption||(null==this.props.currentSelecectedItems.Any?t.push(React.createElement("i",{key:"edit"+this.props.dataKey,className:"fa fa-pencil",onClick:this.handleClick})):t.push(React.createElement("i",{key:"edit"+this.props.dataKey,className:"fa fa-pencil"}))),null==this.props.currentSelecectedItems.Any||"Any"==this.props.dataKey||this.props.config.bypassSelectedAny?React.createElement("li",{onClick:this.handleClick},t):React.createElement("li",{className:"disabled"},t)}}),Cyberoam.MS_DataContainer=React.createClass({displayName:"MS_DataContainer",handleClick:function(e,t){this.props.handleDataSelection(e,t)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},render:function(){var e=[];if(null!=this.props.config.defaultOption)for(var t in this.props.config.defaultOption)this.props.config.defaultOption.hasOwnProperty(t)&&e.push(React.createElement(Cyberoam.MS_DataItem,{config:this.props.config,viewLabel:this.props.config.defaultOption[t].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.config.defaultOption[t].type,isDefaultOption:!0,dataKey:t,key:t,handleClick:this.handleClick,isSelectAllChecked:this.props.isSelectAllChecked,currentSelecectedItems:this.props.currentSelecectedItems}));if(this.props.config.sortItems){var i=[];Object.keys(this.props.previewData).forEach((function(e){i.push(e)})),this.props.config.sortData&&"function"==typeof this.props.config.sortData?i=this.props.config.sortData(i):i.sort(),$.each(i,jQuery.proxy((function(t,i){e.push(React.createElement(Cyberoam.MS_DataItem,{config:this.props.config,viewLabel:this.props.previewData[i].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.previewData[i].type,dataKey:i,key:i,handleClick:this.handleClick,currentSelecectedItems:this.props.currentSelecectedItems}))}),this))}else for(var t in this.props.previewData)this.props.previewData.hasOwnProperty(t)&&e.push(React.createElement(Cyberoam.MS_DataItem,{config:this.props.config,viewLabel:this.props.previewData[t].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.previewData[t].type,dataKey:t,key:t,handleClick:this.handleClick,currentSelecectedItems:this.props.currentSelecectedItems}));return e=Cyberoam.languageNeutralSort(e,"props.viewLabel","Any"),React.createElement("li",{className:"CNS-multi-selector-data-list"},React.createElement("ul",null,e))}}),Cyberoam.MS_SelectAllDataItem=React.createClass({displayName:"MS_SelectAllDataItem",getInitialState:function(){return{isSelectAllChecked:!1}
5019},handleSelectAll:function(e){this.props.handleSelectAll(e,!this.state.isSelectAllChecked,this.props.previewData),this.setState({isSelectAllChecked:!this.state.isSelectAllChecked})},render:function(){return null==this.props.currentSelecectedItems.Any?React.createElement("li",{className:"select-all-option",key:"selectAllOption",onClick:this.handleSelectAll},React.createElement(Cyberoam.MS_CheckBox,{dataKey:"selectAllOption",isChecked:this.state.isSelectAllChecked}),React.createElement("span",null,Language.SelectAll)):React.createElement("li",{className:"select-all-option",key:"selectAllOption"},React.createElement(Cyberoam.MS_CheckBox,{dataKey:"selectAllOption",isChecked:this.state.isSelectAllChecked}),React.createElement("span",null,Language.SelectAll))}}),Cyberoam.MS_addItemList=React.createClass({displayName:"MS_addItemList",getInitialState:function(){var e="",t="",i=0;totalSelectedItem=0;var a={};if(null!=this.props.selectedItems.Any&&(a.Any={},totalSelectedItem++),null!=this.props.config.category)for(var s in this.props.config.category)this.props.config.category.hasOwnProperty(s)&&(i++,e=s);return 1==i&&(t=e),!t&&this.props.config.defaultCategory&&(t=this.props.config.defaultCategory),"function"==typeof this.props.config.getInitialFilteredCategory&&(t=this.props.config.getInitialFilteredCategory()),this.props.config.categoryLength=i,{filteredCategory:t,categoryLength:i,searchCriteria:"",currentSelectedKey:"",isSelectAllChecked:!1,currentSelecectedItems:a,totalSelectedItem:totalSelectedItem}},handleDataSelection:function(e,t){var i=this.state.currentSelecectedItems,a=this.state.totalSelectedItem;null==i[t]?(i[t]={},a++):(delete i[t],a--),this.setState({currentSelecectedItems:i,totalSelectedItem:a})},handleClick:function(e,t){this.setState({filteredCategory:t})},handleSearch:function(e){searchValue=e.target.value,currentObject=this,null!=currentObject.searchInterval&&clearTimeout(currentObject.searchInterval),currentObject.searchInterval=setTimeout((function(){currentObject.setState({searchCriteria:searchValue})}),500)},handleSelectAll:function(e,t,i){var a=this.state.currentSelecectedItems,s=this.state.totalSelectedItem;for(var o in i)null==a[o]&&t?(a[o]={},s++):null==a[o]||t||(delete a[o],s--);this.setState({isSelectAllChecked:!t,currentSelecectedItems:a,totalSelectedItem:s})},handleApplyClick:function(e){this.props.handleDataSelection(e,this.state.currentSelecectedItems),this.setState({currentSelecectedItems:{},totalSelectedItem:0})},clearSearch:function(e){this.props.config.isSearchBox&&(ReactDOM.findDOMNode(this.refs.searchText).value=""),this.setState({searchCriteria:""})},componentDidMount:function(){this.props.config.isSearchBox&&ReactDOM.findDOMNode(this.refs.searchText).focus();var e=ReactDOM.findDOMNode(this.refs.dataList);if(e){var t=document.documentElement.clientHeight,i=e.offsetHeight,a=$(e).offset();e.offsetParent;this.props.config.postMount&&"function"==typeof this.props.config.postMount?this.props.config.postMount.call(this,e,this.constructor.displayName):$(window).scrollTop()+t<i+a.top+70&&$("html, body").animate({scrollTop:i+a.top+70-t})}},componentDidUpdate:function(){var e=ReactDOM.findDOMNode(this.refs.dataList);e&&this.props.config.postUpdate&&"function"==typeof this.props.config.postUpdate&&this.props.config.postUpdate.call(this,e,this.constructor.displayName)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},render:function(){var e=[];if(null==this.props.config.isSearchBox||1==this.props.config.isSearchBox){var t="";t=""!=this.state.searchCriteria?"fa fa-times":"fa fa-search",e.push(React.createElement("li",{key:"searchBoxAsKey",className:"CNS-search-txt"},React.createElement("input",{type:"text",onKeyUp:this.handleSearch,ref:"searchText",className:"CNSSearchTxt"}),React.createElement("i",{className:t,onClick:this.clearSearch})))}if(null!=this.props.config.category)if(this.state.categoryLength>1){var i="";i=""==this.state.filteredCategory?Language.Show+" : "+Language.All:Language.ShowOnly+" : "+this.props.config.category[this.state.filteredCategory].label,e.push(React.createElement(Cyberoam.MS_CategorySelctionLinkContainer,{key:"MS_CategorySelctionLinkContainerAsKey",handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,filterLabel:i,config:this.props.config,handleClick:this.handleClick}))}else this.state.categoryLength<2&&null!=this.props.config.category[this.state.filteredCategory].addURL&&""!=this.props.config.category[this.state.filteredCategory].addURL&&e.push(React.createElement(Cyberoam.MS_CategorySelctionLinkContainer,{key:"MS_CategorySelctionLinkContainerAsKey",handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,config:this.props.config}));var a={};if(""==this.state.filteredCategory&&""==this.state.searchCriteria||this.props.config.bypassFilteredCategory&&""==this.state.searchCriteria)for(var s in this.props.config.data)null==this.props.selectedItems[s]&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type});else if(""!=this.state.filteredCategory&&""==this.state.searchCriteria)for(var s in this.props.config.data)null==this.props.selectedItems[s]&&(1==this.state.categoryLength||this.props.config.data[s].type&&this.state.filteredCategory==this.props.config.data[s].type)&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type});else if(""==this.state.filteredCategory&&""!=this.state.searchCriteria||this.props.config.bypassFilteredCategory&&""!=this.state.searchCriteria){for(var s in this.props.config.data)if(void 0===this.props.selectedItems[s]&&(this.props.config.data[s].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type}),void 0!==this.props.config.searchableItems)){var o=this;
5019this.props.config.searchableItems.forEach((function(e){if(o.props.config.data[s].hasOwnProperty(e)){var t=o.props.config.data[s][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(o.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:o.props.config.data[s].label,type:o.props.config.data[s].type})}}))}}else for(var s in this.props.config.data)if(null==this.props.selectedItems[s]&&(1==this.state.categoryLength||this.props.config.data[s].type&&this.state.filteredCategory==this.props.config.data[s].type)&&(this.props.config.data[s].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type}),void 0!==this.props.config.searchableItems)){o=this;this.props.config.searchableItems.forEach((function(e){if(o.props.config.data[s].hasOwnProperty(e)){var t=o.props.config.data[s][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(o.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:o.props.config.data[s].label,type:o.props.config.data[s].type})}}))}if(null!=this.props.config.isSelectAll&&1==this.props.config.isSelectAll&&e.push(React.createElement(Cyberoam.MS_SelectAllDataItem,{key:"selectAllOption",handleSelectAll:this.handleSelectAll,dataKey:"selectAllOption",isChecked:this.state.isSelectAllChecked,previewData:a,currentSelecectedItems:this.state.currentSelecectedItems})),e.push(React.createElement(Cyberoam.MS_DataContainer,{key:"MS_DataContainerAsKey",handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a,selectedItems:this.props.selectedItems,currentSelecectedItems:this.state.currentSelecectedItems})),0!=this.state.totalSelectedItem){var n="";n=null==this.state.currentSelecectedItems.Any?Language.ApplySelectedItem.replace("{number}",this.state.totalSelectedItem):this.props.config.defaultOption&&this.props.config.defaultOption.Any?Language.ApplyAnySelectedItem.replace("{any}",this.props.config.defaultOption.Any.label):Language.ApplyAnySelectedItemDefault,e.push(React.createElement("li",{key:"addSelectedItemsList",className:"add-selected-item",onClick:this.handleApplyClick},React.createElement("span",null,n)))}const r=!1===this.props.config.dropDownOverlay?"CNS-multi-selector-list position-relative":"CNS-multi-selector-list";return React.createElement("ul",{className:r,ref:"dataList"},e)}}),Cyberoam.MS_SelectedDataItem=React.createClass({displayName:"MS_SelectedDataItem",handleRemoveItem:function(e){this.props.handleRemoveItem(e,this.props.dataKey)},handleAddEditEntityClick:function(e){this.props.handleAddEditEntityClick(e,this.props.dataKey,"data")},customOver:function(e){var t,i=this.props.dataKey,a=this.props.config.objectTooltip,s=a.entity,o=e.target,n=this.props.previewLabel;t=setTimeout((function(){a.customTooltips&&a.customTooltips[i]?Cyberoam.showTooltip({data:a.customTooltips[i]},o):"Any"!=n&&"Any IPv4"!=n&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:i,entity:s},o)}),480),o.onmouseout=function(){clearTimeout(t),t=null}},onMouseOverShowTooltip:function(e){var t=this.props.dataKey,i=this.props.categoryKey,a=this.props.previewLabel,s=this.props.config.objectTooltip.tooltipDataProvider(t,a,i);Cyberoam.showTooltip({data:s},e.target)},render:function(){var e=this.props.config.category,t=this.props.categoryKey,i=[],a={key:this.props.dataKey+"span",title:this.props.previewLabel};if(this.props.config.objectTooltip&&(delete a.title,this.props.config.objectTooltip.tooltipDataProvider?a.onMouseOver=this.onMouseOverShowTooltip:a.onMouseOver=this.customOver),this.props.config.displayImages){var s=this.props.config.itemImage?this.props.config.itemImage:this.props.config.typeImages[this.props.categoryKey];s||!this.props.config.skipBlankImages?(i.push(React.createElement("span",{key:this.props.dataKey+"span_img",style:{width:"26px"}},React.createElement("img",{style:{height:"24px"},src:s}))),i.push(React.createElement("span",{key:this.props.dataKey+"span",className:"CNS-multi-selector-selected-list-text",style:{width:"210px"},title:this.props.previewLabel},this.props.previewLabel))):i.push(React.createElement("span",a,this.props.previewLabel))}else i.push(React.createElement("span",a,this.props.previewLabel));return this.props.isDisabled?(null!=e&&null!=e[t]&&null!=e[t].editURL&&""!=e[t].editURL?i.push(React.createElement("i",{key:this.props.dataKey+"edit",className:"fa fa-pencil"})):i.push(React.createElement("i",{key:this.props.dataKey+"edit",className:""})),i.push(React.createElement("i",{key:this.props.dataKey+"delete",className:"fa fa-minus-circle"}))):(null!=e&&null!=e[t]&&null!=e[t].editURL&&""!=e[t].editURL?i.push(React.createElement("i",{key:this.props.dataKey+"edit",onClick:this.handleAddEditEntityClick,className:"fa fa-pencil"})):i.push(React.createElement("i",{key:this.props.dataKey+"edit",className:""})),this.props.fixed||i.push(React.createElement("i",{key:this.props.dataKey+"delete",onClick:this.handleRemoveItem,className:"fa fa-minus-circle"}))),React.createElement("li",{key:this.props.dataKey},i)}}),Cyberoam.MS_SelectedListContainer=React.createClass({displayName:"MS_SelectedListContainer",handleRemoveItem:function(e,t){this.props.handleRemoveItem(e,t)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},componentDidMount:function(){var e=ReactDOM.findDOMNode(this);this.props.config.postMount&&"function"==typeof this.props.config.postMount&&this.props.config.postMount.call(this,e,this.constructor.displayName)},render:function(){var e=[],t=this.props.config.data,i=this.props.config.defaultOption,a="",s=this.props.config.category;if(null!=s){var o=0;for(var n in s)s.hasOwnProperty(n)&&(o++,n);1==o&&(a=n)}if(null!=this.props.selectedItems.Any&&!this.props.config.bypassSelectedAny){0;var r="Any",l=(p=i.Any).label;return a="",null!=p.type&&(a=p.type),e.push(React.createElement(Cyberoam.MS_SelectedDataItem,{dataKey:r,key:r,categoryKey:a,previewLabel:l,isDisabled:this.props.isDisabled,handleRemoveItem:this.handleRemoveItem,onClick:this.handleAddEditEntityClick,config:this.props.config})),React.createElement("ul",{className:"CNS-multi-selector-selected-list"},e)}if(this.props.config.sortItems){var c=[];
5019Object.keys(this.props.selectedItems).forEach((function(e){c.push(e)})),this.props.config.sortData&&"function"==typeof this.props.config.sortData?c=this.props.config.sortData(c):c.sort(),$.each(c,$.proxy((function(s,o){0;var n=o,r={};if(null!=i&&null!=i[n])r=i[n];else{if(null==t[n])return!0;r=t[n]}var l=Cyberoam.getTranslatedMSG(r.label);null!=r.type&&(a=r.type),e.push(React.createElement(Cyberoam.MS_SelectedDataItem,{dataKey:n,key:n,categoryKey:a,previewLabel:l,isDisabled:this.props.isDisabled,handleRemoveItem:this.handleRemoveItem,config:this.props.config,handleAddEditEntityClick:this.handleAddEditEntityClick,fixed:this.isSelectedItemFixed(n)}))}),this))}else for(var n in this.props.selectedItems)if(this.props.selectedItems.hasOwnProperty(n)){0;r=n;var p={};if(null!=i&&null!=i[r])p=i[r];else{if(null==t[r]){console.log("Item not in list");continue}p=t[r]}l=Cyberoam.getTranslatedMSG(p.label);null!=p.type&&(a=p.type),e.push(React.createElement(Cyberoam.MS_SelectedDataItem,{dataKey:r,key:r,categoryKey:a,previewLabel:l,isDisabled:this.props.isDisabled,handleRemoveItem:this.handleRemoveItem,config:this.props.config,handleAddEditEntityClick:this.handleAddEditEntityClick,fixed:this.isSelectedItemFixed(r)}))}return e=Cyberoam.languageNeutralSort(e,"props.previewLabel"),React.createElement("ul",{className:"CNS-multi-selector-selected-list"},e)},isSelectedItemFixed:function(e){return this.props.fixedSelectedItems.indexOf(e)>-1}}),Cyberoam.MS_OptionEnable=React.createClass({displayName:"MS_OptionEnable",render:function(){var e=!1;return"function"==typeof this.props.config.option.isDisabled&&(e=this.props.config.option.isDisabled()),React.DOM.div({key:"addOptionEnabled",className:"CNS-multi-selector-add-item chk-wrapper"+(e?" chk-wrapper-disabled":" chk-wrapper-enabled")},[React.DOM.input({type:"checkbox",checked:this.props.optionToggled,disabled:e||this.props.open,readOnly:!0}),React.DOM.label({onClick:e||this.props.open?null:function(){this.props.config.option.handleClicked&&"function"==typeof this.props.config.option.handleClicked&&this.props.config.option.handleClicked(!this.props.optionToggled),this.props.handleOptionToggle(this.props.optionToggled,!this.props.optionToggled)}.bind(this)},[React.DOM.span({className:"fa-stack"},[React.DOM.i({className:"fa fa-square-o fa-2x"}),React.DOM.i({className:"fa fa-check-square fa-2x chosen"})]),React.DOM.span(null,this.props.config.option.label)])])}}),Cyberoam.MultiSelector=React.createClass({displayName:"MultiSelector",mixins:[DropdownStateMixin],getInitialState:function(){var e={},t="",i={},a=[],s=!1,o=0,n="",r=!1;if(null!=this.props.config.category)for(var l in this.props.config.category)this.props.config.category.hasOwnProperty(l)&&(o++,n=l);if(1==o&&(t=n),this.props.config.categoryLength=o,null!=this.props.config.selectedItems&&this.props.config.selectedItems.length>0){e="object"==typeof this.props.config.selectedItems?this.props.config.selectedItems:new Array(this.props.config.selectedItems);for(l=0;l<e.length;l++)i[e[l]]={};if(this.props.config.fixedSelectedItems&&(a=this.props.config.fixedSelectedItems),1!=o&&null!=this.props.config.selectedCategory)if(null!=this.props.config.category[this.props.config.selectedCategory])t=this.props.config.selectedCategory;else for(var l in this.props.config.category)null!=this.props.config.category[l].name&&this.props.config.selectedCategory==this.props.config.category[l].name&&(t=l)}return this.props.config.isDisabled&&1==this.props.config.isDisabled&&(s=!0),this.props.config.option&&"function"==typeof this.props.config.option.getToggleState&&(r=this.props.config.option.getToggleState()),{selectedItems:i,selectedCategory:t,isDisabled:s,optionToggled:r,fixedSelectedItems:a}},openAddItemList:function(){this.setDropdownState(!this.state.open)},handleKeyUp:function(e){-1!=(e=new Cyberoam.Event(e)).getElement().className.indexOf("disabled")||this.state.open||0!=e.getKeyCode()&&32!=e.getKeyCode()||(this.setDropdownState(!this.state.open),e.clearKeyCode())},handleDataSelection:function(e,t){var i=this.state.selectedItems;
5019for(var a in this.props.config.bypassSelectedAny&&(delete t.Any,delete i.Any),null!=i.Any&&(i={}),t)i[a]={};null!=i.Any&&((i={}).Any={}),"function"==typeof this.props.config.beforeAfterOkButton&&this.props.config.beforeAfterOkButton(i.Any?"Any":Object.keys(i)),this.props.config.afterOkButton?this.setState({selectedItems:i},(function(){this.props.config.afterOkButton(this)})):this.setState({selectedItems:i}),this.setDropdownState(!this.state.open)},handleRemoveItem:function(e,t){var i=this.state.selectedItems;for(var a in"Any"==t&&(i={}),i)if(a==t){delete i[a];break}this.props.config.bypassSelectedAny&&delete i.Any,"function"==typeof this.props.config.beforeAfterOkButton&&this.props.config.beforeAfterOkButton(i.Any?"Any":Object.keys(i)),this.props.config.afterOkButton?this.setState({selectedItems:i},(function(){this.props.config.afterOkButton(this)})):this.setState({selectedItems:i})},isDisabled:function(){return this.state.isDisabled},setDisabled:function(e){this.setState({isDisabled:e})},addRecord:function(e){null!=e.type&&e.type;this.props.config.data[e.key]={label:e.label,type:e.type}},setRecord:function(e){var t="",i="",a={};i="object"==typeof e?e:new Array(e);for(var s=0;s<i.length;s++)a[i[s]]={};var o=i[0];null!=this.props.config.defaultOption&&null!=this.props.config.defaultOption[o]&&null!=this.props.config.defaultOption[o].type?t=null!=this.props.config.defaultOption[o].type?this.props.config.defaultOption[o].type:"":null!=this.props.config.data[o]&&null!=this.props.config.data[o].type&&(t=null!=this.props.config.data[o].type?this.props.config.data[o].type:""),1==this.props.config.categoryLength&&(t=this.state.selectedCategory),this.setState({selectedItems:a,selectedCategory:t})},getSelectedLabels:function(){var e=[];if(null!=this.state.selectedItems.Any)return"Any";for(var t in this.state.selectedItems)this.state.selectedItems.hasOwnProperty(t)&&(null!=this.props.config.defaultOption&&null!=this.props.config.defaultOption[t]?e.push(this.props.config.defaultOption[t].label):null!=this.props.config.data[t]&&e.push(this.props.config.data[t].label));return e},getSelectedKeys:function(){var e=[];if(null!=this.state.selectedItems.Any)return"Any";for(var t in this.state.selectedItems)this.state.selectedItems.hasOwnProperty(t)&&e.push(t);return e},getSelectedValuesByParam:function(e){var t=[];if(null!=this.state.selectedItems.Any)return"Any";for(var i in this.state.selectedItems)null!=this.props.config.data[i]&&t.push(this.props.config.data[i][e]);return t},getSelectedCategory:function(){var e=this.props.config.category;if(null!=this.state.selectedCategory&&""!=this.state.selectedCategory){if(null!=e)return null!=e[this.state.selectedCategory]&&null!=e[this.state.selectedCategory].name?e[this.state.selectedCategory].name:this.state.selectedCategory}else{var t=0,i="";if(null!=e)for(var a in e)e.hasOwnProperty(a)&&(i=a,t++);if(1==t)return null!=e&&null!=e[i]&&null!=e[i].name?e[i].name:i}return""},handleAddEditEntityClick:function(e,t,i){var a={};if(this.props.config.beforeEntityClick&&"function"==typeof this.props.config.beforeEntityClick){var s=ReactDOM.findDOMNode(this.refs.multiSelector);this.props.config.beforeEntityClick.call(this,s)}if("category"==i){var o=this.props.config.category[t].addURL;o=Cyberoam.getURL(o,"MultiSelector",this.props.config.id),o=Cyberoam.getURL(o,"objectType",t),a.URL=o,null!=this.props.config.category[t].addURLTitle?a.title=this.props.config.category[t].addURLTitle:a.title=Language.Add+" "+this.props.config.category[t].label,null!=this.props.config.category[t].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[t].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}else{1==this.props.config.categoryLength&&null==this.props.config.data[t].type?urlOpenCategoryType=this.state.selectedCategory:urlOpenCategoryType=this.props.config.data[t].type,null!=this.props.config.category[urlOpenCategoryType].editURLTitle?a.title=this.props.config.category[urlOpenCategoryType].editURLTitle:a.title=Language.Edit+" "+this.props.config.category[urlOpenCategoryType].label;var n=this.props.config.category[urlOpenCategoryType].editURL,r=t;this.props.config.formatObjectID&&"function"==typeof this.props.config.formatObjectID&&(r=this.props.config.formatObjectID(r)),n=Cyberoam.getURL(n,"MultiSelector",this.props.config.id),n=Cyberoam.getURL(n,"objectID",r),a.URL=n,null!=this.props.config.category[urlOpenCategoryType].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[urlOpenCategoryType].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}var l="";this.props.config.popupDiv?l=this.props.config.popupDiv:Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv&&(l=Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv),""!=l?(a.popupDiv=l,Cyberoam.showWidgetPopup(a)):Cyberoam.showPopup(a),this.setDropdownState(!1)},handleOptionToggle:function(e,t){this.setState({isDisabled:e,optionToggled:t})},render:function(){var e=[];this.props.config.option&&this.props.config.option.label&&e.push(React.createElement(Cyberoam.MS_OptionEnable,{config:this.props.config,open:this.state.open,optionToggled:this.state.optionToggled,handleOptionToggle:this.handleOptionToggle})),e.push(React.createElement(Cyberoam.MS_SelectedListContainer,{config:this.props.config,selectedItems:this.state.selectedItems,fixedSelectedItems:this.state.fixedSelectedItems,key:"MS_SelectedListContainerAsKey",isDisabled:this.state.isDisabled,handleRemoveItem:this.handleRemoveItem,handleAddEditEntityClick:this.handleAddEditEntityClick}));var t="CNS-multi-selector-div";if(this.state.isDisabled&&(t+=" disabled"),this.state.open)e.push(React.createElement(Cyberoam.MS_addItemList,{key:"MS_addItemListAsKey",config:this.props.config,selectedItems:this.state.selectedItems,handleDataSelection:this.handleDataSelection,handleAddEditEntityClick:this.handleAddEditEntityClick}));else{var i=null!=this.props.config.selectorLabel?this.props.config.selectorLabel:Language.AddNewItem;this.state.isDisabled||"function"==typeof this.props.config.getDisabled&&this.props.config.getDisabled()?e.push(React.createElement("div",{key:"addITemDisabled",className:"CNS-multi-selector-add-item"},React.createElement("span",null,i))):e.push(React.createElement("div",{key:"addITemEnabled",className:"CNS-multi-selector-add-item",onClick:this.openAddItemList},React.createElement("span",null,i)))}return React.createElement("div",{className:t,ref:"multiSelector",tabIndex:"0",onKeyPress:this.handleKeyUp},e)}});Cyberoam.SearchList=React.createClass({displayName:"SearchList",handleSearch:function(e){this.props.handleSearch(e,ReactDOM.findDOMNode(this.refs.searchText))},addRecord:function(e){var t=ReactDOM.findDOMNode(this.refs.searchText);this.props.addRecord(e,t)},componentDidMount:function(){ReactDOM.findDOMNode(this.refs.searchText)},render:function(){var e={};return this.props.config.style&&this.props.config.style.width&&(e={width:this.props.config.style.width-65+"px"}),this.props.disabled?React.createElement("li",{className:"CNS-Multi-Input-TextBox"},React.createElement("ul",{className:"CNS-search-txt"},React.createElement("input",{type:"text",placeholder:Language.Search+" / "+Language.Add,onKeyUp:this.handleSearch,style:e,ref:"searchText"}),React.createElement("i",{className:"fa fa-plus disable"}))):React.createElement("li",{className:"CNS-Multi-Input-TextBox"},React.createElement("ul",{className:"CNS-search-txt"},React.createElement("input",{type:"text",placeholder:Language.Search+" / "+Language.Add,onKeyUp:this.handleSearch,style:e,ref:"searchText"}),React.createElement("i",{className:"fa fa-plus",onClick:this.addRecord})))}}),Cyberoam.InputListData=React.createClass({displayName:"InputListData",handleEdit:function(e){this.props.handleEdit(e,ReactDOM.findDOMNode(this.refs["labelSpan"+this.props.index]).innerHTML,this.props.index)},componentDidUpdate:function(){this.refs["editItemTextBox"+this.props.index]&&ReactDOM.findDOMNode(this.refs["editItemTextBox"+this.props.index]).focus()},handleUpdate:function(e){var t=this.props.index,a=ReactDOM.findDOMNode(this.refs["editItemTextBox"+this.props.index]);this.props.handleUpdate(e,t,a.value,a,this.props.label)},handleOnEnterUpdate:function(e){var t=this.props.index,a=ReactDOM.findDOMNode(this.refs["editItemTextBox"+this.props.index]);this.props.disabled||13!=e.keyCode||this.props.handleUpdate(e,t,a.value,a,this.props.label)},handleDelete:function(e){this.props.handleDelete(e,this.props.index)},handleCancel:function(){this.props.handleCancel()},render:function(){var e=[],t={};return this.props.config.style&&this.props.config.style.width&&(t={width:this.props.config.style.width-85+"px"}
5019),1==this.props.isEditOpen?(e.push(React.createElement("input",{type:"text",ref:"editItemTextBox"+this.props.index,style:t,defaultValue:this.props.label,onKeyUp:this.handleOnEnterUpdate,className:"CNSSearchTxt"})),e.push(React.createElement("i",{className:"fa fa-times",onClick:this.handleCancel})),e.push(React.createElement("i",{className:"fa fa-floppy-o",onClick:this.handleUpdate}))):(e.push(React.createElement("span",{ref:"labelSpan"+this.props.index,style:t,title:this.props.label},this.props.label)),this.props.disabled?(e.push(React.createElement("i",{className:"fa fa-minus-circle disable"})),null!=this.props.config.iseditable&&1!=this.props.config.iseditable||e.push(React.createElement("i",{className:"fa fa-pencil disable"}))):(e.push(React.createElement("i",{className:"fa fa-minus-circle",onClick:this.handleDelete})),null!=this.props.config.iseditable&&1!=this.props.config.iseditable||e.push(React.createElement("i",{className:"fa fa-pencil",onClick:this.handleEdit})))),React.createElement("li",null,e)}}),Cyberoam.InputList=React.createClass({displayName:"InputList",getInitialState:function(){return{index:"-1"}},handleEdit:function(e,t,a){this.setState({index:a})},handleCancel:function(){this.setState({index:"-1"})},handleUpdate:function(e,t,a,s,i){this.props.config.setValueBeforeEnter&&"function"==typeof this.props.config.setValueBeforeEnter&&(s.value=this.props.config.setValueBeforeEnter(s.value,this)),this.props.handleUpdate(e,t,a,s,i),this.setState({index:"-1"})},handleDelete:function(e,t){this.props.handleDelete(e,t)},render:function(){var e=[],t=this.props.records;for(var a in t)t.hasOwnProperty(a)&&e.push(React.createElement(Cyberoam.InputListData,{isEditOpen:a==this.state.index,handleCancel:this.handleCancel,handleEdit:this.handleEdit,config:this.props.config,disabled:this.props.disabled,handleUpdate:this.handleUpdate,handleDelete:this.handleDelete,index:a,label:t[a].label,key:t[a].key}));var s=this.props.config.max_height?{"max-height":this.props.config.max_height}:null;return React.createElement("li",{className:"CNS-Multi-Input-data-list"},React.createElement("ul",s,e))}}),Cyberoam.MainContainer=React.createClass({displayName:"MainContainer",getInitialState:function(){return{searchText:""}},handleSearch:function(e,t){this.setState({searchText:t.value}),this.props.disabled||13!=e.keyCode||(this.props.addRecord(e,t),this.setState({searchText:""}),t.value="")},handleDelete:function(e,t){this.props.handleDelete(e,t)},addRecord:function(e,t){this.props.addRecord(e,t),this.setState({searchText:""}),t.value=""},handleUpdate:function(e,t,a,s,i){this.props.handleUpdate(e,t,a,s,i),this.setState({searchText:""})},render:function(){for(var e=[],t={},a=0;a<this.props.data.length;a++)0==this.props.data[a].label.toLowerCase().indexOf(this.state.searchText.toLowerCase())&&(t[a]={key:this.props.data[a].key,label:this.props.data[a].label});e.push(React.createElement(Cyberoam.InputList,{disabled:this.props.disabled,handleUpdate:this.handleUpdate,handleDelete:this.handleDelete,config:this.props.config,records:t})),e.push(React.createElement(Cyberoam.SearchList,{disabled:this.props.disabled,addRecord:this.addRecord,handleSearch:this.handleSearch,config:this.props.config}));var s={};return this.props.config.style&&this.props.config.style.width&&(s={width:this.props.config.style.width+"px"}),React.createElement("ul",{className:"CNS-Multi-Input-list",style:s},e)}}),Cyberoam.MultiInputList=React.createClass({displayName:"MultiInputList",getInitialState:function(){return{data:this.props?.config?.data?Object.keys(this.props?.config?.data).map((e=>{const t=this.props.config.data[e].label||e;return{key:t,label:t}})):[],isDisabled:this.props.config.isDisabled}},disabled:function(e){this.setState({isDisabled:e})},isDisabled:function(){return this.state.isDisabled},getRecordLabel:function(){var e=[];for(var t in this.state.data)this.state.data.hasOwnProperty(t)&&e.push(this.state.data[t].label);return e},getRecordKey:function(){for(var e=[],t=0;t<this.state.data.length;t++)e.push(this.state.data[t].key);return e},getRecord:function(){for(var e={},t=0;t<this.state.data.length;t++)e[this.state.data[t].key]={key:this.state.data[t].key,label:this.state.data[t].label};return e},handleDelete:function(e,t){var a=!0;this.props.config.deleteValidation&&(a=this.props.config.deleteValidation(this.state.data[t].key,this)),a&&(this.props.config.deleteOperation?(a=this.props.config.deleteOperation(this,this.state.data[t].key,t,this))||this.setState({data:this.state.data}):(this.state.data.splice(t,1),this.setState({data:this.state.data})))},deleteNode:function(e){for(var t=0;t<this.state.data.length;t++)if(this.state.data[t].key==e.key)return this.state.data.splice(t,1),void this.setState({data:this.state.data})},deleteAll:function(){this.state.data.length=0,this.setState({data:this.state.data})},insertNode:function(e){this.state.isDisabled||(this.state.data[this.state.data.length]={key:e.key,label:e.label}),this.setState({data:Cyberoam.cleanup(this.state.data,"key")})},addRecord:function(e,t){this.props.config.setValueBeforeEnter&&"function"==typeof this.props.config.setValueBeforeEnter&&(t.value=this.props.config.setValueBeforeEnter(t.value,this)),this.props.config.beforeAdd&&(t.value=this.props.config.beforeAdd(t.value));var a=!0;this.props.config.addValidation&&(a=this.props.config.addValidation(t.value,this)),a&&(this.props.config.addOperation?(a=this.props.config.addOperation(t.value,this))||this.setState({data:Cyberoam.cleanup(this.state.data,"key")}):""!=t.value.trim()&&(this.state.data[this.state.data.length]={key:t.value,label:t.value},this.setState({data:Cyberoam.cleanup(this.state.data,"key")})))},setListBody:function(e){var t=[];for(var a in e)void 0===e[a].label&&(e[a].label=a),t.push({key:e[a].label,label:e[a].label});this.setState({data:t})},handleUpdate:function(e,t,a,s,i){this.props.config.beforeEdit&&(s.value=this.props.config.beforeEdit(s.value));var n=!0;
5019i!=s.value&&(this.props.config.editValidation?n=this.props.config.editValidation(s.value,this):this.props.config.addValidation&&(n=this.props.config.addValidation(s.value,this))),n&&""!=s.value.trim()&&""!=a.trim()&&(this.state.data[t]={key:s.value,label:s.value},this.setState({data:Cyberoam.cleanup(this.state.data,"key")})),this.props.config.editOperation&&this.props.config.editOperation(s.value,this)},render:function(){return React.createElement("div",null,React.createElement(Cyberoam.MainContainer,{data:this.state.data,config:this.props.config,disabled:this.state.isDisabled,handleUpdate:this.handleUpdate,handleDelete:this.handleDelete,addRecord:this.addRecord}))}}),Cyberoam.cleanup=function(e,t){var a=[],s={};for(var i in e)s[e[i][t]]=e[i];for(i in s)s.hasOwnProperty(i)&&a.push(s[i]);return a};var GlobalSearchComponent=React.createClass({displayName:"GlobalSearchComponent",results:null,mixins:[DropdownStateMixin],propTypes:{filter:React.PropTypes.string,maxLength:React.PropTypes.string,handleSearch:React.PropTypes.func.isRequired,onItemClick:React.PropTypes.func.isRequired},getInitialState:function(){return{filter:this.props.filter,cursor:-1}},componentWillReceiveProps:function(e){this.setState({filter:this.truncateFilter(e.filter)})},render:function(){var e=this,t=this.state.filter,s=this.state.cursor,a=[React.DOM.input({key:"global-search-bar-input",className:"global-search-bar-input",type:"text",placeholder:Cyberoam.getTranslatedMSG(Language.Search),value:this.state.filter,maxLength:this.props.maxLength,onChange:this.onChange,onKeyUp:this.onKeyUp,onKeyDown:this.onKeyDown,onFocus:this.onFocus})];if(t?a.push(React.DOM.span({key:"clear-icon",className:"fa fa-times",onClick:this.clearSearch})):a.push(React.DOM.span({key:"search-icon",className:"fa fa-search"})),this.state.open)if(this.results&&this.results.length){var i=[];this.results.forEach((function(a,r){i.push(React.createElement("li",{key:r,onClick:e.onItemClick.bind(this,a),className:s===r?"active-item":""},React.createElement(Highlight,{key:a.displayLabel+r,highlightText:t,text:a.displayLabel})))})),a.push(React.DOM.div({key:"global-search-items",className:"global-search-items",onClick:this.handleClick},React.DOM.ul({},i)))}else a.push(React.DOM.div({key:"global-search-items",className:"global-search-items"},React.DOM.div({className:"no-result"},Cyberoam.getTranslatedMSG(Language.NoRecordFound))));return React.DOM.div({key:"global-search-bar",className:"global-search-bar"},a)},truncateFilter:function(e){return this.props.maxLength?e?e.substring(0,this.props.maxLength).trim():"":e},onChange:function(e){this.setState({filter:e.target.value});var t=Cyberoam.trim(e.target.value);this.setState({cursor:-1}),t&&t.length>=2?(this.results=this.props.handleSearch(t),this.setDropdownState(!0)):this.setDropdownState(!1)},onKeyUp:function(e){27===e.keyCode&&this.clearSearch()},onKeyDown:function(e){var t=this.state.cursor;if((38===e.keyCode||40===e.keyCode)&&this.results&&this.results.length)return 38===e.keyCode&&t>0?t--:40===e.keyCode&&t<this.results.length-1&&t++,this.setState({cursor:t},this.scrollToActiveEl),!1;if(13===e.keyCode&&this.results&&this.results.length&&t>-1&&t<=this.results.length){var s=this.results[t];s&&(this.onItemClick(s),this.setDropdownState(!1),document.getElementsByClassName("global-search-bar-input")[0].blur())}},onFocus:function(){var e=Cyberoam.trim(this.state.filter);this.setState({cursor:-1}),e&&e.length>=2&&(this.results=this.props.handleSearch(this.state.filter),this.setDropdownState(!0))},scrollToActiveEl:function(){var e=document.querySelector(".global-search-items li.active-item"),t=$(".global-search-items").scrollTop();if(e){var s=e.offsetTop,a=0;s<t?a=s-t-15:s>t+232&&(a=s-(t+232)+15),$(".global-search-items").animate({scrollTop:t+a},100)}},handleClick:function(e){e.preventDefault(),this.setDropdownState(!this.state.open)},onItemClick:function(e){this.props.onItemClick(e),this.clearSearch()},clearSearch:function(){this.results=[],this.setState({filter:"",cursor:-1})}}),Highlight=React.createClass({displayName:"Highlight",propTypes:{key:React.PropTypes.string,highlightText:React.PropTypes.string,text:React.PropTypes.string},escapeRegExp:function(e){return Cyberoam.trim(e||"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},render:function(){var e=new RegExp("("+this.escapeRegExp(this.props.highlightText)+")","ig"),t=this.props.text.split(e),s=[];return this.props.highlightText?t.forEach((function(t,a){e.test(t)?s.push(React.DOM.span({className:"highlight",key:t+a},t)):s.push(React.DOM.span({key:t+a},t))})):s.push(React.DOM.span(null,this.props.text)),React.createElement("label",{key:"label-"+this.props.key},s)}});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.