$jscomp.makeIterator=function(b){$jscomp.initSymbolIterator();if(b[$jscomp.global.Symbol.iterator])return b[$jscomp.global.Symbol.iterator]();if(!(b instanceof Array||"string"==typeof b||b instanceof String))throw new TypeError(b+" is not iterable");var c=0;return{next:function(){return c==b.length?{done:!0}:{done:!1,value:b[c++]}}}};$jscomp.arrayFromIterator=function(b){for(var c,a=[];!(c=b.next()).done;)a.push(c.value);return a};
$jscomp.arrayFromIterable=function(b){return b instanceof Array?b:$jscomp.arrayFromIterator($jscomp.makeIterator(b))};$jscomp.arrayFromArguments=function(b){for(var c=[],a=0;a<b.length;a++)c.push(b[a]);returnc};
$jscomp.inherits=function(b,c){function a(){}a.prototype=c.prototype;b.prototype=new a;b.prototype.constructor=b;for(var d in c)if($jscomp.global.Object.defineProperties){var e=$jscomp.global.Object.getOwnPropertyDescriptor(c,d);void 0!==e&&$jscomp.global.Object.defineProperty(b,d,e)}else b[d]=c[d]};String.prototype.startsWith||(String.prototype.startsWith=function(b){return 0===this.lastIndexOf(b,0)});
function ReadShort(b,c){return(b.charCodeAt(c)<<8)+b.charCodeAt(c+1)}functionReadShortX(b,c){return(b.charCodeAt(c+1)<<8)+b.charCodeAt(c)}functionReadInt(b,c){return16777216*b.charCodeAt(c)+(b.charCodeAt(c+1)<<16)+(b.charCodeAt(c+2)<<8)+b.charCodeAt(c+3)}functionReadSInt(b,c){return(b.charCodeAt(c)<<24)+(b.charCodeAt(c+1)<<16)+(b.charCodeAt(c+2)<<8)+b.charCodeAt(c+3)}functionReadIntX(b,c){return16777216*b.charCodeAt(c+3)+(b.charCodeAt(c+2)<<16)+(b.charCodeAt(c+1)<<8)+b.charCodeAt(c)}
function ObjectToStringEx(b,c){var a="";if(0!=b&&(!b||null==b))return"(Null)";if(b instanceof Array)for(var d in b)a+="<br/>"+gap(c)+"Item #"+d+": "+ObjectToStringEx(b[d],c+1);else if(b instanceof Object)for(d in b)a+="<br/>"+gap(c)+d+" = "+ObjectToStringEx(b[d],c+1);else a+=EscapeHtml(b);return a}
function ObjectToStringEx2(b,c){var a="";if(0!=b&&(!b||null==b))return"(Null)";if(b instanceof Array)for(var d in b)a+="\r\n"+gap2(c)+"Item #"+d+": "+ObjectToStringEx2(b[d],c+1);else if(b instanceof Object)for(d in b)a+="\r\n"+gap2(c)+d+" = "+ObjectToStringEx2(b[d],c+1);else a+=EscapeHtml(b);return a}function gap(b){for(var c="",a=0;a<4*b;a++)c+=" ";returnc}functiongap2(b){for(varc="",a=0;a<4*b;a++)c+="";returnc}functionObjectToString(b){returnObjectToStringEx(b,0)}
function decode_utf8(b){return decodeURIComponent(escape(b))}function data2blob(b){for(var c=Array(b.length),a=0;a<b.length;a++)c[a]=b.charCodeAt(a);returnnewBlob([newUint8Array(c)])}functionrandom(b){returnMath.floor(Math.random()*b)}functiontrademarks(b){returnb.replace(/\(R\)/g,"®").replace(/\(TM\)/g,"™")}functionformat(b){varc=Array.prototype.slice.call(arguments,1);returnb.replace(/{(\d+)}/g,function(a,b){return"undefined"!=typeofc[b]?c[b]:a})}
function makeUefiBootParam(b,c,a){"number"==typeof c&&(1==a&&(c=String.fromCharCode(c&255)),2==a&&(c=ShortToStrX(c)),4==a&&(c=IntToStrX(c)));return ShortToStrX(32902)+ShortToStrX(b)+IntToStrX(c.length)+c}
IntToStrX(e.version));e.sectorStats&&(e.sectorStats(0,0,e.floppy?e.floppy.size>>9:0),e.sectorStats(0,1,e.cdrom?e.cdrom.size>>11:0))};e.Stop=function(){b("IDER-Stop");e.parent.Stop()};e.ProcessData=function(a){e.bytesFromAmt+=a.length;e.acc+=a;null!=v&&v.write("IDERRECV: "+rstr2hex(a)+"\r\n");for(b("IDER-ProcessData",e.acc.length,rstr2hex(e.acc));;){a=e.ProcessDataEx();if(0==a)break;if(e.inSequence!=ReadIntX(e.acc,4)){b("ERROR: Out of sequence",e.inSequence,ReadIntX(e.acc,4));e.Stop();break}e.inSequence++;
c.socket.send(JSON.stringify({action:"start"}))},xxOnMessage:function(a){var b=null;try{b=JSON.parse(a.data)}catch(e){}if(null!=b&&"string"==typeof b.action)switch(b.action){case "dialog":if(null!=c.m.onDialogPrompt)c.m.onDialogPrompt(c,b.args,b.buttons);break;case "state":2==b.state&&c.xxStateChange(3);break;case "stats":c.m.bytesToAmt=b.toAmt;c.m.bytesFromAmt=b.fromAmt;c.m.sectorStats&&c.m.sectorStats(b.mode,b.dev,b.total,b.start,b.len);break;case "error":console.log("IDER Error: "+";Floppy disk image does not exist;Invalid floppy disk image;Unable to open floppy disk image;CDROM disk image does not exist;Invalid CDROM disk image;Unable to open CDROM disk image;Can't perform IDER with no disk images".split(";")[b.code]);
break;default:console.log("Unknown Server IDER action: "+b.action),breal}},xxOnSocketClosed:function(){c.Stop()}};return c},CreateWsmanComm=function(b,c,a,d,e){function v(a){return a.split(",").reduce(function(a,b){a.ic?a.st[a.st.length-1]+=","+b:a.st.push(b);0==b.split('"').length%2&&(a.ic=!a.ic);return a},{st:[],ic:!1}).st}function n(){q.socketState=2;q.socketParseState=0;q.socketAccumulator="";q.socketHeader=null;q.socketData="";for(i in q.pendingAjaxCall)q.sendRequest(q.pendingAjaxCall[i][0],
q.pendingAjaxCall[i][3],q.pendingAjaxCall[i][4])}function l(a){var b=q.socketAccumulator;a=new Uint8Array(a.data);a=String.fromCharCode.apply(null,a);for(q.socketAccumulator=b+a;;){if(0==q.socketParseState){b=q.socketAccumulator.indexOf("\r\n\r\n");if(0>b)break;q.socketHeader=q.socketAccumulator.substring(0,b).split("\r\n");if(null==q.amtVersion)for(var c in q.socketHeader)0==q.socketHeader[c].indexOf("Server: Intel(R) Active Management Technology ")&&(q.amtVersion=q.socketHeader[c].substring(46));
q.socketAccumulator=q.socketAccumulator.substring(b+4);q.socketParseState=1;q.socketData="";q.socketXHeader={Directive:q.socketHeader[0].split(" ")};for(c in q.socketHeader)0!=c&&(b=q.socketHeader[c].indexOf(":"),q.socketXHeader[q.socketHeader[c].substring(0,b).toLowerCase()]=q.socketHeader[c].substring(b+2))}if(1==q.socketParseState){b=-1;if(void 0==q.socketXHeader.connection||"close"!=q.socketXHeader.connection.toLowerCase()||void 0!=q.socketXHeader["transfer-encoding"]&&"chunked"==q.socketXHeader["transfer-encoding"].toLowerCase())if(void 0!=
case 33:if(23>n.byteLength)break;b=23;d.xxSend(String.fromCharCode(39,0,0,0)+IntToStrX(d.amtsequence++)+String.fromCharCode(0,0,27,0,0,0));1==d.protocol&&(d.amtkeepalivetimer=setInterval(d.xxSendAmtKeepAlive,2E3));d.connectstate=1;d.xxStateChange(3);break;case 41:if(10>n.byteLength)break;b=10;break;case 42:if(10>n.byteLength)break;c=10+(n[9]<<8)+n[8];if(n.byteLength<c)break;d.m.ProcessBinaryData?d.m.ProcessBinaryData(newUint8Array(n.buffer.slice(10,c))):d.m.ProcessData(a(newUint8Array(n.buffer.slice(10,
q.ExecPut=function(a,b,c,d,m,k){k="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put</a:Action><a:To>"+q.Address+"</a:To><w:ResourceURI>"+a+"</w:ResourceURI><a:MessageID>"+q.NextMessageId++ +"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60.000S</w:OperationTimeout>"+p(k)+"</Header><Body>";if(a&&null!=b){var g=q.GetNameFromUrl(a);a="<r:"+g+'xmlns:r="'+a+'">';for(var u in b)if(b.hasOwnProperty(u)&&
"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+p(k)+"</Header><Body><g:"+g+'xmlns:g="'+a+'">';for(var e in b)a+="<g:"+e+">"+b[e]+"</g:"+e+">";q.PerformAjax(a+"</g:"+g+"></Body></Envelope>",c,d,m)};q.ExecDelete=function(a,b,c,d,m){a="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete</a:Action><a:To>"+q.Address+"</a:To><w:ResourceURI>"+a+"</w:ResourceURI><a:MessageID>"+q.NextMessageId++ +
b,c,p)};q.ExecMethod=function(a,b,c,p,d,k,g){var e="",l;for(l in c)if(null!=c[l])if(Array.isArray(c[l]))for(var D in c[l])e+="<r:"+l+">"+c[l][D]+"</r:"+l+">";else e+="<r:"+l+">"+c[l]+"</r:"+l+">";q.ExecMethodXml(a,b,e,p,d,k,g)};q.ExecMethodXml=function(a,b,c,d,m,k,g){q.PerformAjax(a+"/"+b+"</a:Action><a:To>"+q.Address+"</a:To><w:ResourceURI>"+a+"</w:ResourceURI><a:MessageID>"+q.NextMessageId++ +"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+
function AmtStackCreateService(b){function c(){var a=h.GetPendingActions();B<a&&(B=a);null!=h.onProcessChanged&&w!=a&&(w=a,h.onProcessChanged(a,B));0==a&&(B=0)}functiona(a,b,c,p,x,C,g){200!=x?(c(h,a,null,x,C),e(1)):null!=b&&"EnumerateResponse"==b.Header.Method&&b.Body.EnumerationContext?h.wsman.ExecPull(p,b.Body.EnumerationContext,function(b,p,x,h){d(a,x,c,p,[],h,C,g)}):(c(h,a,null,603,C),e(1))}functiond(a,b,p,g,x,C,k,m){if(200!=C)p(h,a,null,C,k),e(1);elseif(null==b||"PullResponse"!=b.Header.Method)p(h,
a,null,604,k),e(1);else{for(var q in b.Body.Items)if(b.Body.Items[q]instanceof Array)for(var u in b.Body.Items[q])"function"!=typeof b.Body.Items[q][u]&&x.push(b.Body.Items[q][u]);else"function"!=typeof b.Body.Items[q]&&x.push(b.Body.Items[q]);b.Body.EnumerationContext?h.wsman.ExecPull(g,b.Body.EnumerationContext,function(b,c,h,z){d(a,h,p,c,x,z,k,1)}):(e(1),p(h,a,x,C,k),c())}}function e(a){h.ActiveEnumsCount-=a;h.ActiveEnumsCount>=h.MaxActiveEnumsCount||0==h.PendingEnums.length?c():(a=h.PendingEnums.shift(),
u[c[2]]);if(170==c[0]&&64==c[1]){if(1==c[2])return"Got an error erasing Device SSD";if(2==c[2])return"Erasing Device TPM is not supported";if(3==c[2])return"Reached Max Counter"}else return"OEM Specific Firmware Error event"}else if(5==b){if(170==c[0]&&48==c[1])return 1==c[2]?format("AMT One Click Recovery: CSME Boot Option {0}:{1} added successfully",c[3],O[c[3]]):7>c[2]?format("AMT One Click Recovery: {0}",g[c[2]]):format("AMT One Click Recovery: Unknown progress event {0}",c[2]);if(170==c[0]&&
64==c[1]){if(1==c[2]){if(2==c[3])return"Started erasing Device SSD";if(3==c[3])return"Started erasing Device TPM";if(5==c[3])return"Started erasing Device BIOS Reload of Golden Config"}if(2==c[2]){if(2==c[3])return"Erasing Device SSD ended successfully";if(3==c[3])return"Erasing Device TPM ended successfully";if(5==c[3])return"Erasing Device BIOS Reload of Golden Config ended successfully"}if(3==c[2])return"Beginning Platform Erase";if(4==c[2])return"Clear Reserved Parameters";if(5==c[2])return"All setting decremented"}else return"OEM Specific Firmware Progress event"}else return m[c[1]]}if(18==
a&&170==c[0])return"Agent waakhond"+char2hex(c[4])+char2hex(c[3])+char2hex(c[2])+char2hex(c[1])+"-"+char2hex(c[6])+char2hex(c[5])+"-... veranderd in"+h.WatchdogCurrentStates[c[7]];if(5==a&&0==b)return"Case inbraak";if(192==a&&0==b&&170==c[0]&&48==c[1]){if(0==c[2])return"Er is een externe Serial Over LAN-sessie tot stand gebracht.";if(1==c[2])return"Remote Serial Over LAN-sessie be\u00ebindigd. Gebruikerscontrole is hersteld.";if(2==c[2])return"Er is een externe IDE-omleidingssessie opgezet.";if(3==
c[2])return"Remote IDE-Redirection-sessie voltooid. Gebruikerscontrole is hersteld."}if(36==a)return a=(c[1]<<24)+(c[2]<<16)+(c[3]<<8)+c[4],b="#"+c[0],170==c[0]&&(b="bedrade"),4294967293==a?"Alleontvangenpakketfilterisgematcht"+b+"koppel.":4294967292==a?"Alleuitgaandepakketfilterszijngematcht"+b+"koppel.":4294967290==a?"Erwerdopeenvervalstpakketfiltergezocht"+b+"koppel.":"Filter"+a+"werdgematchtop"+b+"koppel.";if(192==a)return0==c[2]?"Beveiligingsbeleidingeroepen.Eendeelvanofalhetnetwerkverkeer(TX)isgestopt.":
2==c[2]?"Beveiligingsbeleid ingeroepen. Sommige of al het netwerkverkeer (RX) werd gestopt.":"Beveiligingsbeleid ingeroepen.";if(193==a){if(170==c[0]&&48==c[1]&&0==c[2]&&0==c[3])return"Gebruikersverzoek voor externe verbinding.";if(170==c[0]&&32==c[1]&&3==c[2]&&1==c[3])return"EAC-fout: probeer houding te krijgen terwijl NAC in Intel\ufffd AMT is uitgeschakeld.";if(170==c[0]&&32==c[1]&&4==c[2]&&0==c[3])return"HWA-fout: algemene fout"}return 6==a?"Verificatie mislukt"+(c[1]+(c[2]<<8))+"keer.Hetsysteemwordtmogelijkaangevallen.":
30==a?"Geen opstartbare media":32==a?"Vergrendeling van besturingssysteem of stroomonderbreking":35==a?64==c[0]?"BIOS POST (Power On Self-Test) Watchdog Timeout.":"Systeem opstartfout":37==a?"Systeemfirmware is gestart (ten minste \u00e9\u00e9n CPU wordt correct uitgevoerd).":"Onbekend sensortype #"+a}function q(a,b,c,p,d){if(200!=p)d[0](h,[],p);else{var C,g,k=d[1],m=new Date,e;if(0<c.Body.RecordsReturned)for(ginc.Body.EventRecords=MakeToArray(c.Body.EventRecords),c.Body.EventRecords){a=null;try{a=
(h.ActiveEnumsCount++,h.wsman.ExecEnum(h.CompleteName(b),function(d,h,A,g,k){c();a(b,A,p,h,g,k)},d,g)):h.PendingEnums.push([b,p,d,g]);c()};h.BatchEnum=function(a,b,p,d,x,g){x={_pending:b.length};h.PendingBatchOperations+=b.length;for(var k in b){var m=b[k],q=h.Enum;"*"==m[0]&&(q=h.Get,m=m.substring(1));q(m,function(b,x,z,g,C){h.PendingBatchOperations--;c();C[2][x]={response:null==z?null:z.Body,responses:z,status:g};0==--C[2]._pending&&(delete C[2]._pending,p.call(h,h,a,C[2],g,d))},[a,b,x,q==h.Get?
[a,b,[]])};var E="Niet gespecificeerd. ; Er is geen fysiek systeemgeheugen ge\u00efnstalleerd in het systeem. ; Geen bruikbaar systeemgeheugen, al het ge\u00efnstalleerde geheugen heeft een onherstelbare fout ervaren. ; Onherstelbare storing op de harde schijf / ATAPI / IDE-apparaat. ; Onherstelbare systeemkaartfout. ; Onherstelbare diskette subsysteemfout. ; Onherstelbare storing van harde schijfcontroller. ; Onherstelbare PS / 2- of USB-toetsenbordfout. ; Verwijderbare opstartmedia niet gevonden. ; Onherstelbare videocontrollerfout. ; Geen videoapparaat gedetecteerd. ; Firmware (BIOS) ROM-corruptie gedetecteerd. ; CPU-spanning komt niet overeen (processoren die dezelfde voeding delen hebben niet-overeenkomende spanningsvereisten) ; Fout bij het matchen van de CPU-snelheid".split(";"),
m="Niet gespecificeerd. ; Geheugeninitialisatie. ; Initialisatie en test van harde schijf starten ; Secundaire processor (s) initialisatie ; Gebruikersauthenticatie ; Door gebruiker ge\u00efnitieerde systeemconfiguratie ; USB-bronconfiguratie ; PCI-bronconfiguratie ; Optie ROM-initialisatie ; Video-initialisatie ; Cache-initialisatie ; SM Businitialisatie ; Initialisatie toetsenbordcontroller ; Ge\u00efntegreerde controller / beheercontroller-initialisatie ; Dockingstation-bevestiging ; Dockingstation inschakelen ; Uitwerpen dockingstation ; Dockingstation uitschakelen ; Oproepvector voor besturingssysteem aanroepen ; Opstartproces voor besturingssysteem starten ; Initialisatie van moederbord of moederbord ; gereserveerd ; Floppy initialisatie ; Toetsenbordtest ; Testapparaat aanwijsapparaat ; Initialisatie van primaire processor".split(";"),
k="Niet gespecificeerd ; Overige ; Onbekend ; Processor ; Schijf ; Randapparatuur ; Systeembeheermodule ; Moederbord ; Geheugenmodule ; Processormodule ; Voeding ; Insteekkaart ; Voorpaneelbord ; Achterpaneelbord ; Voedingssysteembord ; Schijfbackplane ; Interne systeemuitbreiding kaart ; Andere moederbord ; Processor board ; Power unit ; Power module ; Power management board ; Chassis achterpaneel board ; Systeem chassis ; Sub chassis ; Andere chassis board ; Disk drive bay ; Perifere bay ; Device bay ; Ventilator koeling ; Koeleenheid ; Kabelverbinding ; Geheugenapparaat ; Systeembeheersoftware ; BIOS ; Intel (r) ME ; Systeembus ; Groep ; Intel (r) ME ; Externe omgeving ; Batterij ; Verwerkingsblad ; Connectiviteitsschakelaar ; Processor / geheugenmodule ; I / O-module ; Processor I / O-module ; Beheercontrollerfirmware ; IPMI-kanaal ; PCI-bus ; PCI-expressbus ; SCSI-bus ; SATA / SAS-bus ; Processor voorkant bus".split(";");
h.RealmNames=";; Redirection ;; Hardware Asset ; Remote Control ; Storage ; Event Manager ; Storage Admin ; Agent Presence Local ; Agent Presence Remote ; Circuit Breaker ; Network Time ; General Information ; Firmware Update ; EIT ; LocalUN ; Endpoint Access Control ; Endpoint Access Control Beheerder ; Gebeurtenislogboeklezer ; Auditlogboek ; ACL-domein ;;; Lokaal systeem".split(";");h.WatchdogCurrentStates={1:"Niet begonnen",2:"Gestopt",4:"Rennen",8:"Niet meer geldig",16:"Geschorst"};var g="Boot parameters received from CSME;CSME Boot Option % added successfully;HTTPS URI name resolved;HTTPS connected successfully;HTTPSBoot download is completed;Attempt to boot;Exit boot services".split(";"),
u=";No network connection available;Name resolution of URI failed;Connect to URI failed;OEM app not found at local URI;HTTPS TLS Auth failed;HTTPS Digest Auth failed;Verified boot failed (bad image);HTTPS Boot File not found".split(";"),O={1:"",2:"HTTPS",4:"Local PBA",8:"WinRE"},D={16:"Beveiligingsbeheerder",17:"RCO",18:"Redirection Manager",19:"Firmware Update Manager",20:"Beveiligingsauditlogboek",21:"Netwerktijd",22:"Netwerk administratie",23:"Opslagbeheer",24:"Event Manager",25:"Circuit Breaker Manager",
function instanceToXml(b,c){if(void 0===c||null===c)return null;var a=!!c.__namespace,d=a?"<q:":"<",e=a?"</q:":"</",a="<r:"+b+(a?'xmlns:q="'+c.__namespace+'"':"")+">",v;for(v in c)c.hasOwnProperty(v)&&0!==v.indexOf("__")&&("function"===typeof c[v]||Array.isArray(c[v])||("object"===typeof c[v]?console.error("only convert one level down..."):a+=d+v+">"+c[v].toString()+e+v+">"));return a+("</r:"+b+">")}
function referenceToXml(b,c){if(void 0===c||null===c)return null;var a="<r:"+b+"><a:Address>/wsman</a:Address><a:ReferenceParameters><w:ResourceURI>"+c.__resourceUri+"</w:ResourceURI><w:SelectorSet>",d;for(d in c)c.hasOwnProperty(d)&&0!==d.indexOf("__")&&("function"===typeof c[d]||"object"===typeof c[d]||Array.isArray(c[d])||(a+='<w:SelectorName="'+d+'">'+c[d].toString()+"</w:Selector>"));return a+("</w:SelectorSet></a:ReferenceParameters></r:"+b+">")}
function GetSidString(b){for(var c="S-"+b.charCodeAt(0)+"-"+b.charCodeAt(7),a=2;a<b.length/4;a++)c+="-"+ReadIntX(b,4*a);returnc}
function GetSidByteArray(b){if(!b||null==b)return null;b=b.split("-");if(4>b.length||"s"!=b[0]&&"S"!=b[0])return null;for(var c=1;c<b.length;c++){vara=parseInt(b[c]);if(a!=b[c])returnnull;b[c]=a}a=String.fromCharCode(b[1])+String.fromCharCode(b.length-3)+ShortToStr(Math.floor(b[2]/Math.pow(2,32)))+IntToStr(b[2]&65535);for(c=3;c<b.length;c++)a+=IntToStrX(b[c]);returna}
(new MutationObserver(function(){var b=a.slice();a.length=0;b.forEach(function(a){a()})})).observe(p,{attributes:!0});var x=d.setImmediate;d.setImmediate=function(d){15<Date.now()-b?(b=Date.now(),x(d)):(a.push(d),1===a.length&&p.setAttribute("a",c=!c))}}d.nextTick=d.setImmediate}})();d.isArray=Array.isArray||function(a){return"[objectArray]"===Object.prototype.toString.call(a)};d.isArrayBuffer=function(a){return"undefined"!==typeofArrayBuffer&&ainstanceofArrayBuffer};d.isArrayBufferView=function(a){returna&&
(b||"raw")&&(a=d.encodeUtf8(a));return new d.ByteBuffer(a)};d.fillString=function(a,b){for(var c="";0<b;)b&1&&(c+=a),b>>>=1,0<b&&(a+=a);returnc};d.xorBytes=function(a,b,c){for(vard="",p="",g="",h=0,k=0;0<c;--c,++h)p=a.charCodeAt(h)^b.charCodeAt(h),10<=k&&(d+=g,g="",k=0),g+=String.fromCharCode(p),++k;returnd+g};d.hexToBytes=function(a){varb="",c=0;a.length&1&&(c=1,b+=String.fromCharCode(parseInt(a[0],16)));for(;c<a.length;c+=2)b+=String.fromCharCode(parseInt(a.substr(c,2),16));returnb};d.bytesToHex=
var p=b;p||(p=new Uint8Array(a.length));for(var x=c=c||0,g=0;g<a.length;++g)p[x++]=a.charCodeAt(g);returnb?x-c:p};d.text.utf8.decode=function(a){returnd.decodeUtf8(String.fromCharCode.apply(null,a))};d.text.utf16.encode=function(a,b,c){vard=b;d||(d=newUint8Array(2*a.length));for(varp=newUint16Array(d.buffer),g=c=c||0,h=c,k=0;k<a.length;++k)p[h++]=a.charCodeAt(k),g+=2;returnb?g-c:d};d.text.utf16.decode=function(a){returnString.fromCharCode.apply(null,newUint16Array(a.buffer))};d.deflate=function(a,
b,c){b=d.decode64(a.deflate(d.encode64(b)).rval);c&&(a=2,b.charCodeAt(1)&32&&(a=6),b=b.substring(a,b.length-4));return b};d.inflate=function(a,b,c){a=a.inflate(d.encode64(b)).rval;return null===a?null:d.decode64(a)};var w=function(a,b,c){if(!a)throw Error("WebStorage not available.");null===c?a=a.removeItem(b):(c=d.encode64(JSON.stringify(c)),a=a.setItem(b,c));if("undefined"!==typeof a&&!0!==a.rval)throw b=Error(a.error.message),b.id=a.error.id,b.name=a.error.name,b;},l=function(a,b){if(!a)throw Error("WebStorage not available.");
var c=a.getItem(b);if(a.init)if(null===c.rval){if(c.error){var p=Error(c.error.message);p.id=c.error.id;p.name=c.error.name;throw p;}c=null}else c=c.rval;null!==c&&(c=JSON.parse(d.decode64(c)));return c},m=function(a,b,c,d){var p=l(a,b);null===p&&(p={});p[c]=d;w(a,b,p)},k=function(a,b,c){a=l(a,b);null!==a&&(a=c in a?a[c]:null);return a},g=function(a,b,c){var d=l(a,b);if(null!==d&&c in d){delete d[c];c=!0;for(var p in d){c=!1;break}c&&(d=null);w(a,b,d)}},u=function(a,b){w(a,b,null)},O=function(a,b,
c){var d=null;"undefined"===typeof c&&(c=["web","flash"]);var p,g=!1,h=null,k;for(k in c){p=c[k];try{if("flash"===p||"both"===p){if(null===b[0])throw Error("Flash local storage not available.");d=a.apply(this,b);g="flash"===p}if("web"===p||"both"===p)b[0]=localStorage,d=a.apply(this,b),g=!0}catch(m){h=m}if(g)break}if(!g)throw h;return d};d.setItem=function(a,b,c,d,p){O(m,arguments,p)};d.getItem=function(a,b,c,d){return O(k,arguments,d)};d.removeItem=function(a,b,c,d){O(g,arguments,d)};d.clearItems=
(d=d());if(!d)throw Error("Unsupported algorithm: "+b);return new a.cipher.BlockCipher({algorithm:d,key:c,decrypt:!1})};a.cipher.createDecipher=function(b,c){var d=b;"string"===typeof d&&(d=a.cipher.getAlgorithm(d))&&(d=d());if(!d)throw Error("Unsupported algorithm: "+b);return new a.cipher.BlockCipher({algorithm:d,key:c,decrypt:!0})};a.cipher.registerAlgorithm=function(b,c){b=b.toUpperCase();a.cipher.algorithms[b]=c};a.cipher.getAlgorithm=function(b){b=b.toUpperCase();return b in a.cipher.algorithms?
a.cipher.algorithms[b]:null};var c=a.cipher.BlockCipher=function(a){this.algorithm=a.algorithm;this.mode=this.algorithm.mode;this.blockSize=this.mode.blockSize;this._finish=!1;this.output=this._input=null;this._op=a.decrypt?this.mode.decrypt:this.mode.encrypt;this._decrypt=a.decrypt;this.algorithm.initialize(a)};c.prototype.start=function(b){b=b||{};var c={},d;for(d in b)c[d]=b[d];c.decrypt=this._decrypt;this._finish=!1;this._input=a.util.createBuffer();this.output=b.output||a.util.createBuffer();
this._outBlock=Array(this._ints)};w.cbc.prototype.start=function(a){if(null===a.iv){if(!this._prev)throw Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in a)this._iv=c(a.iv),this._prev=this._iv.slice(0);else throw Error("Invalid IV parameter.");};w.cbc.prototype.encrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&0<a.length()))return!0;for(c=0;c<this._ints;++c)this._inBlock[c]=this._prev[c]^a.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(c=0;c<this._ints;++c)b.putInt32(this._outBlock[c]);
this._partialBytes=0}d(this._inBlock)};w.ctr.prototype.decrypt=w.ctr.prototype.encrypt;w.gcm=function(b){b=b||{};this.name="GCM";this.cipher=b.cipher;this.blockSize=b.blockSize||16;this._ints=this.blockSize/4;this._inBlock=Array(this._ints);this._outBlock=Array(this._ints);this._partialOutput=a.util.createBuffer();this._partialBytes=0;this._R=3774873600};w.gcm.prototype.start=function(b){if(!("iv"in b))throw Error("Invalid IV parameter.");var c=a.util.createBuffer(b.iv);this._cipherLength=0;var k;
k="additionalData"in b?a.util.createBuffer(b.additionalData):a.util.createBuffer();this._tagLength="tagLength"in b?b.tagLength:128;this._tag=null;if(b.decrypt&&(this._tag=a.util.createBuffer(b.tag).getBytes(),this._tag.length!==this._tagLength/8))throw Error("Authentication tag does not match tag length.");this._hashBlock=Array(this._ints);this.tag=null;this._hashSubkey=Array(this._ints);this.cipher.encrypt([0,0,0,0],this._hashSubkey);this.componentBits=4;this._m=this.generateHashTable(this._hashSubkey,
"string"===typeof b&&(b=a.util.createBuffer(b));if(2>b.length()){var m=Error("Too few bytes to parse DER.");m.bytes=b.length();throw m;}var k=b.getByte(),m=k&192,g=k&31,u=d(b);if(b.length()<u){if(e)throwm=Error("ToofewbytestoreadASN.1value."),m.detail=b.length()+"<"+u,m;u=b.length()}varl,D=32===(k&32);l=D;if(!l&&m===c.Class.UNIVERSAL&&g===c.Type.BITSTRING&&1<u){vary=b.read;if(0===b.getByte()&&(k=b.getByte(),k&=192,k===c.Class.UNIVERSAL||k===c.Class.CONTEXT_SPECIFIC))try{if(l=d(b)===u-(b.read-
b)return c.putSignedInt(b,32);c=Error("Integer too large; max is 32-bits.");c.integer=b;throw c;};c.derToInteger=function(b){"string"===typeof b&&(b=a.util.createBuffer(b));var c=8*b.length();if(32<c)throwError("Integertoolarge;maxis32-bits.");returnb.getSignedInt(c)};c.validate=function(b,d,h,e){varg=!1;if(b.tagClass!==d.tagClass&&"undefined"!==typeofd.tagClass||b.type!==d.type&&"undefined"!==typeofd.type)e&&(b.tagClass!==d.tagClass&&e.push("["+d.name+']Expectedtagclass"'+d.tagClass+
'", got "'+b.tagClass+'"'),b.type!==d.type&&e.push("["+d.name+'] Expected type "'+d.type+'", got "'+b.type+'"'));else if(b.constructed===d.constructed||"undefined"===typeof d.constructed){g=!0;if(d.value&&a.util.isArray(d.value))for(var u=0,l=0;g&&l<d.value.length;++l)g=d.value[l].optional||!1,b.value[u]&&((g=c.validate(b.value[u],d.value[l],h,e))?++u:d.value[l].optional&&(g=!0)),!g&&e&&e.push("["+d.name+'] Tag class "'+d.tagClass+'", type "'+d.type+'" expected value length "'+d.value.length+'", got "'+
"Content-Domain"!==y.name)if(q.dekInfo||"DEK-Info"!==y.name)q.headers.push(y);else{if(0===y.values.length)throw Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');q.dekInfo={algorithm:z[0],parameters:z[1]||null}}else q.contentDomain=z[0]||"";else{if("Proc-Type"!==y.name)throw Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(2!==y.values.length)throw Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');
q.procType={version:z[0],type:z[1]}}}++D}if("ENCRYPTED"===q.procType&&!q.dekInfo)throw Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".');}}if(0===c.length)throw Error("Invalid PEM formatted message.");return c}}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=!0;a=function(a,b){b(c,module)}}else return"undefined"===typeof forge&&(forge={}),b(forge);var v,n=function(a,c){c.exports=function(c){var e=v.map(function(b){return a(b)}).concat(b);
var G=G&-15,F=F&-15,Z=c[G>>>28]|d[G>>>24&15]|e[G>>>20&15]|h[G>>>16&15]|g[G>>>12&15]|k[G>>>8&15]|q[G>>>4&15],ca=m[F>>>28]|l[F>>>24&15]|u[F>>>20&15]|w[F>>>16&15]|L[F>>>12&15]|D[F>>>8&15]|K[F>>>4&15];E=(ca>>>16^Z)&65535;B[O++]=Z^E;B[O++]=ca^E<<16}}this._keys=B;this._init=!0}};c("DES-ECB",a.cipher.modes.ecb);c("DES-CBC",a.cipher.modes.cbc);c("DES-CFB",a.cipher.modes.cfb);c("DES-OFB",a.cipher.modes.ofb);c("DES-CTR",a.cipher.modes.ctr);c("3DES-ECB",a.cipher.modes.ecb);c("3DES-CBC",a.cipher.modes.cbc);c("3DES-CFB",
v||(v=n);b=Math.ceil(b.n.bitLength()/8);e=b-2*n.digestLength-2;if(d.length>e)throw v=Error("RSAES-OAEP input message length is too long."),v.length=d.length,v.maxLength=e,v;g||(g="");n.update(g,"raw");g=n.digest();h="";e-=d.length;for(k=0;k<e;k++)h+="\x00";d=g.getBytes()+h+"\u0001"+d;if(!l)l=a.random.getBytes(n.digestLength);elseif(l.length!==n.digestLength)throwv=Error("InvalidRSAES-OAEPseed.Theseedlengthmustmatchthedigestlength."),v.seedLength=l.length,v.digestLength=n.digestLength,
2)throw Error("RSAES-OAEP key is too short for the hash function.");k||(k="");g.update(k,"raw");k=g.digest().getBytes();b=d.charAt(0);h=d.substring(1,g.digestLength+1);d=d.substring(1+g.digestLength);var n=c(d,g.digestLength,l);h=a.util.xorBytes(h,n,h.length);l=c(h,e-g.digestLength-1,l);d=a.util.xorBytes(d,l,d.length);e=d.substring(0,g.digestLength);l="\x00"!==b;for(b=0;b<g.digestLength;++b)l|=k.charAt(b)!==e.charAt(b);k=1;for(g=b=g.digestLength;g<d.length;g++)e=d.charCodeAt(g),h=e&1^1,l|=e&(k?65534:
Error("Message is too long for PKCS#1 v1.5 padding."),h.length=b.length,h.max=d-11,h;h.putByte(0);h.putByte(e);d=d-3-b.length;if(0===e||1===e){e=0===e?0:255;for(var g=0;g<d;++g)h.putByte(e)}elsefor(;0<d;){for(vark=0,l=a.random.getBytes(d),g=0;g<d;++g)e=l.charCodeAt(g),0===e?++k:h.putByte(e);d=k}h.putByte(0);h.putBytes(b);returnh}functiond(b,c,e,h){c=Math.ceil(c.n.bitLength()/8);b=a.util.createBuffer(b);varg=b.getByte(),k=b.getByte();if(0!==g||e&&0!==k&&1!==k||!e&&2!=k||e&&0===k&&"undefined"===
typeof h)throw Error("Encryption block is invalid.");e=0;if(0===k)for(e=c-3-h,h=0;h<e;++h){if(0!==b.getByte())throwError("Encryptionblockisinvalid.");}elseif(1===k)for(e=0;1<b.length();){if(255!==b.getByte()){--b.read;break}++e}elseif(2===k)for(e=0;1<b.length();){if(0===b.getByte()){--b.read;break}++e}if(0!==b.getByte()||e!==c-3-b.length())throwError("Encryptionblockisinvalid.");returnb.getBytes()}functione(b,c,d){functionh(){k(b.pBits,function(a,c){if(a)returnd(a);b.p=c;if(null!==b.q)returnl(a,
type:k.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:k.Class.UNIVERSAL,type:k.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:k.Class.UNIVERSAL,type:k.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:k.Class.UNIVERSAL,type:k.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},A=function(a){var b;if(a.algorithm in g.oids)b=g.oids[a.algorithm];
[k.create(k.Class.UNIVERSAL,k.Type.INTEGER,!1,k.integerToDer(0).getBytes()),k.create(k.Class.UNIVERSAL,k.Type.SEQUENCE,!0,[k.create(k.Class.UNIVERSAL,k.Type.OID,!1,k.oidToDer(g.oids.rsaEncryption).getBytes()),k.create(k.Class.UNIVERSAL,k.Type.NULL,!1,"")]),k.create(k.Class.UNIVERSAL,k.Type.OCTETSTRING,!1,k.toDer(a).getBytes())])};g.privateKeyFromAsn1=function(b){var c={},d=[];k.validate(b,v,c,d)&&(b=k.fromDer(a.util.createBuffer(c.privateKey)));c={};d=[];if(!k.validate(b,D,c,d))throw c=Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey."),
k.Type.INTEGER,!1,l(a.q)),k.create(k.Class.UNIVERSAL,k.Type.INTEGER,!1,l(a.dP)),k.create(k.Class.UNIVERSAL,k.Type.INTEGER,!1,l(a.dQ)),k.create(k.Class.UNIVERSAL,k.Type.INTEGER,!1,l(a.qInv))])};g.publicKeyFromAsn1=function(b){var c={},d=[];if(k.validate(b,z,c,d)){d=k.derToOid(c.publicKeyOid);if(d!==g.oids.rsaEncryption)throw c=Error("Cannot read public key. Unknown OID."),c.oid=d,c;b=c.rsaPublicKey}d=[];if(!k.validate(b,y,c,d))throw c=Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey."),
var B=m*Math.ceil(r/m);d=new a.util.ByteBuffer;for(l=0;l<B;l++)d.putByte(c.at(l%r));B=m*Math.ceil(b/m);c=newa.util.ByteBuffer;for(l=0;l<B;l++)c.putByte(v.at(l%b));v=d;v.putBuffer(c);c=Math.ceil(h/q);for(d=1;d<=c;d++){B=newa.util.ByteBuffer;B.putBytes(w.bytes());B.putBytes(v.bytes());for(l=0;l<e;l++)g.start(),g.update(B.getBytes()),B=g.digest();varE=newa.util.ByteBuffer;for(l=0;l<m;l++)E.putByte(B.at(l%q));varY=Math.ceil(r/m)+Math.ceil(b/m),K=newa.util.ByteBuffer;for(k=0;k<Y;k++){varea=newa.util.ByteBuffer(v.getBytes(m)),
case "aes256-CBC":m=32;g=a.aes.createDecryptionCipher;break;case "des-EDE3-CBC":m=24;g=a.des.createDecryptionCipher;break;case "desCBC":m=8,g=a.des.createDecryptionCipher}b=a.pkcs5.pbkdf2(d,c,q,m);h=h.encIv;g=g(b);g.start(h);return g};l.pbe.getCipherForPKCS12PBE=function(b,c,d){var h={},k=[];if(!e.validate(c,g,h,k))throw d=Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo."),d.errors=k,d;var k=a.util.createBuffer(h.salt),h=a.util.createBuffer(h.iterations),
(b={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var c=b.md,d=b.mgf,e=c.digestLength,l=b.salt||null;"string"===typeof l&&(l=a.util.createBuffer(l));var m;if("saltLength"in b)m=b.saltLength;else if(null!==l)m=l.length();else throw Error("Salt length not specified or specific salt not given.");if(null!==l&&l.length()!==m)throw Error("Given salt length does not match length of given salt.");var k=b.prng||a.random;return{encode:function(b,q){var n,v=q-1,y=Math.ceil(v/8),z=b.digest().getBytes();
return A+z+String.fromCharCode(188)},verify:function(b,k,l){var q;q=l-1;l=Math.ceil(q/8);k=k.substr(-l);if(l<e+m+2)throwError("InconsistentparameterstoPSSsignatureverification.");if(188!==k.charCodeAt(l-1))throwError("Encodedmessagedoesnotendin0xBC.");varn=l-e-1,v=k.substr(0,n);k=k.substr(n,e);varA=65280>>8*l-q&255;if(0!==(v.charCodeAt(0)&A))throw Error("Bits beyond keysize not zero as expected.");var R=d.generate(k,n),x="";for(q=0;q<n;q++)x+=String.fromCharCode(v.charCodeAt(q)^R.charCodeAt(q));
var h=e.value,l=k.Type.PRINTABLESTRING;"valueTagClass"in e&&(l=e.valueTagClass,l===k.Type.UTF8&&(h=a.util.encodeUtf8(h)));e=k.create(k.Class.UNIVERSAL,k.Type.SET,!0,[k.create(k.Class.UNIVERSAL,k.Type.SEQUENCE,!0,[k.create(k.Class.UNIVERSAL,k.Type.OID,!1,k.oidToDer(e.type).getBytes()),k.create(k.Class.UNIVERSAL,l,!1,h)])]);c.value.push(e)}return c}function e(a){for(var b,c=0;c<a.length;++c){b=a[c];"undefined"===typeofb.name&&(b.type&&b.typeing.oids?b.name=g.oids[b.type]:b.shortName&&b.shortNamein
v&&(b.name=g.oids[v[b.shortName]]));if("undefined"===typeof b.type)if(b.name&&b.name in g.oids)b.type=g.oids[b.name];else throw a=Error("Attribute type not specified."),a.attribute=b,a;"undefined"===typeof b.shortName&&b.name&&b.name in v&&(b.shortName=v[b.name]);if(b.type===u.extensionRequest&&(b.valueConstructed=!0,b.valueTagClass=k.Type.SEQUENCE,!b.value&&b.extensions)){b.value=[];for(var d=0;d<b.extensions.length;++d)b.value.push(g.certificateExtensionToAsn1(l(b.extensions[d])))}if("undefined"===
typeof b.value)throw a=Error("Attribute value not specified."),a.attribute=b,a;}}function l(b,c){c=c||{};"undefined"===typeof b.name&&b.id&&b.id in g.oids&&(b.name=g.oids[b.id]);if("undefined"===typeof b.id)if(b.name&&b.name in g.oids)b.id=g.oids[b.name];else{var d=Error("Extension ID not specified.");d.extension=b;throw d;}if("undefined"!==typeof b.value)return b;if("keyUsage"===b.name){var e=d=0,h=0;b.digitalSignature&&(e|=128,d=7);b.nonRepudiation&&(e|=64,d=6);b.keyEncipherment&&(e|=32,d=5);b.dataEncipherment&&
"pathLenConstraint"in b&&b.value.value.push(k.create(k.Class.UNIVERSAL,k.Type.INTEGER,!1,k.integerToDer(b.pathLenConstraint).getBytes()));else if("extKeyUsage"===b.name)for(e in b.value=k.create(k.Class.UNIVERSAL,k.Type.SEQUENCE,!0,[]),d=b.value.value,b)!0===b[e]&&(e in u?d.push(k.create(k.Class.UNIVERSAL,k.Type.OID,!1,k.oidToDer(u[e]).getBytes())):-1!==e.indexOf(".")&&d.push(k.create(k.Class.UNIVERSAL,k.Type.OID,!1,k.oidToDer(e).getBytes())));else if("nsCertType"===b.name)e=d=0,b.client&&(e|=128,
null===d)throw d=Error('Extension "ip" value is not a valid IPv4 or IPv6 address.'),d.extension=b,d;}else 8===e.type&&(d=e.oid?k.oidToDer(k.oidToDer(e.oid)):k.oidToDer(d));b.value.value.push(k.create(k.Class.CONTEXT_SPECIFIC,e.type,!1,d))}else"subjectKeyIdentifier"===b.name&&c.cert&&(d=c.cert.generateSubjectKeyIdentifier(),b.subjectKeyIdentifier=d.toHex(),b.value=k.create(k.Class.UNIVERSAL,k.Type.OCTETSTRING,!1,d.getBytes()));if("undefined"===typeof b.value)throw d=Error("Extension value not specified."),
b.type&&"X509 CERTIFICATE"!==b.type&&"TRUSTED CERTIFICATE"!==b.type)throw c=Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".'),c.headerType=b.type,c;if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert certificate from PEM; PEM is encrypted.");d=k.fromDer(b.body,d);return g.certificateFromAsn1(d,c)};g.certificateToPem=function(b,c){var d={type:"CERTIFICATE",body:k.toDer(g.certificateToAsn1(b)).getBytes()};
return a.pem.encode(d,{maxline:c})};g.publicKeyFromPem=function(b){b=a.pem.decode(b)[0];if("PUBLIC KEY"!==b.type&&"RSA PUBLIC KEY"!==b.type){var c=Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');c.headerType=b.type;throw c;}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert public key from PEM; PEM is encrypted.");b=k.fromDer(b.body);return g.publicKeyFromAsn1(b)};g.publicKeyToPem=function(b,c){var d={type:"PUBLIC KEY",
body:k.toDer(g.publicKeyToAsn1(b)).getBytes()};return a.pem.encode(d,{maxline:c})};g.publicKeyToRSAPublicKeyPem=function(b,c){var d={type:"RSA PUBLIC KEY",body:k.toDer(g.publicKeyToRSAPublicKey(b)).getBytes()};return a.pem.encode(d,{maxline:c})};g.getPublicKeyFingerprint=function(b,c){c=c||{};var d=c.md||a.md.sha1.create(),e;switch(c.type||"RSAPublicKey"){case "RSAPublicKey":e=k.toDer(g.publicKeyToRSAPublicKey(b)).getBytes();break;case "SubjectPublicKeyInfo":e=k.toDer(g.publicKeyToAsn1(b)).getBytes();
break;default:throw Error('Unknown fingerprint type "'+c.type+'".');}d.start();d.update(e);d=d.digest();if("hex"===c.encoding)return d=d.toHex(),c.delimiter?d.match(/.{2}/g).join(c.delimiter):d;if("binary"===c.encoding)return d.getBytes();if(c.encoding)throw Error('Unknown encoding "'+c.encoding+'".');return d};g.certificationRequestFromPem=function(b,c,d){b=a.pem.decode(b)[0];if("CERTIFICATE REQUEST"!==b.type)throw c=Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".'),
b.sign=function(c,d){b.md=d||a.md.sha1.create();var e=u[b.md.algorithm+"WithRSAEncryption"];if(!e)throw e=Error("Could not compute certificate digest. Unknown message digest algorithm OID."),e.algorithm=b.md.algorithm,e;b.signatureOid=b.siginfo.algorithmOid=e;b.tbsCertificate=g.getTBSCertificate(b);e=k.toDer(b.tbsCertificate);b.md.update(e.getBytes());b.signature=c.sign(b.md)};b.verify=function(c){var d=!1;if(!b.issued(c)){var d=b.subject,e=Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");
e.expectedIssuer=c.issuer.attributes;e.actualIssuer=d.attributes;throw e;}e=c.md;if(null===e){if(c.signatureOid in u)switch(u[c.signatureOid]){case "sha1WithRSAEncryption":e=a.md.sha1.create();break;case "md5WithRSAEncryption":e=a.md.md5.create();break;case "sha256WithRSAEncryption":e=a.md.sha256.create();break;case "sha512WithRSAEncryption":e=a.md.sha512.create();break;case "RSASSA-PSS":e=a.md.sha256.create()}if(null===e)throw e=Error("Could not compute certificate digest. Unknown signature OID."),
m.push(k.generalizedTimeToDate(h.certValidity2GeneralizedTime));void 0!==h.certValidity3UTCTime&&m.push(k.utcTimeToDate(h.certValidity3UTCTime));void 0!==h.certValidity4GeneralizedTime&&m.push(k.generalizedTimeToDate(h.certValidity4GeneralizedTime));if(2<m.length)throwError("CannotreadnotBefore/notAftervaliditytimes;morethantwotimeswereprovidedinthecertificate.");if(2>m.length)throw Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");
r.validity.notBefore=m[0];r.validity.notAfter=m[1];r.tbsCertificate=h.tbsCertificate;if(d){r.md=null;if(r.signatureOid in u)switch(l=u[r.signatureOid],l){case "sha1WithRSAEncryption":r.md=a.md.sha1.create();break;case "md5WithRSAEncryption":r.md=a.md.md5.create();break;case "sha256WithRSAEncryption":r.md=a.md.sha256.create();break;case "sha512WithRSAEncryption":r.md=a.md.sha512.create();break;case "RSASSA-PSS":r.md=a.md.sha256.create()}if(null===r.md)throw h=Error("Could not compute certificate digest. Unknown signature OID."),
g.verifyCertificateChain=function(b,c,d){c=c.slice(0);var e=c.slice(0),h=new Date,l=!0,k=null,m=0;do{var q=c.shift(),A=null,u=!1;if(h<q.validity.notBefore||h>q.validity.notAfter)k={message:"Certificate is not valid yet or has expired.",error:g.certificateError.certificate_expired,notBefore:q.validity.notBefore,notAfter:q.validity.notAfter,now:h};if(null===k){A=c[0]||b.getIssuer(q);null===A&&q.isIssuer(q)&&(u=!0,A=q);if(A){var n=A;a.util.isArray(n)||(n=[n]);for(var y=!1;!y&&0<n.length;){A=n.shift();
try{y=A.verify(q)}catch(v){}}y||(k={message:"Certificate signature is invalid.",error:g.certificateError.bad_certificate})}null!==k||A&&!u||b.hasCertificate(q)||(k={message:"Certificate is not trusted.",error:g.certificateError.unknown_ca})}null===k&&A&&!q.isIssuer(A)&&(k={message:"Certificate issuer is invalid.",error:g.certificateError.bad_certificate});if(null===k)for(n={keyUsage:!0,basicConstraints:!0},y=0;null===k&&y<q.extensions.length;++y){var w=q.extensions[y];!w.critical||w.name in n||(k=
{message:"Certificate has an unsupported critical extension.",error:g.certificateError.unsupported_certificate})}null!==k||l&&(0!==c.length||A&&!u)||(l=q.getExtension("basicConstraints"),q=q.getExtension("keyUsage"),null!==q&&(q.keyCertSign&&null!==l||(k={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:g.certificateError.bad_certificate})),
null!==k||null===l||l.cA||(k={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:g.certificateError.bad_certificate}),null===k&&null!==q&&"pathLenConstraint"in l&&m-1>l.pathLenConstraint&&(k={message:"Certificate basicConstraints pathLenConstraint violated.",error:g.certificateError.bad_certificate}));q=null===k?!0:k.error;l=d?d(q,m,e):q;if(!0===l)k=null;else{!0===q&&(k={message:"The application rejected the certificate.",error:g.certificateError.bad_certificate});
b.errors=D,b;r=m.derToOid(y.contentType);if(r!==k.oids.data)throw b=Error("PKCS#12 EncryptedContentInfo ContentType is not Data."),b.oid=r,b;r=m.derToOid(y.encAlgorithm);r=k.pbe.getCipher(r,y.encParameter,z);y=d(y.encryptedContentAsn1);y=a.util.createBuffer(y.value);r.update(y);if(!r.finish())throw Error("Failed to decrypt PKCS#12 SafeContents.");r=r.output.getBytes();v.encrypted=!0;break;default:throw b=Error("Unsupported PKCS#12 contentType."),b.contentType=m.derToOid(y.contentType),b;}v.safeBags=
l(r,g,q);b.safeContents.push(v)}}function l(a,b,c){if(!b&&0===a.length)return[];a=m.fromDer(a,b);if(a.tagClass!==m.Class.UNIVERSAL||a.type!==m.Type.SEQUENCE||!0!==a.constructed)throw Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var d=[],e=0;e<a.value.length;e++){varh={},g=[];if(!m.validate(a.value[e],D,h,g))throwa=Error("CannotreadSafeBag."),a.errors=g,a;varp={type:m.derToOid(h.bagId),attributes:n(h.bagAttributes)};d.push(p);varq,u,y=h.bagValue.value[0];switch(p.type){casek.oids.pkcs8ShroudedKeyBag:if(y=
k.decryptPrivateKeyInfo(y,c),null===y)throw Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");case k.oids.keyBag:try{p.key=k.privateKeyFromAsn1(y)}catch(v){p.key=null,p.asn1=y}continue;case k.oids.certBag:q=z;u=function(){if(m.derToOid(h.certId)!==k.oids.x509Certificate){var a=Error("Unsupported certificate type, only X.509 supported.");a.oid=m.derToOid(h.certId);throw a;}a=m.fromDer(h.cert,b);try{p.cert=k.certificateFromAsn1(a,!0)}catch(c){p.cert=null,p.asn1=a}};break;default:throw a=
g.pkcs12FromAsn1=function(b,l,x){"string"===typeof l?(x=l,l=!0):void 0===l&&(l=!0);var u={};if(!m.validate(b,v,u,[]))throw l=Error("Cannot read PKCS#12 PFX. ASN.1 object is not an PKCS#12 PFX."),l.errors=l,l;var n={version:u.version.charCodeAt(0),safeContents:[],getBags:function(b){var d={},e;"localKeyId"in b?e=b.localKeyId:"localKeyIdHex"in b&&(e=a.util.hexToBytes(b.localKeyIdHex));void 0===e&&!("friendlyName"in b)&&"bagType"in b&&(d[b.bagType]=c(n.safeContents,null,null,b.bagType));void 0!==e&&
(d.localKeyId=c(n.safeContents,"localKeyId",e,b.bagType));"friendlyName"in b&&(d.friendlyName=c(n.safeContents,"friendlyName",b.friendlyName,b.bagType));return d},getBagsByFriendlyName:function(a,b){return c(n.safeContents,"friendlyName",a,b)},getBagsByLocalKeyId:function(a,b){return c(n.safeContents,"localKeyId",a,b)}};if(3!==u.version.charCodeAt(0))throw l=Error("PKCS#12 PFX of version other than 3 not supported."),l.version=u.version.charCodeAt(0),l;if(m.derToOid(u.contentType)!==k.oids.data)throw l=
Error("Only PKCS#12 PFX in password integrity mode supported."),l.oid=m.derToOid(u.contentType),l;b=u.content.value[0];if(b.tagClass!==m.Class.UNIVERSAL||b.type!==m.Type.OCTETSTRING)throw Error("PKCS#12 authSafe content data is not an OCTET STRING.");b=d(b);if(u.mac){var y=null,w=0,r=m.derToOid(u.macAlgorithm);switch(r){case k.oids.sha1:y=a.md.sha1.create();w=20;break;case k.oids.sha256:y=a.md.sha256.create();w=32;break;case k.oids.sha384:y=a.md.sha384.create();w=48;break;case k.oids.sha512:y=a.md.sha512.create();
w=64;break;case k.oids.md5:y=a.md.md5.create(),w=16}if(null===y)throw Error("PKCS#12 uses unsupported MAC algorithm: "+r);var r=new a.util.ByteBuffer(u.macSalt),z="macIterations"in u?parseInt(a.util.bytesToHex(u.macIterations),16):1,w=g.generateKey(x,r,3,z,w,y),r=a.hmac.create();r.start(y,w);r.update(b.value);if(r.getMac().getBytes()!==u.macDigest)throw Error("PKCS#12 MAC could not be verified. Invalid password?");}e(n,b.value,l,x);return n};g.toPkcs12Asn1=function(b,c,d,e){e=e||{};e.saltSize=e.saltSize||
function(){n.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){var c=a.asn1,d=a.pki=a.pki||{};d.pemToDer=function(b){b=a.pem.decode(b)[0];if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert PEM to DER; PEM is encrypted.");return a.util.createBuffer(b.body)};d.privateKeyFromPem=function(b){b=a.pem.decode(b)[0];if("PRIVATE KEY"!==b.type&&"RSA PRIVATE KEY"!==b.type){var e=Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');
e.headerType=b.type;throw e;}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert private key from PEM; PEM is encrypted.");b=c.fromDer(b.body);return d.privateKeyFromAsn1(b)};d.privateKeyToPem=function(b,e){var l={type:"RSA PRIVATE KEY",body:c.toDer(d.privateKeyToAsn1(b)).getBytes()};return a.pem.encode(l,{maxline:e})};d.privateKeyInfoToPem=function(b,d){var e={type:"PRIVATE KEY",body:c.toDer(b).getBytes()};return a.pem.encode(e,{maxline:d})}}if("function"!==typeof a)if("object"===
m.handleUnexpected=function(a,b){(a.open||a.entity!==m.ConnectionEnd.client)&&a.error(a,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.unexpected_message}})};m.handleHelloRequest=function(a,b,c){!a.handshaking&&0<a.handshakes&&(m.queue(a,m.createAlert(a,{level:m.Alert.Level.warning,description:m.Alert.Description.no_renegotiation})),m.flush(a));a.process()};m.parseHelloMessage=function(b,c,d){var e=null,h=b.entity===
m.ConnectionEnd.client;if(38>d)b.error(b,{message:h?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.illegal_parameter}});else{c=c.fragment;var g=c.length(),e={version:{major:c.getByte(),minor:c.getByte()},random:a.util.createBuffer(c.getBytes(32)),session_id:l(c,1),extensions:[]};h?(e.cipher_suite=c.getBytes(2),e.compression_method=c.getByte()):(e.cipher_suites=l(c,2),e.compression_methods=
!1!==b.verifyClient&&m.queue(b,m.createRecord(b,{type:m.ContentType.handshake,data:m.createCertificateRequest(b)})),m.queue(b,m.createRecord(b,{type:m.ContentType.handshake,data:m.createServerHelloDone(b)}))));m.flush(b);b.process()}};m.handleCertificate=function(b,c,d){if(3>d)return b.error(b,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.illegal_parameter}});d=l(c.fragment,3);var e,h;c=[];try{for(;0<d.length();)e=
l(d,3),h=a.asn1.fromDer(e),e=a.pki.certificateFromAsn1(h,!0),c.push(e)}catch(k){return b.error(b,{message:"Could not parse certificate list.",cause:k,send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.bad_certificate}})}e=b.entity===m.ConnectionEnd.client;!e&&!0!==b.verifyClient||0!==c.length?0===c.length?b.expect=e?g:x:(e?b.session.serverCertificate=c[0]:b.session.clientCertificate=c[0],m.verifyCertificateChain(b,c)&&(b.expect=e?g:x)):b.error(b,{message:e?"No server certificate provided.":
"No client certificate provided.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.illegal_parameter}});b.process()};m.handleServerKeyExchange=function(a,b,c){if(0<c)returna.error(a,{message:"Invalidkeyparameters.OnlyRSAissupported.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.unsupported_certificate}});a.expect=u;a.process()};m.handleClientKeyExchange=function(b,c,d){if(48>d)return b.error(b,{message:"Invalid key parameters. Only RSA is supported.",
send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.unsupported_certificate}});c=l(c.fragment,2).getBytes();d=null;if(b.getPrivateKey)try{d=b.getPrivateKey(b,b.session.serverCertificate),d=a.pki.privateKeyFromPem(d)}catch(e){b.error(b,{message:"Could not get private key.",cause:e,send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.internal_error}})}if(null===d)return b.error(b,{message:"No private key set.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.internal_error}});
try{var h=b.session.sp;h.pre_master_secret=d.decrypt(c);var g=b.session.clientHelloVersion;if(g.major!==h.pre_master_secret.charCodeAt(0)||g.minor!==h.pre_master_secret.charCodeAt(1))throw Error("TLS version rollback attack detected.");}catch(e){h.pre_master_secret=a.random.getBytes(48)}b.expect=H;null!==b.session.clientCertificate&&(b.expect=C);b.process()};m.handleCertificateRequest=function(a,b,c){if(3>c)return a.error(a,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:m.Alert.Level.fatal,
description:m.Alert.Description.illegal_parameter}});b=b.fragment;b={certificate_types:l(b,1),certificate_authorities:l(b,2)};a.session.certificateRequest=b;a.expect=v;a.process()};m.handleCertificateVerify=function(b,c,d){if(2>d)return b.error(b,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.illegal_parameter}});d=c.fragment;d.read-=4;c=d.bytes();d.read+=4;d=l(d,2).getBytes();var e=a.util.createBuffer();e.putBuffer(b.session.md5.digest());
e.putBuffer(b.session.sha1.digest());e=e.getBytes();try{if(!b.session.clientCertificate.publicKey.verify(e,d,"NONE"))throw Error("CertificateVerify signature does not match.");b.session.md5.update(c);b.session.sha1.update(c)}catch(h){return b.error(b,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.handshake_failure}})}b.expect=H;b.process()};m.handleServerHelloDone=function(b,c,d){if(0<d)returnb.error(b,{message:"InvalidServerHelloDonemessage.Invalidlength.",
send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.record_overflow}});if(null===b.serverCertificate&&(c={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.insufficient_security}},d=b.verify(b,c.alert.description,0,[]),!0!==d)){if(d||0===d)"object"!==typeof d||a.util.isArray(d)?"number"===typeof d&&(c.alert.description=d):(d.message&&(c.message=d.message),d.alert&&(c.alert.description=d.alert));
break;case m.Alert.Description.no_renegotiation:d="Renegotiation not supported.";break;default:d="Unknown error."}if(c.description===m.Alert.Description.close_notify)return a.close();a.error(a,{message:d,send:!1,origin:a.entity===m.ConnectionEnd.client?"server":"client",alert:c});a.process()};m.handleHandshake=function(b,c){var d=c.fragment,e=d.getByte(),h=d.getInt24();if(h>d.length())return b.fragmented=c,c.fragment=a.util.createBuffer(),d.read-=4,b.process();b.fragmented=null;d.read-=4;var g=d.bytes(h+
4);d.read+=4;e in I[b.entity][b.expect]?(b.entity!==m.ConnectionEnd.server||b.open||b.fail||(b.handshaking=!0,b.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:a.md.md5.create(),sha1:a.md.sha1.create()}),e!==m.HandshakeType.hello_request&&e!==m.HandshakeType.certificate_verify&&e!==m.HandshakeType.finished&&(b.session.md5.update(g),b.session.sha1.update(g)),I[b.entity][b.expect][e](b,c,h)):
cipherState:null,cipherFunction:function(a){return!0},compressionState:null,compressFunction:function(a){return!0},updateSequenceNumber:function(){4294967295===a.sequenceNumber[1]?(a.sequenceNumber[1]=0,++a.sequenceNumber[0]):++a.sequenceNumber[1]}};return a},g={read:c(),write:c()};g.read.update=function(a,b){g.read.cipherFunction(b,g.read)?g.read.compressFunction(a,b,g.read)||a.error(a,{message:"Could not decompress record.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.decompression_failure}}):
a.error(a,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.bad_record_mac}});return!a.fail};g.write.update=function(a,b){g.write.compressFunction(a,b,g.write)?g.write.cipherFunction(b,g.write)||a.error(a,{message:"Could not encrypt record.",send:!1,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.internal_error}}):a.error(a,{message:"Could not compress record.",send:!1,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.internal_error}});
var x=a.util.createBuffer();n(x,3,q);e.putBuffer(x)}d=a.pki.certificateFromAsn1(h);c?b.session.clientCertificate=d:b.session.serverCertificate=d}catch(r){return b.error(b,{message:"Could not send certificate list.",cause:r,send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.bad_certificate}})}b=3+e.length();c=a.util.createBuffer();c.putByte(m.HandshakeType.certificate);c.putInt24(b);n(c,3,e);return c};m.createClientKeyExchange=function(b){var c=a.util.createBuffer();c.putByte(b.session.clientHelloVersion.major);
d.putBuffer(b.session.sha1.digest());d=d.getBytes();b.getSignature=b.getSignature||function(b,c,d){var e=null;if(b.getPrivateKey)try{e=b.getPrivateKey(b,b.session.clientCertificate),e=a.pki.privateKeyFromPem(e)}catch(h){b.error(b,{message:"Could not get private key.",cause:h,send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.internal_error}})}null===e?b.error(b,{message:"No private key set.",send:!0,alert:{level:m.Alert.Level.fatal,description:m.Alert.Description.internal_error}}):
c=e.sign(c,null);d(b,c)};b.getSignature(b,d,c)};m.createCertificateVerify=function(b,c){var d=c.length+2,e=a.util.createBuffer();e.putByte(m.HandshakeType.certificate_verify);e.putInt24(d);e.putInt16(c.length);e.putBytes(c);return e};m.createCertificateRequest=function(b){var c=a.util.createBuffer();c.putByte(1);var d=a.util.createBuffer(),e;for(e in b.caStore.certs){var h=a.pki.distinguishedNameToAsn1(b.caStore.certs[e].subject);d.putBuffer(a.asn1.toDer(h))}b=1+c.length()+2+d.length();e=a.util.createBuffer();
case m.Alert.Description.certificate_expired:return a.pki.certificateError.certificate_expired;case m.Alert.Description.certificate_unknown:return a.pki.certificateError.certificate_unknown;case m.Alert.Description.unknown_ca:return a.pki.certificateError.unknown_ca;default:return a.pki.certificateError.bad_certificate}};m.verifyCertificateChain=function(b,c){try{a.pki.verifyCertificateChain(b.caStore,c,function(c,d,e){aa(c);d=b.verify(b,c,d,e);if(!0!==d){if("object"===typeof d&&!a.util.isArray(d))throw c=
Error("The application rejected the certificate."),c.send=!0,c.alert={level:m.Alert.Level.fatal,description:m.Alert.Description.bad_certificate},d.message&&(c.message=d.message),d.alert&&(c.alert.description=d.alert),c;d!==c&&(d=ba(d))}return d})}catch(d){var e=d;if("object"!==typeof e||a.util.isArray(e))e={send:!0,alert:{level:m.Alert.Level.fatal,description:aa(d)}};"send"in e||(e.send=!0);"alert"in e||(e.alert={level:m.Alert.Level.fatal,description:aa(e.error)});b.error(b,e)}return!b.fail};m.createSessionCache=
function(b,c){var d=null;if(b&&b.getSession&&b.setSession&&b.order)d=b;else{d={};d.cache=b||{};d.capacity=Math.max(c||100,1);d.order=[];for(var e in b)d.order.length<=c?d.order.push(e):delete b[e];d.getSession=function(b){var c=null,e=null;b?e=a.util.bytesToHex(b):0<d.order.length&&(e=d.order[0]);if(null!==e&&eind.cache){c=d.cache[e];deleted.cache[e];for(varhind.order)if(d.order[h]===e){d.order.splice(h,1);break}}returnc};d.setSession=function(b,c){if(d.order.length===d.capacity){vare=d.order.shift();
delete d.cache[e]}e=a.util.bytesToHex(b);d.order.push(e);d.cache[e]=c}}return d};m.createConnection=function(b){var c=null,c=b.caStore?a.util.isArray(b.caStore)?a.pki.createCaStore(b.caStore):b.caStore:a.pki.createCaStore(),d=b.cipherSuites||null;if(null===d){var d=[],e;for(e in m.CipherSuites)d.push(m.CipherSuites[e])}e=b.server?m.ConnectionEnd.server:m.ConnectionEnd.client;var h=b.sessionCache?m.createSessionCache(b.sessionCache):null,g={version:{major:m.Version.major,minor:m.Version.minor},entity:e,
!1;g.fail=!(a||"undefined"===typeof a);g.input.clear();g.tlsData.clear();g.data.clear();g.state.current=m.createConnectionState(g)}};g.reset();g.handshake=function(b){if(g.entity!==m.ConnectionEnd.client)g.error(g,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(g.handshaking)g.error(g,{message:"Handshake already in progress.",fatal:!1});else{g.fail&&!g.open&&0===g.handshakes&&(g.fail=!1);g.handshaking=!0;b=b||"";var c=null;0<b.length&&(g.sessionCache&&(c=g.sessionCache.getSession(b)),
m.queue(g,m.createAlert(g,{level:m.Alert.Level.warning,description:m.Alert.Description.close_notify})),m.flush(g);g.closed(g)}g.reset(a)};return g};a.tls=a.tls||{};for(var W in m)"function"!==typeof m[W]&&(a.tls[W]=m[W]);a.tls.prf_tls1=c;a.tls.hmac_sha1=function(b,c,d){var e=a.hmac.create();e.start("SHA1",b);b=a.util.createBuffer();b.putInt32(c[0]);b.putInt32(c[1]);b.putByte(d.type);b.putByte(d.version.major);b.putByte(d.version.minor);b.putInt16(d.length);b.putBytes(d.fragment.bytes());e.update(b.getBytes());
u.Type.OCTETSTRING,!1,b.parameter.getBytes())]),u.create(u.Class.CONTEXT_SPECIFIC,0,!0,[u.create(u.Class.UNIVERSAL,u.Type.OCTETSTRING,!1,b.content.getBytes())])]}function k(b,c,d){var e={};if(!u.validate(c,d,e,[]))throw b=Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message."),b.errors=b,b;if(u.derToOid(e.contentType)!==a.pki.oids.data)throw Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(e.encryptedContent){c="";if(a.util.isArray(e.encryptedContent))for(d=
break;default:throw Error("Unsupported symmetric cipher, OID "+b.encryptedContent.algorithm);}c.start(b.encryptedContent.parameter);c.update(b.encryptedContent.content);if(!c.finish())throw Error("Symmetric decryption failed.");b.content=c.output}}var u=a.asn1,v=a.pkcs7=a.pkcs7||{};v.messageFromPem=function(b){b=a.pem.decode(b)[0];if("PKCS7"!==b.type){var c=Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');c.headerType=b.type;throw c;}if(b.procType&&"ENCRYPTED"===
b.procType.type)throw Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");b=u.fromDer(b.body);return v.messageFromAsn1(b)};v.messageToPem=function(b,c){var d={type:"PKCS7",body:u.toDer(b.toAsn1()).getBytes()};return a.pem.encode(d,{maxline:c})};v.messageFromAsn1=function(b){var c={},d=[];if(!u.validate(b,v.asn1.contentInfoValidator,c,d))throw c=Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo."),c.errors=d,c;d=u.derToOid(c.contentType);switch(d){case a.pki.oids.envelopedData:d=
v.createEnvelopedData();break;case a.pki.oids.encryptedData:d=v.createEncryptedData();break;case a.pki.oids.signedData:d=v.createSignedData();break;default:throw Error("Cannot read PKCS#7 message. ContentType with OID "+d+" is not (yet) supported.");}d.fromAsn1(c.content.value[0]);return d};v.createSignedData=function(){var b=null;return b={type:a.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(c){k(b,
u.Type.NULL,!1,"")]));if(2>b.contentInfo.value.length)throw Error("Could not sign PKCS#7 message; there is no content to sign.");var g=u.derToOid(b.contentInfo.value[0].value),d=b.contentInfo.value[1],d=d.value[0],h=u.toDer(d);h.getByte();u.getBerValueLength(h);var h=h.getBytes(),k;for(k in c)c[k].start().update(h);k=new Date;for(d=0;d<b.signers.length;++d){e=b.signers[d];if(0===e.authenticatedAttributes.length){if(g!==a.pki.oids.data)throwError("Invalidsigner;authenticatedAttributesmustbepresentwhentheContentInfocontenttypeisnotPKCS#7Data.");
null===a.parent||(a.parent.error=a.error,a.parent.swapTime=a.swapTime,a.parent.userData=a.userData,k(a.parent,b))};c?setTimeout(d,0):d(b)},g=function(b,d){b.state="done";delete c[b.id];null===b.parent&&(b.type in e?0===e[b.type].length?a.log.error("forge.task","[%s][%s] task queue empty [%s]",b.id,b.name,b.type):e[b.type][0]!==b?a.log.error("forge.task","[%s][%s] task not first in queue [%s]",b.id,b.name,b.type):(e[b.type].shift(),0===e[b.type].length?delete e[b.type]:e[b.type][0].start()):a.log.error("forge.task",
"[%s][%s] task queue missing [%s]",b.id,b.name,b.type),d||(b.error&&b.failureCallback?b.failureCallback(b):!b.error&&b.successCallback&&b.successCallback(b)))};a.task=a.task||{};a.task.start=function(a){var b=new n({run:a.run,name:a.name||"?"});b.type=a.type;b.successCallback=a.success||null;b.failureCallback=a.failure||null;b.type in e?e[a.type].push(b):(e[b.type]=[b],m(b))};a.task.cancel=function(a){a in e&&(e[a]=[e[a][0]])};a.task.createCondition=function(){var a={tasks:{},wait:function(b){b.id in
a.tasks||(b.block(),a.tasks[b.id]=b)},notify:function(){var b=a.tasks;a.tasks={};for(var c in b)b[c].unblock()}};return a}}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=!0;a=function(a,b){b(c,module)}}else return"undefined"===typeof forge&&(forge={}),b(forge);var v,n=function(a,c){c.exports=function(c){var e=v.map(function(b){return a(b)}).concat(b);c=c||{};c.defined=c.defined||{};if(c.defined.task)return c.task;c.defined.task=!0;for(var l=0;l<e.length;++l)e[l](c);returnc.task}},
function(){v.apply(null,Array.prototype.slice.call(arguments,0))})})();return c("js/forge")});function amtcert_linkCertPrivateKey(b,c){for(var a in b){var d=b[a];try{if(0==c.length)break;for(var e=forge.pki.publicKeyToPem(forge.pki.certificateFromAsn1(forge.asn1.fromDer(d.X509Certificate)).publicKey).substring(60).replace(/(\r\n|\n|\r)/gm,""),v=0;v<c.length;v++)e===c[v].DERKey+"-----ENDPUBLICKEY-----"&&(c[v].XCert=d,d.XPrivateKey=c[v])}catch(n){console.log(n)}}}
function amtcert_loadP12File(b,c,a){try{var d=window.forge.util.decode64(btoa(b)),e=window.forge.asn1.fromDer(d),v=window.forge.pkcs12.pkcs12FromAsn1(e,c),n=v.getBags({bagType:window.forge.pki.oids.pkcs8ShroudedKeyBag});console.assert(n[window.forge.pki.oids.pkcs8ShroudedKeyBag]&&0<n[window.forge.pki.oids.pkcs8ShroudedKeyBag].length);var l=n[window.forge.pki.oids.pkcs8ShroudedKeyBag][0].key,p=window.forge.pki.privateKeyToAsn1(l),q=window.forge.pki.wrapRsaPrivateKey(p);window.forge.asn1.toDer(q).getBytes();
var h=v.getBags({bagType:window.forge.pki.oids.certBag})[window.forge.pki.oids.certBag][0].cert.subject.attributes,B=v.getBags({bagType:forge.pki.oids.certBag})[forge.pki.oids.certBag][0].cert;a(l,h,B);return!0}catch(w){}return!1}function amtcert_signWithCaKey(b,c,a,d,e){c&&null!=c||(c=amtcert_createCertificate(d).key);return amtcert_createCertificate(a,c,b,d,e)}
function amtcert_createCertificate(b,c,a,d,e){var v,n=forge.pki.createCertificate();a?n.publicKey=forge.pki.publicKeyFromPem("-----BEGIN PUBLIC KEY-----"+a+"-----END PUBLIC KEY-----"):(v=forge.pki.rsa.generateKeyPair(2048),n.publicKey=v.publicKey);n.serialNumber=""+Math.floor(1E5*Math.random()+1);n.validity.notBefore=new Date(2018,0,1);n.validity.notAfter=new Date(2049,11,31);var l=[];b.CN&&l.push({name:"commonName",value:b.CN});b.C&&l.push({name:"countryName",value:b.C});b.ST&&l.push({shortName:"ST",
function _stringToArrayBuffer(b){for(var c=new ArrayBuffer(b.length),a=new Uint8Array(c),d=0,e=b.length;d<e;d++)a[d]=b.charCodeAt(d);returnc}function_arrayBufferToString(b){varc="";b=newUint8Array(b);for(vara=b.byteLength,d=0;d<a;d++)c+=String.fromCharCode(b[d]);returnc}functioncertCetAsn1Values(b,c){if("string"===typeofb&&0==b.indexOf("https://"))c.push(b);elseif(Array.isArray(b))for(varainb)certCetAsn1Values(b[a],c);elseb&&"object"===typeofb&&certCetAsn1Values(b.value,c)}
function getExtensionUrls(b,c){var a=[],d=b.getExtension(c);null!=d&&certCetAsn1Values(forge.asn1.fromDer(d.value),a);return a}var certUrlCache=null,certUrlCacheFile=null;
function getCertUrl(b,c){null==certUrlCacheFile&&(certUrlCacheFile=null!=process.env.LOCALAPPDATA?require("path").join(process.env.LOCALAPPDATA,"mccache.json"):"mccache.json");if(null==certUrlCache)try{certUrlCache=JSON.parse(require("fs").readFileSync(certUrlCacheFile))}catch(d){certUrlCache={}}if(null!=certUrlCache[b]&&null!=certUrlCache[b].data){var a=0;b.endsWith(".crl")&&(a=Date.now()-12096E5);if(certUrlCache[b].time>a){c(b,atob(certUrlCache[b].data));return}}console.log("Loading: "+b);a=require("url").parse(b);
0,0,1,0,0);g.canvas.rotate(90*a*Math.PI/180);g.rotation=a;g.canvas.drawImage(g.tcanvas,B(0,0),w(0,0));g.width=g.canvas.canvas.width;g.height=g.canvas.canvas.height;if(null!=g.onScreenResize)g.onScreenResize(g,g.width,g.height,g.CanvasId);return!0}};g.Start=function(){g.state=0;g.acc=null;g.inflate.inflateReset();g.onKvmDataPending=[];g.onKvmDataAck=-1;g.kvmDataSupported=!1;g.kvmExt={};for(var a in g.sparecache)delete g.sparecache[a]};g.Stop=function(){g.UnGrabMouseInput();g.UnGrabKeyInput();g.parent&&
b+" x "+c);a.Canvas.setTransform(1,0,0,1,0,0);a.rotation=0;a.FirstDraw=!0;a.ScreenWidth=a.width=b;a.ScreenHeight=a.height=c;for(a.KillDraw=a.tilesReceived;0<a.PendingOperations.length;)a.PendingOperations.shift();a.SendCompressionLevel(1);a.SendUnPause();if(null!=a.onScreenSizeChange)a.onScreenSizeChange(a,a.ScreenWidth,a.ScreenHeight,a.CanvasId)};a.ProcessData=function(b){for(varc=0;c<b.length;)c+=a.ProcessDataEx(b.substring(c))};a.ProcessDataEx=function(b){null!=a.accumulator&&(b=a.accumulator+
b,a.accumulator=null);1<a.debugmode&&console.log("KRecv("+b.length+"):"+rstr2hex(b.substring(0,Math.min(b.length,40))));if(!(4>b.length)){var c=null,q=0,h=0,n=ReadShort(b,0),w=ReadShort(b,2),E=0;if(27==n&&8==w){if(12>b.length)return;n=ReadShort(b,8);w=ReadInt(b,4);if(w+8>b.length){a.accumulator=b;return}b=b.substring(8);E=8}w!=b.length&&0<a.debugmode&&console.log(w,b.length,w==b.length);if(18<=n&&65!=n&&88!=n)console.error("Invalid KVM command "+n+" of size "+w),console.log("Invalid KVM data",b.length,
17)+a.shortToStr(4+b.length)+b)};a.SendKeyMsgKC=function(b,c){if(3==a.State)if("object"==typeof b)for(var d in b)a.SendKeyMsgKC(b[d][0],b[d][1]);else a.send(String.fromCharCode(0,a.InputType.KEY,0,6,b-1,c))};a.sendcad=function(){a.SendCtrlAltDelMsg()};a.SendCtrlAltDelMsg=function(){3==a.State&&a.send(String.fromCharCode(0,a.InputType.CTRLALTDEL,0,4))};a.SendEscKey=function(){3==a.State&&a.send(String.fromCharCode(0,a.InputType.KEY,0,6,0,27,0,a.InputType.KEY,0,6,1,27))};a.SendStartMsg=function(){a.SendKeyMsgKC(a.KeyAction.EXDOWN,
91);a.SendKeyMsgKC(a.KeyAction.EXUP,91)};a.SendCharmsMsg=function(){a.SendKeyMsgKC(a.KeyAction.EXDOWN,91);a.SendKeyMsgKC(a.KeyAction.DOWN,67);a.SendKeyMsgKC(a.KeyAction.UP,67);a.SendKeyMsgKC(a.KeyAction.EXUP,91)};a.SendTouchMsg1=function(b,c,d,e){3==a.State&&a.send(String.fromCharCode(0,a.InputType.TOUCH)+a.shortToStr(14)+String.fromCharCode(1,b)+a.intToStr(c)+a.shortToStr(d)+a.shortToStr(e))};a.SendTouchMsg2=function(b,c){var d="",e,n;for(n in a.TouchArray)n==b?e=c:1==a.TouchArray[n].f?(e=65542,
var d=a.Canvas.canvas.height/a.CanvasId.clientHeight,e=a.Canvas.canvas.width/a.CanvasId.clientWidth,n=a.GetPositionOfControl(a.Canvas.canvas),e=(c.pageX-n[0])*e,d=(c.pageY-n[1])*d;c.addx&&(e+=c.addx);c.addy&&(d+=c.addy);if(0<=e&&e<=a.Canvas.canvas.width&&0<=d&&d<=a.Canvas.canvas.height){var v=n=0;b==a.KeyAction.UP||b==a.KeyAction.DOWN?c.which?1==c.which?n=a.MouseButton.LEFT:2==c.which?n=a.MouseButton.MIDDLE:n=a.MouseButton.RIGHT:c.button&&(0==c.button?n=a.MouseButton.LEFT:1==c.button?n=a.MouseButton.MIDDLE:
b.pageX=c.pageX;a.LastY=b.pageY=c.pageY;a.SendMouseMsg(KeyAction.DOWN,b)}}else{var c=a.GetPositionOfControl(Canvas.canvas),d;for(d in b.originalEvent.changedTouches)if(b.originalEvent.changedTouches[d].identifier){var e=b.originalEvent.changedTouches[d].identifier%256;a.TouchArray[e]||(a.TouchArray[e]={x:Canvas.canvas.width/a.CanvasId.clientWidth*(b.originalEvent.touches[d].pageX-c[0]),y:Canvas.canvas.height/a.CanvasId.clientHeight*(b.originalEvent.touches[d].pageY-c[1]),f:1})}0<Object.keys(a.TouchArray).length&&
b.originalEvent.changedTouches[d].identifier%256;a.TouchArray[e]&&(a.TouchArray[e].x=a.Canvas.canvas.width/a.CanvasId.clientWidth*(b.originalEvent.touches[d].pageX-c[0]),a.TouchArray[e].y=a.Canvas.canvas.height/a.CanvasId.clientHeight*(b.originalEvent.touches[d].pageY-c[1]))}}};a.xxTouchEnd=function(b){if(3==a.State)if(b.preventDefault&&b.preventDefault(),0==a.touchenabled||1==a.touchenabled)1<b.originalEvent.touches.length||(b.which=1,b.pageX=LastX,b.pageY=LastY,a.SendMouseMsg(KeyAction.UP,b));else for(var c in b.originalEvent.changedTouches)if(b.originalEvent.changedTouches[c].identifier){var d=
case "m":for(I=0;I<r;I++)n[I]&&0!=n[I]?1==n[I]?8>h&&(h+=8):2==n[I]||22==n[I]?8<=h&&(h-=8):7==n[I]?q=2:27==n[I]?q=0:30<=n[I]&&37>=n[I]?(p=8<=h,h=n[I]-30,p&&8>=h&&(h+=8)):40<=n[I]&&47>=n[I]?B=n[I]-40:90<=n[I]&&99>=n[I]?h=n[I]-82:100<=n[I]&&109>=n[I]&&(B=n[I]-92):(B=0,h=7,q=0);break;case "K":if(0!=r&&(1!=r||n[0]&&0!=n[0])){if(1==r)if(1==n[0])for(n=(h<<6)+(B<<12)+q,r=0;r<E;r++)A[m][r]="",z[m][r]=n;else2==n[0]&&v(m)}elsee();break;case"h":w=!0;break;case"l":w=!1;break;case"r":2==r&&(C=[n[0]-1,n[1]-
this.adler=this.data_type=0;this.output_data=this.input_data="";this.error=0;this.checksum_function=null},ZLIB.gz_header=function(){this.xflags=this.time=this.text=0;this.os=255;this.extra=null;this.extra_max=this.extra_len=0;this.name=null;this.name_max=0;this.comment=null;this.done=this.hcrc=this.comm_max=0},ZLIB.common_initialized=!0);"undefined"===typeof ZLIB&&alert("ZLIB is not defined. SRC zlib.js before zlib-inflate.js");
u;e.next+=u;e.left-=u;d.length-=u;break}d.mode=11;break;case 16:if(!h(e,14))break a;d.nlen=B(e,5)+257;w(e,5);d.ndist=B(e,5)+1;w(e,5);d.ncode=B(e,4)+4;w(e,4);if(286<d.nlen||30<d.ndist){a.msg="too many length or distance symbols";d.mode=29;break}d.have=0;d.mode=17;case17:for(;d.have<d.ncode;){if(!h(e,3))breaka;u=B(e,3);d.lens[z[d.have++]]=u;w(e,3)}for(;19>d.have;)d.lens[z[d.have++]]=0;d.next=0;d.lencode=0;d.lenbits=7;if(O=b(d,0)){a.msg="invalid code lengths set";d.mode=29;break}d.have=0;d.mode=18;
case 18:for(;d.have<d.nlen+d.ndist;){for(;;){u=d.codes[d.lencode+B(e,d.lenbits)];if(u.bits<=e.bits)break;if(!q(e))breaka}if(16>u.val)w(e,u.bits),d.lens[d.have++]=u.val;else{if(16==u.val){if(!h(e,u.bits+2))break a;w(e,u.bits);if(0==d.have){a.msg="invalid bit length repeat";d.mode=29;break}r=d.lens[d.have-1];u=3+B(e,2);w(e,2)}else if(17==u.val){if(!h(e,u.bits+3))break a;w(e,u.bits);r=0;u=3+B(e,3);w(e,3)}else{if(!h(e,u.bits+7))break a;w(e,u.bits);r=0;u=11+B(e,7);w(e,7)}if(d.have+u>d.nlen+d.ndist){a.msg=
r.sane){u.msg="invalid distance too far back";r.mode=29;break b}da=0;T=-1;da=0==ba?da+(I-M):da+(ba-M);M<X&&(X-=M,u.output_data+=W.substring(da,da+M),K+=M,da=-1,T=K-ha)}elseda=-1,T=K-ha;if(0<=da)u.output_data+=W.substring(da,da+X),K+=X;else{M=X;M>K-T&&(M=K-T);u.output_data+=u.output_data.substring(T,T+M);K+=M;X-=M;T+=M;for(K+=X;2<X;)u.output_data+=u.output_data.charAt(T++),u.output_data+=u.output_data.charAt(T++),u.output_data+=u.output_data.charAt(T++),X-=3;X&&(u.output_data+=u.output_data.charAt(T++),
d.offset+=B(e,d.extra);w(e,d.extra);d.back+=d.extra}d.mode=24;case 24:if(0==e.left)break a;u=k-e.left;if(d.offset>u){u=d.offset-u;if(u>d.whave&&d.sane){a.msg="invalid distance too far back";d.mode=29;break}u>d.wnext?(u-=d.wnext,r=d.wsize-u):r=d.wnext-u;N=-1;u>d.length&&(u=d.length)}else r=-1,N=a.next_out-d.offset,u=d.length;u>e.left&&(u=e.left);e.left-=u;d.length-=u;if(0<=r)a.output_data+=d.window.substring(r,r+u),a.next_out+=u;else{a.next_out+=u;do a.output_data+=a.output_data.charAt(N++);while(--u)}0==
function startup(){var b=document.getElementsByTagName("input");for(t=0;t<b.length;t++)b[t].id&&(window[b[t].id]=b[t]);urlvars=getUrlVars();for(varcinAllWsman)b=document.createElement("option"),b.text=AllWsman[c],b.id="WSB-"+AllWsman[c],Q(22).add(b);desktop=CreateAmtRedirect(CreateAmtRemoteDesktop("Desk",Q(8)));desktop.onStateChanged=onDesktopStateChange;QE("c10",!0);try{t=localStorage.getItem("desktopsettings")}catch(a){}t&&(desktopsettings=JSON.parse(t));
function documentFileSelectHandler(b){haltEvent(b);for(var c=!0,a=0;a<b.dataTransfer.files.length;a++)0==b.dataTransfer.files[a].name.toLowerCase().endsWith(".img")&&0==b.dataTransfer.files[a].name.toLowerCase().endsWith(".iso")&&(c=!1);1==c&&null!=b.dataTransfer&&0<currentView&&100>currentView&&(1==b.dataTransfer.files.length||2==b.dataTransfer.files.length)?(a=c=null,b.dataTransfer.files[0].name.toLowerCase().endsWith(".iso")&&(a=b.dataTransfer.files[0]),b.dataTransfer.files[0].name.toLowerCase().endsWith(".img")&&
function connectButtonfunction(){wsstack&&0!=wsstack.socketState?disconnect():meshcentral2credCallback()}function connectButtonfunctionEx(){currentMeshNode=parent.getCurrentNode();connect(currentMeshNode._id,16992,null,null,0);Q("xconnectbutton1").value="verbinding verbreken"}function getCurrentMeshNode(){return currentMeshNode}function setConnectionState(b){QE("xconnectbutton1",b);0==b&&disconnect()}function setFrameHeight(b){}function setAuthCallback(b){meshcentral2credCallback=b}
function setUrlVar(b,c){urlvars||(urlvars={});urlvars[b]=c}function cleanup(){c3.value="Start Capture";terminal.m.capture&&delete terminal.m.capture;terminal.Stop();desktop.disconnectCode=0;desktop.Stop()}
function handleKeyUp(b){if(!xxdialogMode){if(14==currentView&&3==desktop.State){if(Q(48).checked)return;if(null!=webRtcDesktop&&null!=webRtcDesktop.softdesktop)webRtcDesktop.softdesktop.m.handleKeyUp(b),desktop.m.sendKeepAlive();else return desktop.m.handleKeyUp(b)}if(13==currentView&&3==terminal.State)return terminal.m.TermHandleKeyUp(b)}}
function handleKeyDown(b){if(!xxdialogMode){if(14==currentView&&3==desktop.State){if(Q(48).checked)return;if(null!=webRtcDesktop&&null!=webRtcDesktop.softdesktop)webRtcDesktop.softdesktop.m.handleKeyDown(b),desktop.m.sendKeepAlive();else return desktop.m.handleKeyDown(b)}if(13==currentView&&3==terminal.State)return terminal.m.TermHandleKeyDown(b)}}
function handleKeyPress(b){if(!xxdialogMode){if(14==currentView&&3==desktop.State){if(Q(48).checked)return;if(null!=webRtcDesktop&&null!=webRtcDesktop.softdesktop)webRtcDesktop.softdesktop.m.handleKeys(b),desktop.m.sendKeepAlive();else return desktop.m.handleKeys(b)}if(13==currentView&&3==terminal.State)return terminal.m.TermHandleKeys(b)}}var connectFunc=null,connectFuncTag=null;
function connect(b,c,a,d,e,v,n){go(0);fullscreenonly=!1;connectFunc=v;connectFuncTag=n;1==urlvars.kvm&&go(14);if(1==urlvars.kvmfull||1==urlvars.kvmonly)go(14),deskToggleFull(1==urlvars.kvmonly);1==urlvars.sol&&go(13);wsstack=WsmanStackCreateService(b,c,a,d,e);amtstack=AmtStackCreateService(wsstack);amtstack.onProcessChanged=onProcessChanged;for(b=2;25>b;b++)QV("go"+b,!1);QV("go8",!0);QV("go13",!1);QE("TermWD",!1);QV("go12",!0);QH(28,"");QH(39,"");amtversion=amtversionmin=amtFirstPull=
function disconnect(){null!=desktopPollTimer&&(clearInterval(desktopPollTimer),desktopPollTimer=null);fullscreen&&deskToggleFull();iderStop();StopDefenseStatsTimer();dialogclose(0);amtstack&&(amtstack.onProcessChanged=null,amtstack.CancelAllQueries(999),amtstack=null);cleanup();wsstack=null;delete amtstack;onProcessChanged(0,1);go(101);Q("xconnectbutton1").value="Aansluiten";QH(5,"Losgekoppeld");go(100)}
function onProcessChanged(b,c){QS(3).width=100*b/c+"%";0==b&&refreshButtons(!0);0==b&&amtstack&&(0<amtversion&&0==(amtFirstPull&64)?(amtFirstPull|=64,PullPowerPolicy(),subscriptionsFilters=null,PullEventSubscriptions(),PullWatchdog(),5<amtversion&&(PullCertificates(),PullRemoteAccess())):0==(amtFirstPull&1)?PullHardware():0==(amtFirstPull&16)?PullEventLog():0==(amtFirstPull&32)&&PullAuditLog())}
function checkAmtVersion(b){var c=b.split(".");b=parseInt(c[0]);var a=parseInt(c[1]),c=parseInt(c[2]),c=1E3*a+c,d=0;5>=b||12<=b?d=1:6==b&&2061<=c?d=1:7==b&&1091<=c?d=1:8==b&&1071<=c?d=1:9==b?5>a&&1041<=c?d=1:5061<=c&&(d=1):10==b&&55<=c?d=1:11==b&&(5>a&&25<=c?d=1:6027<=c&&(d=1));return 0==d}
function processSystemVersion(b,c,a,d){if(200==d||400==d){if(200==d){amtlogicalelements=[];null!=a&&null!=a.CIM_SoftwareIdentity&&null!=a.CIM_SoftwareIdentity.responses&&(amtlogicalelements=a.CIM_SoftwareIdentity.responses,null!=a.AMT_SetupAndConfigurationService&&null!=a.AMT_SetupAndConfigurationService.response&&amtlogicalelements.push(a.AMT_SetupAndConfigurationService.response));if(0==amtlogicalelements.length){console.error("ERROR: Could not get Intel AMT version.");disconnect();return}c=getInstance(amtlogicalelements,
function PullPowerState(){amtstack&&0==amtstack.GetPendingActions()&&amtsysstate&&amtsysstate.CIM_ServiceAvailableToElement&&amtstack.Enum("CIM_ServiceAvailableToElement",function(b,c,a,d){200==d&&(amtsysstate.CIM_ServiceAvailableToElement.responses=a,9<amtversion&&null!=amtsysstate.CIM_ServiceAvailableToElement&&null!=amtsysstate.CIM_ServiceAvailableToElement.responses&&0<amtsysstate.CIM_ServiceAvailableToElement.responses.length&&2==amtsysstate.CIM_ServiceAvailableToElement.responses[0].PowerState?
function PullSystemStatus(b){refreshButtons(!1);amtstack.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch(processSystemTime);var c=["CIM_ServiceAvailableToElement","*AMT_GeneralSettings","AMT_EthernetPortSettings","*AMT_RedirectionService","CIM_ElementSettingData"];5<amtversion&&c.push("IPS_IPv6PortSettings","*CIM_KVMRedirectionSAP","*IPS_OptInService","*IPS_KVMRedirectionSettingData");9<amtversion&&c.push("*IPS_ScreenConfigurationService","*IPS_PowerManagementService");15<amtversion&&1==amtstack.wsman.comm.xtls&&
200==a.AMT_RedirectionService.status&&QV("go13",!0);d=0;for(var e in a)null!=a[e]&&a[e].status>d&&(d=a[e].status);400!=d&&errcheck(d,b)||(amtsysstate=a,applyDesktopSettings(),updateSystemStatus())}function syncClock(){xxdialogMode||setDialogMode(11,"Synchroniseer klok",3,syncClockEx,"Intel AMT-klok synchroniseren met deze computer?")}
function updateSystemStatus(){if(amtsysstate&&!(99<currentView)){varb=0,c,a,d=TableStart(),e="",v=amtsysstate.AMT_GeneralSettings.response,n="<i>Onbekend</i>";null!=amtsysstate.CIM_ServiceAvailableToElement&&null!=amtsysstate.CIM_ServiceAvailableToElement.responses&&0<amtsysstate.CIM_ServiceAvailableToElement.responses.length&&(n=DMTFPowerStates[amtsysstate.CIM_ServiceAvailableToElement.responses[0].PowerState],9<amtversion&&"Zetaan"==n&&amtsysstate.IPS_PowerManagementService&&amtsysstate.IPS_PowerManagementService.response&&
3==amtsysstate.IPS_PowerManagementService.response.OSPowerSavingState&&(n="Standby (Connected)"),QH(28,n),QH(39,n));v.PowerSource&&(n+=[", Ingeplugd",", Op batterij"][v.PowerSource]);d+=TableEntry("Kracht",addLink(n,"showPowerActionDlg()"));c=v.HostName;a=v.DomainName;null!=a&&0<a.length&&(c+="."+a);c=0==c.length?"<i>Geen</i>":EscapeHtml(c);d+=TableEntry("Naam & domein",addLinkConditional(c,"showEditNameDlg()",xxAccountAdminName));amtstack.amtauth&&amtstack.amtauth.uuidStr?d+=
TableEntry("Systeem-ID",amtstack.amtauth.uuidStr):HardwareInventory&&(d+=TableEntry("Systeem-ID",guidToStr(HardwareInventory.CIM_ComputerSystemPackage.response.PlatformGUID.toLowerCase())));if(amtlogicalelements){var n="",l=getItem(amtlogicalelements,"CreationClassName","AMT_SetupAndConfigurationService");2==l.ProvisioningState&&5<amtversion&&(n=" geactiveerd in Admin Control Mode (ACM)",4==l.ProvisioningMode&&(n="geactiveerdinClientControlMode(CCM)",b=9));d+=TableEntry("Intel®ME","v"+
0==p&&(e="Niet verplicht"),1==p&&(e="Alleen vereist voor KVM"),4294967295==p&&(e="Altijd vereist"),1==amtsysstate.IPS_OptInService.response.CanModifyOptInPolicy&&(e=addLinkConditional(e,"showConsentDlg()",xxAccountAdminName)),d+=TableEntry("Toestemming van de gebruiker",e));1==amtstack.wsman.comm.xtls&&null!=amtsysstate.CIM_BootService&&null!=amtsysstate.CIM_BootService.response.EnabledState&&(e={0:"Onbekend",1:"Andere",2:"Ingeschakeld",3:"Gehandicapt",4:"Afsluiten",5:"Niet toepasbaar",6:"Ingeschakeld maar offline",
QH(15,d);d="<tableclass=log1cellpadding=0cellspacing=0style=width:100%;border-radius:8px>"+TableEnd("<div> "+AddRefreshButton("PullSystemStatus(1)")+" Het wijzigen van netwerkinstellingen kan ertoe leiden dat deze pagina niet meer beschikbaar is.");d=d+"<br><h2>Algemene instellingen</h2>"+TableStart();e="";"<i>Geen</i>"!=c&&(1==v.SharedFQDN&&(e=", gedeeld met OS"),0==v.SharedFQDN&&(e=", verschillend van OS"));d+=TableEntry("Naam & domein",addLinkConditional(c+e,"showEditNameDlg(1)",
xxAccountAdminName));c="Gehandicapt";1==v.DDNSUpdateEnabled?c="Elk ingeschakeld"+v.DDNSPeriodicUpdateInterval+" minuten, TTL is"+v.DDNSTTL+" minuten":1==v.DDNSUpdateByDHCPServerEnabled&&(c="Update door DHCP-server");d+=TableEntry("Dynamische DNS",addLinkConditional(c,"showEditDnsDlg()",xxAccountAdminName));d+=TableEnd();for(a in amtsysstate.AMT_EthernetPortSettings.responses){c=amtsysstate.AMT_EthernetPortSettings.responses[a];if(c.WLANLinkProtectionLevel||1==a)amtwirelessif=a;if(0!=a||amtwirelessif==
a||"00-00-00-00-00-00"!=c.MACAddress){0==a&&b++;d+="<br><h2>"+(amtwirelessif==a?"Draadloze interface":"Bekabelde interface")+"</h2>";d+=TableStart();d+=TableEntry("Linkstatus",1==c.LinkIsUp?"Link is up":"Link is verbroken");if(c.LinkPolicy){c.LinkPolicy=MakeToArray(c.LinkPolicy);e=[];for(B in c.LinkPolicy)1==c.LinkPolicy[B]&&e.push("S0 / AC"),14==c.LinkPolicy[B]&&e.push("Sx / AC"),16==c.LinkPolicy[B]&&e.push("S0 / DC"),224==c.LinkPolicy[B]&&e.push("Sx / DC");0==e.length&&e.push("");d+=TableEntry("Linkbeleid",
function showLinkPolicyDlg(b){if(!xxdialogMode){var c=amtsysstate.AMT_EthernetPortSettings.responses[b],a;a=""+("<label><inputtype=checkboxid=d11p1value=1"+(0<=c.LinkPolicy.indexOf(1)?"checked":"")+">Available in S0/AC - Powered on & plugged in</label><br>");a+="<label><inputtype=checkboxid=d11p2value=14"+(0<=c.LinkPolicy.indexOf(14)?"checked":"")+">Available in Sx/AC - Sleeping & plugged in</label><br>";a+="<label><inputtype=checkboxid=d11p3value=16"+(0<=c.LinkPolicy.indexOf(16)?"checked":
"")+">Available in S0/DC - Powered on & on battery</label><br>";a+="<label><inputtype=checkboxid=d11p4value=224"+(0<=c.LinkPolicy.indexOf(224)?"checked":"")+">Available in Sx/DC - Sleeping & on battery</label><br>";setDialogMode(11,"Linkbeleid",3,showLinkPolicyDlgEx,a,b)}}
function showLinkPolicyDlgEx(b,c){var a=Clone(amtsysstate.AMT_EthernetPortSettings.responses[c]);a.DHCPEnabled&&(delete a.IPAddress,delete a.SubnetMask,delete a.DefaultGateway,delete a.PrimaryDNS,delete a.SecondaryDNS);a.LinkPolicy=[];Q("d11p1").checked&&a.LinkPolicy.push(1);Q("d11p2").checked&&a.LinkPolicy.push(14);Q("d11p3").checked&&a.LinkPolicy.push(16);Q("d11p4").checked&&a.LinkPolicy.push(224);amtstack.Put("AMT_EthernetPortSettings",a,showLinkPolicyDlgExDone,0,1,a)}
function showLinkPolicyDlgExDone(b,c,a,d){200==d?(amtsysstate=void 0,PullSystemStatus()):messagebox("Linkbeleid",format("Kan nieuw linkbeleid niet instellen, fout {0}",d))}
function showAuthCsme(){if(!xxdialogMode){var b;b="<divstyle=margin-top:8px>Intel® AMT supports authentic CSME feature, however MeshCommander cannot verify the authenticity yet.</div><hrstyle=margin-top:8px;margin-bottom:8px;height:2px;border-width:0;color:gray;background-color:gray/>"+addHtmlValue("FW Version",amtstack.amtauth.FWVersion);b+=addHtmlValue("FQDN",amtstack.amtauth.FQDN?amtstack.amtauth.FQDN:"<i>Geen</i>");b+="<hrstyle=margin-top:8px;margin-bottom:8px;height:2px;border-width:0;color:gray;background-color:gray/><divstyle=max-height:200px;overflow-y:auto><table>";
for(var c in amtstack.amtauth.Certificates){var a=amtstack.amtauth.Certificates[c];b+="<tr><tdstyle=width:32px;vertical-align:top><imgsrc=images-commander/cert1.pngheight=32width=32/>";b+="<tdstyle=padding-bottom:6px><b>"+EscapeHtml(a.subject.getField("CN").value)+(!0===a.xTrusted?", <spanstyle=color:#080>Vertrouwd</span>":"")+"</b><br/>";a.subject.getField("OU")&&(b+=EscapeHtml(a.subject.getField("OU").value)+"<br/>");b+=amtstack.amtauth.CertificatesDer[c].length+" bytes,<astyle=cursor:pointer;color:blueonclick=downloadAuthCert("+
function downloadAuthCert(b){b=parseInt(b);saveAs(data2blob(amtstack.amtauth.CertificatesDer[b]),amtstack.amtauth.Certificates[b].subject.getField("CN").value+".cer")}var IntelAmtEntireState,IntelAmtEntireStateCalls;
function saveEntireAmtState(){if(!xxdialogMode){var b="",c=new Date;amtsysstate&&(b="-"+amtsysstate.AMT_GeneralSettings.response.HostName);b+="-"+c.getFullYear()+"-"+("0"+(c.getMonth()+1)).slice(-2)+"-"+("0"+c.getDate()).slice(-2)+"-"+("0"+c.getHours()).slice(-2)+"-"+("0"+c.getMinutes()).slice(-2);c30.value="amtstate"+b+".json";setDialogMode(19,"Bewaar de volledige Intel® AMT-status",3,saveEntireAmtStateOk)}}
function saveEntireAmtStateOk(){IntelAmtEntireState={webappversion:version,localtime:Date(),utctime:(new Date).toUTCString(),isotime:(new Date).toISOString()};QH(60,"Fetching entire state, please wait...");setDialogMode(1,"Bewaar de volledige Intel® AMT-status",0,null);IntelAmtEntireStateCalls=3;amtstack.BatchEnum(null,AllWsman,saveEntireAmtStateOk2,null,!0);amtstack.GetAuditLog(saveEntireAmtStateOk3);amtstack.GetMessageLog(saveEntireAmtStateOk4)}
function saveEntireAmtStateOk2(b,c,a,d){IntelAmtEntireState.wsmanenums=a;saveEntireAmtStateDone()}function saveEntireAmtStateOk3(b,c){IntelAmtEntireState.auditlog=c;saveEntireAmtStateDone()}function saveEntireAmtStateOk4(b,c){IntelAmtEntireState.eventlog=c;saveEntireAmtStateDone()}function saveEntireAmtStateDone(){0==--IntelAmtEntireStateCalls&&(setDialogMode(),saveAs(data2blob(JSON.stringify(IntelAmtEntireState,null," ").replace(/\n/g,"\r\n")),c30.value))}
function showDesktopSettingsDlg(){if(!xxdialogMode){var b=amtsysstate.IPS_KVMRedirectionSettingData.response,c;c="<divstyle=text-align:left><divstyle=height:26px;margin-top:4px><selectid=subddisplaystyle=float:right;width:200px><optionvalue=0>Primair beeldscherm</option><optionvalue=1>Secundair beeldscherm</option>";9<amtversion&&(c+="<optionvalue=2>3e scherm</option>");c+='</select><divstyle=padding-top:4px>Standaardweergave</div></div><divstyle=height:26px;margin-top:4px><inputid=subsessiontimeoutstyle=float:right;width:200pxmaxlength=5onkeypress="return numbersOnly(event)"><divstyle=padding-top:4px>Sessietime-out (minuten)</div></div>';
1==b.OptInPolicy&&(c+='<divstyle=height:26px;margin-top:4px><inputid=suboptintimeoutstyle=float:right;width:200pxmaxlength=5onkeypress="return numbersOnly(event)"><divstyle=padding-top:4px>Time-out voor aanmelding (seconden)</div></div>');c+="<divstyle=height:26px;margin-top:4px><selectid=subdlegacystyle=float:right;width:200pxonchange=showDesktopSettingsDlgUpdate()><optionvalue=0>Uitgeschakeld, aanbevolen</option><optionvalue=1>Ingeschakelde, oude KVM-kijkers</option></select><divstyle=padding-top:4px>Poort 5900</div></div>";
c+="<divstyle=height:26px;margin-top:4pxid=subspassx><inputid=subspasstype=passwordautocomplete=offstyle=float:right;width:200pxmaxlength=8onkeyup=showDesktopSettingsDlgUpdate()><divstyle=padding-top:4px>5900 wachtwoord (8 tekens)</div></div>";9<amtversion&&null!=amtsysstate.IPS_ScreenConfigurationService&&(c+='<divstyle=height:26px;margin-top:4px><selectid=subsbstyle=float:right;width:200pxonchange=showDesktopSettingsDlgUpdate()><optionvalue=0>Gehandicapt</option><optionvalue=1>Ingeschakeld</option></select><divstyle=padding-top:4pxtitle="Deze functie wordt niet vaak ondersteund">Scherm leegmaken</div></div>');
c+="</div>";setDialogMode(11,"Instellingen voor extern bureaublad",3,showDesktopSettingsDlgOk,c);Q("subddisplay").value=b.DefaultScreen;Q("subsessiontimeout").value=b.SessionTimeout;1==b.OptInPolicy&&(Q("suboptintimeout").value=b.OptInPolicyTimeout);Q("subdlegacy").value=1==b.Is5900PortEnabled?1:0;9<amtversion&&null!=amtsysstate.IPS_ScreenConfigurationService&&(Q("subsb").value=amtsysstate.IPS_ScreenConfigurationService.response.EnabledState);showDesktopSettingsDlgUpdate()}}
function showDesktopSettingsDlgUpdate(){QV("subspassx",1==Q("subdlegacy").value);var b=(0==Q("subdlegacy").value||8==Q("subspass").value.length||0==Q("subspass").value.length)&&0<Q("subsessiontimeout").value.length;1==amtsysstate.IPS_KVMRedirectionSettingData.response.OptInPolicy&&0==Q("suboptintimeout").value.length&&(b=!1);QE("c54",b)}
function showDesktopSettingsDlgOk(){var b=Clone(amtsysstate.IPS_KVMRedirectionSettingData.response);b.DefaultScreen=Q("subddisplay").value;b.SessionTimeout=Q("subsessiontimeout").value;b.Is5900PortEnabled=1==Q("subdlegacy").value;1==b.OptInPolicy&&(b.OptInPolicyTimeout=Q("suboptintimeout").value);1==b.Is5900PortEnabled&&(b.RFBPassword=Q("subspass").value);amtstack.Put("IPS_KVMRedirectionSettingData",b,showDesktopSettingsDlgOk2);b=Clone(amtsysstate.IPS_ScreenConfigurationService.response);b.EnabledState=
parseInt(Q("subsb").value);amtstack.Put("IPS_ScreenConfigurationService",b,showDesktopSettingsDlgOk3)}function showDesktopSettingsDlgOk2(b,c,a,d){200==d?PullSystemStatus():messagebox("Instellingen voor extern bureaublad",format("Fout {0}, kan geen waarden instellen.",d))}
function showDesktopSettingsDlgOk3(b,c,a,d){200!=d?messagebox("Fout",format("Schermblindering kon niet worden ingesteld, blanco wordt mogelijk niet ondersteund op dit systeem ({0}).",d)):amtstack.Get("IPS_ScreenConfigurationService",function(a,b,c,d){200==d&&(amtsysstate.IPS_ScreenConfigurationService.response=c.Body,updateSystemStatus())},0,1)}
function PullEventLog(b){1==b&&xxdialogMode||(amtFirstPull|=16,amtstack.Enum("AMT_MessageLog",processMessageLog0),amtstack.GetMessageLog(processMessageLog1))}var processMessageLog0responses=null;
function processMessageLog0(b,c,a,d){200==d&&(d&&QV("go6",!0),a&&(processMessageLog0responses=a),b="",c="<tableclass=log1cellpadding=0cellspacing=0style=width:100%;border-radius:8px>",null!=processMessageLog0responses&&(b=1==processMessageLog0responses[0].IsFrozen?AddButton("Un-freeze Log","FreezeLog(0)"):AddButton("Logboek bevriezen","FreezeLog(1)")),c+=TableEnd('<divstyle=float:right><inputid=eventFilterplaceholder="Filter"style=margin:4pxonkeyup=eventFilter()> </div><div> '+
AddRefreshButton("PullEventLog(1)")+AddButton("Logboek opschonen","ClearLog()")+AddButton("Opslaan...","SaveEventLog()")+b),QH(17,c+"<br>"))}function SaveEventLog(){xxdialogMode||null==eventmessages||SaveJsonFile("IntelAmtEventlog","events","Intel AMT Event Log",eventmessages)}var eventmessages=null;
function processMessageLog1(b,c){eventmessages=c;var a,d=0,e;e="<tableclass=log1cellpadding=0cellspacing=0style=width:100%;border-radius:8px><tr><tdwidth=80px><p><td><td><td><tr><tdclass=r1style=width:90px><b> Event</b><tdclass=r1style=width:110px><b>Time</b><tdclass=r1style=width:160px><b>Bron</b><tdclass=r1><b>Omschrijving</b>";for(a in c){d++;var v=1,n=c[a];8<=n.EventSeverity&&(v=2);16<=n.EventSeverity&&(v=3);e+="<trid=xamtevent"+a+"class=r3onclick=showEventDetails("+
function FreezeLog(b){xxdialogMode||amtstack.AMT_MessageLog_FreezeLog(b,function(){amtstack.Enum("AMT_MessageLog",processMessageLog0)})}function ClearLog(b){xxdialogMode||(QH(60,"Gebeurtenislogboek wissen?"),setDialogMode(1,"Logboek",3,ClearLogEx))}function ClearLogEx(){amtstack.AMT_MessageLog_ClearLog(function(b,c,a,d){200!=d?messagebox("Logboek","Kan niet wissen, fout: "+d):PullEventLog()})}
function showEventDetails(b){if(!xxdialogMode){var c=eventmessages[b],a;a="<divstyle=text-align:left>"+addHtmlValue("Tijd",c.Time.toLocaleString());a+=addHtmlValue("Bron",c.EntityStr.replace("(r)","®"));a+=addHtmlValue("Omschrijving",c.Desc);a+=MoreStart();a+=addHtmlValue("Apparaatadres",c.DeviceAddress);a+=addHtmlValue("Entiteit",c.Entity);a+=addHtmlValue("Entiteitsinstantie",c.EntityInstance);var d="",e;for(e in c.EventData)0<d.length&&(d+=","),d+=c.EventData[e];a+=addHtmlValue("Gegevens",
function eventFilter(){var b=Q("eventFilter").value.toLowerCase(),c;for(c in eventmessages)QV("xamtevent"+c,""==b||0<=eventmessages[c].Desc.toLowerCase().indexOf(b)||0<=eventmessages[c].EntityStr.toLowerCase().indexOf(b))}var subscriptionsFilters=null,subscriptionsListeners=null;
function PullEventSubscriptions(){null==subscriptionsFilters&&amtstack.Enum("CIM_FilterCollection",processEventSubscriptions0);amtstack.BatchEnum(null,["CIM_ListenerDestination","CIM_FilterCollectionSubscription"],processEventSubscriptions1)}function processEventSubscriptions0(b,c,a,d){408!=d&&400!=d&&(d&&errcheck(d,b)||(subscriptionsFilters=a))}
function processEventSubscriptions1(b,c,a,d){if(!(408==d||400==d||d&&errcheck(d,b))){d&&QV("go22",!0);a&&(subscriptionsListeners=a);c=0;b=TableStart2()+"<tr><tdclass=r1style=padding-left:15px><br>Beheer evenementabonnees.<br><br>";for(var e in subscriptionsListeners.CIM_ListenerDestination.responses)a=subscriptionsListeners.CIM_FilterCollectionSubscription.responses[e].Filter.ReferenceParameters.SelectorSet.Selector.Value.replace("(r)","®"),d=subscriptionsListeners.CIM_ListenerDestination.responses[e],
function showSubscriptionDetails(b){if(!xxdialogMode){var c=subscriptionsListeners.CIM_FilterCollectionSubscription.responses[b].Filter.ReferenceParameters.SelectorSet.Selector.Value.replace("(r)","®"),a=subscriptionsListeners.CIM_ListenerDestination.responses[b],d;d="<divstyle=text-align:left>"+addHtmlValue("Bestemming",a.Destination);d+=addHtmlValue("Filter",c);d+=addHtmlValue("Bezorgingsmodus",subscriptionDeliveryModes[a.DeliveryMode]);setDialogMode(11,"Abonnement"+(b+1),xxAccountAdminName?
5:1,deleteSubscriptionButton,d+"</div>",b)}}
function deleteSubscriptionButton(b,c){2==b&&amtstack.UnSubscribe("CIM_FilterCollectionSubscription",PullEventSubscriptions,null,1,{Filter:'<a:EndpointReference><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address><a:ReferenceParameters><w:ResourceURI>http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_FilterCollection</w:ResourceURI><w:SelectorSet><w:SelectorName="InstanceID">'+subscriptionsListeners.CIM_FilterCollectionSubscription.responses[c].Filter.ReferenceParameters.SelectorSet.Selector.Value+"</w:Selector></w:SelectorSet></a:ReferenceParameters></a:EndpointReference>",
function newSubscriptionButton(){if(!xxdialogMode&&null!=subscriptionsFilters){var b;b="<divstyle=height:26px;margin-top:4px><selectid=subtypestyle=float:right;width:260px><optionvalue=Push>Duwen</option><optionvalue=PushWithAck>Duw met ACK</option></select><divstyle=padding-top:4px>Type</div></div><divstyle=height:26px;margin-top:4px><selectid=subfilterstyle=float:right;width:260px>";for(var c in subscriptionsFilters)b+='<optionvalue="'+subscriptionsFilters[c].InstanceID+'">'+subscriptionsFilters[c].CollectionName.substring(13)+
function newSubscriptionButtonOk(){var b=0==Q("subuser").value.length?void 0:Q("subuser").value,c=0==Q("subpass").value.length?void 0:Q("subpass").value;amtstack.Subscribe("CIM_FilterCollection",Q("subtype").value,Q("suburl").value,newSubscriptionButtonOk2,null,1,{InstanceID:Q("subfilter").value},0<Q("subargs").value.length?Q("subargs").value:null,b,c)}functionnewSubscriptionButtonOk2(b,c,a,d){200==d&&PullEventSubscriptions()}
function PullAuditLog(b){1==b&&xxdialogMode||(amtFirstPull|=32,amtstack.Enum("AMT_AuditLog",processAuditLog0))}var auditLog=null,auditLogEnabledStates="Onbekend;Andere;Ingeschakeld;Gehandicapt;Afsluiten;Niet toepasbaar;Ingeschakeld maar offline;In Test;Uitgesteld;Rustig;Beginnend".split(";");
function processAuditLog0(b,c,a,d){200==d&&(QV("go15",!0),c=a[0].AuditState,b=c&1?"Gehandicapt":"Ingeschakeld",c&2&&(b+=", Op slot"),c&4&&(b+=", Bijna vol"),c&8&&(b+=", Vol"),c&16&&(b+=", Geen sleutel"),c="<h1>Instellingen auditlogboek</h1>"+TableStart(),c+=TableEntry("Staat",b),c+=TableEntry("Opslag",a[0].CurrentNumberOfRecords+" record (s),"+a[0].PercentageFree+"% vrij"),c+=TableEntry("Overschrijf beleid",2==a[0].OverwritePolicy?"Verpakt wanneer vol":"Overschrijft nooit"),c+=TableEnd(),QH(49,
for(a in c){var v=c[a],n=v.AuditApp,l=v.Initiator;e++;var p="";0<v.NetAddress.length&&(p=v.NetAddress.replace("0000:0000:0000:0000:0000:0000:0000:0001","::1"));v.Event&&(n+=","+v.Event);null!=v.ExStr&&(n+=","+v.ExStr);""!=l&&""!=p&&(l+=",");d+="<trid=xamtaudit"+a+"class=r3onclick=showAuditDetails("+a+')><tdclass=r1title="'+v.Time.toLocaleString()+'"> '+v.Time.toLocaleDateString("en",{year:"numeric",month:"2-digit",day:"numeric"})+"<br> "+v.Time.toLocaleTimeString("en",{hour:"2-digit",
minute:"2-digit",second:"2-digit"})+"<tdclass=r1>"+l+p+"<tdclass=r1>"+n}d+=TableEnd(0==e?" ":"")+"<br>"}QH(50,d)}function auditFilter(){var b=Q("auditFilter").value.toLowerCase(),c;for(c in auditLog)QV("xamtaudit"+c,""==b||0<=JSON.stringify(auditLog[c]).toLowerCase().indexOf(b))}function SaveAuditLog(){xxdialogMode||null==auditLog||SaveJsonFile("IntelAmtAuditlog","auditevents","Intel AMT-auditlogboek",auditLog)}
function ClearAuditLog(b){QH(60,"Auditlogboek wissen?");setDialogMode(1,"Auditlogboek",3,ClearAuditLogEx)}function ClearAuditLogEx(){var b=amtstack.AMT_AuditLog_SetAuditLock(1,0,b,function(){amtstack.AMT_AuditLog_ClearLog(function(){amtstack.AMT_AuditLog_SetAuditLock(0,2,b,function(){setTimeout(PullAuditLog,1E3)})})})}function ShowAuditLogSettings(){xxdialogMode||amtstack.AMT_AuditLog_RequestStateChange(2,0,AuditLogSettingsCompleted)}
function AuditLogSettingsCompleted(b,c,a,d){200==d?PullAuditLog():messagebox("Auditlogboek","Fout: "+d)}
function showAuditDetails(b){if(!xxdialogMode){var c,a=auditLog[b],d;d="<divstyle=text-align:left>"+addHtmlValue("Tijd",a.Time.toLocaleString());""!=a.Initiator&&(d+=addHtmlValue("Initiator",a.Initiator));""!=a.NetAddress&&(d+=addHtmlValue("Adres",a.NetAddress));d+=addHtmlValue("Toepassing",a.AuditApp);d+=addHtmlValue("Evenement",a.Event);if(null!=a.ExStr)d+=addHtmlValue("Uitgebreide gegevens",a.ExStr);else if(0<a.Ex.length){vare="";for(cina.Ex)0<e.length&&(e+=","),e+=a.Ex.charCodeAt(c);""!=e&&
function PullCertificates(){amtstack.BatchEnum(null,["AMT_PublicKeyCertificate","AMT_PublicPrivateKeyPair","AMT_TLSSettingData","AMT_TLSCredentialContext"],processCerts1)}
function processCerts1(b,c,a,d){if(400!=d&&!errcheck(d,b)){QV("go16",!0);xxCertificates=a.AMT_PublicKeyCertificate.responses;xxCertPrivateKeys=a.AMT_PublicPrivateKeyPair.responses;xxTlsSettings=a.AMT_TLSSettingData.responses;xxTLSCredentialContext=a.AMT_TLSCredentialContext.responses;xxTlsCurrentCert=null;if(0<xxTLSCredentialContext.length){b=xxTLSCredentialContext[0].ElementInContext.ReferenceParameters.SelectorSet.Selector.Value;for(vareinxxCertificates)xxCertificates[e].InstanceID==b&&(xxTlsCurrentCert=
e)}for(e in xxCertificates)xxCertificates[e].TrustedRootCertficate=1==xxCertificates[e].TrustedRootCertficate,xxCertificates[e].X509Certificate=window.atob(xxCertificates[e].X509Certificate),xxCertificates[e].XIssuer=parseCertName(xxCertificates[e].Issuer),xxCertificates[e].XSubject=parseCertName(xxCertificates[e].Subject);amtcert_linkCertPrivateKey(xxCertificates,xxCertPrivateKeys);updateCertificates()}}
function parseCertName(b){var c={},a=b.split(","),d;for(d in a)b=a[d].indexOf("="),c[a[d].substring(0,b)]=a[d].substring(b+1);return c}
function getTlsSecurityState(b){if(0==xxTlsSettings[b].Enabled)return"Gehandicapt";var c=(1==xxTlsSettings[b].MutualAuthentication?"Wederzijdse verificatie TLS":"TLS voor serververificatie")+(1==xxTlsSettings[b].AcceptNonSecureConnections?" en niet-TLS":"");1==xxTlsSettings[b].MutualAuthentication&&xxTlsSettings[b].TrustedCN&&(b=MakeToArray(xxTlsSettings[b].TrustedCN),0<b.length&&(c+=","+(1<b.length?"Trustednames":"Trustedname")+":"+b.join(",")+"."));returnc}
function updateCertificates(){if(null!=xxCertificates){var b="Intel(r) AMT LMS TLS Settings"==xxTlsSettings[0].InstanceID?0:1,c=1-b,a=TableStart(),a=a+TableEntry("Externe TLS-beveiliging",addLinkConditional(getTlsSecurityState(c),"showSetTlsSecurityDlg()",xxAccountAdminName)),a=a+TableEntry("Lokale TLS-beveiliging",addLinkConditional(getTlsSecurityState(b),"showSetTlsSecurityDlg()",xxAccountAdminName)),a=a+TableEnd(),a=a+("<br>"+TableStart2()+"<tr><tdclass=r1style=padding-left:15px><br>Beheer Intel® AMT-certificaten voor deze computer.<br><br>");
if(0==xxCertificates.length&&0==xxCertPrivateKeys.length)a+="<divstyle=padding-left:15px><br><i>Geen certificaten gevonden.</i></div><br>";else{for(var d in xxCertificates)b="",xxCertificates[d].TrustedRootCertficate&&(b=", Trusted Root"),xxCertificates[d].XPrivateKey&&(b=", Prive sleutel"),d==xxTlsCurrentCert&&(b+=", TLS cert"),a+="<divclass=itemBaronclick=showCertDetails("+d+")><divstyle=padding-top:3px><b>"+EscapeHtml(xxCertificates[d].XSubject.CN)+"</b><i>"+b+"</i></div></div>";for(d in xxCertPrivateKeys)xxCertPrivateKeys[d].XCert||
function showKeyPairDetails(b){setDialogMode(11,"Sleutelpaar #"+b,5,function(c){2==c&&amtstack.Delete("AMT_PublicPrivateKeyPair",{InstanceID:xxCertPrivateKeys[b].InstanceID},PullCertificates,0,1)},"Dit is een openbaar / priv\u00e9-certificaatsleutelpaar dat niet bij certificaten hoort. Deze invoer moet tijdelijk zijn.")}var xxCertSubjectNames={CN:"Gemeenschappelijke naam",O:"Organisatie",OU:"Organisatie-eenheid",S:"Staat / provincie",ST:"Staat / provincie",L:"Plaats",C:"Land",SN:"Achternaam",GN:"Gegeven naam"};
function showCertDetails(b){if(!xxdialogMode){var c=xxCertificates[b],a;a="<br>"+addHtmlValue("Certificaat",c.X509Certificate.length+" bytes,<astyle=cursor:pointer;color:blueonclick=downloadCert("+b+")>Downloaden</a>");a+=addHtmlValue("Vertrouwde root",c.TrustedRootCertficate?"Ja":"Nee");0==c.TrustedRootCertficate&&c.XPrivateKey&&(a+=addHtmlValue("Prive sleutel","Cadeau"));a+='<br><divstyle="border-bottom:1px solid gray"><i>Certificaatonderwerp</i></div><br>';for(var d in c.XSubject)c.XSubject[d]&&
(a+=addHtmlValue(xxCertSubjectNames[d]?xxCertSubjectNames[d]:d,EscapeHtml(c.XSubject[d])));a+='<br><divstyle="border-bottom:1px solid gray"><i>Certificaat van uitgever</i></div><br>';for(d in c.XIssuer)c.XIssuer[d]&&(a+=addHtmlValue(xxCertSubjectNames[d]?xxCertSubjectNames[d]:d,EscapeHtml(c.XIssuer[d])));setDialogMode(11,"Certificaat -"+EscapeHtml(c.XSubject.CN),5,function(a){2==a&&(xxCertificates[b].XPrivateKey&&amtstack.Delete("AMT_PublicPrivateKeyPair",{InstanceID:xxCertificates[b].XPrivateKey.InstanceID},
function addCertButton(b){!xxdialogMode&&xxAccountAdminName&&(xxDragDropCertFiles=b,b='<inputid=certopenonchange=addCertButtonUpdate()type=filestyle=float:right;width:260pxaccept=".cer,.pem">',xxDragDropCertFiles&&(b='<inputstyle=float:right;width:260pxreadonlydisabledvalue="'+xxDragDropCertFiles[0].name+'">'),b="<divstyle=height:10px></div>"+("<divstyle=height:26px;margin-top:4px>"+b+"<divstyle=padding-top:4px>Certificaatbestand</div></div>")+"<divstyle=height:26px;margin-top:4px><selectid=certtypestyle=float:right;width:260px><optionvalue=1>Trusted Root Certificate</option><optionvalue=0>Kettingcertificaat</option></select><divstyle=padding-top:4px>Certificaattype</div></div>",
function addCertButtonOk2(b){b=b.target.result;var c=b.indexOf("-----BEGIN CERTIFICATE-----");0<=c?(b=b.substring(c+27),c=b.indexOf("-----END CERTIFICATE-----"),0<=c&&(b=b.substring(0,c)),b=b.replace(/\r\n/g,"")):b=btoa(b);1==getSelectElement("certtype").value?amtstack.AMT_PublicKeyManagementService_AddTrustedRootCertificate(b,certificateAdded):amtstack.AMT_PublicKeyManagementService_AddCertificate(b,certificateAdded)}
function issueCertButton(b){!xxdialogMode&&xxAccountAdminName&&(xxDragDropCertFiles=b,b='<inputid=certopentype=filestyle=float:right;width:230pxonchange=issueCertButtonUpdate()accept=".p12">',xxDragDropCertFiles&&(b='<inputstyle=float:right;width:230pxreadonlydisabledvalue="'+xxDragDropCertFiles[0].name+'">'),b=""+("<divstyleheight:26px;margin-top:14px>"+b+"<divstyle=padding-top:4px>Certificate file</div></div>")+"<divstyle=height:26px;margin-top:4px><inputonkeyup=issueCertButtonUpdate()id=certopenpasstype=passwordautocomplete=offstyle=float:right;width:230px><divstyle=padding-top:4px>Certificaat wachtwoord</div></div>",
function issueCertButtonUpdate(){var b=getInputElement("certopen");QE("certopenpass",!b||b&&1==b.files.length);var c=!b||2>b.files.length;1==(!b||b&&b.files.length)&&""==Q("certopenpass").value&&(c=!1);if(""==getInputElement("certcn").value||""==getInputElement("certo").value||""==getInputElement("certst").value||""==getInputElement("certc").value)c=!1;QE("c54",c)}
function issueCertButtonOk(){var b=getInputElement("certopen"),c=xxDragDropCertFiles;b&&(c=b.files);c&&1==c.length?(b=new FileReader,b.onload=issueCertButtonOk2,b.readAsBinaryString(c[0])):issueCertButtonOk3(null)}function issueCertButtonOk2(b){0==amtcert_loadP12File(b.target.result,Q("certopenpass").value,issueCertButtonOk3)&&messagebox("Certificaat afgeven","Kan certificaat niet decoderen / decoderen.")}
function issueCertButtonOk3(b,c,a){xxCaPrivateKey=b;xxCaSubjectAttributes=c;amtstack.AMT_PublicKeyManagementService_GenerateKeyPair(0,2048,GenerateKeyPairResponse)}
function GenerateKeyPairResponse(b,c,a,d){200!=d?messagebox("Certificaat afgeven","Kan sleutelpaar niet genereren. Toestand: "+d):0!=a.Body.ReturnValue?messagebox("Certificaat afgeven","Kan sleutelpaar niet genereren,"+a.Body.ReturnValueStr):amtstack.Enum("AMT_PublicPrivateKeyPair",GenerateKeyPairResponse2,a.Body.KeyPair.ReferenceParameters.SelectorSet.Selector.Value)}
function GenerateKeyPairResponse2(b,c,a,d,e){if(200!=d)messagebox("Certificaat afgeven","Kan sleutelpaar niet genereren. Toestand: "+d);else{b=null;for(var v in a)a[v].InstanceID==e&&(b=a[v].DERKey);a={CN:getInputElement("certcn").value,O:getInputElement("certo").value,ST:getInputElement("certst").value,C:getInputElement("certc").value};e={CN:"Niet-vertrouwd basiscertificaat"};if(null!=xxCaPrivateKey&&xxCaSubjectAttributes)for(v in e={},xxCaSubjectAttributes)e[xxCaSubjectAttributes[v].shortName]=
xxCaSubjectAttributes[v].value;v={name:"extKeyUsage"};Q("d11_cu4").checked&&(v.serverAuth=!0);Q("d11_cu5").checked&&(v.clientAuth=!0);Q("d11_cu6").checked&&(v.emailProtection=!0);Q("d11_cu7").checked&&(v.codeSigning=!0);Q("d11_cu8").checked&&(v.timeStamping=!0);v=amtcert_signWithCaKey(b,xxCaPrivateKey,a,e,v);null==v?messagebox("Certificaat afgeven","Kan certificaat niet ondertekenen."):(v=forge.pki.certificateToPem(v).replace(/(\r\n|\n|\r)/gm,""),amtstack.AMT_PublicKeyManagementService_AddCertificate(v.substring(27,
v.length-25),GenerateKeyPairResponse4))}}function GenerateKeyPairResponse4(b,c,a,d){200!=d?messagebox("Certificaat afgeven","Kan sleutelpaar niet genereren. Toestand: "+d):PullCertificates()}function certificateAdded(b,c,a,d){200!=d||0!=a.Body.ReturnValue?messagebox("Certificaat toevoegen","Kan certificaat, fout niet toevoegen"+(200!=d?d:a.Body.ReturnValueStr)):PullCertificates()}
function certificateRemoved(b,c,a,d){200!=d?messagebox("Certificaat verwijderen","Kan certificaat, fout niet verwijderen"+d):PullCertificates()}function getInputElement(b){var c=document.getElementsByTagName("input");for(t=0;t<c.length;t++)if(c[t].id==b)returnc[t]}functiongetSelectElement(b){varc=document.getElementsByTagName("select");for(t=0;t<c.length;t++)if(c[t].id==b)returnc[t]}
function showSetTlsSecurityDlg(b){if(!xxdialogMode){b="<divstyle=height:26px;margin-top:4px><selectonchange=showSetTlsSecurityDlgUpdate()id=tlscertstyle=float:right;width:260px><optionvalue=-1>Geen certificaat, TLS uitgeschakeld</option>";for(var c in xxCertificates)0!=xxCertificates[c].TrustedRootCertficate||!xxCertificates[c].XPrivateKey||null!=xxTlsCurrentCert&&xxTlsCurrentCert!=c||(b+="<optionvalue="+c+">"+xxCertificates[c].XSubject.CN+"</option>");b+="</select><divstyle=padding-top:4px>Certificaat</div></div><divstyle=height:26px;margin-top:4px><selectid=tlsremotestyle=float:right;width:260pxonchange=showSetTlsSecurityDlgUpdate()><optionvalue=0>Server-auth TLS only</option><optionvalue=1>Server-auth, non-TLS allowed</option>";
b+="<optionvalue=2>Mutual-auth TLS only</option><optionvalue=3>Mutual-auth, non-TLS allowed</option>";b+='</select><divstyle=padding-top:4px>Security</div></div><divstyle=height:26pxid=d11rcntitle="Door komma\'s gescheiden lijst met algemene namen van certificaten die op afstand verbinding kunnen maken."><inputid=d11_rcnstyle=float:right;width:260pxonkeyup=showSetTlsSecurityDlgUpdate()placeholder="naam1, naam2"><divstyle=padding-top:4px>Externe CN\'s</div></div>';setDialogMode(11,"TLS-instellingen",
3,showSetTlsSecurityDlgOk,b);if(0==xxTLSCredentialContext.length||0==xxTlsSettings[0].Enabled||0==xxTlsSettings[1].Enabled)getSelectElement("tlscert").value=-1;else for(c in b=xxTLSCredentialContext[0].ElementInContext.ReferenceParameters.SelectorSet.Selector.Value,xxCertificates)xxCertificates[c].InstanceID==b&&(getSelectElement("tlscert").value=c);c=1-("Intel(r) AMT LMS TLS Settings"==xxTlsSettings[0].InstanceID?0:1);getSelectElement("tlsremote").value=(1==xxTlsSettings[c].MutualAuthentication?
function showSetTlsSecurityDlgOk(){var b=getSelectElement("tlscert").value,c=getSelectElement("tlsremote").value,a=Clone(xxTlsSettings);setTlsSecurityPendingCalls=0;setTlsSecurityDeleteCredentialContext=null;if(-1!=b){if(0<xxTLSCredentialContext.length){vard=Clone(xxTLSCredentialContext[0]);d.ElementInContext.ReferenceParameters.SelectorSet.Selector.Value=xxCertificates[b].InstanceID;amtstack.Put("AMT_TLSCredentialContext",d,setTlsSecurityResponse,0,1)}elseamtstack.Create("AMT_TLSCredentialContext",
setTlsSecurityResponse);setTlsSecurityPendingCalls++}else 0<xxTLSCredentialContext.length&&(setTlsSecurityDeleteCredentialContext=Clone(xxTLSCredentialContext[0]));vard="Intel(r) AMT LMS TLS Settings"==xxTlsSettings[0].InstanceID?0:1,e=1-d;a[e].Enabled=-1!=b;a[e].MutualAuthentication=2<=c;a[e].AcceptNonSecureConnections=1==c%2;a[e].TrustedCN=splitDomains(Q("d11_rcn").value);a[d].Enabled=-1!=b;a[d].TrustedCN=splitDomains(Q("d11_rcn").value);2<=c&&(setTlsSecurityPendingCalls++,amtstack.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch(function(a,
b,c,d){200!=d?messagebox("","Kan tijd niet instellen, status ="+d):0!=c.Body.ReturnValue?messagebox("","Kan tijd niet instellen, fout: "+c.Body.ReturnValueStr):(a=Math.round((new Date).getTime()/1E3),amtstack.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch(c.Body.Ta0,a,a,function(){setTlsSecurityResponse()}))}));setTlsSecurityPendingCalls+=2;amtstack.Put("AMT_TLSSettingData",a[0],setTlsSecurityResponse,0,1,a[0]);amtstack.Put("AMT_TLSSettingData",a[1],setTlsSecurityResponse,0,1,a[1]);statusbox("TLS-instellingen",
"Nieuwe beveiligingsinstellingen toepassen ...")}function splitDomains(b){b=b.split(",");if(0!=b.length){for(var c in b)if(b[c]=b[c].trim(),0<=b[c].indexOf(" ")||0==b[c].length)return;if(!(4<b.length))returnb}}
function setTlsSecurityResponse(b,c,a,d){if(b){if(200!=d){messagebox("","Kan TLS-beveiliging niet instellen, status ="+d);return}if(a.Body.ReturnValueStr&&!methodcheck(a))return}0==--setTlsSecurityPendingCalls&&amtstack.AMT_SetupAndConfigurationService_CommitChanges(null,setTlsSecurityResponse2)}
function setTlsSecurityResponse2(b,c,a,d){200!=d?messagebox("","Kan TLS-beveiliging niet instellen, status ="+d):0!=a.Body.ReturnValue?messagebox("","Kan TLS-beveiliging niet instellen, fout: "+a.Body.ReturnValueStr):setTimeout(setTlsSecurityResponse3,2E3)}
function setTlsSecurityResponse3(){null!=setTlsSecurityDeleteCredentialContext&&amtstack.Delete("AMT_TLSCredentialContext",setTlsSecurityDeleteCredentialContext,function(){});PullCertificates();setDialogMode();amtstack.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch(processSystemTime)}var xxWatchdog=null;
function PullWatchdog(){amtstack.BatchEnum(null,["*AMT_AgentPresenceCapabilities","AMT_AgentPresenceWatchdog","AMT_AgentPresenceWatchdogAction","AMT_StateTransitionCondition","CIM_ConcreteDependency"],PullWatchdogResponse)}
function PullWatchdogResponse(b,c,a,d){if(200==d&&200==a.AMT_AgentPresenceCapabilities.status){xxWatchdog=a;for(var e in xxWatchdog.CIM_ConcreteDependency.responses)b=xxWatchdog.CIM_ConcreteDependency.responses[e],(c=getItem(b.Antecedent.ReferenceParameters.SelectorSet.Selector,"@Name","CreationClassName"))&&"AMT_AgentPresenceWatchdog"==c.Value&&(d=getItem(b.Antecedent.ReferenceParameters.SelectorSet.Selector,"@Name","DeviceID").Value,a=getItem(b.Dependent.ReferenceParameters.SelectorSet.Selector,
"PolicyConditionName",a),b=getItem(xxWatchdog.AMT_AgentPresenceWatchdogAction.responses,"PolicyActionName",b),a.actions||(a.actions=[]),a.actions.push(b));updateWatchdog();QV("go19",!0)}}var watchdogEnabledStates="Onbekend;Andere;Ingeschakeld;Gehandicapt;Afsluiten;Niet toepasbaar;Ingeschakeld maar offline;In Test;Uitgesteld;Rustig;Beginnend".split(";"),watchdogMonitoredEntity="Onbekend;Andere;Besturingssysteem;Besturingssysteem opstartproces;Besturingssysteem afsluiten;Firmware-opstartproces;BIOS-opstartproces;Toepassing;Serviceprocessor".split(";");
function updateWatchdog(){if(null!=xxWatchdog){var b;b=""+TableStart();b+=TableEntry("Maximale waakhonden",xxWatchdog.AMT_AgentPresenceCapabilities.response.MaxTotalAgents+" waakhonden");b+=TableEntry("Maximaal totaal aantal acties",xxWatchdog.AMT_AgentPresenceCapabilities.response.MaxTotalActions+" acties");b+=TableEnd()+"<br>";b+=TableStart2();b+="<tr><tdclass=r1style=padding-left:15px><br>Beheer Intel® AMT-agentwaakhonden.<br><br>";if(null==xxWatchdog.AMT_AgentPresenceWatchdog.responses||
0==xxWatchdog.AMT_AgentPresenceWatchdog.responses.length)b+="<divstyle=padding-left:15px><i>Geen waakhond voor aanwezigheid van agenten gevonden.</i></div><br>";else for(var c in xxWatchdog.AMT_AgentPresenceWatchdog.responses){var a=xxWatchdog.AMT_AgentPresenceWatchdog.responses[c],d=guidToStr(rstr2hex(atob(a.DeviceID)));a.MonitoredEntityDescription&&""!=a.MonitoredEntityDescription&&(d=EscapeHtml(a.MonitoredEntityDescription));b+="<divclass=itemBaronclick=showWatchdogDetails("+c+')><inputtype=buttonstyle=float:rightvalue="Actie toevoegen ..."onclick=addWatchdogAction(event,'+
function showWatchdogDetails(b){b=xxWatchdog.AMT_AgentPresenceWatchdog.responses[b];var c="";b.MonitoredEntityDescription&&""!=b.MonitoredEntityDescription&&(c+=addHtmlValue("Omschrijving",EscapeHtml(b.MonitoredEntityDescription)));c+=addHtmlValue("Gecontroleerde entiteit",watchdogMonitoredEntity[b.MonitoredEntity]);c+=addHtmlValue("Huidige toestand",amtstack.WatchdogCurrentStates[b.CurrentState]);c+=addHtmlValue("Ingeschakelde staat",watchdogEnabledStates[b.EnabledState]);c+=addHtmlValue("Opstartinterval",
b.StartupInterval+" seconde (n)");c+=addHtmlValue("Time-outinterval",b.TimeoutInterval+" seconde (n)");setDialogMode(11,format("Waakhond {0}",guidToStr(rstr2hex(atob(b.DeviceID)))),5,showWatchdogDetailsOk,c,b)}function showWatchdogDetailsOk(b,c){2==b&&amtstack.Delete("AMT_AgentPresenceWatchdog",{DeviceID:c.DeviceID},PullWatchdog)}
function AddWatchdog(){var b;b="<divstyle=height:26px;margin-top:4px><inputid=wgnamestyle=float:right;width:240pxmaxlength=16onkeyup=AddWatchdogUpdate()><divstyle=padding-top:4px>Naam</div></div>"+('<divstyle=height:26px;margin-top:4px><inputid=wgguidstyle=float:right;width:240pxmaxlength=36onkeyup=AddWatchdogUpdate()><divstyle=padding-top:4pxtitle="Genereer willekeurige DeviceID">'+addLink("Apparaat ID","GenerateWatchdogGuid()")+"</div></div>");b+="<divstyle=height:26px;margin-top:4px><inputid=wgstartstyle=float:right;width:240pxmaxlength=8placeholder=3600onkeyup=AddWatchdogUpdate()><divstyle=padding-top:4px>Opstarten (seconden)</div></div>";
function AddWatchdogUpdate(){for(var b=(""==Q("wgstart").value||0<parseInt(Q("wgstart").value))&&(""==Q("wgtimeout").value||0<parseInt(Q("wgtimeout").value)),c=0,a=Q("wgguid").value.toLowerCase(),d=0;d<a.length;d++){vare=a.charCodeAt(d);45!=e&&(48<=e&&57>=e||97<=e&&102>=e?c++:b=!1)}32!=c&&(b=!1);QE("dlgOkButton",b)}
function AddWatchdogOk(){var b=Q("wgtimeout").value,c=Q("wgstart").value;""==b&&(b=60);""==c&&(c=3600);b={CreationClassName:0,DeviceID:btoa(hex2rstr(guidToStr(Q("wgguid").value.replace(/-/g,"")).replace(/-/g,""))),StartupInterval:c,SystemCreationClassName:0,SystemName:0,TimeoutInterval:b,MonitoredEntityDescription:Q("wgname").value};amtstack.Create("AMT_AgentPresenceWatchdog",b,AddWatchdogOk2)}
function AddWatchdogOk2(b,c,a,d){200!=d?messagebox("Waakhond","Kan watchdog niet toevoegen, fout #"+d):PullWatchdog()}
function addWatchdogAction(b,c){var a=xxWatchdog.AMT_AgentPresenceWatchdog.responses[c],d;d="<table><tdstyle=width:180px>Van<br>";for(c in amtstack.WatchdogCurrentStates)d+="<inputid=wgsa"+c+"type=checkboxonclick=addWatchdogActionUpdate()> "+amtstack.WatchdogCurrentStates[c]+"<br/>";d+="<td>Naar<br>";for(c in amtstack.WatchdogCurrentStates)d+="<inputid=wgsb"+c+"type=checkboxonclick=addWatchdogActionUpdate()> "+amtstack.WatchdogCurrentStates[c]+"<br/>";setDialogMode(11,"Watchdog-actie toevoegen",
3,addWatchdogActionOk,d+"</table><br>Actie ondernemen<br><inputid=wgseventtype=checkboxcheckedonclick=addWatchdogActionUpdate()>Schrijf naar gebeurtenislogboek<br/>",a);addWatchdogActionUpdate();haltEvent(b)}function addWatchdogActionUpdate(){var b=0,c=0,a;for(a in amtstack.WatchdogCurrentStates)1==Q("wgsa"+a).checked&&(b+=parseInt(a)),1==Q("wgsb"+a).checked&&(c+=parseInt(a));QE("dlgOkButton",0<b&&0<c&&1==Q("wgsevent").checked)}
function addWatchdogActionOk(b,c){var a=0,d=0,e;for(e in amtstack.WatchdogCurrentStates)1==Q("wgsa"+e).checked&&(a+=parseInt(e)),1==Q("wgsb"+e).checked&&(d+=parseInt(e));amtstack.AMT_AgentPresenceWatchdog_AddAction(a,d,Q("wgsevent").checked,null,null,AddWatchdogActionResponse,null,0,{DeviceID:c.DeviceID})}function AddWatchdogActionResponse(b,c,a,d){200!=d?messagebox("Watchdog-actie","Kan watchdog-actie niet toevoegen, fout #"+d):PullWatchdog()}
function deleteWatchdogActions(b,c){setDialogMode(11,"Verwijder Watchdog-acties",3,deleteWatchdogActionsOk,"Alle acties voor deze waakhond verwijderen?",xxWatchdog.AMT_AgentPresenceWatchdog.responses[c]);haltEvent(b)}function deleteWatchdogActionsOk(b,c){amtstack.AMT_AgentPresenceWatchdog_DeleteAllActions(deleteWatchdogActionResponse,null,0,{DeviceID:c.DeviceID})}
function deleteWatchdogActionResponse(b,c,a,d){200!=d?messagebox("Watchdog-actie","Kan watchdog-acties niet verwijderen, fout #"+d):PullWatchdog()}
var xxSystemDefense=null,xxSystemDefenceLinkedPolicy={},xxUpdatingDefenseStats=!1,xxFilterStatistics=[{},{}],xxFilterStatisticsTimer=null,xxFilterStatisticsTimerActive=!1,xxSystemDefenceFilterEthernetTypes={2048:"Alle IP-pakketten",2054:"Alle ARP-pakketten"},xxSystemDefenceFilterIPTypes={4:"IPv4",6:"IPv6"},xxSystemDefenceFilterDesc={0:"Sta toe, graaf",1:"Laten vallen, tellen",2:"Tarieflimiet",3:"Toestaan",4:"Laten vallen"},xxSystemDefenceFilters={HdrProtocolID:1,HdrDestAddress:2,HdrDestMask:2,HdrSrcAddress:2,
function PullSystemDefenseResponse(b,c,a,d){200==d&&(xxSystemDefense=a,updateSystemDefense(),QV("go18",!0),urlvars.norefresh&&UpdateDefenseStats())}
function updateSystemDefense(){if(null!=xxSystemDefense){var b="";xxSystemDefenceLinkedPolicy={};for(var c in xxSystemDefense.AMT_NetworkPortSystemDefensePolicy.responses){var a=xxSystemDefense.AMT_NetworkPortSystemDefensePolicy.responses[c],d=+getItem(a.Antecedent.ReferenceParameters.SelectorSet.Selector,"@Name","DeviceID").Value.substring(27),a=getItem(xxSystemDefense.AMT_SystemDefensePolicy.responses,"InstanceID",a.Dependent.ReferenceParameters.SelectorSet.Selector.Value);xxSystemDefenceLinkedPolicy[d]=
a}b+=TableStart();c="<i>Geen</i>";xxSystemDefenceLinkedPolicy[0]&&(c=xxSystemDefenceLinkedPolicy[0].PolicyName);b+=TableEntry("Standaard bekabeld beleid",addLink(c,"changeDefaultPolicy(0)"));for(c=0;2>c;c++){var a=xxFilterStatistics[c],e;for(e in a)d=a[e],d=1==d?d+" pakket":d+" pakketten",b+=TableEntry((0==c?"Bedrade":"Draadloze")+e,d)}b+=TableEnd();b=b+"<br>"+TableStart2();b+="<tr><tdclass=r1style=padding-left:15px;border:0><br>Beheer Intel® AMT-systeembeschermingsbeleid.<br><br>";if(0==xxSystemDefense.AMT_SystemDefensePolicy.responses.length)b+=
"<divstyle=padding-left:15px><i>Geen systeembeschermingsbeleid gevonden.</i></div><br>";else for(c in xxSystemDefense.AMT_SystemDefensePolicy.responses)a=xxSystemDefense.AMT_SystemDefensePolicy.responses[c],d="",a.FilterCreationHandles&&(a.FilterCreationHandles=MakeToArray(a.FilterCreationHandles),d=a.FilterCreationHandles.length,d=", "+d+" filter"+(1<d?"s":"")),b+="<divclass=itemBaronclick=showPolicyDetails("+c+")><divstyle=padding-top:3px><b>"+EscapeHtml(a.PolicyName)+"</b>"+d+"</div></div>";
b+="<tr><tdclass=r1style=padding-left:15px><br>Beheer Intel® AMT-systeembeschermingsfilters.<br><br>";if(0==xxSystemDefense.AMT_Hdr8021Filter.responses.length&&0==xxSystemDefense.AMT_IPHeadersFilter.responses.length)b+="<divstyle=padding-left:15px><i>Geen systeembeschermingsfilters gevonden.</i></div><br>";else{for(c in xxSystemDefense.AMT_Hdr8021Filter.responses)a=xxSystemDefense.AMT_Hdr8021Filter.responses[c],(d=xxSystemDefenceFilterEthernetTypes[a.HdrProtocolID8021])||(d="Geheel Ethernet-protocol"+
a.HdrProtocolID8021),d+=", "+xxSystemDefenceFilterDesc[a.FilterProfile],2==a.FilterProfile&&(d+=" Bij"+a.FilterProfileData+" pakket / sec"),1==a.ActionEventOnMatch&&(d+=", Evenement op wedstrijd"),b+="<divclass=itemBaronclick=showFilterDetails(0,"+c+")><divstyle=padding-top:3px><b>"+(0==a.FilterDirection?"← ":"→ ")+EscapeHtml(a.Name)+"</b>, "+d+"</div></div>";for(c in xxSystemDefense.AMT_IPHeadersFilter.responses){a=xxSystemDefense.AMT_IPHeadersFilter.responses[c];(d=xxSystemDefenceFilterIPTypes[a.HdrIPVersion])||
function StopDefenseStatsTimer(){null!=xxFilterStatisticsTimer&&(clearInterval(xxFilterStatisticsTimer),xxFilterStatisticsTimer=null);xxFilterStatisticsTimerActive=!1}
function UpdateDefenseStats(b){if(b||1!=xxFilterStatisticsTimerActive)xxFilterStatisticsTimerActive=!0,b=b?b:0,xxSystemDefenceLinkedPolicy[b]?amtstack.AMT_SystemDefensePolicy_UpdateStatistics('<a:Address></a:Address><a:ReferenceParameters><w:ResourceURI>http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_EthernetPort</w:ResourceURI><w:SelectorSet><w:SelectorName="DeviceID">Intel(r) AMT Ethernet Port '+b+"</w:Selector></w:SelectorSet></a:ReferenceParameters>",!1,UpdateDefenseStats2,b,0,{InstanceID:xxSystemDefenceLinkedPolicy[b].InstanceID}):
function UpdateDefenseStats3(b,c,a,d,e){b=0;if(200==d){xxFilterStatistics[e]={};for(var v in a)d=a[v].ReadCount,c=getItem(a[v].Dependent.ReferenceParameters.SelectorSet.Selector[1].Value.EndpointReference.ReferenceParameters.SelectorSet.Selector,"@Name","Name").Value,xxFilterStatistics[e][c]=d,b++;updateSystemDefense()}xxFilterStatisticsTimerActive=!1;0==b&&StopDefenseStatsTimer()}
function changeDefaultPolicy(b){if(!xxdialogMode){var c;c="<divstyle=height:26px;margin-top:4px><selectid=policySelectionstyle=float:right;width:266px><optionvalue=-1>Geen";for(var a in xxSystemDefense.AMT_SystemDefensePolicy.responses)c+="<optionvalue="+a+(xxSystemDefenceLinkedPolicy[b]&&xxSystemDefense.AMT_SystemDefensePolicy.responses[a].InstanceID==xxSystemDefenceLinkedPolicy[b].InstanceID?"selected":"")+">"+xxSystemDefense.AMT_SystemDefensePolicy.responses[a].PolicyName;setDialogMode(11,
function changeDefaultPolicyOk(b,c){var a=Q("policySelection").value,d=xxSystemDefenceLinkedPolicy[c];d&&amtstack.Delete("AMT_NetworkPortSystemDefensePolicy",'<w:SelectorSet><w:SelectorName="Antecedent"><a:EndpointReferencexmlns:b="http://schemas.xmlsoap.org/ws/2004/08/addressing"xmlns:c="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address><a:ReferenceParameters><w:ResourceURI>http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_EthernetPort</w:ResourceURI><w:SelectorSet><w:SelectorName="CreationClassName">CIM_EthernetPort</w:Selector><w:SelectorName="DeviceID">Intel(r) AMT Ethernet Port '+c+
d.InstanceID+"</w:Selector></w:SelectorSet></a:ReferenceParameters></a:EndpointReference></w:Selector></w:SelectorSet>",-1==a?PullSystemDefense:function(){});0<=a&&amtstack.Create("AMT_NetworkPortSystemDefensePolicy",{Antecedent:'<Addressxmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing</Address><ReferenceParametersxmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing"><ResourceURIxmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_EthernetPort</ResourceURI><SelectorSetxmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"><SelectorName="DeviceID">Intel (r) AMT Ethernet-poort '+
xxSystemDefense.AMT_SystemDefensePolicy.responses[a].InstanceID+"</Selector></SelectorSet></ReferenceParameters>"},changeDefaultPolicyOk2)}function changeDefaultPolicyOk2(b,c,a,d){200!=d?messagebox("Standaard systeembeschermingsbeleid","Kan beleid, fout niet instellen"+d):PullSystemDefense()}
function AddDefenseFilter(){if(!xxdialogMode){var b;b="<divstyle=height:26px;margin-top:4px><inputid=filternamestyle=float:right;width:260pxmaxlength=16onkeyup=AddDefenseFilterUpdate()><divstyle=padding-top:4px>Naam</div></div><divstyle=height:26px;margin-top:4px><selectid=filtertypestyle=float:right;width:266pxonchange=AddDefenseFilterUpdate()><optionvalue=0>Ethernet IP-pakketfilter<optionvalue=1>Ethernet ARP-pakketfilter<optionvalue=2>IPv4-pakketfilter<optionvalue=3>IPv6-pakketfilter</select><divstyle=padding-top:4px>Type</div></div>";b+=
b+="<divstyle=height:26px;margin-top:4pxid=filterdatadiv><inputid=filterdatastyle=float:right;width:260pxmaxlength=8onkeyup=AddDefenseFilterUpdate()><divstyle=padding-top:4px>Pakketten / seconde</div></div>";b+="<divstyle=height:26px;margin-top:4px><selectid=filteractionstyle=float:right;width:266pxonchange=AddDefenseFilterUpdate()><optionvalue=false>Niets doen<optionvalue=1>Evenement op wedstrijd</select><divstyle=padding-top:4px>Logboek</div></div>";setDialogMode(11,"Voeg System Defense Filter toe",
function AddDefenseFilterOk(){if(1>=Q("filtertype").value){var b=0==Q("filtertype").value?2048:2054,c={"InstanceID ":0,Name:Q("filtername").value,CreationClassName:0,SystemName:0,SystemCreationClassName:0,HdrProtocolID8021:b,FilterProfile:Q("filterprofile").value,FilterDirection:Q("filterdir").value,ActionEventOnMatch:Q("filteraction").value};2==Q("filterprofile").value&&(c.FilterProfileData=Q("filterdata").value);amtstack.Create("AMT_Hdr8021Filter",c,AddDefenseFilterOk2)}else{var b=2==Q("filtertype").value?
4:6,c={"InstanceID ":0,Name:Q("filtername").value,CreationClassName:0,SystemName:0,SystemCreationClassName:0,HdrIPVersion:b,FilterProfile:Q("filterprofile").value,FilterDirection:Q("filterdir").value,ActionEventOnMatch:Q("filteraction").value},a=Q("ipfilter").value.split(","),d;for(d in a){var e=a[d].indexOf("="),v=a[d].substring(0,e),e=a[d].substring(e+1),n=xxSystemDefenceFilters[v];n||(v="Hdr"+v,n=xxSystemDefenceFilters[v]);n&&(2==n&&4==b?(e=e.split("."),4==e.length&&(c[v]=rstr2hex(String.fromCharCode(parseInt(e[0]),
function showFilterDetails(b,c){if(!xxdialogMode){var a,d,e,v;0==b?(v="AMT_Hdr8021Filter",e="Ethernet-verkeer",d=xxSystemDefense[v].responses[c],(a=xxSystemDefenceFilterEthernetTypes[d.HdrProtocolID8021])||(a="Geheel Ethernet-protocol"+d.HdrProtocolID8021)):(v="AMT_IPHeadersFilter",e="IP-verkeer",d=xxSystemDefense[v].responses[c],(a=xxSystemDefenceFilterIPTypes[d.HdrIPVersion])||(a="Alle IP-protocol"+d.HdrIPVersion));var n;n=""+addHtmlValue("Naam",EscapeHtml(d.Name));n+=addHtmlValue("Type",e);n+=
addHtmlValue("Overeenkomend verkeer",a);n+=addHtmlValue("Richting",0==d.FilterDirection?"Outbound / Transmit":"Inbound / Receive");if(1==b)for(var l in xxSystemDefenceFilters)d[l]&&(a=l,e=d[l],b=xxSystemDefenceFilters[l],2==b&&4==e.length&&(e=hex2rstr(e),e=e.charCodeAt(0)+"."+e.charCodeAt(1)+"."+e.charCodeAt(2)+"."+e.charCodeAt(3)),a.startsWith("Hdr")&&(a=a.substring(3)),n+=addHtmlValue("Filter"+a,e));n+=addHtmlValue("Evenement op wedstrijd",1==d.ActionEventOnMatch?"Yes":"No");setDialogMode(11,"Ethernet-filter #"+
d.InstanceID,5,showFilterDetailsOk,n,[v,d])}}function showFilterDetailsOk(b,c){2==b&&amtstack.Delete(c[0],c[1],deleteDefenseFilter)}function deleteDefenseFilter(b,c,a,d){200!=d?messagebox("Filter verwijderen","Kan filter niet verwijderen, zorg ervoor dat het niet in gebruik is."):PullSystemDefense()}var xxAddDefensePolicyFilters;
function AddDefensePolicy(){if(!xxdialogMode){xxAddDefensePolicyFilters=[];var b;b='<divstyle=height:26px;margin-top:4px><inputid=policynametitle="<policy name>:<policy precedence number>"style=float:right;width:260pxmaxlength=16onkeyup=AddDefensePolicyUpdate()><divstyle=padding-top:4px>Naam</div></div><divstyle=height:26px;margin-top:4px><selectid=policytxtitle="Standaardactie die moet worden ondernomen voor uitgaand verkeer"style=float:right;width:133px><optionvalue=0>Allow<optionvalue=1>Laten vallen<optionvalue=2>Sta toe, graaf<optionvalue=3>Laten vallen, tellen<optionvalue=4>Toestaan, tellen, evenement<optionvalue=5>Laten vallen, tellen, evenement</select><selectid=policyrxstyle=float:right;width:133pxtitle="Standaardactie voor inkomend verkeer"><optionvalue=0>Toestaan<optionvalue=1>Laten vallen<optionvalue=2>Sta toe, graaf<optionvalue=3>Laten vallen, tellen<optionvalue=4>Toestaan, tellen, evenement<optionvalue=5>Laten vallen, tellen, evenement</select><divstyle=padding-top:4px>Standaard TX / RX</div></div>';b+=
"<divid=policyFilters></div>";if(0<xxSystemDefense.AMT_Hdr8021Filter.responses.length||0<xxSystemDefense.AMT_IPHeadersFilter.responses.length){b+="<divstyle=height:26px;margin-top:4px><divstyle=float:right><selectid=xfilterstyle=width:186px>";for(var c in xxSystemDefense.AMT_Hdr8021Filter.responses){var a=xxSystemDefense.AMT_Hdr8021Filter.responses[c];b+="<optionvalue="+a.InstanceID+">"+a.Name}for(c in xxSystemDefense.AMT_IPHeadersFilter.responses)a=xxSystemDefense.AMT_IPHeadersFilter.responses[c],
function AddDefensePolicyUpdate(){var b=0<Q("policyname").value.split(":")[0].length;QE("c54",b);if(0==xxAddDefensePolicyFilters.length)QH("policyFilters","<br><i>Dit beleid bevat geen filters.</i><br><br>");else{var b="",c;for(c in xxAddDefensePolicyFilters)b+="<divclass=itemBarstyle=margin-right:0><divstyle=float:right>"+AddButton2("Verwijderen","removeFilterButton("+c+")")+"</div><divstyle=padding-top:3px;max-width:260px;overflow:hidden><b>"+GetFilterById(xxAddDefensePolicyFilters[c]).Name+
"</b></div></div>";QH("policyFilters",b)}}function GetFilterById(b){for(var c in xxSystemDefense.AMT_Hdr8021Filter.responses){var a=xxSystemDefense.AMT_Hdr8021Filter.responses[c];if(a.InstanceID==b)return a}for(c in xxSystemDefense.AMT_IPHeadersFilter.responses)if(a=xxSystemDefense.AMT_IPHeadersFilter.responses[c],a.InstanceID==b)return a}
function AddDefensePolicyOk(){var b=Q("policytx").value,c=Q("policyrx").value,a=0,d=Q("policyname").value.split(":");2==d.length&&(a=parseInt(d[1]));b={"InstanceID ":0,PolicyName:d[0],PolicyPrecedence:a,TxDefaultCount:1<b,TxDefaultDrop:1==b%2,TxDefaultMatchEvent:3<b,RxDefaultCount:1<c,RxDefaultDrop:1==c%2,RxDefaultMatchEvent:3<c};0<xxAddDefensePolicyFilters.length&&(b.FilterCreationHandles=xxAddDefensePolicyFilters);amtstack.Create("AMT_SystemDefensePolicy",b,AddDefensePolicyOk2)}
function AddDefensePolicyOk2(b,c,a,d){200!=d?messagebox("Voeg systeembeschermingsbeleid toe","Kan beleid niet toevoegen, fout #"+d):PullSystemDefense()}
function showPolicyDetails(b){if(!xxdialogMode){var c=xxSystemDefense.AMT_SystemDefensePolicy.responses[b],a;a=""+addHtmlValue("Naam",EscapeHtml(c.PolicyName));0!=c.PolicyPrecedence&&(a+=addHtmlValue("Voorrang",c.PolicyPrecedence));var d=1==c.TxDefaultDrop?"Laten vallen":"Toestaan";1==c.TxDefaultCount&&(d+=", Graaf");1==c.TxDefaultMatchEvent&&(d+=", Evenement");a+=addHtmlValue("Standaard TX-actie",d);d=1==c.RxDefaultDrop?"Drop":"Allow";1==c.RxDefaultCount&&(d+=", Count");1==c.RxDefaultMatchEvent&&
(d+=", Event");a+=addHtmlValue("Standaard RX-actie",d);if(c.FilterCreationHandles)for(b in c.FilterCreationHandles)a+=addHtmlValue("Filter #"+(+b+1),GetFilterById(c.FilterCreationHandles[b]).Name);setDialogMode(11,format("Het beleid #",c.InstanceID.substring(20)),5,showPolicyDetailsOk,a,c)}}function showPolicyDetailsOk(b,c){2==b&&amtstack.Delete("AMT_SystemDefensePolicy",c,deleteDefensePolicy)}
function deleteDefensePolicy(b,c,a,d){200!=d?messagebox("Beleid verwijderen","Kan het beleid niet verwijderen, zorg ervoor dat het niet in gebruik is."):PullSystemDefense()}var xxWireless;function PullWireless(){amtFirstPull|=2;-1!=amtwirelessif&&amtstack.BatchEnum("","*CIM_WiFiPortCapabilities *CIM_WiFiPort *CIM_WiFiEndpoint CIM_WiFiEndpointSettings *AMT_WiFiPortConfigurationService *AMT_BootCapabilities".split(" "),processWireless)}function wifiRefresh(){xxdialogMode||PullWireless()}
var xxWifiState={3:"Gehandicapt",32768:"Ingeschakeld in S0",32769:"Ingeschakeld in S0, Sx / AC"},xxRadioState={2:"Aan, verbonden",3:"Uit",6:"Aan, niet verbonden"},xxWifiAuthenticationMethod={1:"Andere",2:"Open",3:"Gedeelde sleutel",4:"WPA PSK",5:"WPA IEEE 802.1x",6:"WPA2 PSK",7:"WPA2 IEEE 802.1x",32768:"WPA3 SAE"},xxWifiEncryptionMethod={1:"Andere",2:"WEP",3:"TKIP-RC4",4:"CCMP-AES",5:"Geen"};function processWireless(b,c,a,d){xxWireless=200==d?a:void 0;updateSystemStatus();showWirelessInfo()}
function showWirelessInfo(){if(xxWireless){var b,c,a="",d,e;if(xxWireless.CIM_WiFiPortCapabilities.response){e="<br><h2>Draadloze profielen</h2>"+TableStart2();e+="<tr><tdclass=r2style=padding-left:15px><br>Draadloze profielen die Intel® AMT zal gebruiken voor netwerkconnectiviteit.<br><br>";for(b=a=0;256>b;b++)for(c in xxWireless.CIM_WiFiEndpointSettings.responses)d=xxWireless.CIM_WiFiEndpointSettings.responses[c],1!=d.AuthenticationMethod&&d.Priority==b&&(e+="<divclass=itemBaronclick=showWifiDetails("+
function wifiStateDlg(){amtstack.CIM_WiFiPort_RequestStateChange(document.querySelector("input[name=d11]:checked").value,null,function(){amtstack.Get("CIM_WiFiPort",function(b,c,a,d){200==d&&(xxWireless.CIM_WiFiPort.response=a.Body,showWirelessInfo())})})}
function showWifiSyncDlg(){if(!xxdialogMode){var b;b=""+("<label><inputtype=radioname=d11id=wl0value=0"+(0==xxWireless.AMT_WiFiPortConfigurationService.response.localProfileSynchronizationEnabled?"checked":"")+">Gehandicapt</label><br>");b+="<label><inputtype=radioname=d11id=wl0value=1"+(1==xxWireless.AMT_WiFiPortConfigurationService.response.localProfileSynchronizationEnabled?"checked":"")+">Ingeschakeld</label><br>";setDialogMode(11,"Local Profile Sync",3,showWifiSyncDlgEx,b)}}
function showWifiSyncDlgEx(){var b=Clone(xxWireless.AMT_WiFiPortConfigurationService.response);b.localProfileSynchronizationEnabled=document.querySelector("input[name=d11]:checked").value;amtstack.Put("AMT_WiFiPortConfigurationService",b,function(){amtstack.Get("AMT_WiFiPortConfigurationService",function(b,a,d,e){200==e&&(xxWireless.AMT_WiFiPortConfigurationService.response=d.Body,showWirelessInfo())})})}
function showUefiWifiCoExDlg(){if(!xxdialogMode){var b;b=""+("<label><inputtype=radioname=d12value=0"+(0==xxWireless.AMT_WiFiPortConfigurationService.response.UEFIWiFiProfileShareEnabled?"checked":"")+">Disabled</label><br>");b+="<label><inputtype=radioname=d12value=1"+(1==xxWireless.AMT_WiFiPortConfigurationService.response.UEFIWiFiProfileShareEnabled?"checked":"")+">Enabled</label><br>";setDialogMode(11,"UEFI Wifi CoEx Profile Sharing",3,UefiWifiCoExDlg,b)}}
function UefiWifiCoExDlg(){var b=Clone(xxWireless.AMT_WiFiPortConfigurationService.response);b.UEFIWiFiProfileShareEnabled=document.querySelector("input[name=d12]:checked").value;amtstack.Put("AMT_WiFiPortConfigurationService",b,function(b,a,d,e){200==e&&PullWireless()})}
function showWifiDetails(b){if(!xxdialogMode){b=xxWireless.CIM_WiFiEndpointSettings.responses[b];var c;c="<divstyle=text-align:left>"+addHtmlValue("Profielnaam",EscapeHtml(b.ElementName));c+=addHtmlValue("SSID",b.SSID);c+=addHtmlValue("Verificatie",xxWifiAuthenticationMethod[b.AuthenticationMethod]);c+=addHtmlValue("Versleuteling",xxWifiEncryptionMethod[b.EncryptionMethod]);c+=addHtmlValue("Prioriteit",b.Priority);messagebox("Draadloos profiel",c+"</div>")}}
function removeWifiEntryResponse(b,c,a,d,e){methodcheck(a)||amtstack.Enum("CIM_WiFiEndpointSettings",function(a,b,c,d){200==d&&(xxWireless.CIM_WiFiEndpointSettings.responses=c,showWirelessInfo())})}
function showWifiNewProfile(){if(!xxdialogMode){var b="";for(i=1;256>i;i++){var c=1;for(j in xxWireless.CIM_WiFiEndpointSettings.responses)xxWireless.CIM_WiFiEndpointSettings.responses[j].Priority==i&&(c=0);c&&(b+="<optionvalue="+i+">"+i)}QH("c24",b);QV("c26",13<amtversion);c25.value=6;c27.value=4;c22.value=c23.value=c28.value=c29.value="";setDialogMode(12,"Voegdraadloosprofieltoe",3,function(){addWifiProfile()});updateWifiDialog()}}
function addWifiProfile(){amtstack.AMT_WiFiPortConfigurationService_AddWiFiSettings({__parameterType:"reference",__resourceUri:amtstack.CompleteName("CIM_WiFiEndpoint"),Name:"WiFi Endpoint 0"},{__parameterType:"instance",__namespace:amtstack.CompleteName("CIM_WiFiEndpointSettings"),ElementName:c22.value,InstanceID:"Intel(r) AMT:WiFi Endpoint Settings "+c22.value,AuthenticationMethod:c25.value,EncryptionMethod:c27.value,SSID:c23.value,Priority:c24.value,
function updateWifiDialog(){var b=!0,c=c25.value,a=c27.value;QV(66,4>c);QV(65,3<c);QV(64,3<c);QV(67,4>c);4>c&&(3==a||4==a)&&(c27.value=2);3<c&&(2==a||5==a)&&(c27.value=3);32768==c&&(c27.value=4);for(vardinxxWireless.CIM_WiFiEndpointSettings.responses)xxWireless.CIM_WiFiEndpointSettings.responses[d].ElementName==c22.value&&(b=!1);QE("c54",1==b&&0<c22.value.length&&0<c23.value.length&&7<c28.value.length&&
var DMTFCPUStatus="Onbekend;Ingeschakeld;Uitgeschakeld door gebruiker;Uitgeschakeld door BIOS (POST-fout);Inactief;Andere".split(";"),DMTFMemType="Onbekend;Andere;DRAM;Synchrone DRAM;DRAM in cache opslaan;EDO;EDRAM;VRAM;SRAM;RAM;rom;Flash;EEPROM;FEPROM;EPROM;CDRAM;3DRAM;SDRAM;SGRAM;RDRAM;DDR;DDR-2;BRAM;FB-DIMM;DDR3;FBD2;DDR4;LPDDR;LPDDR2;LPDDR3;LPDDR4".split(";"),DMTFMemFormFactor=";Andere;Onbekend;SIMM;slokje;Chip;DIP;ZIP;Eigen kaart;DIMM;TSOP;Rij van chips;RIMM;SODIMM;SRIMM;FB-DIM".split(";"),DMTFProcFamilly=
function processHardware(b,c,a,d){if(200==d){var e;b="<tableclass=log1cellpadding=0cellspacing=0style=width:100%;border-radius:8px>";HardwareInventory=a;QV("go2",!0);b+=TableEnd("<div> "+AddRefreshButton("PullHardware(1)")+AddButton("Opslaan...","SaveHardwareLog()")+" Hardware-informatie wordt verzameld tijdens het opstarten van het systeem.");c=a.CIM_Chassis.response;d=a.CIM_Card.response;var v=a.CIM_BIOSElement.response.SoftwareElementID;b=b+"<br><h2>Platform</h2>"+FullTable({Computermodel:c.Model,
Fabrikant:c.Manufacturer,Versie:c.Version,Serienummer:c.SerialNumber,"Systeem-ID":guidToStr(a.CIM_SystemPackaging.responses[0].PlatformGUID).toLowerCase()},"");b+="<br><h2>Plint</h2>";b+=FullTable({Fabrikant:d.Manufacturer,Productnaam:d.Model,Versie:d.Version,Serienummer:d.SerialNumber,Itemtag:d.Tag,"Vervangbaar?":1==d.CanBeFRUed?"Yes":"No"},"");b+="<br><h2>BIOS</h2>";b+=FullTable({Verkoper:a.CIM_BIOSElement.response.Manufacturer,Versie:v,"Datum van publicatie":(new Date(a.CIM_BIOSElement.response.ReleaseDate.Datetime)).toLocaleDateString("en",
{timeZone:"UTC"})},"");b+="<br>";for(e in a.CIM_Processor.responses)c=a.CIM_Processor.responses[e],d=a.CIM_Chip.responses[e],b+="<h2>Processor "+(parseInt(e)+1)+"</h2>",b+=FullTable({Fabrikant:trademarks(d.Manufacturer),Familie:DMTFProcFamilly[c.Family],Versie:trademarks(d.Version),"Maximale socketsnelheid":c.MaxClockSpeed+" MHz",Toestand:DMTFCPUStatus[c.CPUStatus]},"");b+="<br>";for(e in a.CIM_PhysicalMemory.responses)c=a.CIM_PhysicalMemory.responses[e],b+="<h2>Geheugenmodule "+(+e+1)+"</h2>",b+=
FullTable({"Bank Label":c.BankLabel,Fabrikant:c.Manufacturer,Serienummer:c.SerialNumber,Grootte:parseInt(c.Capacity/1048576)+" MB",Vormfactor:DMTFMemFormFactor[c.FormFactor],Type:DMTFMemType[c.MemoryType],Itemtag:c.Tag,"Onderdeel nummer":c.PartNumber},"");b+="<br>";for(e in a.CIM_MediaAccessDevice.responses)c=a.CIM_MediaAccessDevice.responses[e],d=a.CIM_PhysicalPackage.responses[+e+1],b+="<h2>Opslag media "+(parseInt(e)+1)+"</h2>",b+=FullTable({Model:d.Model,Serienummer:""==d.SerialNumber?"Unknown":
function PullPowerPolicy(){amtstack.Enum("AMT_SystemPowerScheme",powerPolicyResponse)}function powerPolicyResponse(b,c,a,d){AmtSystemPowerSchemes=a;updateSystemStatus()}
function showPowerPolicyDlg(b){if(!xxdialogMode){for(var c="",a=0;a<AmtSystemPowerSchemes.length;a++)c+='<inputtype=radioname=powerpolicyvalue="'+AmtSystemPowerSchemes[a].InstanceID+'"'+(AmtSystemPowerSchemes[a].SchemeGUID==b?"checked":"")+">"+AmtSystemPowerSchemes[a].Description+"<br>";setDialogMode(11,"Intel® AMT-energiebeleid",3,showPowerPolicyDlgOk,c)}}
function showPowerPolicyDlgOk(){for(var b=null,c=0,a=document.getElementsByTagName("input");c<a.length;c++)"powerpolicy"==a[c].name&&a[c].checked&&(b=a[c].value);amtstack.AMT_SystemPowerScheme_SetPowerScheme(showPowerPolicyDlgOkDone,b)}functionshowPowerPolicyDlgOkDone(b,c,a,d){200==d&&PullSystemStatus()}varxxAccountAdminName,xxAccountRealmInfo,xxAccountEnabledInfo={},xxAccountFetch,showHiddenAccounts=!1;
function PullUserInfo(){xxAccountFetch=1;delete xxAccountAdminName;xxAccountRealmInfo={};amtstack.AMT_AuthorizationService_GetAdminAclEntry(getAdminAclEntryResponse);amtstack.AMT_AuthorizationService_EnumerateUserAclEntries(1,enumerateUserAclEntriesResponse)}function getAdminAclEntryResponse(b,c,a,d){200==d&&(xxAccountRealmInfo[-1]={AccessPermission:999,DigestUsername:a.Body.Username,Realms:null},xxAccountAdminName=a.Body.Username,updateAccounts())}
function enumerateUserAclEntriesResponse(b,c,a,d){if(200==d){methodcheck(a);QV("go11",!0);xxAccountFetch=a.Body.Handles.length;for(var e in a.Body.Handles)b=a.Body.Handles[e],amtstack.AMT_AuthorizationService_GetAclEnabledState(b,getAclEnabledStateResponse,b),amtstack.AMT_AuthorizationService_GetUserAclEntryEx(b,getUserAclEntryExResponse,b);updateAccounts()}}
function getUserAclEntryExResponse(b,c,a,d,e){xxAccountFetch--;200==d&&(a.Body.Handle=e,a.Body.Realms?Array.isArray(a.Body.Realms)||(a.Body.Realms=[a.Body.Realms]):a.Body.Realms=[],xxAccountRealmInfo[e]=a.Body,updateAccounts())}function getAclEnabledStateResponse(b,c,a,d,e){200==d&&(xxAccountEnabledInfo[e]=a.Body,updateAccounts())}function setAclEnabledStateResponse(b,c,a,d,e){errcheck(d,b)||(methodcheck(a),amtstack.AMT_AuthorizationService_GetAclEnabledState(e,getAclEnabledStateResponse,e))}
function updateAccounts(){if(!(0<xxAccountFetch)){varb=TableStart2(),b=b+"<tr><tdclass=r1style=padding-left:15px><br>Beheer de Intel® AMT-gebruikersaccounts voor deze computer.<br><br>",c;for(c in xxAccountRealmInfo){var a=xxAccountRealmInfo[c],d,e=!1,v=0;a.DigestUsername?(d=a.DigestUsername,e="$"==d[0]&&"$"==d[1]):d=GetSidString(atob(a.KerberosUserSid));xxAccountEnabledInfo[c]&&"$$OsAdmin"!=d&&(v=1==xxAccountEnabledInfo[c].Enabled?1:2);if(showHiddenAccounts||!e){var n="";if(999!=a.AccessPermission){2==
v&&(n+="Gehandicapt,");var l=0;for(c in a.Realms)""!=amtstack.RealmNames[a.Rijken[c]]&&l++;0<=a.Realms.indexOf(20)&&(n+="Accountant,");n=0<=a.Realms.indexOf(3)?n+"Beheerder":1==l?n+"1 rijk":n+(l+" rijken")}else n+="Beheerder",a.Handle=-1;b+="<divclass=itemBaronclick=showUserDetails("+a.Handle+")><divstyle=float:right>";0<v&&xxAccountAdminName&&(b+=""+AddButton2(1==v?"Disable":"Enable","changeAccountStateButton(event,"+a.Handle+","+v+")"));!e&&xxAccountAdminName&&(b+=""+AddButton2("Bewerk...",
function changeAccountButton(b,c){haltEvent(b);xxdialogMode||(updateRealms(xxAccountRealmInfo[c].Realms),d2username.value=xxAccountRealmInfo[c].DigestUsername?xxAccountRealmInfo[c].DigestUsername:GetSidString(atob(xxAccountRealmInfo[c].KerberosUserSid)),d2password1.value=d2password2.value="",d2permission.value=xxAccountRealmInfo[c].AccessPermission,setDialogMode(2,"Bewerk account",-1==c?3:7,function(a){changeAccountButtonEx(c,a)}),updateAccountDialog())}
function newAccountButton(){xxdialogMode||(updateRealms([]),d2username.value=d2password1.value=d2password2.value="",d2permission.value=2,setDialogMode(2,"Nieuw account",3,function(){changeAccountButtonEx(null,1)}),updateAccountDialog())}
function changeAccountButtonEx(b,c){if(1==c){var a=[],d=d2username.value,e=d2permission.value,v=d2password1.value,n=GetSidByteArray(Q("d2username").value),l=null;if(0==d.length||v!=d2password2.value){messagebox("Accountfout","Ongeldige parameters");return}null==n?l=window.btoa(rstr_md5(d+":"+amtsysstate.AMT_GeneralSettings.response.DigestRealm+":"+v)):(d=null,n=btoa(n));if(-1!=b)for(var p in amtstack.RealmNames)(amtstack.RealmNames[p]||3==p)&&Q("rx"+p).checked&&a.push(p);null==b?amtstack.AMT_AuthorizationService_AddUserAclEntryEx(d,
function updateRealms(b){QV(61,null!=b);if(null!=b){var c="<li><label><inputtype=checkboxonchange=updateAccountDialog()id=rx3"+(0<=b.indexOf(3)?"checked":"")+">Beheerder</label></li><hr/>",a;for(a in amtstack.RealmNames){var d="";0<=b.indexOf(parseInt(a))&&(d=" checked");amtstack.RealmNames[a]&&(c+="<li><label><inputtype=checkboxonchange=updateAccountDialog()id=rx"+a+d+">"+amtstack.RealmNames[a]+"</label></li>")}QH(62,c)}}
function updateAccountDialog(){var b=!0;if("none"!=Q(61).style.display){var b=!1,c;for(c in amtstack.RealmNames)(amtstack.RealmNames[c]||3==c)&&Q("rx"+c).checked&&(b=!0)}b&&(b=0<d2username.value.length&&passwordcheck(d2password1.value)&&d2password1.value==d2password2.value);QE("c54",b)}var xxUserPermissions=["Alleen lokaal","Alleen netwerk","Alles (lokaal en netwerk)"];
function showUserDetails(b){if(!xxdialogMode){var c=xxAccountRealmInfo[b],a="<divstyle=text-align:left>",d,e=c.DigestUsername;e||(e=GetSidString(atob(c.KerberosUserSid)));a+=addHtmlValue("Naam",e);xxAccountEnabledInfo[b]&&(a+=addHtmlValue("Staat",1==xxAccountEnabledInfo[b].Enabled?"Ingeschakeld":"Gehandicapt"));if(e==xxAccountAdminName)a+=addHtmlValue("Toestemming","Beheerder");else{var a=a+addHtmlValue("Toestemming",xxUserPermissions[c.AccessPermission]),v="";if(0<=c.Realms.indexOf(3))v="Beheerder",
0<=c.Realms.indexOf(20)&&(v+=", Auditor");else for(d in xxAccountRealmInfo[b].Realms)""!=amtstack.RealmNames[c.Realms[d]]&&(0<v.length&&(v+=","),v+=amtstack.RealmNames[c.Realms[d]]);0==v.length&&(v="Geen");a+=addHtmlValue("Rijken","")+"<b>"+v+"</b>"}messagebox("Account"+e,a+"</div>")}}
function wsmanQuery(){QH(24,"");var b=getSelectedOptions(Q(22)),c=[],a;for(a in b)""==QS("WSB-"+b[a]).display&&c.push(b[a]);0!=c.length&&(QE(23,!1),c&&0<c.length&&amtstack.BatchEnum("Browser",c,browserResponse,null,!0))}
function browserResponse(b,c,a,d){QE(23,!0);b="";for(var e in a)c=a[e],b+="<h2>"+e+"</h2><divstyle=margin-left:20px>",b=200==c.status?0==c.responses.length?b+"<br>(Leeg)":b+ObjectToString(c.responses).replace(/Intel\(r\)/g,"Intel®"):b+("<br><divstyle=color:red>Fout #"+c.status+"</div>"),b+="</div><br>";QH(24,b)}
function wsmanFilter(){var b=c0.value.toLowerCase(),c;for(c in AllWsman)QV("WSB-"+AllWsman[c],""==b||0<=AllWsman[c].toLowerCase().indexOf(b))}function connectTerminal(){terminal&&(0==terminal.State?(terminal.tlsv1only=amtstack.wsman.comm.tlsv1only,terminal.Start(currentMeshNode._id,16994,"*","*",0)):terminal.Stop())}
function onTerminalStateChange(b,c){c4.value=0==c?"Aansluiten":"verbinding verbreken";Q(29).textContent=StatusStrs[c];QE(34,3==c);QE("TermWD",3==c);switch(c){case 0:b.m.TermResetScreen();b.m.TermDraw();3==xxdialogMode&&setDialogMode();QV("termRecordIcon",!1);2==b.disconnectCode?messagebox("Remote Terminal","The remote device is busy, a session may already be open."):3==b.disconnectCode&&messagebox("Remote Terminal","The device indicated that this type of connection of not supported.");
function terminalCaptureToggle(b){if(!xxdialogMode)if(void 0==terminal.m.capture)terminal.m.capture="",c3.value="Stop Capture";else{if(0<terminal.m.capture.length){b="TerminalCapture";varc=newDate;amtsysstate&&(b+="-"+amtsysstate.AMT_GeneralSettings.response.HostName);b+="-"+c.getFullYear()+"-"+("0"+(c.getMonth()+1)).slice(-2)+"-"+("0"+c.getDate()).slice(-2)+"-"+("0"+c.getHours()).slice(-2)+"-"+("0"+c.getMinutes()).slice(-2);saveAs(data2blob(terminal.m.capture),b+".txt")}deleteterminal.m.capture;
function webRtcDesktopReset(){if(null!=webRtcDesktop){null!=webRtcDesktop.softdesktop&&(webRtcDesktop.softdesktop.Stop(),webRtcDesktop.softdesktop=null);if(null!=webRtcDesktop.webchannel){try{webRtcDesktop.webchannel.close()}catch(b){}webRtcDesktop.webchannel=null}if(null!=webRtcDesktop.webrtc){try{webRtcDesktop.webrtc.close()}catch(b){}webRtcDesktop.webrtc=null}webRtcDesktop=null;desktop.m.hold(!1);updateDesktopState();p24files=null;p24downloadFileCancel();p24uploadFileCancel();QV("go24",!1);24==
function connectDesktop(b){desktop&&!xxdialogMode&&(connectDesktopConsent=!1,0==desktop.State?!0!==b&&5<amtversion&&null!=amtsysstate&&null!=amtsysstate.IPS_OptInService&&void0!=amtsysstate.IPS_OptInService.response&&4294967295==amtsysstate.IPS_OptInService.response.OptInRequired?(connectDesktopConsent=!0,amtstack.Get("IPS_OptInService",powerActionResponse0,0,1)):(desktop.m.useRLE=0!=(desktopsettings.encflags&1),desktop.m.bpp=desktopsettings.encflags&2?2:1,15<amtversion&&null!=amtsysstate&&null!=
p24targetpath="";webRtcDesktop.softdesktop.onControlMsg=onFilesControlData;webRtcDesktop.softdesktop.sendCtrlMsg(JSON.stringify({action:"ls",reqid:1,path:""}))},webRtcDesktop.webchannel.onclose=function(a){urlvars.kvmdatatrace&&console.log("WebRTC Data Channel Closed");webRtcDesktopReset()},webRtcDesktop.webrtc.onicecandidate=function(a){null==a.candidate?desktop.m.sendKvmData(JSON.stringify({action:"offer",ver:1,sdp:webRtcDesktop.webrtcoffer.sdp})):webRtcDesktop.webrtcoffer.sdp+="a="+a.candidate.candidate+
function ProcessDesktopDisplayInfo(b,c,a,d){200!=d?desktopScreenInfo=null:(desktopScreenInfo=a.IPS_ScreenSettingData.responses.Body,desktopScreenInfo.KVMRSD=a.IPS_KVMRedirectionSettingData.responses.Body,UpdateDesktopDisplayInfo())}
function UpdateDesktopDisplayInfo(){for(var b="",c=0,a=0;3>a;a++)1==desktopScreenInfo.IsActive[a]&&(c++,b+='<inputtype="button"'+(a==desktopScreenInfo.KVMRSD.DefaultScreen?'style="background-color:DodgerBlue"':"")+'value="'+(a+1)+'"title="Switch to screen '+(a+1)+'"onkeypress="return false"onkeydown="return false"onclick="desktopSwitchScreen('+a+')"> ');1<c?Q(42).innerHTML=b+" ":Q(42).innerHTML=""}
function desktopSwitchScreen(b){var c=Clone(desktopScreenInfo.KVMRSD);c.DefaultScreen=b;amtstack.Put("IPS_KVMRedirectionSettingData",c,desktopSwitchScreenEx)}function desktopSwitchScreenEx(b,c,a,d){200==d&&(desktopScreenInfo.KVMRSD=a.Body,UpdateDesktopDisplayInfo())}
function onDesktopStateChange(b,c){var a=!1;c10.value=0==c?"Aansluiten":"verbinding verbreken";var d=3==c&&!urlvars.kvmviewonly;QE(43,d);QE("deskkeys",d);QE("DeskWD",d);QE(44,d);switch(c){case 0:webRtcDesktopReset();QV("deskRecordIcon",!1);2==b.disconnectCode?messagebox("Extern bureaublad","The remote device is busy, a session may already be open."):3==b.disconnectCode?messagebox("Extern bureaublad","The device indicated that this type of connection of not supported."):
5E4==b.disconnectCode?messagebox("Extern bureaublad","KVM disconnection, they may indicate that Intel AMT is unable to capture the display (Try RLE8 encoding), or unsupported GPU."):50001==b.disconnectCode&&(a=!0);break;case 3:12<=amtversion&&b.m.sendKvmData(JSON.stringify({action:"present",ver:1})),1==b.serverIsRecording&&QV("deskRecordIcon",!0)}center();updateDesktopState();a&&setTimeout(connectDesktop,200)}
function updateDesktopState(){var b="";3==desktop.State&&(webRtcDesktop&&1==webRtcDesktop.webRtcActive?b=", Soft-KVM":desktop.m&&desktop.m.kvmExt&&1==desktop.m.kvmExt.compression&&(b+=", Compressed"));Q(40).textContent=StatusStrs[desktop.State]+b}function showDesktopSettings(){xxdialogMode||(applyDesktopSettings(),setDialogMode(7,"Instellingen voor extern bureaublad",3,showDesktopSettingsChanged))}
function showDesktopSettingsChanged(){desktopsettings.encflags=parseInt(c11.value);desktopsettings.showmouse=d7showcursor.checked;desktopsettings.showcad=d7showcad.checked;desktopsettings.limitFrameRate=d7limitFrameRate.checked;desktopsettings.noMouseRotate=d7noMouseRotate.checked;desktopsettings.quality=d7bitmapquality.value;desktopsettings.scaling=d7bitmapscaling.value;try{localStorage.setItem("desktopsettings",JSON.stringify(desktopsettings))}catch(b){}applyDesktopSettings();desktop.m.frameRateDelay=
function applyDesktopSettings(){d7showcursor.checked=desktopsettings.showmouse;d7showcad.checked=desktopsettings.showcad;d7limitFrameRate.checked=desktopsettings.limitFrameRate;d7noMouseRotate.checked=desktopsettings.noMouseRotate;desktopsettings.quality&&(d7bitmapquality.value=desktopsettings.quality);desktopsettings.scaling&&(d7bitmapscaling.value=desktopsettings.scaling);QV("d7softkvmsettings",12<=amtversion);var b=desktopsettings.encflags,c="";15<amtversion&&null!=amtsysstate&&null!=amtsysstate.IPS_KVMRedirectionSettingData&&
function deskToggleFull(b){xxdialogMode||(1==fullscreenonly?(console.log("deskToggleFull1",fullscreenonly,urlvars.kvmonly),fullscreenonly=!1,1==urlvars.kvmonly?console.log("deskToggleFull2"):disconnect()):(fullscreenonly=b,fullscreen=!fullscreen,QV(7,!fullscreen),QV(35,!fullscreen),QV("c5",!fullscreen),QV("c9",fullscreen),fullscreen?(QS(8).left=0,QS(14).padding=0):(QS(8).left="156px",QS(14).padding=
"8px"),center()))}function deskShowTypeDialog(){xxdialogMode||3!=desktop.State||(Q(44).blur(),setDialogMode(11,"Externe toetsenbordinvoer",3,showDeskTypeEx,'<div>Voer tekst in en klik op OK om deze op afstand te typen met een Amerikaans Engels toetsenbord. Zorg ervoor dat u de externe cursor op de juiste positie plaatst voordat u doorgaat.<div><textareaid=d2typeTextstyle="margin-top:5px;width:100%;height:184px;resize:none"maxlength=2000></textarea>'),Q("d2typeText").focus())}
var AmtDeskTypeTimer=null,AmtDeskTypeContent=null,DeskTypeTranslate={39:222,42:106,43:107,44:188,45:189,46:190,47:191,59:186,61:187,91:219,92:220,93:221,96:192,191:111},DeskTypeShiftTranslate={33:49,34:222,35:51,36:52,37:53,38:55,40:57,41:48,58:186,60:188,62:190,63:191,64:50,94:54,95:189,106:56,107:187,123:219,124:220,125:221,126:192};
function showDeskTypeEx(){var b=Q("d2typeText").value;Q("d2typeText").value.toUpperCase();var c=[],a;for(a in b){var d=b.charCodeAt(a);c.push([d,1],[d,0])}AmtDeskTypeContent=c;AmtDeskTypeTimer=setInterval(function(){var a=AmtDeskTypeContent.shift();desktop&&desktop.m.sendkey(a[0],a[1]);if(null==desktop||0==AmtDeskTypeContent.length)clearInterval(AmtDeskTypeTimer),AmtDeskTypeContent=null},10)}function sendCAD(){Q(48).checked||desktop.m.sendcad()}
var deskkeysset={0:[[65511,1],[65511,0]],1:[[65511,1],[65364,1],[65364,0],[65511,0]],2:[[65511,1],[65362,1],[65362,0],[65511,0]],3:[[65511,1],[108,1],[108,0],[65511,0]],4:[[65511,1],[109,1],[109,0],[65511,0]],5:[[65505,1],[65511,1],[109,1],[109,0],[65511,0],[65505,0]],6:[[65470,1],[65470,0]],7:[[65471,1],[65471,0]],8:[[65472,1],[65472,0]],9:[[65473,1],[65473,0]],10:[[65474,1],[65474,0]],11:[[65475,1],[65475,0]],12:[[65476,1],[65476,0]],13:[[65477,1],[65477,0]],14:[[65478,1],[65478,0]],15:[[65479,
function deskSendKeys(){if(!Q(48).checked){var b=Q("deskkeys").value;if(null!=b&&null!=deskkeysset[b]&&0!=desktop.State)for(var c=0;c<deskkeysset[b].length;c++)desktop.m.sendkey(deskkeysset[b][c][0],deskkeysset[b][c][1])}}
function deskSaveImage(){if(!(xxdialogMode||3!=desktop.State||urlvars&&urlvars.norecord)){var b="Desktop",c=new Date;amtsysstate&&(b+="-"+amtsysstate.AMT_GeneralSettings.response.HostName);b+="-"+c.getFullYear()+"-"+("0"+(c.getMonth()+1)).slice(-2)+"-"+("0"+c.getDate()).slice(-2)+"-"+("0"+c.getHours()).slice(-2)+"-"+("0"+c.getMinutes()).slice(-2);Q("Desk").toBlob(function(a){saveAs(a,b+".jpg")})}}
function dmousedown(b){xxdialogMode||Q(48).checked||(null!=webRtcDesktop&&null!=webRtcDesktop.softdesktop?(webRtcDesktop.softdesktop.m.mousedown(b),desktop.m.sendKeepAlive()):desktop.m.mousedown(b))}function dmouseup(b){xxdialogMode||Q(48).checked||(null!=webRtcDesktop&&null!=webRtcDesktop.softdesktop?(webRtcDesktop.softdesktop.m.mouseup(b),desktop.m.sendKeepAlive()):desktop.m.mouseup(b))}
function dmousemove(b){xxdialogMode||Q(48).checked||(null!=webRtcDesktop&&null!=webRtcDesktop.softdesktop?(webRtcDesktop.softdesktop.m.mousemove(b),desktop.m.sendKeepAlive()):desktop.m.mousemove(b))}function dmousewheel(b){xxdialogMode||Q(48).checked||null==webRtcDesktop||null==webRtcDesktop.softdesktop||(webRtcDesktop.softdesktop.m.mousewheel(b),desktop.m.sendKeepAlive())}
function drotate(b){xxdialogMode||(b=desktop.m.rotation+b,desktop.m.setRotation(b),null!=webRtcDesktop&&null!=webRtcDesktop.softdesktop&&null!=webRtcDesktop.softdesktop.m&&webRtcDesktop.softdesktop.m.setRotation(b),center())}var p24files=null,p24filetree=null,p24targetpath=null,p24filetreelocation=[];
function onFilesControlData(b){if(0<b.length&&123!=b.charCodeAt(0))p24gotDownloadBinaryData(b);elseif(b=JSON.parse(b),"download"==b.action)p24gotDownloadCommand(b);elseif("upload"==b.action)p24gotUploadData(b);elseif("pong"!=b.action)if(b.path=b.path.replace(/\//g,"\\"),null!=p24filetree&&b.path==p24filetree.path){varc=p24getCheckedNames();p24filetree=b;p24updateFiles(c)}else{for(varc=b.path.split("/").join("\\"),a=p24targetpath.split("/").join("\\");0<c.length&&"\\"==c[0];)c=c.substring(1);
function p24updateFiles(b){var c="",a="",d="<astyle=cursor:pointeronclick=p24folderup(0)>Wortel</a>",e=p24filetree.path.split("\\");p24filetreelocation=[];for(var v in e)""!=e[v]&&p24filetreelocation.push(e[v]);for(v in p24filetreelocation)d+=" / <astyle=cursor:pointeronclick=p24folderup("+(parseInt(v)+1)+")>"+p24filetreelocation[v]+"</a>";var e=p24filetreelocation.join("/"),n=p24sort_files(p24filetree.dir);for(v in n){var l=n[v],p=l.n,q;q=70<p.length?'<spantitle="'+EscapeHtml(p)+'">'+EscapeHtml(p.substring(0,
function p24folderup(b){if(null==b)p24filetreelocation.pop();else for(;p24filetreelocation.length>b;)p24filetreelocation.pop();p24targetpath=p24filetreelocation.join("/");p24files.sendCtrlMsg(JSON.stringify({action:"ls",reqid:1,path:p24targetpath}))}var p24sortorder;function p24sort_filename(b,c){return b.ln>c.ln?1*p24sortorder:b.ln<c.ln?-1*p24sortorder:0}functionp24sort_timestamp(b,c){returnb.d>c.d?1*p24sortorder:b.d<c.d?-1*p24sortorder:0}
function p24sort_bysize(b,c){return b.s==c.s?p24sort_filename(b,c):(b.s-c.s)*p24sortorder}function p24sort_files(b){var c=[],a=Q("p24sortdropdown").value,d;for(d in b)b[d].nx=d,null==b[d].s&&(b[d].s=0),null==b[d].n&&(b[d].n=d),b[d].ln=b[d].n.toLowerCase(),c.push(b[d]);p24sortorder=1;3<a&&(p24sortorder=-1,a-=3);1==a?c.sort(p24sort_filename):2==a?c.sort(p24sort_bysize):3==a&&c.sort(p24sort_timestamp);returnc}
function p24setActions(){if(null==p24filetree)QE("p24DeleteFileButton",!1),QE("p24NewFolderButton",!1),QE("p24UploadButton",!1),QE("p24RenameFileButton",!1),QE("p24SelectAllButton",!1),Q("p24SelectAllButton").value="Selecteer alles",QE("p24RefreshButton",!1),QE("p24CutButton",!1),QE("p24CopyButton",!1),QE("p24PasteButton",!1);else{var b=p24getFileSelCount(),c=p24getFileCount(),a=p24getFileSelCount(!1),d="win32"==webRtcDesktop.platform;QE("p24DeleteFileButton",0<b&&(0<p24filetreelocation.length||0==
function p24createfolder(){setDialogMode(11,"Nieuwe map",3,p24createfolderEx,"<inputtype=textid=p24renameinputmaxlength=64onkeyup=p24fileNameCheck(event)style=width:100%/>");focusTextBox("p24renameinput");p24fileNameCheck()}function p24createfolderEx(){p24files.sendCtrlMsg(JSON.stringify({action:"mkdir",reqid:1,path:p24filetreelocation.join("/")+"/"+Q("p24renameinput").value}));p24folderup(999)}
function p24deletefile(){var b=p24getFileSelCount();setDialogMode(11,"Verwijderen",3,p24deletefileEx,1<b?"Delete"+b+"selecteditems?":"Deleteselecteditem?")}functionp24deletefileEx(){for(varb=[],c=document.getElementsByName("fd"),a=0;a<c.length;a++)c[a].checked&&b.push(p24filetree.dir[c[a].value].n);p24files.sendCtrlMsg(JSON.stringify({action:"rm",reqid:1,path:p24filetreelocation.join("/"),delfiles:b}));p24folderup(999)}
function p24renamefile(){for(var b,c=document.getElementsByName("fd"),a=0;a<c.length;a++)c[a].checked&&(b=p24filetree.dir[c[a].value].n);setDialogMode(11,"Hernoemen",3,p24renamefileEx,'<inputtype=textid=p24renameinputmaxlength=64onkeyup=p24fileNameCheck(event)style=width:100%value="'+b+'"/>',{action:"rename",path:p24filetreelocation.join("/"),oldname:b});focusTextBox("p24renameinput");p24fileNameCheck()}
function p24renamefileEx(b,c){c.newname=Q("p24renameinput").value;p24files.sendCtrlMsg(JSON.stringify(c));p24folderup(999)}function p24fileNameCheck(b){var c=isFilenameValid(Q("p24renameinput").value);QE("c54",c);1==c&&null!=b&&24==b.keyCode&&dialogclose(1)}
function p24uploadFile(){setDialogMode(11,"Upload bestand",3,p24uploadFileEx,"<inputtype=filename=filesid=p24uploadinputstyle=width:100%multiple=multipleonchange=\"updateUploadDialogOk('p24uploadinput')\"/>");updateUploadDialogOk("p24uploadinput")}function p24uploadFileEx(){p24doUploadFiles(Q("p24uploadinput").files)}function updateUploadDialogOk(b){QE("c54",""!=Q(b).value)}var p24clipboard=null,p24clipboardFolder=null,p24clipboardCut=0;
function p24copyFile(b){var c=document.getElementsByName("fd");p24clipboard=[];p24clipboardCut=b;p24clipboardFolder=p24targetpath;for(b=0;b<c.length;b++)c[b].checked&&"3"==c[b].attributes.file.value&&p24clipboard.push(p24filetree.dir[c[b].value].n);p24updateClipview()}
function p24pasteFile(){var b="";null!=p24clipboard&&0<p24clipboard.length&&(b="Confim "+(0==p24clipboardCut?"copy":"move")+"of"+p24clipboard.length+"entrie"+(1<p24clipboard.length?"s":"")+"tothislocation?");setDialogMode(11,"Plakken",3,p24pasteFileEx,b)}
function p24pasteFileEx(){p24files.sendCtrlMsg(JSON.stringify({action:0==p24clipboardCut?"copy":"move",reqid:1,scpath:p24clipboardFolder,dspath:p24targetpath,names:p24clipboard}));p24folderup(999);1==p24clipboardCut&&(p24clipboardFolder=p24clipboard=null,p24clipboardCut=0,p24updateClipview())}
function p24updateClipview(){var b="";null!=p24clipboard&&0<p24clipboard.length&&(b="Holding "+p24clipboard.length+"entrie"+(1<p24clipboard.length?"s":"")+"for"+(0==p24clipboardCut?"copy":"move")+",<aonclick=p24clearClip()style=cursor:pointer>Clear</a>.");QH("p24bottomstatus",b);p24setActions()}function p24clearClip(){p24clipboardFolder=p24clipboard=null;p24clipboardCut=0;p24updateClipview()}
function p24fileDragDrop(b){haltEvent(b);QV("p24bigfail",!1);QV("p24bigok",!1);null!=b.dataTransfer&&0!=b.dataTransfer.files.length&&null!=p24filetree&&(0==p24filetreelocation.length&&"win32"==webRtcDesktop.platform||p24doUploadFiles(b.dataTransfer.files))}var p24dragtimer=null;
function p24fileDragOver(b){haltEvent(b);null!=p24dragtimer&&(clearTimeout(p24dragtimer),p24dragtimer=null);b=null!=p24filetree;0==p24filetreelocation.length&&"win32"==webRtcDesktop.platform&&(b=!1);QV("p24bigok",b);QV("p24bigfail",!b)}function p24fileDragLeave(b){haltEvent(b);"p24filetable"!=b.target.id?(QV("p24bigfail",!1),QV("p24bigok",!1)):p24dragtimer=setTimeout(function(){QV("p24bigfail",!1);QV("p24bigok",!1);p24dragtimer=null},200)}
function getFileSizeStr(b){return 1==b?"1 byte":format("{0} bytes",b)}function joinPaths(){var b=[],c;for(c in arguments){var a=arguments[c];if(null!=a&&""!=a){for(;a.endsWith("/")||a.endsWith("\\");)a=a.substring(0,a.length-1);for(;a.startsWith("/")||a.startsWith("\\");)a=a.substring(1);b.push(a)}}return b.join("/")}var isFilenameValid=function(){var b=/^[^\\/:\*\?"<>\|]+$/,c=/^\./,a=/^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i;return function(d){return b.test(d)&&!c.test(d)&&!a.test(d)&&"."!=d[0]}}();
function focusTextBox(b){setTimeout(function(){Q(b).selectionStart=Q(b).selectionEnd=65535;Q(b).focus()},0)}var downloadFile;
function p24downloadfile(b,c,a){xxdialogMode||downloadFile||!p24files||(downloadFile={path:decodeURIComponent(b),file:decodeURIComponent(c),size:a,tsize:0,data:"",state:0,id:Math.random()},p24files.sendCtrlMsg(JSON.stringify({action:"download",sub:"start",id:downloadFile.id,path:downloadFile.path})),setDialogMode(11,"Download bestand",10,p24downloadFileCancel,"<div>"+downloadFile.file+"</div><br/><progressid=d2progressBarstyle=width:100%value=0max="+a+"/>"))}
function p24downloadFileCancel(){null!=downloadFile&&(setDialogMode(0),null!=p24files&&p24files.sendCtrlMsg(JSON.stringify({action:"download",sub:"cancel",id:downloadFile.id})),downloadFile=null)}function p24gotDownloadCommand(b){null!=downloadFile&&b.id==downloadFile.id&&("start"==b.sub?(downloadFile.state=1,p24files.sendCtrlMsg(JSON.stringify({action:"download",sub:"startack",id:downloadFile.id}))):"cancel"==b.sub&&(downloadFile=null,setDialogMode(0)))}
function p24gotDownloadBinaryData(b){if(downloadFile&&0!=downloadFile.state){try{b=atob(b)}catch(c){return}null==b||4>b.length||(4<b.length&&(downloadFile.tsize+=b.length-4,downloadFile.data+=b.substring(4),Q("d2progressBar").value=downloadFile.tsize),0!=(ReadInt(b,0)&1)?(saveAs(data2blob(downloadFile.data),downloadFile.file),downloadFile=null,setDialogMode(0)):p24files.sendCtrlMsg(JSON.stringify({action:"download",sub:"ack",id:downloadFile.id})))}}varuploadFile;
function p24doUploadFiles(b){xxdialogMode||(uploadFile={xpath:p24filetreelocation.join("/"),xfiles:b,xfilePtr:-1},setDialogMode(11,"Upload bestand",10,p24uploadFileCancel,"<divid=p24dfileName>Opzetten...</div><br/><progressid=d2progressBarstyle=width:100%value=0max=0/>",99),p24uploadNextFile())}
function p24uploadNextFile(){uploadFile.xfilePtr++;if(uploadFile.xfiles.length>uploadFile.xfilePtr){uploadFile.xptr=0;var b=uploadFile.xfiles[uploadFile.xfilePtr];QH("p24dfileName",b.name);Q("d2progressBar").max=b.size;Q("d2progressBar").value=0;uploadFile.xreader=new FileReader;uploadFile.xreader.onload=function(){uploadFile.xdata=uploadFile.xreader.result;p24files.sendCtrlMsg(JSON.stringify({action:"upload",sub:"start",reqid:uploadFile.xfilePtr,path:uploadFile.xpath,name:b.name,size:uploadFile.xdata.byteLength}))};
function p24gotUploadData(b){if(null!=uploadFile&&parseInt(uploadFile.xfilePtr)==parseInt(b.reqid))if("start"==b.sub)for(p24uploadNextPart(!1),b=0;8>b;b++)p24uploadNextPart(!0);else"ack"==b.sub?p24uploadNextPart(!1):"error"==b.sub&&p24uploadFileCancel()}function ab2str(b){return String.fromCharCode.apply(null,new Uint8Array(b))}
function p24uploadNextPart(b){var c=uploadFile.xdata,a=uploadFile.xptr,d=uploadFile.xptr+4096;if(d>c.byteLength){if(1==b)return;d=c.byteLength}a==c.byteLength?p24uploadNextFile():(p24files.sendCtrlMsg(btoa(IntToStr(d!=c.byteLength?16777216:16777217)+ab2str(c.slice(a,d)))),uploadFile.xptr=d,Q("d2progressBar").value=d)}var ider,iderCodeBlock,iderTimer;
function iderStart(b){if(!xxdialogMode){b="<div>Mount disk images op een Intel® AMT computer - Experimenteel.</div><br/>"+('<divstyle=height:26px><inputid=floppyImageInputtype=filestyle=float:right;width:250pxaccept=".img"><div>'+NoBreak("Floppy (.img)")+"</div></div>");b+='<divstyle=height:26px><inputid=cdromImageInputtype=filestyle=float:right;width:250pxaccept=".iso"><div>'+NoBreak("CDROM (.iso)")+"</div></div>";setDialogMode(11,"Opslagomleiding",3,iderStart2,b+"<divstyle=height:26px><selectid=iderStartTypestyle=float:right;width:250px><optionvalue=0>Bij de volgende keer opstarten<optionvalue=1>Bevallig<optionvalue=2>Onmiddellijk</select><div>Sessie start</div></div>");
function iderStart2(){if(1!=Q("floppyImageInput").files.length&&1!=Q("cdromImageInput").files.length)messagebox("Fout opslagomleiding","Er moet ten minste \u00e9\u00e9n schijfimagebestand worden geselecteerd.");else if(1==Q("floppyImageInput").files.length&&0!=Q("floppyImageInput").files[0].size%512)messagebox("Fout opslagomleiding","Ongeldig .img-bestand.");else if(1==Q("cdromImageInput").files.length&&0!=Q("cdromImageInput").files[0].size%2048)messagebox("Fout opslagomleiding","Ongeldig .iso-bestand.");
function iderStart3(b,c,a){iderStop();ider=CreateAmtRedirect(CreateAmtRemoteIder());ider.onStateChanged=onIderStateChange;ider.m.floppy=b;ider.m.cdrom=c;ider.m.iderStart=a;ider.m.sectorStats=iderSectorStats;ider.tlsv1only=amtstack.wsman.comm.tlsv1only;ider.Start(currentMeshNode._id,16994,"*","*",0);QV("IDERDiskMapButton",!0)}
function iderStop(){ider&&(ider.m.Stop(),ider.onStateChanged=null,ider.m.onDialogPrompt=null,delete ider);iderTimer&&(clearInterval(iderTimer),delete iderTimer);iderToggleDiskMap(!1)}function onIderStateChange(b,c){QE("c2",3!=c);QE("c8",3!=c);QE("c1",3!=c);QE("c7",3!=c);QV(9,3==c);center();3==c?(urlvars.norefresh||(iderTimer=setInterval(onIderTimer,500)),onIderTimer()):iderTimer&&(clearInterval(iderTimer),delete iderTimer)}
function onIderTimer(){ider.m.Update&&ider.m.Update();-1==ider.m.bytesFromAmt?iderStop():QH(10,"<b>"+(ider.m.server?"Server":"")+"IDE-R-sessie </b>, verbonden,"+ider.m.bytesFromAmt+" in,"+ider.m.bytesToAmt+" uit.")}var heatMapWidth=600,heatMapDividor={};
function iderSectorStats(b,c,a,d,e){var v=c?Q("cdromHeatMapCanvas"):Q("floppyHeatMapCanvas"),n=v.getContext("2d");if(0==b){heatMapDividor[c]=1;if(0<a)for(;8E3<a/heatMapDividor[c];)heatMapDividor[c]*=2;c?(QV("cdromHeatMap",a),QH("cdromHeatMapText",format("<b> CDROM </b>, blokken zijn {0} bytes.",2048*heatMapDividor[c]))):(QV("floppyHeatMap",a),QH("floppyHeatMapText",format("<b> Floppy </b>, blokken zijn {0} bytes.",512*heatMapDividor[c])))}c=heatMapDividor[c];a/=c;d/=c;e/=c;if(0==b)v.height=6*(Math.floor(a/
function iderToggleDiskMap(b){var c="none"!=QS("iderHeatmap").display;null==b&&(b=!c);xxdialogMode&&(b=!1);QS("iderHeatmap").display=b?"":"none"}function onIderDialogPrompt(b,c,a){iderCodeBlock&&(document.body.removeChild(iderCodeBlock),delete iderCodeBlock);c.js&&(b=document.createElement("script"),b.text=c.js,iderCodeBlock=document.body.appendChild(b));setDialogMode(11,"Opslagomleiding",a?a:3,onIderDialogPromptOk,c.html)}
function onIderDialogPromptOk(b){1==b?window.iderServerCall?ider.m.dialogPrompt(window.iderServerCall()):ider.m.dialogPrompt():iderStop()}function iderServerStart(){xxdialogMode||(iderStop(),ider=CreateAmtRemoteServerIder(),null!=ider&&(ider.onStateChanged=onIderStateChange,ider.m.sectorStats=iderSectorStats,ider.m.onDialogPrompt=onIderDialogPrompt,ider.tlsv1only=amtstack.wsman.comm.tlsv1only,ider.Start(currentMeshNode._id,16994,"*","*",0)))}
var xxRemoteAccess=null,xxEnvironementDetection=null,xxCiraServers=null,xxUserInitiatedCira=null,xxUserInitiatedEnabledState={32768:"Gehandicapt",32769:"BIOS ingeschakeld",32770:"OS inschakelen",32771:"BIOS & OS ingeschakeld"},xxRemoteAccessCredentiaLinks=null,xxMPSUserPass=null,xxPolicies=null;
function PullRemoteAccess(){var b="*AMT_EnvironmentDetectionSettingData AMT_ManagementPresenceRemoteSAP AMT_RemoteAccessCredentialContext AMT_RemoteAccessPolicyAppliesToMPS AMT_RemoteAccessPolicyRule *AMT_UserInitiatedConnectionService AMT_MPSUsernamePassword".split(" ");11<amtversion&&b.push("*IPS_HTTPProxyService","IPS_HTTPProxyAccessPoint");amtstack.BatchEnum(null,b,processRemote1)}
function processRemote1(b,c,a,d){if(11<amtversion&&400==d){d=200;400==a.IPS_HTTPProxyAccessPoint.status&&deletea.IPS_HTTPProxyAccessPoint;400==a.IPS_HTTPProxyService.status&&deletea.IPS_HTTPProxyService;for(vareina)200!=a[e].status&&(d=a[e].status)}if(400!=d&&!errcheck(d,b)&&void0!=a.AMT_UserInitiatedConnectionService&&void0!=a.AMT_UserInitiatedConnectionService.response){QV("go17",!0);xxRemoteAccess=a;xxEnvironementDetection=a.AMT_EnvironmentDetectionSettingData.response;xxEnvironementDetection.DetectionStrings=
MakeToArray(xxEnvironementDetection.DetectionStrings);xxCiraServers=a.AMT_ManagementPresenceRemoteSAP.responses;xxUserInitiatedCira=a.AMT_UserInitiatedConnectionService.response;xxRemoteAccessCredentiaLinks=a.AMT_RemoteAccessCredentialContext.responses;xxMPSUserPass=a.AMT_MPSUsernamePassword.responses;xxPolicies={User:[],Alert:[],Periodic:[]};for(e in a.AMT_RemoteAccessPolicyAppliesToMPS.responses)c=a.AMT_RemoteAccessPolicyAppliesToMPS.responses[e],b=Clone(getItem(xxCiraServers,"Name",getItem(c.ManagedElement.ReferenceParameters.SelectorSet.Selector,
function updateRemoteAccess(){if(null!=xxEnvironementDetection){var b,c="Gehandicapt",a=xxRemoteAccess.IPS_HTTPProxyService&&xxRemoteAccess.IPS_HTTPProxyAccessPoint;xxEnvironementDetection.DetectionStrings&&0<xxEnvironementDetection.DetectionStrings.length&&(c="Ingeschakeld,"+xxEnvironementDetection.DetectionStrings.length+""+(1<xxEnvironementDetection.DetectionStrings.length?"domains":"domain"));b=""+TableStart();b+=TableEntry("Omgevingsdetectie",addLink(c,"editEnvironmentDetection()"));b+=TableEntry("Optiesvoorgebruikersinitiatie",
"Periodiek");if(e){var v=atob(e.ExtendedData);0==ReadInt(v,0)&&(c+=format(", elke {0} seconden",ReadInt(v,4)));1==ReadInt(v,0)&&(e=ReadInt(v,4),v=ReadInt(v,8),10>v&&(v="0"+v),c+=", at "+e+":"+v+" daily")}b+=TableEntry("Periodieke verbinding",addLinkConditional(c,'editMpsPolicy("Periodic")',xxAccountAdminName));b+=TableEnd();b=b+"<br>"+TableStart2();b+="<tr><tdclass=r1style=padding-left:15px><br>Beheer Intel® AMT servers voor extern beheer.<br><br>";if(0==xxCiraServers.length)b+="<divstyle=padding-left:15px><br><i>Geen externe servers gevonden.</i></div><br>";
else for(d in xxCiraServers)c=":"+xxCiraServers[d].Port,xxCiraServers[d].CN&&(c+=", "+xxCiraServers[d].CN),b+="<divclass=itemBaronclick=showServerDetails("+d+")><divstyle=padding-top:3px><b>"+xxCiraServers[d].AccessInfo+"</b>"+EscapeHtml(c)+"</div></div>";if(a)if(b+="<br>Beheer HTTP-proxy's die worden gebruikt voor beheerverbindingen.<br><br>",c=xxRemoteAccess.IPS_HTTPProxyAccessPoint.responses,0==c.length)b+="<divstyle=padding-left:15px><br><i>Geen proxy's geconfigureerd.</i></div><br>";else for(d in c)b+=
function editMpsPolicy(b){var c="",a=11<amtversion||11==amtversion&&6<=amtversionmin,d=xxEditMpsPolicyType=b;"User"==d&&(d="Gebruikergestart");vard=getItem(xxRemoteAccess.AMT_RemoteAccessPolicyRule.responses,"PolicyRuleName",d),c=c+"<divstyle=height:26px><selectid=d2server1style=float:right;width:206pxonchange=editMpsPolicyUpdate()><optionvalue=-1>(Geen)",e;for(e in xxCiraServers)c+="<optionvalue="+e+""+(xxPolicies[b][0]&&xxPolicies[b][0].Name==xxCiraServers[e].Name?"selected":"")+">"+xxCiraServers[e].AccessInfo;
c+="</select><div>Primaire server</div></div>";a&&(c+="<divstyle=height:26px><selectid=d2server1cirastyle=float:right;width:206pxonchange=editMpsPolicyUpdate()><optionvalue=0>CIRA - Extern<optionvalue=1"+(xxPolicies[b][0]&&1==xxPolicies[b][0].MpsType?"selected":"")+">CILA - Intern</select><div>Primair MPS-type</div></div>");if(1<xxCiraServers.length){c+="<divstyle=height:26px><selectid=d2server2style=float:right;width:206pxonchange=editMpsPolicyUpdate()>";c+="<optionvalue=-1>(Geen)";for(e in xxCiraServers)c+=
function editMpsPolicyUpdate(){var b=11<amtversion||11==amtversion&&6<=amtversionmin,c=1>=xxCiraServers.length||-1==Q("d2server1").value||Q("d2server1").value!=Q("d2server2").value;if(1==c&&"Periodic"==xxEditMpsPolicyType&&1==Q("d2ttype").value){var a=Q("d2timer").value.split(":");if(2!=a.length)c=!1;else{var d=parseInt(a[0]),a=parseInt(a[1]);if(0>d||23<d||0>a||59<a)c=!1}}QE("c54",c);1<xxCiraServers.length&&QE("d2server2",-1!=Q("d2server1").value);"Periodic"==xxEditMpsPolicyType&&(QE("d2timer",
-1!=Q("d2server1").value),QH("ttypelabel",0==Q("d2ttype").value?"Triggerinterval (seconden)":"Tijd van de dag (UU: MM)"),QE("d2ttype",-1!=Q("d2server1").value));QE("d2lifetime",-1!=Q("d2server1").value);b&&(QE("d2server1cira",-1<Q("d2server1").value),1<xxCiraServers.length&&QE("d2server2cira",-1<Q("d2server1").value&&-1<Q("d2server2").value))}
function editMpsPolicyOk(){var b=xxEditMpsPolicyType;"User"==b&&(b="User Initiated");getItem(xxRemoteAccess.AMT_RemoteAccessPolicyRule.responses,"PolicyRuleName",b)?amtstack.Delete("AMT_RemoteAccessPolicyRule",{PolicyRuleName:b},editMpsPolicyOk2):editMpsPolicyOk2()}
function editEnvironmentDetection(b){1!=b&&(editEnvironmentDetectionTmp=xxEnvironementDetection.DetectionStrings?Clone(xxEnvironementDetection.DetectionStrings):[]);var c="";xxAccountAdminName&&(c+="Voer maximaal 5 domeinachtervoegsels in. Als de computer zich buiten deze domeinen bevindt, worden de lokale Intel® AMT-poorten gesloten en zijn externe serververbindingen actief.<br><br>");0==editEnvironmentDetectionTmp.length&&(c+="<i>Geen intranetdomeinen, omgevingsdetectie uitgeschakeld.</i><br>");
for(var a in editEnvironmentDetectionTmp)c+="<divclass=itemBarstyle=margin-right:0><divstyle=float:right>"+AddButton2("Verwijderen","editEnvironmentDetectionRemove("+a+")")+'</div><divstyle=padding-top:3px;max-width:260px;overflow:hiddentitle="'+editEnvironmentDetectionTmp[a]+'"><b>'+editEnvironmentDetectionTmp[a]+"</b></div></div>";xxAccountAdminName&&5>editEnvironmentDetectionTmp.length&&(c+="<br><inputid=edInputplaceholder=intranet.orgstyle=width:276pxonkeyup=edInputChg()maxlength=63><inputtype=buttonid=edAddvalue=Addstyle=width:80px;margin-left:5pxonclick=editEnvironmentDetectionAdd()>");
function editEnvironmentDetectionDlg2(b,c,a,d){200!=d?messagebox("Omgevingsdetectie",format("Kan server, status {0} niet toevoegen",d)):a.Body.ReturnValue&&0!=a.Body.ReturnValue?messagebox("Omgevingsdetectie",a.Body.ReturnValueStr.replace(/_/g," ")):PullRemoteAccess()}function edInputChg(){5>editEnvironmentDetectionTmp.length&&QE("edAdd",0<Q("edInput").value.length)}functioneditEnvironmentDetectionAdd(){editEnvironmentDetectionTmp.push(Q("edInput").value);editEnvironmentDetection(1)}
function editEnvironmentDetectionRemove(b){editEnvironmentDetectionTmp.splice(b,1);editEnvironmentDetection(1)}function editUserInitiatedCira(){if(!xxdialogMode){var b="",c;for(c in xxUserInitiatedEnabledState)b+="<inputtype=radioname=d11id=wl"+c+"value="+c+""+(xxUserInitiatedCira.EnabledState==c?"checked":"")+">"+xxUserInitiatedEnabledState[c]+"<br>";setDialogMode(11,"Door gebruiker gestarte tunnel",3,editUserInitiatedCiraDlg,b)}}
function editUserInitiatedCiraDlg(){amtstack.AMT_UserInitiatedConnectionService_RequestStateChange(document.querySelector("input[name=d11]:checked").value,null,editUserInitiatedCiraDlg2)}function editUserInitiatedCiraDlg2(b,c,a,d){200==d&&amtstack.Get("AMT_UserInitiatedConnectionService",editUserInitiatedCiraDlg3,0,1)}function editUserInitiatedCiraDlg3(b,c,a,d){200==d&&(xxUserInitiatedCira=a.Body,updateRemoteAccess())}var xxShowServerDetailsHandle;
function showServerDetails(b){xxShowServerDetailsHandle=b;var c=xxCiraServers[b],a;a=""+addHtmlValue("Toegangsnaam",c.AccessInfo);c.Port&&(a+=addHtmlValue("Haven",c.Port));c.CN&&(a+=addHtmlValue("Gemeenschappelijke naam",c.CN));if(c=getElementWithContextSelectorValue(xxRemoteAccessCredentiaLinks,c.Name))c=c.ElementInContext.ReferenceParameters.SelectorSet.Selector.Value,0<c.indexOf("Username")?(a+=addHtmlValue("Verificatietype","Gebruiker&Pass/Server-AuthTLS"),a+=addHtmlValue("ExterneID",getInstance(xxMPSUserPass,
c).RemoteID)):(a+=addHtmlValue("Verificatietype","TLS voor certificaat / wederzijdse verificatie"),c=getInstance(xxCertificates,c),a+=addHtmlValue("Certificaatnaam",parseCertName(c.Subject).CN));c=1;xxAccountAdminName&&(c=5);setDialogMode(11,"Externe server #"+(b+1),c,showServerDetailsOk,a)}
function getElementWithContextSelectorValue(b,c){for(var a in b){b[a].ElementProvidingContext.ReferenceParameters.SelectorSet.Selector=MakeToArray(b[a].ElementProvidingContext.ReferenceParameters.SelectorSet.Selector);for(var d in b[a].ElementProvidingContext.ReferenceParameters.SelectorSet.Selector)if(b[a].ElementProvidingContext.ReferenceParameters.SelectorSet.Selector[d].Value==c)return b[a]}return null}
function showServerDetailsOk(b){2==b&&amtstack.Delete("AMT_ManagementPresenceRemoteSAP",{Name:xxCiraServers[xxShowServerDetailsHandle].Name},showServerDetailsOk2)}function showServerDetailsOk2(b,c,a,d){408==d?messagebox("Externe server verwijderen","Kan server niet verwijderen, toegang geweigerd."):PullRemoteAccess()}function parseCertName(b){var c={},a=b.split(","),d;for(d in a)b=a[d].indexOf("="),c[a[d].substring(0,b)]=a[d].substring(b+1);return c}
function showProxyDetails(b){var c=xxRemoteAccess.IPS_HTTPProxyAccessPoint.responses[b],a=addHtmlValue("Toegangsnaam",c.AccessInfo+":"+c.ProxyPort),a=a+addHtmlValue("DNS-suffex",c.NetworkDnsSuffix),a=a+addHtmlValue("Proxy-type",["Administrator","Operating system"][c.Type]),c=1;xxAccountAdminName&&(c=5);setDialogMode(11,"Http-proxy #"+(b+1),c,showProxyDetailsOk,a,b)}
function showProxyDetailsOk(b,c){var a=xxRemoteAccess.IPS_HTTPProxyAccessPoint.responses[c];2==b&&amtstack.Delete("IPS_HTTPProxyAccessPoint",{Name:a.Name},showProxyDetailsOk2)}function showProxyDetailsOk2(b,c,a,d){408==d?messagebox("HTTP-proxy verwijderen","Kan HTTP-proxy niet verwijderen, toegang geweigerd."):PullRemoteAccess()}
function AddRemoteAccessProxyUpdate(){var b=0!=Q("d2host").value.length&&0!=Q("d2domain").value.length;if(0==Q("d2port").value.length||65535<parseInt(Q("d2port").value))b=!1;QE("c54",b);QH("d2typespan",["","","FQDN/hostnaam","IPv4-adres","IPv6-adres"][Q("d2type").value])}functionAddRemoteAccessProxyOk(){amtstack.IPS_HTTPProxyService_AddProxyAccessPoint(Q("d2host").value,Q("d2type").value,parseInt(Q("d2port").value),Q("d2domain").value,AddRemoteAccessProxyOk2)}
function AddRemoteAccessProxyOk2(b,c,a,d){200!=d?messagebox("Voeg proxyserver toe","Kan proxy, status niet toevoegen"+d):0!=a.Body.ReturnValue?messagebox("Voeg proxyserver toe",a.Body.ReturnValueStr.replace(/_/g," ")):PullRemoteAccess()}
function AddRemoteAccessServer(){var b=[],c;for(c in xxCertificates)xxCertificates[c].XPrivateKey&&b.push(xxCertificates[c]);var a;a="<divstyle=height:26px><selectid=d2typestyle=float:right;width:206pxonchange=AddRemoteAccessServerUpdate()><optionvalue=201>Hostnaam FQDN<optionvalue=3>IPv4-adres</select><div>Connectie type</div></div><divstyle=height:26px><inputid=d2namestyle=float:right;width:200pxonkeyup=AddRemoteAccessServerUpdate()><divid=d2lname></div></div>";a+='<divstyle=height:26px><inputid=d2portonkeypress="return (event.charCode == 0 || (event.charCode >= 48 && event.charCode <= 57))"style=float:right;width:200pxvalue=4433onkeyup=AddRemoteAccessServerUpdate()><div>Server poort</div></div>';
a+="<divstyle=height:26px><inputid=d2passstyle=float:right;width:200pxonkeyup=AddRemoteAccessServerUpdate()><div>Sterk wachtwoord</div></div>";a+="</span>";a+="<spanid=d2ctype>";a+="<divstyle=height:26px><selectid=d2certstyle=float:right;width:206pxonchange=AddRemoteAccessServerUpdate()>";for(c in b)a+="<optionvalue="+b[c].InstanceID.substring(34)+">"+parseCertName(b[c].Subject).CN;a+="</select><div>Certificaat</div></div></span>";setDialogMode(11,"Voeg externe server toe",3,AddRemoteAccessServerOk,
a);AddRemoteAccessServerUpdate()}
function AddRemoteAccessServerOk(){var b,c,a,d;1==Q("d2auth").value?b='<Addressxmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing</Address><ReferenceParametersxmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing"><ResourceURIxmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">http://intel.com/wbem/wscim/1/amt-schema/1/AMT_PublicKeyCertificate</ResourceURI><SelectorSetxmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"><SelectorName="InstanceID">Intel(r) AMT Certificate: Handle: '+Q("d2cert").value+
function AddRemoteAccessServerOk2(b,c,a,d){200!=d?messagebox("Voeg internetserver toe",format("Kan server, status {0} niet toevoegen",d)):0!=a.Body.ReturnValue?messagebox("Voeg internetserver toe",a.Body.ReturnValueStr.replace(/_/g," ")):PullRemoteAccess()}
function AddRemoteAccessServerUpdate(){var b=0!=Q("d2name").value.length;3==Q("d2type").value&&1==b&&(b=0!=Q("d2cn").value.length);2==Q("d2auth").value&&1==b&&(b=0!=Q("d2user").value.length&&passwordcheck(Q("d2pass").value));if(0==Q("d2port").value.length||65535<parseInt(Q("d2port").value))b=!1;if(-1!=Q("d2name").value.indexOf(":")||3==Q("d2type").value&&-1!=Q("d2cn").value.indexOf(":"))b=!1;QH("d2lname",201==Q("d2type").value?"Hostnaam":"IPv4-adres");QV("d2utype",2==Q("d2auth").value);QV("d2ucn",
function showEditNameDlg(b){if(!xxdialogMode){var c=amtsysstate.AMT_GeneralSettings.response.HostName,a=amtsysstate.AMT_GeneralSettings.response.DomainName;null!=a&&0<a.length&&(c+="."+a);c='<br><divstyle=height:26px><inputid=d11namevalue="'+c+'"style=float:right;width:200px><div>Naam & domein</div></div>';1==b&&(b=1==amtsysstate.AMT_GeneralSettings.response.SharedFQDN,c+="<divstyle=height:26px><selectid=d11fqdnstyle=float:right;width:200px><optionvalue=true"+(b?"selected":"")+'>Gedeeld, hetzelfde als OS<optionvalue="false"'+
(b?"":"selected")+">Toegewijd, anders dan besturingssysteem</select><div>Naam delen</div></div>");setDialogMode(11,"Computer naam",3,editNameDlgOk,c)}}function editNameDlgOk(){var b=Q("d11name").value,c=b.indexOf("."),a="";0<=c&&(a=b.substring(c+1),b=b.substring(0,c));c=Clone(amtsysstate.AMT_GeneralSettings.response);c.HostName=b;c.DomainName=a;Q("d11fqdn")&&(c.SharedFQDN=d11fqdn.value);amtstack.Put("AMT_GeneralSettings",c,function(){amtstack.Get("AMT_GeneralSettings",computerNameGet,0,1)},0,1)}
function computerNameGet(b,c,a,d){200==d&&(amtsysstate.AMT_GeneralSettings.response=a.Body,updateSystemStatus())}function showEditDnsDlg(){if(!xxdialogMode){var b=amtsysstate.AMT_GeneralSettings.response,c=0;1==b.DDNSUpdateByDHCPServerEnabled&&(c=1);1==b.DDNSUpdateEnabled&&(c=2);c36.value=c;c37.value=b.DDNSPeriodicUpdateInterval;c38.value=b.DDNSTTL;showEditDnsDlgChange();setDialogMode(23,"Dynamische DNS-client",3,showEditDnsDlgOk)}}
function showEditDnsDlgOk(){var b=Clone(amtsysstate.AMT_GeneralSettings.response);b.DDNSUpdateEnabled=2==c36.value?!0:!1;b.DDNSUpdateByDHCPServerEnabled=1==c36.value?!0:!1;2==c36.value&&(b.DDNSPeriodicUpdateInterval=c37.value,b.DDNSTTL=c38.value);amtstack.Put("AMT_GeneralSettings",b,function(){amtstack.Get("AMT_GeneralSettings",computerNameGet,0,1)},0,1)}
function showEditDnsDlgChange(){QE("c37",2==c36.value);QE("c38",2==c36.value)}function showFeaturesDlg(){!xxdialogMode&&xxAccountAdminName&&(c14.checked=amtfeatures[0],c16.checked=amtfeatures[3],c17.checked=amtfeatures[2],c18.checked=amtfeatures[1],QV("c15",null!=amtfeatures[3]),setDialogMode(9,"Intel® AMT-functies",3,featuresDlgOk))}
function featuresDlgOk(){var b=amtsysstate.AMT_RedirectionService.response;b.ListenerEnabled=c14.checked;b.EnabledState=32768+((c17.checked?1:0)+(c18.checked?2:0));amtstack.AMT_RedirectionService_RequestStateChange(b.EnabledState,function(c,a,d,e){200!=e?messagebox("Fout","RedirectionService, RequestStateChange-fout"+e):null!=amtfeatures[3]&&amtstack.CIM_KVMRedirectionSAP_RequestStateChange(c16.checked?2:3,0,function(a,c,d,e){200!=e?messagebox("Fout","KVMRedirectionSAP, RequestStateChange-fout"+
function showEnableBootServiceDlg(){xxdialogMode||(null!=amtsysstate.CIM_BootService.response.EnabledState&&(QV("d26rpediv",15<amtversion),15<amtversion&&(c49.checked=amtsysstate.CIM_BootService.response.EnabledState&2,c50.checked=!c49.checked),c51.checked=amtsysstate.CIM_BootService.response.EnabledState&1,c52.checked=!c51.checked),setDialogMode(26,"BootFeatures",3,showEnableBootServiceDlgOk))}
function showEnableBootServiceDlgOk(){var b=32768+parseInt(document.querySelector("input[name=d26a]:checked").value);15<amtversion&&(b+=parseInt(document.querySelector("input[name=d26b]:checked").value));amtstack.CIM_BootService_RequestStateChange(b,null,showEnableBootServiceDlgResponse,b)}
function showEnableBootServiceDlgResponse(b,c,a,d,e){200==d?("SUCCESS"!=a.Body.ReturnValueStr&&messagebox("Boot Features Error",a.Body.ReturnValueStr),amtstack.Get("CIM_BootService",showEnableBootServiceDlgResponse2,e),PullSystemStatus()):a.Header.WsmanError?messagebox("Boot Features Error",a.Header.WsmanError.replace(/_/g," ")):messagebox("Boot Features Error","Error, Status = "+d)}
function showEnableBootServiceDlgResponse2(b,c,a,d,e){200==d&&a.Body.EnabledState!=e&&messagebox("Boot Features Error","Unable to set OCR/RPE, check that these features are enabled in BIOS.")}function showConsentDlg(){if(!xxdialogMode){var b=amtsysstate.IPS_OptInService.response.OptInRequired;c19.checked=0==b;c20.checked=1==b;c21.checked=4294967295==b;setDialogMode(10,"Toestemming van de gebruiker",3,consentDlgOk)}}
function consentDlgOk(){amtsysstate.IPS_OptInService.response.OptInRequired=document.querySelector("input[name=d10]:checked").value;amtstack.Put("IPS_OptInService",amtsysstate.IPS_OptInService.response,function(){amtstack.Get("IPS_OptInService",consentGet,0,1)},0,1)}function consentGet(b,c,a,d){200==d&&PullSystemStatus()}var ipv6addrtype="Koppel het lokale adres;Lokaal netwerkadres;Wereldwijd adres;Door gebruiker geconfigureerd;Niet toegestaan;DAD in uitvoering;Geldig;verouderd;voorkeur / verouderd;niet meer geldig;botsing;niet toegestaan".split(";");
function showIPv6AddrDlg(b,c){if(!xxdialogMode){var a=TableStart();t=c.split(",");for(var d=0;d<t.length;d+=3)a+=TableEntry("<b>"+t[d]+"</b><br><spanstyle=font-size:10px>"+ipv6addrtype[t[d+1]]+","+ipv6addrtype[+t[d+2]+5]+"</span>","");setDialogMode(11,0==b?"IPv6-adressen voor bedrade interface":"IPv6-adressen voor draadloze interface",1,null,a+TableEnd())}}
!ipv6manual;d21o2.checked=c&&ipv6manual;c31.value=isIpAddress(a.IPv6Address,"");c33.value=isIpAddress(a.DefaultRouter,"");c34.value=isIpAddress(a.PrimaryDNS,"");c35.value=isIpAddress(a.SecondaryDNS,"");setDialogMode(21,0==b?"IPv6-ondersteuning voor bedrade interface":"IPv6-ondersteuning voor draadloze interface",3,function(){showIPv6StateDlgOk(b)});updateIPSetupDlg()}}
function showIPv6StateDlgOk(b){var c='<w:SelectorSet><w:SelectorName="InstanceID">Intel(r) IPS IPv6 Settings '+b+"</w:Selector></w:SelectorSet>",a=amtsysstate.IPS_IPv6PortSettings.responses[b];0==b&&(d21o1.checked&&(a.IPv6Address=a.DefaultRouter=a.PrimaryDNS=a.SecondaryDNS="::",amtstack.Put("IPS_IPv6PortSettings",a,showIPv6StateDlgDone,null,0,c)),d21o2.checked&&(a.IPv6Address=""==c31.value?"::":c31.value.toLocaleLowerCase(),a.DefaultRouter=""==c33.value?"::":c33.value.toLocaleLowerCase(),
b+"</w:Selector></w:SelectorSet></a:ReferenceParameters></a:EndpointReference></w:Selector></w:SelectorSet>",e=Clone(c[a]);e.IsCurrent=d21o0.checked?2:1;amtstack.Put("CIM_ElementSettingData",e,showIPv6StateDlgDone,null,0,d)}}function showIPv6StateDlgDone(b,c,a,d){200==d?(amtsysstate=void 0,PullSystemStatus()):messagebox("IPv6-ondersteuning",format("Kan IPv6-status niet instellen, fout {0}",d))}
function showPingActionDlg(){if(!xxdialogMode){var b=amtsysstate.AMT_GeneralSettings.response,b=(1==b.PingResponseEnabled)+((1==b.RmcpPingResponseEnabled)<<1);d20a.checked=0==b;d20b.checked=1==b;d20c.checked=2==b;d20d.checked=3==b;setDialogMode(20,"Intel®AMTPing-reactie",3,showPingActionDlgOk)}}
function showPingActionDlgOk(){var b=Clone(amtsysstate.AMT_GeneralSettings.response),c=document.querySelector("input[name=d20]:checked").value;b.PingResponseEnabled=0!=(c&1);b.RmcpPingResponseEnabled=0!=(c&2);amtstack.Put("AMT_GeneralSettings",b,PullSystemStatus,0,1)}
function showIPSetupDlg(){if(!xxdialogMode&&null!=amtsysstate){var b=amtsysstate.AMT_EthernetPortSettings.responses[0];QV(68,6<amtversion);6<amtversion&&(Q("d21ipsync").checked=b.IpSyncEnabled);QV(69,!0);QV(70,!0);QV("d21o0",!1);QV("d21l0",!1);QH("d21l1","AutomatischeconfiguratiemetDHCP-server");QH("d21l2","StatischeconfiguratiemetonderstaandeIPv4-instellingen");d21o1.checked=1==b.DHCPEnabled;d21o2.checked=!d21o1.checked;c31.value=isIpAddress(b.IPAddress,
function powerActionResponse00(b,c,a,d){if(200==d){b=3;try{b=2==amtsysstate.CIM_ServiceAvailableToElement.responses[0].PowerState?1:2}catch(e){}amtPowerBootCapabilities=a.Body;QH("d5actionSelect","");b&2&&addOption("d5actionSelect","Opstarten",2);b&1&&(addOption("d5actionSelect","Reset",10),addOption("d5actionSelect","Power cyclus",5),addOption("d5actionSelect","Stroomstoring",8));1==amtPowerBootCapabilities.ForceDiagnosticBoot&&(b&2&&addOption("d5actionSelect","Schakel diagnostisch in",300),b&1&&
addOption("d5actionSelect","Reset naar diagnose",301));9<amtversion&&b&1&&(addOption("d5actionSelect","OSWakefromStandby",500),addOption("d5actionSelect","OSenergiebesparing",501),addOption("d5actionSelect","Soft-off",12),addOption("d5actionSelect","Zachtereset",14),addOption("d5actionSelect","Slaap",4),addOption("d5actionSelect","Slaapstand",7));1==amtPowerBootCapabilities.BIOSSetup&&(b&2&&addOption("d5actionSelect","SchakelnaarBIOS",100),b&1&&addOption("d5actionSelect","ResetnaarBIOS",
101));1==amtPowerBootCapabilities.SecureErase&&(b&2&&addOption("d5actionSelect","Schakel in op Secure Erase",104),b&1&&addOption("d5actionSelect","Reset naar Secure Erase",105));null!=amtPowerBootCapabilities.PlatformErase&&null!=amtsysstate.CIM_BootService&&32768<=amtsysstate.CIM_BootService.response.EnabledState&&amtsysstate.CIM_BootService.response.EnabledState&2&&(b&2&&addOption("d5actionSelect","Power up to Platform Erase",106),b&1&&addOption("d5actionSelect","Reset to Platform Erase",107));
b&1&&addOption("d5actionSelect","Reset naar IDE-R Floppy",200);b&2&&addOption("d5actionSelect","Schakel de IDE-R-diskette in",201);b&1&&addOption("d5actionSelect","Reset naar IDE-R CDROM",202);b&2&&addOption("d5actionSelect","Schakel in op IDE-R CDROM",203);b&1&&addOption("d5actionSelect","Reset naar PXE",400);b&2&&addOption("d5actionSelect","Schakel PXE in",401);addOption("d5actionSelect","Maatwerk actie ...",999);5<amtversion&&addOption("d5actionSelect","Toestemmingvandegebruiker...",998);setDialogMode(5,
"Krachtige acties",3,powerActionDlgCheck)}else messagebox("Krachtige actie",format("Kan systeemmogelijkheden niet krijgen, fout {0}",d))}
function powerActionDlgCheck(){AmtOcrPba=null;AmtOcrPbaLength=0;var b=d5actionSelect.value;500==b||501==b?amtstack.RequestOSPowerStateChange(501==b?3:2,function(b,a,d,e){200==e?QH(60,"Krachtactie voltooid."):QH(60,format("Power action error # {0}.",e));setDialogMode(1,"Krachtige actie",0);setTimeout(function(){setDialogMode(0)},1300)}):104==b||105==b?(b="Uitvoering van Intel® Remote Secure Erase bevestigen?<br>Voer indien nodig Secure Erase-wachtwoord in.<br><br><divstyle=height:16px><inputtype=passwordid=rsepassmaxlength=32style=float:right;width:240px><div>Wachtwoord</div></div><br><divstyle=color:red><b> WAARSCHUWING: </b> Hierdoor worden gegevens op het externe systeem gewist.</div>",
function powerActionDlgRPE(b){var c;c="Confirm execution of Intel® Remote Platform Erase?<br><br><divstyle=color:red><b> WAARSCHUWING: </b> Hierdoor worden gegevens op het externe systeem gewist.</div>";var a=[],d=amtPowerBootCapabilities.PlatformErase;d&2&&a.push("<label><inputid=rpef1type=checkboxonchange=powerActionDlgRPEValidate()>Pyrite Revert</label>");d&4&&a.push("<label><inputid=rpef2type=checkboxonchange=powerActionDlgRPEValidate()>Secure Erase All SSDs</label>");d&64&&a.push("<label><inputid=rpef6type=checkboxonchange=powerActionDlgRPEValidate()>TPM Clear</label>");
d&33554432&&a.push("<label><inputid=rpef25type=checkboxonchange=powerActionDlgRPEValidate()>Clear BIOS NVM Variables</label>");d&67108864&&a.push("<label><inputid=rpef26type=checkboxonchange=powerActionDlgRPEValidate()>BIOS Reload of Golden Configuration</label>");d&-2147483648&&a.push("<label><inputid=rpef31type=checkboxonchange=powerActionDlgRPEValidate()>CSME Unconfigure</label>");1<a.length&&(c+=format("<br/>Select the actions to take:<br/><br/><divstyle=margin-left:16px>{0}</div><br/>",
function powerActionDlgRPEValidate(){var b=0,c=amtPowerBootCapabilities.PlatformErase,a=[1,2,6,25,26,31],d;for(d in a)c&1<<a[d]&&Q("rpef"+a[d]).checked&&(b+=1<<a[d]);QV("rpepsid",b&2);QV("rpessdpass",b&4);QE("c54",b)}var platfromEraseTLV=null;
function powerActionDlgRPEEx(b,c){var a=0,d=amtPowerBootCapabilities.PlatformErase,e=[1,2,6,25,26,31],v;for(v in e)d&1<<e[v]&&Q("rpef"+e[v]).checked&&(a+=1<<e[v]);d=makeUefiBootParam(1,a,4);e=1;a&2&&(d+=makeUefiBootParam(10,Q("rpepsidx").value),e++);a&4&&(d+=makeUefiBootParam(20,Q("rpessdpassx").value),e++);platfromEraseTLV={tlv:btoa(d),tlvlen:e};c?(statusbox("Krachtige actie","Status controleren ..."),amtstack.Get("IPS_OptInService",powerActionResponse0,0,1)):powerActionDlg()}
function powerActionDlg(){var b=d5actionSelect.value;if(999==b)showAdvPowerDlg();else if(998==b)amtstack.Get("IPS_OptInService",powerActionResponse0,0,1);else{10>b&&2<b&&null==urlvars.noredirdisconnect&&(3==desktop.State&&connectDesktop(),3==terminal.State&&connectTerminal(),void0!=ider&&3==ider.state&&iderStop());statusbox("Krachtigeactie","Statuscontroleren...");null!=rsepass&&1===rsepass&&(rsepass=Q("rsepass").value);varc=!0;6>amtversion&&(c=!1);13==currentView&&8==b&&(c=!1);13!=currentView&&
function showAdvPowerDlg(){try{Q("c39").value=2==amtsysstate.CIM_ServiceAvailableToElement.responses[0].PowerState?10:2}catch(b){}QV("d24dBiosPause",1==amtPowerBootCapabilities.BIOSPause);QV("d24dBiosSecureBoot",1==amtPowerBootCapabilities.BIOSSecureBoot);QV("d24dReflashBios",1==amtPowerBootCapabilities.BIOSReflash);QV("d24dBiosSetup",1==amtPowerBootCapabilities.BIOSSetup);QV("ForceDVDBootOption",1==amtPowerBootCapabilities.ForceCDorDVDBoot);QV("ForceDiagBootOption",1==amtPowerBootCapabilities.ForceDiagnosticBoot);
function showAdvPowerDlgChange(){QV("idd_d24IDERBootDevice",Q("d24UseIDER").checked);QV("idd_d24RSEPass",Q("d24SecureErase")?Q("d24SecureErase").checked:!1);var b=500<=Q("c39").value&&600>Q("c39").value;QE("c41",!b);QE("c43",!b);QE("idd_d24IDERBootDevice",!b);QE("c45",!b);QE("idd_d24RSEPass",!b);QE("c54",!0)}
function showAdvPowerDlgOk(){var b=Q("c39").value;500==b||501==b?amtstack.RequestOSPowerStateChange(501==b?3:2,function(b,a,d,e){200==e?QH(60,"Krachtactie voltooid."):QH(60,format("Power action error # {0}.",e));setDialogMode(1,"Krachtige actie",0);setTimeout(function(){setDialogMode(0)},1300)}):(AvdPowerDlg={},AvdPowerDlg.Action=Q("c39").value,AvdPowerDlg.BIOSPause=Q("d24BiosPause").checked,AvdPowerDlg.BIOSSecureBoot=Q("d24BiosSecureBoot").checked,
function powerActionResponse0(b,c,a,d){200!=d?connectDesktopConsent?connectDesktop(!0):messagebox("Krachtige actie",format("Fout # {0}",d)):4294967295==a.Body.OptInRequired&&3!=a.Body.OptInState&&4!=a.Body.OptInState?2==a.Body.OptInState?(d6ConsentText.value="",setDialogMode(6,"Toestemming van de gebruiker",11,powerActionSendConsent),checkConsentDisplay(),consentChanged()):(statusbox("Krachtige actie","Aanmelden starten ..."),amtstack.IPS_OptInService_StartOptIn(powerActionResponseC1,0,1)):connectDesktopConsent?
(setDialogMode(0),connectDesktop(!0)):998==d5actionSelect.value?messagebox("Toestemming van de gebruiker","Geen toestemming van de gebruiker nodig."):(statusbox("Krachtige actie","Opstartinstellingen ophalen ..."),amtstack.Get("AMT_BootSettingData",powerActionResponse1,0,1))}
function powerActionResponseC1(b,c,a,d){200!=d?connectDesktopConsent?(setDialogMode(0),connectDesktop(!0)):messagebox("Krachtige actie",format("Fout #",d)):0!=a.Body.ReturnValue?connectDesktopConsent?(setDialogMode(0),connectDesktop(!0)):messagebox("Fout met toestemming van gebruiker",a.Body.ReturnValueStr.replace(/_/g," ")):(d6ConsentText.value="",setDialogMode(6,"Toestemming van de gebruiker",11,powerActionSendConsent),checkConsentDisplay(),consentChanged(),amtstack.Enum("CIM_ServiceAvailableToElement",
function powerActionSendConsent(b){0==b?amtstack.IPS_OptInService_CancelOptIn(function(){}):(statusbox("Krachtige actie","Gebruikers toestemming sturen ..."),amtstack.IPS_OptInService_SendOptInCode(d6ConsentText.value,powerActionResponseC2,0,1))}
function powerActionResponseC2(b,c,a,d){200!=d?messagebox("Krachtige actie",format("Fout # {0}",d)):0!=a.Body.ReturnValue?amtstack.Get("IPS_OptInService",powerActionResponse0,0,1):connectDesktopConsent?(setDialogMode(0),connectDesktop(!0)):998==d5actionSelect.value?messagebox("Toestemming van de gebruiker","Toestemming van gebruiker geslaagd."):(statusbox("Krachtige actie","Status controleren ..."),amtstack.Get("AMT_BootSettingData",powerActionResponse1,0,1))}
function powerActionResponse3x(b,c,a,d){b=d5actionSelect.value;c=null;if(999==b)0<c41.value&&(c=["ForceCD/DVDBoot","ForcePXEBoot","ForceHard-driveBoot","ForceDiagnosticBoot"][c41.value-1]);else{if(300==b||301==b)c="ForceDiagnosticBoot";if(400==b||401==b)c="ForcePXEBoot";if(600==b||601==b)c="ForceOCRUEFIHTTPSBoot"}Q("c41").value=0;console.log("ChangeBootOrder:"+c);amtstack.CIM_BootConfigSetting_ChangeBootOrder(null==c?c:'<Addressxmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing</Address><ReferenceParametersxmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing"><ResourceURIxmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootSourceSetting</ResourceURI><SelectorSetxmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"><SelectorName="InstanceID">Intel(r) AMT: '+
function checkConsentDisplayResponse1(b,c,a,d){200==d&&(a.Body.DefaultScreen&&(a.Body.DefaultScreen=parseInt(a.Body.DefaultScreen)),a.Body.NumberOfScreens&&(a.Body.NumberOfScreens=parseInt(a.Body.NumberOfScreens)),1==xxchangeConsentDisplay?(xxchangeConsentDisplay=!1,a.Body.DefaultScreen=d6Display.value,amtstack.Put("IPS_SecIOService",a.Body,checkConsentDisplayResponse1)):(d6Display.value=a.Body.DefaultScreen,QV("d6ThirdDisplay",2<a.Body.NumberOfScreens)))}
var xxStorage=null,xxStorageVendors=[],xxStorageApplications=[];function PullStorage(){amtFirstPull|=8;wsstack.comm.PerformAjax("",PullStorageResponse,null,0,"/amt-storage/","GET")}
function PullStorageResponse(b,c,a){0==amtstack.PendingBatchOperations&&refreshButtons(!0);if(200==c){QV("go21",!0);for(c=0;32>c;c++){do a=b.length,b=b.replace(String.fromCharCode(c),"");while(a>b.length)}try{xxStorage=JSON.parse(b)}catch(E){return}xxStorageVendors=[];xxStorageApplications=[];b=xxStorage.content;if(Array.isArray(b)){a={};for(c in b){var d=b[c].vendor?b[c].vendor:"";a[d]||(a[d]={});var e=b[c].app?b[c].app:"";a[d][e]||(a[d][e]={});b[c].name&&(a[d][e][b[c].name]=b[c])}xxStorage.content=
b=a}else{if(b["index.htm"]||b["logon.htm"])b[""]={"":{}};b["index.htm"]&&(b[""][""]["index.htm"]=b["index.htm"],delete b["index.htm"]);b["logon.htm"]&&(b[""][""]["logon.htm"]=b["logon.htm"],delete b["logon.htm"])}d=0;a=TableStart2()+"<tr><tdclass=r1style=padding-left:15px><br>Beheer Intel® AMT-opslag voor deze computer.<br><br>";var v,n,e="";for(c in b){var l=0,p;for(p in b[c]){l++;var q=0,h;for(h in b[c][p]){q++;if(c!=v||p!=n)""!=e&&(a+=e,e="<br>"),v=c,n=p,e=""!=c?e+EscapeHtml(c+" / "+p):e+
function showStorageDetailsEx(b,c){2==b&&wsstack.comm.PerformAjax("",storageDeleteResponse,null,0,"/amt-storage/"+c,"DELETE")}function storageDeleteResponse(b,c){200!=c?messagebox("Opslag",format("Kan bestand (ERR {0}) niet verwijderen, controleer of de computer is ingeschakeld.",c)):PullStorage()}function DownloadFromStorage(b,c,a){xxdialogMode||(haltEvent(a),wsstack.comm.PerformAjax("",DownloadFromStorageEx,c,0,"/amt-storage/"+b,"GET"))}
function DownloadFromStorageEx(b,c,a){200!=c||null==b?console.log(c,"Data = null"):saveAs(data2blob(b),a)}function OpenFromStorage(b,c){if(!xxdialogMode){haltEvent(c);var a=window.open("http://"+wsstack.comm.host+":"+wsstack.comm.port+"/amt-storage/"+b,"_blank","noopener,noreferrer");a.opener=null;a.focus()}}
function PushToStorage(b,c,a){var d=null;7E3<c.length&&(d=[b,c.substring(7E3)],c=c.substring(0,7E3));wsstack.comm.PerformAjax(c,PushToStorageResponse,d,0,"/amt-storage/"+b+(1==a?"?append=":""),"PUT")}functionPushToStorageResponse(b,c,a){200!=c?messagebox("Opslag",format("Kanbestand(ERR{0})nietpushen,controleerofdecomputerisingeschakeld.",c)):null!=a?PushToStorage(a[0],a[1],!0):PullStorage()}
function UploadToStorage(b,c){if(!xxdialogMode){c||(c="");var a;a="<br>Selecteer een klein bestand om naar de opslag te uploaden en voer een leverancier, applicatie en bestandsnaam in.<br>";a=(b?a+('<br><divstyle=height:20px><inputid=mstoragefilestyle=float:right;width:240pxreadonlydisabled=disabledvalue="'+c+'"><div>Upload bestand</div></div>'):a+"<br><divstyle=height:20px><inputtype=fileid=mstoragefilestyle=float:right;width:240pxonchange=SetStorageName()><div>Upload file</div></div>")+
'<br><divstyle=height:16px><inputid=mstoragevendorplaceholder="Verkoper"list=mstoragevendorlistmaxlength=11style=float:right;width:240px><div>Naam van de leverancier</div></div>';a+='<br><divstyle=height:16px><inputid=mstorageapplicationplaceholder="App"list=mstorageapplicationlistmaxlength=11style=float:right;width:240px><div>Naam van de toepassing</div></div>';a+='<br><divstyle=height:16px><inputid=mstoragefilenameplaceholder="Bestandsnaam"maxlength=11style=float:right;width:240px><div>Bestandsnaam</div></div>';
a+="<br><divstyle=height:16px><inputid=mstoragetypeplaceholder=application/octet-streamlist=mstoragetypeliststyle=float:right;width:240px><div>Mime type</div></div>";a+='<br><divstyle=height:16px><inputid=mstoragelinkstyle=float:right;width:240px><divtitle="Indien ingesteld, maakt u een link naar deze inhoud vanaf de hoofdwebpagina">Koppeling</div></div><br>';a+="<datalistid=mstoragevendorlist>";for(var d in xxStorageVendors)a+='<optionvalue="'+xxStorageVendors[d]+'">';a+="</datalist>";
a+="<datalistid=mstorageapplicationlist>";for(d in xxStorageApplications)a+='<optionvalue="'+xxStorageApplications[d]+'">';a+='</datalist><datalistid=mstoragetypelist><optionvalue="application/octet-stream"><optionvalue="image/jpeg"><optionvalue="text/html"><optionvalue="text/plain"></datalist>';setDialogMode(11,"Opslag uploaden",3,UploadToStorageEx,a,b);b&&SetStorageName(c)}}
function UploadToStorageEx(b,c){if(c)d=new FileReader,d.onload=UploadToStorageEx2,d.filename=Q("mstoragefile").value,d.readAsBinaryString(c);else{var a=Q("mstoragefile");if(1==a.files.length){var d=new FileReader;d.onload=UploadToStorageEx2;d.filename=a.files[0].name;d.readAsBinaryString(a.files[0])}}}
function SetStorageName(b){b||(b=Q("mstoragefile"),b=1==b.files.length?b.files[0].name:"");b=b.split(" ").join("");var c=b.split("-");3==c.length&&12>c[0].length&&12>c[1].length&&(Q("mstoragevendor").value=c[0],Q("mstorageapplication").value=c[1],b=c[2]);b=b.split("-").join("");b.endsWith(".gz")&&(b=b.substring(0,b.length-3));b.endsWith(".htm")||b.endsWith(".html")?Q("mstoragetype").value="text/html":b.endsWith(".txt")&&(Q("mstoragetype").value="text/plain");11<b.length&&(b=b.substring(0,11));Q("mstoragefilename").value=
function _fmttimepad(b){for(b=""+b;2>b.length;)b="0"+b;return b}var xxAlarms=null;
function PullAlarms(){var b=TableStart2()+"<tr><tdclass=r1style=padding-left:15px><br>Beheer wekalarmen.<br><br>";amtstack.Enum("IPS_AlarmClockOccurrence",function(c,a,d,e){if(200==e){QV("go23",!0);if(0<d.length)for(xxAlarms=d,c=0;c<d.length;c++)a="<b>"+d[c].ElementName+"</b>, wakker worden "+(new Date(d[c].StartTime.Datetime)).toLocaleString().replace(", "," Bij"),void 0!=d[c].Interval&&(a+=" en elk"+_fmtinterval(d[c].Interval.Interval)),1==d[c].DeleteOnCompletion&&(a+=", verwijder wanneer u klaar bent"),
b+="<divclass=itemBaronclick=showAlertDetails("+c+")><divstyle=float:right>",xxAccountAdminName&&(b+=" "+AddButton2("Bewerk...",'showAddAlarm(" + i + ")')),b+="</div><divstyle=padding-top:3px;width:auto;float:left;overflow-x:hidden>"+a+"</div></div>";else xxAlarms=null,b+="<divstyle=padding-left:15px><br><i>Geen wekkeralarmen geregistreerd.</i></div><br>";d="<div> "+AddRefreshButton("PullAlarms()");xxAccountAdminName&&(d+=AddButton("Verwijder alle alarmen","RemoveAllAlarms()")+AddButton("Toevoegen",
function prepareAlarmOccurenceTemplate(b,c,a,d,e){return'<d:AlarmTemplatexmlns:d="http://intel.com/wbem/wscim/1/amt-schema/1/AMT_AlarmClockService"xmlns:s="http://intel.com/wbem/wscim/1/ips-schema/1/IPS_AlarmClockOccurrence"><s:InstanceID>'+b+'</s:InstanceID><s:StartTime><p:Datetimexmlns:p="http://schemas.dmtf.org/wbem/wscim/1/common">'+a+'</p:Datetime></s:StartTime><s:Interval><p:Intervalxmlns:p="http://schemas.dmtf.org/wbem/wscim/1/common">'+d+"</p:Interval></s:Interval><s:DeleteOnCompletion>"+
e+"</s:DeleteOnCompletion></d:AlarmTemplate>"}function RemoveAllAlarms(){setDialogMode(1,"Verwijder alle wekalarmen",3,RemoveAllAlarmsEx,"Verwijderen van alle wekalarmen bevestigen?")}function RemoveAllAlarmsEx(){var b=xxAlarms.length,c;for(c in xxAlarms)amtstack.Delete("IPS_AlarmClockOccurrence",xxAlarms[c],function(a,c,e,v){0==--b&&PullAlarms()})}
function showAddAlarmOk(b,c){if(2==b)showAlertDetailsDelete(b,c);else{var a=Q("d25alarm_name").value,d=Q("d25alarm_sdate").value.split("-"),e=Q("d25alarm_stime").value.split(":"),d=new Date(d[0],d[1]-1,d[2],e[0],e[1],e[2],0),d=_fmttimepad(d.getUTCFullYear())+"-"+_fmttimepad(d.getUTCMonth()+1)+"-"+_fmttimepad(d.getUTCDate())+"T"+_fmttimepad(d.getUTCHours())+":"+_fmttimepad(d.getUTCMinutes())+":"+_fmttimepad(d.getUTCSeconds())+"Z",e=Q("d25alarm_interval").value.split("-");3!=e.length&&(e=[0,0,0]);var e=
"P"+e[0]+"DT"+e[1]+"H"+e[2]+"M",v=1==Q("d25alarm_doc").value,a=prepareAlarmOccurenceTemplate(a,a,d,e,v);void 0==c?wsstack.ExecMethodXml(amtstack.CompleteName("AMT_AlarmClockService"),"AddAlarm",a,function(a,b,c,d){200!=d?messagebox("Alarm toevoegen",format("Alarm toevoegen mislukt. Status: {0}. <br/> Controleer of het alarm voor de toekomst is.",d)):0!=c.Body.ReturnValue?messagebox("Alarm toevoegen",format("Kan alarm niet toevoegen {0}. <br/> Controleer of het alarm voor de toekomst is.",c.Body.ReturnValueStr)):
PullAlarms()}):(a=Clone(xxAlarms[c]),a.StartTime='<p:Datetimexmlns:p="http://schemas.dmtf.org/wbem/wscim/1/common">'+d+"</p:Datetime>",a.Interval='<p:Intervalxmlns:p="http://schemas.dmtf.org/wbem/wscim/1/common">'+e+"</p:Interval>",a.DeleteOnCompletion=v,amtstack.Put("IPS_AlarmClockOccurrence",a,function(a,b,c,d){200!=d?messagebox("Alarm bewerken",format("Failed to change alarm. Status: {0}.<br/>Verify the alarm for at a future time.",d)):PullAlarms()},null,null,{InstanceID:a.InstanceID}))}}
function showAlertDetails(b){if(!xxdialogMode){var c=xxAlarms[b],a=new Date(c.StartTime.Datetime),a="<divstyle=text-align:left>"+addHtmlValue("Naam",c.ElementName)+addHtmlValue("Wakker worden",a.toLocaleString().replace(", "," at "));void 0!=c.Interval&&(a+=addHtmlValue("Intern",_fmtinterval(c.Interval.Interval)));a+=addHtmlValue("Na het ontwaken",1==c.DeleteOnCompletion?"Alarm verwijderen":"Houd alarm")+"</div>";messagebox(format("Alarm {0}",c.ElementName),a);setDialogMode(11,"Alarm"+c.ElementName,
function setDialogMode(b,c,a,d,e,v){xxdialogMode=b;xxdialogFunc=d;xxdialogButtons=a;xxdialogTag=v;QE("c54",!0);QV("c54",a&1);QV("c53",a&2);QV(58,a&2);QV("c55",a&4);c&&QH(59,c);for(c=1;27>c;c++)QV("dialog"+c,c==b);QV("dialog",b);e&&(11==b?QH(63,e):QH(60,e));0!=xxdialogMode&&iderToggleDiskMap(!1)}
function center(){QS("dialog").left=(getDocWidth()-400)/2+"px";var b=0,c=Q(8).offsetHeight-(0==fullscreen?126:53);""==QS(9).display&&(b+=32);QS(14).height=Q(8).offsetHeight-b-(0==fullscreen?16:0)+"px";QS("Desk")["max-height"]=c-b+"px";QS("Desk")["max-width"]=Q(8).offsetWidth-(0==fullscreen?32:0)+"px";0!=Q(41).offsetWidth&&(QS("Desk")["max-width"]=Q(41).offsetWidth);fullscreen?(QS(14)["overflow-y"]=
function errcheck(b,c){if(null==wsstack||amtstack!=c)return!0;200!=b&&9!=b&&(setDialogMode(),wsstack.comm.FailAllError=999,amtstack.CancelAllQueries(999),QH(5,httpErrorTable[b]?httpErrorTable[b]:format("Fout # {0}",b)),401==b&&QH(5,'Authenticatiefout<br/><br/><inputtype=buttonvalue="Set new credentials"onclick=meshcentral2credCallback(true)></input>'),go(100),QS(3).width=0);return 200!=b}
function goiFrame(b,c,a){if(!xxdialogMode){go(c);if(1==b.shiftKey||0==Q(13).src.endsWith(a))Q(13).src=a;QV(14,!1);QV(12,!0)}}function go(b,c){if(!xxdialogMode||1==c){QV(12,!1);QV(14,!0);QV(4,100==b);QV(6,100>b);for(var a=0;80>a;a++){QV("p"+a,a==b);var d=QS("go"+a);d&&(d["background-color"]=a==b?"#abcae1":"");d&&(d["background-color"]=a==b?"gray":"")}currentView=b;center()}}
function portsFromHost(b,c){b=decodeURIComponent(b);var a=b.split(":"),d=0==c?16992:16993,e=0==c?16994:16995;if(0==a[0].indexOf("[")){a=b.split("]:");if(1==a.length)return{host:b.substring(1,b.length-1),http:d,redir:e};if(1<a.length){varv=a[1].split(":");0<v.length&&(d=parseInt(v[0]));1<v.length&&(e=parseInt(v[1]))}return{host:a[0].substring(1),http:d,redir:e}}1<a.length&&(d=parseInt(a[1]));2<a.length&&(e=parseInt(a[2]));return{host:a[0],http:d,redir:e}}
function TableStart2(){return"<tableclass='log1 us'cellpadding=0cellspacing=0style=width:100%;border-radius:8px><tr><td><p><td>"}function TableEntry(b,c){return"<tr><tdclass=r1><p>"+b+"<tdclass=r1>"+c}function FullTable(b,c){var a=TableStart();for(i in b)i&&b[i]&&(a+=TableEntry(i,b[i]));return a+TableEnd(c)}function TableEnd(b){return"<tr><tdcolspan=2><p>"+(b?b:"")+"</table>"}function AddButton(b,c){return"<inputtype=buttonvalue='"+b+"'onclick='"+c+"'style=margin:4px>"}
function AddButton2(b,c,a){return"<inputtype=buttonvalue='"+b+"'onclick='"+c+"'"+a+">"}function AddRefreshButton(b){return'<inputtype=buttonname=refreshbtnvalue="Vernieuwen"onclick=\'refreshButtons(false);'+b+"'style=margin:4px"+(0==refreshButtonsState?"disabled":"")+">"}function MoreStart(){return'<astyle=cursor:pointer;color:blueid=morexxx1onclick=QV("morexxx1",false);QV("morexxx2",true)>▼ More</a><divid=morexxx2style=display:none><br><hr>'}
function MoreEnd(){return'<astyle=cursor:pointer;color:blueonclick=QV("morexxx2",false);QV("morexxx1",true)>▲ Less</a></div>'}function getSelectedOptions(b){for(var c=[],a,d=0,e=b.options.length;d<e;d++)a=b.options[d],a.selected&&c.push(a.value);returnc}functiongetInstance(b,c){for(varainb)if(b[a].InstanceID==c)returnb[a];returnnull}functiongetItem(b,c,a){for(vardinb)if(b[d][c]==a)returnb[d];returnnull}
function guidToStr(b){return b.substring(6,8)+b.substring(4,6)+b.substring(2,4)+b.substring(0,2)+"-"+b.substring(10,12)+b.substring(8,10)+"-"+b.substring(14,16)+b.substring(12,14)+"-"+b.substring(16,20)+"-"+b.substring(20)}function getUrlVars(){for(var b,c=[],a=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),d=0;d<a.length;d++)b=a[d].indexOf("="),0<b&&(c[a[d].substring(0,b)]=a[d].substring(b+1,a[d].length));returnc}
function getDocWidth(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement.clientWidth:document.getElementsByTagName("body")[0].clientWidth}
function getDocHeight(){return window.innerHeight?window.innerHeight:document.documentElement&&document.documentElement.clientHeight&&0!=document.documentElement.clientHeight?document.documentElement.clientHeight:document.getElementsByTagName("body")[0].clientHeight}function addHtmlValue(b,c){return'<divstyle=height:20px><divstyle=float:right;width:220px;overflow:hidden><btitle="'+c+'">'+c+"</b></div><div>"+b+"</div></div>"}
function addHtmlValueNoTitle(b,c){return"<divstyle=height:20px><divstyle=float:right;width:220px;overflow:hidden>"+c+"</b></div><div>"+b+"</div></div>"}function numbersOnly(b,c){return 0==event.charCode||event.charCode==c||48<=event.charCode&&57>=event.charCode}function format(b){var c=Array.prototype.slice.call(arguments,1);return b.replace(/{(\d+)}/g,function(a,b){return"undefined"!=typeof c[b]?c[b]:a})}startup();