/*! phoscon-app 2024-08-14 */

function StringBuffer(){this.buffer=[]}StringBuffer.prototype.append=function(string){return this.buffer.push(string),this},StringBuffer.prototype.toString=function(){return this.buffer.join("")};var Base64={codex:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){for(var output=new StringBuffer,enumerator=new Utf8EncodeEnumerator(input);enumerator.moveNext();){var chr1=enumerator.current;enumerator.moveNext();var chr2=enumerator.current;enumerator.moveNext();var chr3=enumerator.current,enc1=chr1>>2,enc2=(3&chr1)<<4|chr2>>4,enc3=(15&chr2)<<2|chr3>>6,enc4=63&chr3;isNaN(chr2)?enc3=enc4=64:isNaN(chr3)&&(enc4=64),output.append(this.codex.charAt(enc1)+this.codex.charAt(enc2)+this.codex.charAt(enc3)+this.codex.charAt(enc4))}return output.toString()},decode:function(input){for(var output=new StringBuffer,enumerator=new Base64DecodeEnumerator(input);enumerator.moveNext();){var charCode=enumerator.current;if(charCode<128)output.append(String.fromCharCode(charCode));else if(charCode>191&&charCode<224){enumerator.moveNext();var charCode2=enumerator.current;output.append(String.fromCharCode((31&charCode)<<6|63&charCode2))}else{enumerator.moveNext();charCode2=enumerator.current;enumerator.moveNext();var charCode3=enumerator.current;output.append(String.fromCharCode((15&charCode)<<12|(63&charCode2)<<6|63&charCode3))}}return output.toString()}};function Utf8EncodeEnumerator(input){this._input=input,this._index=-1,this._buffer=[]}function Base64DecodeEnumerator(input){this._input=input,this._index=-1,this._buffer=[]}Utf8EncodeEnumerator.prototype={current:Number.NaN,moveNext:function(){if(this._buffer.length>0)return this.current=this._buffer.shift(),!0;if(this._index>=this._input.length-1)return this.current=Number.NaN,!1;var charCode=this._input.charCodeAt(++this._index);return 13==charCode&&10==this._input.charCodeAt(this._index+1)&&(charCode=10,this._index+=2),charCode<128?this.current=charCode:charCode>127&&charCode<2048?(this.current=charCode>>6|192,this._buffer.push(63&charCode|128)):(this.current=charCode>>12|224,this._buffer.push(charCode>>6&63|128),this._buffer.push(63&charCode|128)),!0}},Base64DecodeEnumerator.prototype={current:64,moveNext:function(){if(this._buffer.length>0)return this.current=this._buffer.shift(),!0;if(this._index>=this._input.length-1)return this.current=64,!1;var enc1=Base64.codex.indexOf(this._input.charAt(++this._index)),enc2=Base64.codex.indexOf(this._input.charAt(++this._index)),enc3=Base64.codex.indexOf(this._input.charAt(++this._index)),enc4=Base64.codex.indexOf(this._input.charAt(++this._index)),chr1=enc1<<2|enc2>>4,chr2=(15&enc2)<<4|enc3>>2,chr3=(3&enc3)<<6|enc4;return this.current=chr1,64!=enc3&&this._buffer.push(chr2),64!=enc4&&this._buffer.push(chr3),!0}};