if(function(a,b){"object"==typeofmodule&&"object"==typeofmodule.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)thrownewError("jQuery requires a window with a document");returnb(a)}:b(a)}("undefined"!=typeofwindow?window:this,function(a,b){functionc(a){varb=a.length,c=_.type(a);return"function"!==c&&!_.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeofb&&b>0&&b-1ina))}functiond(a,b,c){if(_.isFunction(b))return_.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return_.grep(a,function(a){returna===b!==c});if("string"==typeofb){if(ha.test(b))return_.filter(b,a,c);b=_.filter(b,a)}return_.grep(a,function(a){returnU.call(b,a)>=0!==c})}functione(a,b){for(;(a=a[b])&&1!==a.nodeType;);returna}functionf(a){varb=oa[a]={};return_.each(a.match(na)||[],function(a,c){b[c]=!0}),b}functiong(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}functionh(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+Math.random()}functioni(a,b,c){vard;if(void0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeofc){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c)}catch(a){}sa.set(a,b,c)}elsec=void0;returnc}functionj(){return!0}functionk(){return!1}functionl(){try{returnZ.activeElement}catch(a){}}functionm(a,b){return_.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}functionn(a){returna.type=(null!==a.getAttribute("type"))+"/"+a.type,a}functiono(a){varb=Ka.exec(a.type);returnb?a.type=b[1]:a.removeAttribute("type"),a}functionp(a,b){for(varc=0,d=a.length;c<d;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}functionq(a,b){varc,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){deleteg.handle,g.events={};for(einj)for(c=0,d=j[e].length;c<d;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}functionr(a,b){varc=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];returnvoid0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}functions(a,b){varc=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}functiont(b,c){vard,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");returne.detach(),f}functionu(a){varb=Z,c=Oa[a];returnc||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Na[0].contentDocument,b.write(),b.close(),c=t(a,b),Na.detach()),Oa[a]=c),c}functionv(a,b,c){vard,e,f,g,h=a.style;returnc=c||Ra(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||_.contains(a.ownerDocument,a)||(g=_.style(a,b)),Qa.test(g)&&Pa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void0!==g?g+"":g}functionw(a,b){return{get:function(){returna()?voiddeletethis.get:(this.get=b).apply(this,arguments)}}}functionx(a,b){if(bina)returnb;for(varc=b[0].toUpperCase()+b.slice(1),d=b,e=Xa.length;e--;)if(b=Xa[e]+c,bina)returnb;returnd}functiony(a,b,c){vard=Ta.exec(b);returnd?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}functionz(a,b,c,d,e){for(varf=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=_.css(a,c+wa[f],!0,e)),d?("content"===c&&(g-=_.css(a,"padding"+wa[f],!0,e)),"margin"!==c&&(g-=_.css(a,"border"+wa[f]+"Width",!0,e))):(g+=_.css(a,"padding"+wa[f],!0,e),"padding"!==c&&(g+=_.css(a,"border"+wa[f]+"Width",!0,e)));returng}functionA(a,b,c){vard=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g="border-box"===_.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=v(a,b,f),(e<0||null==e)&&(e=a.style[b]),Qa.test(e))ret
vardbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;varBI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;varBI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=newArray,rr,vv;for(rr="0".charCodeAt(0),vv=0;vv<=9;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo;varlowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=b
this.sign()},this.verify=function(a){if(this.sHashHex=this.md.digest(),"undefined"!=typeofthis.ecpubhex&&"undefined"!=typeofthis.eccurvename){varb=newKJUR.crypto.ECDSA({curve:this.eccurvename});returnb.verifyHex(this.sHashHex,a,this.ecpubhex)}if(this.pubKeyinstanceofRSAKey&&"rsaandmgf1"==this.pubkeyAlgName)returnthis.pubKey.verifyWithMessageHashPSS(this.sHashHex,a,this.mdAlgName,this.pssSaltLen);if(this.pubKeyinstanceofRSAKey&&"rsa"==this.pubkeyAlgName)returnthis.pubKey.verifyWithMessageHash(this.sHashHex,a);if(this.pubKeyinstanceofKJUR.crypto.ECDSA)returnthis.pubKey.verifyWithMessageHash(this.sHashHex,a);if(this.pubKeyinstanceofKJUR.crypto.DSA)returnthis.pubKey.verifyWithMessageHash(this.sHashHex,a);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(a,b){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.initVerifyByPublicKey=function(a){throw"initVerifyByPublicKey(rsaPubKeyy) not supported for this alg:prov="+this.algProvName},this.initVerifyByCertificatePEM=function(a){throw"initVerifyByCertificatePEM(certPEM) not supported for this alg:prov="+this.algProvName},this.initSign=function(a){throw"initSign(prvKey) not supported for this alg:prov="+this.algProvName},this.updateString=function(a){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(a){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(a){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(a){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(a){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=a,void0!==a&&(void0!==a.alg&&(this.algName=a.alg,void0===a.prov?this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=a.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void0!==a.psssaltlen&&(this.pssSaltLen=a.psssaltlen),void0!==a.prvkeypem)){if(void0!==a.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{varb=newRSAKey;b.readPrivateKeyFromPEMString(a.prvkeypem),this.initSign(b)}catch(a){throw"fatal error to load pem private key: "+a}}},KJUR.crypto.OID=newfunction(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}},"undefined"!=typeofKJUR&&KJUR||(KJUR={}),"undefined"!=typeofKJUR.crypto&&KJUR.crypto||(KJUR.crypto={}),KJUR.crypto.DSA=function(){functiona(a,b,c,e,f,g){varh=KJUR.crypto.Util.hashString(b,a.toLowerCase()),h=h.substr(0,f.bitLength()/4),i=newBigInteger(h,16),j=d(BigInteger.ONE.add(BigInteger.ONE),f.subtract(BigInteger.ONE)),k=c.modPow(j,e).mod(f),l=j.modInverse(f).multiply(i.add(g.multiply(k))).mod(f),m=newArray;returnm[0]=k,m[1]=l,m}functionb(a){varb=openpgp.config.config.prefer_hash_algorithm;switch(Math.round(a.bitLength()/8)){case20:return2!=b&&b>11&&10!=b&&b<8?2:b;case28:returnb>11&&b<8?11:b;case32:returnb>10&&b<8?8:b;default:returnutil.print_debug("DSA select hash algorithm: returning null for an unknown length of q"),null}}functionc(a,b,c,d,e,f,g,h){vari=KJUR.crypto.Util.hashString(d,a.toLowerCase()),i=i.substr(0,f.bitLength()/4),j=newBigInteger(i,16);if(BigInteger.ZERO.compareTo(b)>0||b.compareTo(f)>0||BigInteger.ZERO.compareTo(c)>0||c.compareTo(f)>0)returnutil.print_error("invalid DSA Signature"),null;vark=c.modInverse(f),l=j.multiply(k).mod(f),m=b.multiply(k).mod(f),n=g.modPow(l,e).multiply(h.modPow(m,e)).mod(e).mod(f);return0==n.compareTo(b)}functiond(a,b){if(!(b.compareTo(a)<=0)){for(varc=b.subtr
lineNumber:tb,lineStart:ub,start:e,end:sb}):(b=c.substr(0,2),g===b[1]&&"+-<>&|".indexOf(g)>=0||"=>"===b?(sb+=2,{type:ib.Punctuator,value:b,lineNumber:tb,lineStart:ub,start:e,end:sb}):"<>=!+-*%&|^/".indexOf(g)>=0?(++sb,{type:ib.Punctuator,value:g,lineNumber:tb,lineStart:ub,start:e,end:sb}):voidS({},ob.UnexpectedToken,"ILLEGAL")))}functionx(a){for(varb="";sb<vb&&d(qb[sb]);)b+=qb[sb++];return0===b.length&&S({},ob.UnexpectedToken,"ILLEGAL"),h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseInt("0x"+b,16),lineNumber:tb,lineStart:ub,start:a,end:sb}}functiony(a){for(varb="0"+qb[sb++];sb<vb&&e(qb[sb]);)b+=qb[sb++];return(h(qb.charCodeAt(sb))||c(qb.charCodeAt(sb)))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseInt(b,8),octal:!0,lineNumber:tb,lineStart:ub,start:a,end:sb}}functionz(){vara,d,f;if(f=qb[sb],b(c(f.charCodeAt(0))||"."===f,"Numeric literal must start with a decimal digit or a decimal point"),d=sb,a="","."!==f){if(a=qb[sb++],f=qb[sb],"0"===a){if("x"===f||"X"===f)return++sb,x(d);if(e(f))returny(d);f&&c(f.charCodeAt(0))&&S({},ob.UnexpectedToken,"ILLEGAL")}for(;c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if("."===f){for(a+=qb[sb++];c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if("e"===f||"E"===f)if(a+=qb[sb++],f=qb[sb],"+"!==f&&"-"!==f||(a+=qb[sb++]),c(qb.charCodeAt(sb)))for(;c(qb.charCodeAt(sb));)a+=qb[sb++];elseS({},ob.UnexpectedToken,"ILLEGAL");returnh(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseFloat(a),lineNumber:tb,lineStart:ub,start:d,end:sb}}functionA(){vara,c,d,f,h,i,j,k,l="",m=!1;for(j=tb,k=ub,a=qb[sb],b("'"===a||'"'===a,"String literal must starts with a quote"),c=sb,++sb;sb<vb;){if(d=qb[sb++],d===a){a="";break}if("\\"===d)if(d=qb[sb++],d&&g(d.charCodeAt(0)))++tb,"\r"===d&&"\n"===qb[sb]&&++sb,ub=sb;elseswitch(d){case"u":case"x":"{"===qb[sb]?(++sb,l+=s()):(i=sb,h=r(d),h?l+=h:(sb=i,l+=d));break;case"n":l+="\n";break;case"r":l+="\r";break;case"t":l+="\t";break;case"b":l+="\b";break;case"f":l+="\f";break;case"v":l+="\v";break;default:e(d)?(f="01234567".indexOf(d),0!==f&&(m=!0),sb<vb&&e(qb[sb])&&(m=!0,f=8*f+"01234567".indexOf(qb[sb++]),"0123".indexOf(d)>=0&&sb<vb&&e(qb[sb])&&(f=8*f+"01234567".indexOf(qb[sb++]))),l+=String.fromCharCode(f)):l+=d}else{if(g(d.charCodeAt(0)))break;l+=d}}return""!==a&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.StringLiteral,value:l,octal:m,startLineNumber:j,startLineStart:k,lineNumber:tb,lineStart:ub,start:c,end:sb}}functionB(a,b){varc;try{c=newRegExp(a,b)}catch(a){S({},ob.InvalidRegExp)}returnc}functionC(){vara,c,d,e,f;for(a=qb[sb],b("/"===a,"Regular expression literal must start with a slash"),c=qb[sb++],d=!1,e=!1;sb<vb;)if(a=qb[sb++],c+=a,"\\"===a)a=qb[sb++],g(a.charCodeAt(0))&&S({},ob.UnterminatedRegExp),c+=a;elseif(g(a.charCodeAt(0)))S({},ob.UnterminatedRegExp);elseif(d)"]"===a&&(d=!1);else{if("/"===a){e=!0;break}"["===a&&(d=!0)}returne||S({},ob.UnterminatedRegExp),f=c.substr(1,c.length-2),{value:f,literal:c}}functionD(){vara,b,c,d;for(b="",c="";sb<vb&&(a=qb[sb],i(a.charCodeAt(0)));)if(++sb,"\\"===a&&sb<vb)if(a=qb[sb],"u"===a){if(++sb,d=sb,a=r("u"))for(c+=a,b+="\\u";d<sb;++d)b+=qb[d];elsesb=d,c+="u",b+="\\u";T({},ob.UnexpectedToken,"ILLEGAL")}elseb+="\\",T({},ob.UnexpectedToken,"ILLEGAL");elsec+=a,b+=a;return{value:c,literal:b}}functionE(){vara,b,c,d;returnwb=null,q(),a=sb,b=C(),c=D(),d=B(b.value,c.value),yb.tokenize?{type:ib.RegularExpression,value:d,lineNumber:tb,lineStart:ub,start:a,end:sb}:{literal:b.literal+c.literal,value:d,start:a,end:sb}}functionF(){vara,b,c,d;returnq(),a=sb,b={start:{line:tb,column:sb-ub}},c=E(),b.end={line:tb,column:sb-ub},yb.tokenize||(yb.tokens.length>0&&(d=yb.tokens[yb.tokens.length-1],d.range[0]===a&&"Punctuator"===d.type&&("/"!==d.value&&"/="!==d.value||yb.tokens.pop())),yb.tokens.push({type:"RegularExpression",value:c.literal,range:[a,sb],loc:b})),c}functionG(a){returna.type===ib.Identifier||a.type===ib.Keyword||a.type===ib.BooleanLiteral||a.type===ib.NullLiteral}functionH(){vara,b;if(a=yb.tokens[yb.tokens.
re.set=tc,re.months=W,re._months=Fd,re.monthsShort=X,re._monthsShort=Gd,re.monthsParse=Y,re._monthsRegex=Id,re.monthsRegex=ba,re._monthsShortRegex=Hd,re.monthsShortRegex=aa,re.week=Qb,re._week=$d,re.firstDayOfYear=Sb,re.firstDayOfWeek=Rb,re.weekdays=Wb,re._weekdays=ae,re.weekdaysMin=Yb,re._weekdaysMin=ce,re.weekdaysShort=Xb,re._weekdaysShort=be,re.weekdaysParse=Zb,re.isPM=fc,re._meridiemParse=de,re.meridiem=gc,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){varb=a%10,c=1===r(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";returna+c}}),a.lang=fa("moment.lang is deprecated. Use moment.locale instead.",x),a.langData=fa("moment.langData is deprecated. Use moment.localeData instead.",z);varse=Math.abs,te=Lc("ms"),ue=Lc("s"),ve=Lc("m"),we=Lc("h"),xe=Lc("d"),ye=Lc("w"),ze=Lc("M"),Ae=Lc("y"),Be=Nc("milliseconds"),Ce=Nc("seconds"),De=Nc("minutes"),Ee=Nc("hours"),Fe=Nc("days"),Ge=Nc("months"),He=Nc("years"),Ie=Math.round,Je={s:45,m:45,h:22,d:26,M:11},Ke=Math.abs,Le=Ia.prototype;Le.abs=Bc,Le.add=Dc,Le.subtract=Ec,Le.as=Jc,Le.asMilliseconds=te,Le.asSeconds=ue,Le.asMinutes=ve,Le.asHours=we,Le.asDays=xe,Le.asWeeks=ye,Le.asMonths=ze,Le.asYears=Ae,Le.valueOf=Kc,Le._bubble=Gc,Le.get=Mc,Le.milliseconds=Be,Le.seconds=Ce,Le.minutes=De,Le.hours=Ee,Le.days=Fe,Le.weeks=Oc,Le.months=Ge,Le.years=He,Le.humanize=Sc,Le.toISOString=Tc,Le.toString=Tc,Le.toJSON=Tc,Le.locale=ub,Le.localeData=vb,Le.toIsoString=fa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Tc),Le.lang=Zd,J("X",0,0,"unix"),J("x",0,0,"valueOf"),O("x",od),O("X",rd),S("X",function(a,b,c){c._d=newDate(1e3*parseFloat(a,10))}),S("x",function(a,b,c){c._d=newDate(r(a))}),a.version="2.11.2",b(Ea),a.fn=ke,a.min=Ga,a.max=Ha,a.now=Td,a.utc=h,a.unix=kc,a.months=wc,a.isDate=d,a.locale=x,a.invalid=l,a.duration=Za,a.isMoment=p,a.weekdays=yc,a.parseZone=lc,a.localeData=z,a.isDuration=Ja,a.monthsShort=xc,a.weekdaysMin=Ac,a.defineLocale=y,a.weekdaysShort=zc,a.normalizeUnits=B,a.relativeTimeThreshold=Rc,a.prototype=ke;varMe=a;returnMe}),/**@license
function(a,b){"function"==typeofdefine&&define.amd?define(["moment"],b):"object"==typeofexports?module.exports=b(require("moment")):b(a.moment)}(this,function(a){functionb(a){returna>96?a-87:a>64?a-29:a-48}functionc(a){varc,d=0,e=a.split("."),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;d<f.length;d++)c=b(f.charCodeAt(d)),i=60*i+c;for(d=0;d<g.length;d++)h/=60,c=b(g.charCodeAt(d)),i+=c*h;returni*j}functiond(a){for(varb=0;b<a.length;b++)a[b]=c(a[b])}functione(a,b){for(varc=0;c<b;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}functionf(a,b){varc,d=[];for(c=0;c<b.length;c++)d[c]=a[b[c]];returnd}functiong(a){varb=a.split("|"),c=b[2].split(" "),g=b[3].split(""),h=b[4].split(" ");returnd(c),d(g),d(h),e(h,g.length),{name:b[0],abbrs:f(b[1].split(" "),g),offsets:f(c,g),untils:h}}functionh(a){a&&this._set(g(a))}functioni(a){return(a||"").toLowerCase().replace(/\//g,"_")}functionj(a){varb,c,d;for("string"==typeofa&&(a=[a]),b=0;b<a.length;b++)c=a[b].split("|")[0],d=i(c),v[d]=a[b],x[d]=c}functionk(a,b){a=i(a);varc,d=v[a];returndinstanceofh?d:"string"==typeofd?(d=newh(d),v[a]=d,d):w[a]&&b!==k&&(c=k(w[a],k))?(d=v[a]=newh,d._set(c),d.name=x[a],d):null}functionl(){vara,b=[];for(ainx)x.hasOwnProperty(a)&&(v[a]||v[w[a]])&&x[a]&&b.push(x[a]);returnb.sort()}functionm(a){varb,c,d,e;for("string"==typeofa&&(a=[a]),b=0;b<a.length;b++)c=a[b].split("|"),d=i(c[0]),e=i(c[1]),w[d]=e,x[d]=c[0],w[e]=d,x[e]=c[1]}functionn(a){j(a.zones),m(a.links),r.dataVersion=a.version}functiono(a){returno.didShowError||(o.didShowError=!0,q("moment.tz.zoneExists('"+a+"') has been deprecated in favor of !moment.tz.zone('"+a+"')")),!!k(a)}functionp(a){return!(!a._a||void0!==a._tzm)}functionq(a){"undefined"!=typeofconsole&&"function"==typeofconsole.error&&console.error(a)}functionr(b){varc=Array.prototype.slice.call(arguments,0,-1),d=arguments[arguments.length-1],e=k(d),f=a.utc.apply(null,c);returne&&!a.isMoment(b)&&p(f)&&f.add(e.parse(f),"minutes"),f.tz(d),f}functions(a){returnfunction(){returnthis._z?this._z.abbr(this):a.call(this)}}functiont(a){returnfunction(){returnthis._z=null,a.apply(this,arguments)}}if(void0!==a.tz)returnq("Moment Timezone "+a.tz.version+" was already loaded "+(a.tz.dataVersion?"with data from ":"without any data")+a.tz.dataVersion),a;varu="0.4.1",v={},w={},x={},y=a.version.split("."),z=+y[0],A=+y[1];(z<2||2===z&&A<6)&&q("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+a.version+". See momentjs.com"),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets},_index:function(a){varb,c=+a,d=this.untils;for(b=0;b<d.length;b++)if(c<d[b])returnb},parse:function(a){varb,c,d,e,f=+a,g=this.offsets,h=this.untils,i=h.length-1;for(e=0;e<i;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],b<c&&r.moveAmbiguousForward?b=c:b>d&&r.moveInvalidForward&&(b=d),f<h[e]-6e4*b)returng[e];returng[i]},abbr:function(a){returnthis.abbrs[this._index(a)]},offset:function(a){returnthis.offsets[this._index(a)]}},r.version=u,r.dataVersion="",r._zones=v,r._links=w,r._names=x,r.add=j,r.link=m,r.load=n,r.zone=k,r.zoneExists=o,r.names=l,r.Zone=h,r.unpack=g,r.unpackBase60=c,r.needsOffset=p,r.moveInvalidForward=!0,r.moveAmbiguousForward=!1;varB=a.fn;a.tz=r,a.defaultZone=null,a.updateOffset=function(b,c){vard,e=a.defaultZone;void0===b._z&&(e&&p(b)&&!b._isUTC&&(b._d=a.utc(b._a)._d,b.utc().add(e.parse(b),"minutes")),b._z=e),b._z&&(d=b._z.offset(b),Math.abs(d)<16&&(d/=60),void0!==b.utcOffset?b.utcOffset(-d,c):b.zone(d,c))},B.tz=function(b){returnb?(this._z=k(b),this._z?a.updateOffset(this):q("Moment Timezone has no data for "+b+". See http://momentjs.com/timezone/docs/#/data-loading/."),this):this._z?this._z.name:void0},B.zoneName=s(B.zoneName),B.zoneAbbr=s(B.zoneAbbr),B.utc=t(B.utc),a.tz.setDefault=function(b){return(z<2||2===z&&A<9)&&q("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?k(b):null,a};varC=a.momentProperties;return"[object Array]"===Object.prototype.
function(){functiona(a){varb=" ";if(isNaN(parseInt(a)))b=a;elseswitch(a){case1:b=" ";break;case2:b=" ";break;case3:b=" ";break;case4:b=" ";break;case5:b=" ";break;case6:b=" ";break;case7:b=" ";break;case8:b=" ";break;case9:b=" ";break;case10:b=" ";break;case11:b=" ";break;case12:b=" "}for(varc=["\n"],d=0;d<100;d++)c.push(c[d]+b);returnc}functionb(){this.step=" ",this.shift=a(this.step)}functionc(a,b){returnb-(a.replace(/\(/g,"").length-a.replace(/\)/g,"").length)}functiond(a,b){returna.replace(/\s{1,}/g," ").replace(/ AND /gi,"~::~"+b+b+"AND ").replace(/ BETWEEN /gi,"~::~"+b+"BETWEEN ").replace(/ CASE /gi,"~::~"+b+"CASE ").replace(/ ELSE /gi,"~::~"+b+"ELSE ").replace(/ END /gi,"~::~"+b+"END ").replace(/ FROM /gi,"~::~FROM ").replace(/ GROUP\s{1,}BY/gi,"~::~GROUP BY ").replace(/ HAVING /gi,"~::~HAVING ").replace(/ IN /gi," IN ").replace(/ JOIN /gi,"~::~JOIN ").replace(/ CROSS~::~{1,}JOIN /gi,"~::~CROSS JOIN ").replace(/ INNER~::~{1,}JOIN /gi,"~::~INNER JOIN ").replace(/ LEFT~::~{1,}JOIN /gi,"~::~LEFT JOIN ").replace(/ RIGHT~::~{1,}JOIN /gi,"~::~RIGHT JOIN ").replace(/ ON /gi,"~::~"+b+"ON ").replace(/ OR /gi,"~::~"+b+b+"OR ").replace(/ ORDER\s{1,}BY/gi,"~::~ORDER BY ").replace(/ OVER /gi,"~::~"+b+"OVER ").replace(/\(\s{0,}SELECT /gi,"~::~(SELECT ").replace(/\)\s{0,}SELECT /gi,")~::~SELECT ").replace(/ THEN /gi," THEN~::~"+b).replace(/ UNION /gi,"~::~UNION~::~").replace(/ USING /gi,"~::~USING ").replace(/ WHEN /gi,"~::~"+b+"WHEN ").replace(/ WHERE /gi,"~::~WHERE ").replace(/ WITH /gi,"~::~WITH ").replace(/ ALL /gi," ALL ").replace(/ AS /gi," AS ").replace(/ ASC /gi," ASC ").replace(/ DESC /gi," DESC ").replace(/ DISTINCT /gi," DISTINCT ").replace(/ EXISTS /gi," EXISTS ").replace(/ NOT /gi," NOT ").replace(/ NULL /gi," NULL ").replace(/ LIKE /gi," LIKE ").replace(/\s{0,}SELECT /gi,"SELECT ").replace(/\s{0,}UPDATE /gi,"UPDATE ").replace(/ SET /gi," SET ").replace(/~::~{1,}/g,"~::~").split("~::~")}b.prototype.xml=function(b,c){vard=b.replace(/>\s{0,}</g,"><").replace(/</g,"~::~<").replace(/\s*xmlns\:/g,"~::~xmlns:").replace(/\s*xmlns\=/g,"~::~xmlns=").split("~::~"),e=d.length,f=!1,g=0,h="",i=0,j=c?a(c):this.shift;for(i=0;i<e;i++)d[i].search(/<!/)>-1?(h+=j[g]+d[i],f=!0,(d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1||d[i].search(/!DOCTYPE/)>-1)&&(f=!1)):d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1?(h+=d[i],f=!1):/^<\w/.exec(d[i-1])&&/^<\/\w/.exec(d[i])&&/^<[\w:\-\.\,]+/.exec(d[i-1])==/^<\/[\w:\-\.\,]+/.exec(d[i])[0].replace("/","")?(h+=d[i],f||g--):d[i].search(/<\w/)>-1&&d[i].search(/<\//)==-1&&d[i].search(/\/>/)==-1?h=h+=f?d[i]:j[g++]+d[i]:d[i].search(/<\w/)>-1&&d[i].search(/<\//)>-1?h=h+=f?d[i]:j[g]+d[i]:d[i].search(/<\//)>-1?h=h+=f?d[i]:j[--g]+d[i]:d[i].search(/\/>/)>-1?h=h+=f?d[i]:j[g]+d[i]:h+=d[i].search(/<\?/)>-1?j[g]+d[i]:d[i].search(/xmlns\:/)>-1||d[i].search(/xmlns\=/)>-1?j[g]+d[i]:d[i];return"\n"==h[0]?h.slice(1):h},b.prototype.json=function(a,b){varb=b?b:this.step;return"undefined"==typeofJSON?a:"string"==typeofa?JSON.stringify(JSON.parse(a),null,b):"object"==typeofa?JSON.stringify(a,null,b):a},b.prototype.css=function(b,c){vard=b.replace(/\s{1,}/g," ").replace(/\{/g,"{~::~").replace(/\}/g,"~::~}~::~").replace(/\;/g,";~::~").replace(/\/\*/g,"~::~/*").replace(/\*\//g,"*/~::~").replace(/~::~\s{0,}~::~/g,"~::~").split("~::~"),e=d.length,f=0,g="",h=0,i=c?a(c):this.shift;for(h=0;h<e;h++)g+=/\{/.exec(d[h])?i[f++]+d[h]:/\}/.exec(d[h])?i[--f]+d[h]:/\*\\/.exec(d[h])?i[f]+d[h]:i[f]+d[h];returng.replace(/^\n{1,}/,"")},b.prototype.sql=function(b,e){varf=b.replace(/\s{1,}/g," ").replace(/\'/gi,"~::~'").split("~::~"),g=f.length,h=[],i=0,j=this.step,k=0,l="",m=0,n=e?a(e):this.shift;for(m=0;m<g;m++)h=m%2?h.concat(f[m]):h.concat(d(f[m],j));for(g=h.length,m=0;m<g;m++){k=c(h[m],k),/\s{0,}\s{0,}SELECT\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\s{0,}SET\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\(\s{0,}SELECT\s{0,}/.exec(h[m])?(i++,l+=n[i]+h[m]):/\'/.exec(h[m])?(k<1&&i&&i--,l+=h[m]):(l+=n[i]+h[m],
function(a){"function"==typeofdefine&&define.amd?define(a):"undefined"!=typeofmodule&&"undefined"!=typeofmodule.exports?module.exports=a():"undefined"!=typeofPackage?Sortable=a():window.Sortable=a()}(function(){functiona(a,b){if(!a||!a.nodeType||1!==a.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(a);this.el=a,this.options=b=s({},b),a[M]=this;varc={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1};for(vardinc)!(dinb)&&(b[d]=c[d]);W(b);for(varfinthis)"_"===f.charAt(0)&&(this[f]=this[f].bind(this));this.nativeDraggable=!b.forceFallback&&Q,e(a,"mousedown",this._onTapStart),e(a,"touchstart",this._onTapStart),this.nativeDraggable&&(e(a,"dragover",this),e(a,"dragenter",this)),U.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}functionb(a){w&&w.state!==a&&(h(w,"display",a?"none":""),!a&&w.state&&x.insertBefore(w,t),w.state=a)}functionc(a,b,c){if(a){c=c||O;doif(">*"===b&&a.parentNode===c||q(a,b))returna;while(a!==c&&(a=a.parentNode))}returnnull}functiond(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.preventDefault()}functione(a,b,c){a.addEventListener(b,c,!1)}functionf(a,b,c){a.removeEventListener(b,c,!1)}functiong(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{vard=(" "+a.className+" ").replace(L," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(L," ")}}functionh(a,b,c){vard=a&&a.style;if(d){if(void0===c)returnO.defaultView&&O.defaultView.getComputedStyle?c=O.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void0===b?c:c[b];bind||(b="-webkit-"+b),d[b]=c+("string"==typeofc?"":"px")}}functioni(a,b,c){if(a){vard=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;e<f;e++)c(d[e],e);returnd}return[]}functionj(a,b,c,d,e,f,g){varh=O.createEvent("Event"),i=(a||b[M]).options,j="on"+c.charAt(0).toUpperCase()+c.substr(1);h.initEvent(c,!0,!0),h.to=b,h.from=e||b,h.item=d||b,h.clone=w,h.oldIndex=f,h.newIndex=g,b.dispatchEvent(h),i[j]&&i[j].call(a,h)}functionk(a,b,c,d,e,f){varg,h,i=a[M],j=i.options.onMove;returng=O.createEvent("Event"),g.initEvent("move",!0,!0),g.to=b,g.from=a,g.dragged=c,g.draggedRect=d,g.related=e||b,g.relatedRect=f||b.getBoundingClientRect(),a.dispatchEvent(g),j&&(h=j.call(i,g)),h}functionl(a){a.draggable=!1}functionm(){S=!1}functionn(a,b){varc=a.lastElementChild,d=c.getBoundingClientRect();return(b.clientY-(d.top+d.height)>5||b.clientX-(d.right+d.width)>5)&&c}functiono(a){for(varb=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);returnd.toString(36)}functionp(a,b){varc=0;if(!a||!a.parentNode)return-1;for(;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&q(a,b)&&c++;returnc}functionq(a,b){if(a){b=b.split(".");varc=b.shift().toUpperCase(),d=newRegExp("\\s("+b.join("|")+")(?=\\s)","g");return!(""!==c&&a.nodeName.toUpperCase()!=c||b.length&&((" "+a.className+" ").match(d)||[]).length!=b.length)}return!1}functionr(a,b){varc,d;returnfunction(){void0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void0},b))}}functions(a,b){if(a&&b)for(varcinb)b.hasOwnProperty(c)&&(a[c]=b[c]);returna}if("undefined"==typeofwindow||"undefined"==typeofwindow.document)returnfunction(){thrownewError("Sortable.js requires a window with a document")};vart,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K={},L=/\s+/g,M="Sortable"+(newDate).getTime(),N=window,O=N.document,P=N.parseInt,Q=!!("draggable"inO.createElement("div")),R=function(a){returna=O.createElement("x"),a.style.cssText="pointer-events:auto","auto"===a.style.pointerEvents}(),S=!1,T=Math.abs,U=([].slice,[]),V=r(function(a,b,c){if(c&&b.scroll){vard
d+=1==h?" file type was detected that has a common byte sequence. This is likely to be a false positive.":" file types were detected that have common byte sequences. These are likely to be false positives.",d+=" Run this operation with the 'Ignore common byte sequences' option unchecked to see details."),d},_magic_type:function(a){returna&&a.length>1?255===a[0]&&216===a[1]&&255===a[2]?{ext:"jpg",mime:"image/jpeg"}:137===a[0]&&80===a[1]&&78===a[2]&&71===a[3]?{ext:"png",mime:"image/png"}:71===a[0]&&73===a[1]&&70===a[2]?{ext:"gif",mime:"image/gif"}:87===a[8]&&69===a[9]&&66===a[10]&&80===a[11]?{ext:"webp",mime:"image/webp"}:(73===a[0]&&73===a[1]&&42===a[2]&&0===a[3]||77===a[0]&&77===a[1]&&0===a[2]&&42===a[3])&&67===a[8]&&82===a[9]?{ext:"cr2",mime:"image/x-canon-cr2"}:73===a[0]&&73===a[1]&&42===a[2]&&0===a[3]||77===a[0]&&77===a[1]&&0===a[2]&&42===a[3]?{ext:"tif",mime:"image/tiff"}:66===a[0]&&77===a[1]?{ext:"bmp",mime:"image/bmp"}:73===a[0]&&73===a[1]&&188===a[2]?{ext:"jxr",mime:"image/vnd.ms-photo"}:56===a[0]&&66===a[1]&&80===a[2]&&83===a[3]?{ext:"psd",mime:"image/vnd.adobe.photoshop"}:80===a[0]&&75===a[1]&&3===a[2]&&4===a[3]&&109===a[30]&&105===a[31]&&109===a[32]&&101===a[33]&&116===a[34]&&121===a[35]&&112===a[36]&&101===a[37]&&97===a[38]&&112===a[39]&&112===a[40]&&108===a[41]&&105===a[42]&&99===a[43]&&97===a[44]&&116===a[45]&&105===a[46]&&111===a[47]&&110===a[48]&&47===a[49]&&101===a[50]&&112===a[51]&&117===a[52]&&98===a[53]&&43===a[54]&&122===a[55]&&105===a[56]&&112===a[57]?{ext:"epub",mime:"application/epub+zip"}:80!==a[0]||75!==a[1]||3!==a[2]&&5!==a[2]&&7!==a[2]||4!==a[3]&&6!==a[3]&&8!==a[3]?117===a[257]&&115===a[258]&&116===a[259]&&97===a[260]&&114===a[261]?{ext:"tar",mime:"application/x-tar"}:82!==a[0]||97!==a[1]||114!==a[2]||33!==a[3]||26!==a[4]||7!==a[5]||0!==a[6]&&1!==a[6]?31===a[0]&&139===a[1]&&8===a[2]?{ext:"gz",mime:"application/gzip"}:66===a[0]&&90===a[1]&&104===a[2]?{ext:"bz2",mime:"application/x-bzip2"}:55===a[0]&&122===a[1]&&188===a[2]&&175===a[3]&&39===a[4]&&28===a[5]?{ext:"7z",mime:"application/x-7z-compressed"}:120===a[0]&&1===a[1]?{ext:"dmg",mime:"application/x-apple-diskimage"}:0===a[0]&&0===a[1]&&0===a[2]&&(24===a[3]||32===a[3])&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]||51===a[0]&&103===a[1]&&112===a[2]&&53===a[3]||0===a[0]&&0===a[1]&&0===a[2]&&28===a[3]&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]&&109===a[8]&&112===a[9]&&52===a[10]&&50===a[11]&&109===a[16]&&112===a[17]&&52===a[18]&&49===a[19]&&109===a[20]&&112===a[21]&&52===a[22]&&50===a[23]&&105===a[24]&&115===a[25]&&111===a[26]&&109===a[27]?{ext:"mp4",mime:"video/mp4"}:0===a[0]&&0===a[1]&&0===a[2]&&28===a[3]&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]&&77===a[8]&&52===a[9]&&86===a[10]?{ext:"m4v",mime:"video/x-m4v"}:77===a[0]&&84===a[1]&&104===a[2]&&100===a[3]?{ext:"mid",mime:"audio/midi"}:109===a[31]&&97===a[32]&&116===a[33]&&114===a[34]&&111===a[35]&&115===a[36]&&107===a[37]&&97===a[38]?{ext:"mkv",mime:"video/x-matroska"}:26===a[0]&&69===a[1]&&223===a[2]&&163===a[3]?{ext:"webm",mime:"video/webm"}:0===a[0]&&0===a[1]&&0===a[2]&&20===a[3]&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]?{ext:"mov",mime:"video/quicktime"}:82===a[0]&&73===a[1]&&70===a[2]&&70===a[3]&&65===a[8]&&86===a[9]&&73===a[10]?{ext:"avi",mime:"video/x-msvideo"}:48===a[0]&&38===a[1]&&178===a[2]&&117===a[3]&&142===a[4]&&102===a[5]&&207===a[6]&&17===a[7]&&166===a[8]&&217===a[9]?{ext:"wmv",mime:"video/x-ms-wmv"}:0===a[0]&&0===a[1]&&1===a[2]&&"b"===a[3].toString(16)[0]?{ext:"mpg",mime:"video/mpeg"}:73===a[0]&&68===a[1]&&51===a[2]||255===a[0]&&251===a[1]?{ext:"mp3",mime:"audio/mpeg"}:102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]&&77===a[8]&&52===a[9]&&65===a[10]||77===a[0]&&52===a[1]&&65===a[2]&&32===a[3]?{ext:"m4a",mime:"audio/m4a"}:79===a[0]&&103===a[1]&&103===a[2]&&83===a[3]?{ext:"ogg",mime:"audio/ogg"}:102===a[0]&&76===a[1]&&97===a[2]&&67===a[3]?{ext:"flac",mime:"audio/x-flac"}:82===a[0]&&73===a[1]&&70===a[2]&&70===a[3]&&87===a[8]&&65===a[9]&&86===a[10]&&69===a[11]?{ext:"wav",mime:"audio/x-wav"}:35===a[0]&&33===a[1]&&65===a[2]&&77===a[3]&&82===a[4]&&10===a[5]?{ext:"am
returnb&&(c+="Network: "+IP._ipv6_to_str(d)+"\n",c+="Shorthand: "+IP._ipv6_to_str(d,!0)+"\n",c+="CIDR: "+e+"\n",c+="Mask: "+IP._ipv6_to_str(f)+"\n",c+="Range: "+IP._ipv6_to_str(g)+" - "+IP._ipv6_to_str(h)+"\n",c+="Total addresses in range: "+(parseInt(j.join(""),2)+1)+"\n\n"),c},_gen_ipv6_mask:function(a){for(varb,c=newArray(8),d=0;d<8;d++)a>16*(d+1)?c[d]=65535:(b=a-16*d,b<0&&(b=0),c[d]=~(65535>>>b|4294901760));returnc},_ipv4_hyphenated_range:function(a,b,c,d){for(vare="",f=IP._str_to_ipv4(a[1]),g=IP._str_to_ipv4(a[2]),h=f^g,i=32,j=0;0!==h;)h>>=1,i--,j=j<<1|1;j=~j>>>0;vark=f&j,l=k&j,m=l|~j;returnb&&(e+="Minimum subnet required to hold this range:\n",e+="\tNetwork: "+IP._ipv4_to_str(k)+"\n",e+="\tCIDR: "+i+"\n",e+="\tMask: "+IP._ipv4_to_str(j)+"\n",e+="\tSubnet range: "+IP._ipv4_to_str(l)+" - "+IP._ipv4_to_str(m)+"\n",e+="\tTotal addresses in subnet: "+((m-l>>>0)+1)+"\n\n",e+="Range: "+IP._ipv4_to_str(f)+" - "+IP._ipv4_to_str(g)+"\n",e+="Total addresses in range: "+((g-f>>>0)+1)+"\n\n"),c&&(e+=g-f>>>0<=65536||d?IP._generate_ipv4_range(f,g).join("\n"):IP._LARGE_RANGE_ERROR),e},_ipv6_hyphenated_range:function(a,b){for(varc="",d=IP._str_to_ipv6(a[1]),e=IP._str_to_ipv6(a[14]),f="",g=newArray(128),h=0;h<128;h++)g[h]="0";for(h=0;h<8;h++)if(f=(e[h]-d[h]).toString(2),"0"!=f)for(vari=0;i<f.length;i++)g[16*h+16-(f.length-i)]=f[i];returnb&&(c+="Range: "+IP._ipv6_to_str(d)+" - "+IP._ipv6_to_str(e)+"\n",c+="Shorthand range: "+IP._ipv6_to_str(d,!0)+" - "+IP._ipv6_to_str(e,!0)+"\n",c+="Total addresses in range: "+(parseInt(g.join(""),2)+1)+"\n\n"),c},_str_to_ipv4:function(a){functionb(a){if(4!=a.length)throw"More than 4 blocks.";for(varb=[],c=0;c<4;c++)if(b[c]=parseInt(a[c],10),b[c]<0||b[c]>255)throw"Block out of range.";returnb}varc=a.split("."),d=b(c),e=0;returne+=d[0]<<24,e+=d[1]<<16,e+=d[2]<<8,e+=d[3]},_ipv4_to_str:function(a){varb=a>>24&255,c=a>>16&255,d=a>>8&255,e=255&a;returnb+"."+c+"."+d+"."+e},_str_to_ipv6:function(a){functionb(a){if(a.length<3||a.length>8)throw"Badly formatted IPv6 address.";for(varb=[],c=0;c<a.length;c++)if(b[c]=parseInt(a[c],16),b[c]<0||b[c]>65535)throw"Block out of range.";returnb}for(varc=a.split(":"),d=b(c),e=0,f=newArray(8),g=0;g<8;g++)isNaN(d[e])?(f[g]=0,g==8-d.slice(e).length&&e++):(f[g]=d[e],e++);returnf},_ipv6_to_str:function(a,b){varc="",d=0;if(b){vare=-1,f=-1,g=0,h=-1;for(d=0;d<8;d++)0===a[d]&&h===d-1?h=d:0===a[d]&&(g=d,h=d),h>=0&&h-g>f-e&&(e=g,f=h);for(d=0;d<8;d++)d!=e?c+=Utils.hex(a[d],1)+":":(c+=":",d=f,7===f&&(c+=":"));":"===c[0]&&(c=":"+c)}elsefor(d=0;d<8;d++)c+=Utils.hex(a[d],4)+":";returnc.slice(0,c.length-1)},_generate_ipv4_range:function(a,b){varc=[];if(b>=a)for(;a<=b;a++)c.push(IP._ipv4_to_str(a));elsec[0]="Second IP address smaller than first.";returnc}},JS={PARSE_LOC:!1,PARSE_RANGE:!1,PARSE_TOKENS:!1,PARSE_COMMENT:!1,PARSE_TOLERANT:!1,run_parse:function(a,b){varc=b[0],d=b[1],e=b[2],f=b[3],g=b[4],h={},i={loc:c,range:d,tokens:e,comment:f,tolerant:g};returnh=esprima.parse(a,i),JSON.stringify(h,null,2)},BEAUTIFY_INDENT:"\\t",BEAUTIFY_QUOTES:["Auto","Single","Double"],BEAUTIFY_SEMICOLONS:!0,BEAUTIFY_COMMENT:!0,run_beautify:function(a,b){varc,d=b[0]||JS.BEAUTIFY_INDENT,e=b[1].toLowerCase(),f=b[2],g=b[3],h="";try{c=esprima.parse(a,{range:!0,tokens:!0,comment:!0});vari={format:{indent:{style:d},quotes:e,semicolons:f},comment:g};i.comment&&(c=escodegen.attachComments(c,c.comments,c.tokens)),h=escodegen.generate(c,i)}catch(a){throw"Unable to parse JavaScript.<br>"+a.message}returnh},run_minify:function(a,b){varc="",d=esprima.parse(a),e=esmangle.optimize(d,null),f=esmangle.mangle(e);returnc=escodegen.generate(f,{format:{renumber:!0,hexadecimal:!0,escapeless:!0,compact:!0,semicolons:!1,parentheses:!1}})}},MAC={OUTPUT_CASE:["Both","Upper only","Lower only"],NO_DELIM:!0,DASH_DELIM:!0,COLON_DELIM:!0,CISCO_STYLE:!1,run_format:function(a,b){if(!a)return"";varc=b[0],d=b[1],e=b[2],f=b[3],g=b[4],h=[],i=a.toLowerCase().split(/[,\s\r\n]+/);returni.forEach(function(a){varb=a.replace(/[:.-]+/g,""),i=b.replace(/(.{2}(?=.))/g,"$1-"),j=b.replace(/(.{2}(?=.))/g,"$1:"),k=b.
ops:["Fork","Merge","Jump","Conditional Jump","Return"]}],OperationConfig={Fork:{description:"Split the input data up based on the specified delimiter and run all subsequent operations on each branch separately.<br><br>For example, to decode multiple Base64 strings, enter them all on separate lines then add the 'Fork' and 'From Base64' operations to the recipe. Each string will be decoded separately.",run:FlowControl.run_fork,input_type:"string",output_type:"string",flow_control:!0,args:[{name:"Split delimiter",type:"binary_short_string",value:FlowControl.FORK_DELIM},{name:"Merge delimiter",type:"binary_short_string",value:FlowControl.MERGE_DELIM}]},Merge:{description:"Consolidate all branches back into a single trunk. The opposite of Fork.",run:FlowControl.run_merge,input_type:"string",output_type:"string",flow_control:!0,args:[]},Jump:{description:"Jump forwards or backwards over the specified number of operations.",run:FlowControl.run_jump,input_type:"string",output_type:"string",flow_control:!0,args:[{name:"Number of operations to jump over",type:"number",value:FlowControl.JUMP_NUM},{name:"Maximum jumps (if jumping backwards)",type:"number",value:FlowControl.MAX_JUMPS}]},"Conditional Jump":{description:"Conditionally jump forwards or backwards over the specified number of operations based on whether the data matches the specified regular expression.",run:FlowControl.run_cond_jump,input_type:"string",output_type:"string",flow_control:!0,args:[{name:"Match (regex)",type:"string",value:""},{name:"Number of operations to jump over if match found",type:"number",value:FlowControl.JUMP_NUM},{name:"Maximum jumps (if jumping backwards)",type:"number",value:FlowControl.MAX_JUMPS}]},Return:{description:"End execution of operations at this point in the recipe.",run:FlowControl.run_return,input_type:"string",output_type:"string",flow_control:!0,args:[]},"From Base64":{description:"Base64 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers.<br><br>This operation decodes data from an ASCII Base64 string back into its raw format.<br><br>e.g. <code>aGVsbG8=</code> becomes <code>hello</code>",run:Base64.run_from,highlight:Base64.highlight_from,highlight_reverse:Base64.highlight_to,input_type:"string",output_type:"byte_array",args:[{name:"Alphabet",type:"editable_option",value:Base64.ALPHABET_OPTIONS},{name:"Remove non‑alphabet chars",type:"boolean",value:Base64.REMOVE_NON_ALPH_CHARS}]},"To Base64":{description:"Base64 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers.<br><br>This operation encodes data in an ASCII Base64 string.<br><br>e.g. <code>hello</code> becomes <code>aGVsbG8=</code>",run:Base64.run_to,highlight:Base64.highlight_to,highlight_reverse:Base64.highlight_from,input_type:"byte_array",output_type:"string",args:[{name:"Alphabet",type:"editable_option",value:Base64.ALPHABET_OPTIONS}]},"From Base32":{description:"Base32 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. It uses a smaller set of characters than Base64, usually the uppercase alphabet and the numbers 2 to 7.",run:Base64.run_from_32,input_type:"string",output_type:"byte_array",args:[{name:"Alphabet",type:"binary_string",value:Base64.BASE32_ALPHABET},{name:"Remove non‑alphabet chars",type:"boolean",value:Base64.REMOVE_NON_ALPH_CHARS}]},"To Base32":{description:"Base32 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. It uses a smaller set of characters than Base64, usually the uppercase alphabet and the numbers 2 to 7.",run:Base64.run_to_32,input_type:"byte_array",output_type:"string",args:[{name:"Alphabet",type:"binary_string",value:Base64.BASE32_ALPHABET}]},"Show Base64 offsets":{description:"WhenastringiswithinablockofdataandthewholeblockisBase64'd
run:Tidy.run_remove_whitespace,input_type:"string",output_type:"string",args:[{name:"Spaces",type:"boolean",value:Tidy.REMOVE_SPACES},{name:"Carriage returns (\\r)",type:"boolean",value:Tidy.REMOVE_CARIAGE_RETURNS},{name:"Line feeds (\\n)",type:"boolean",value:Tidy.REMOVE_LINE_FEEDS},{name:"Tabs",type:"boolean",value:Tidy.REMOVE_TABS},{name:"Form feeds (\\f)",type:"boolean",value:Tidy.REMOVE_FORM_FEEDS},{name:"Full stops",type:"boolean",value:Tidy.REMOVE_FULL_STOPS}]},"Remove null bytes":{description:"Removes all null bytes (<code>0x00</code>) from the input.",run:Tidy.run_remove_nulls,input_type:"byte_array",output_type:"byte_array",args:[]},"Drop bytes":{description:"Cuts the specified number of bytes out of the data.",run:Tidy.run_drop_bytes,input_type:"byte_array",output_type:"byte_array",args:[{name:"Start",type:"number",value:Tidy.DROP_START},{name:"Length",type:"number",value:Tidy.DROP_LENGTH},{name:"Apply to each line",type:"boolean",value:Tidy.APPLY_TO_EACH_LINE}]},"Take bytes":{description:"Takes a slice of the specified number of bytes from the data.",run:Tidy.run_take_bytes,input_type:"byte_array",output_type:"byte_array",args:[{name:"Start",type:"number",value:Tidy.TAKE_START},{name:"Length",type:"number",value:Tidy.TAKE_LENGTH},{name:"Apply to each line",type:"boolean",value:Tidy.APPLY_TO_EACH_LINE}]},"Pad lines":{description:"Add the specified number of the specified character to the beginning or end of each line",run:Tidy.run_pad,input_type:"string",output_type:"string",args:[{name:"Position",type:"option",value:Tidy.PAD_POSITION},{name:"Length",type:"number",value:Tidy.PAD_LENGTH},{name:"Character",type:"binary_short_string",value:Tidy.PAD_CHAR}]},Reverse:{description:"Reverses the input string.",run:SeqUtils.run_reverse,input_type:"byte_array",output_type:"byte_array",args:[{name:"By",type:"option",value:SeqUtils.REVERSE_BY}]},Sort:{description:"Alphabetically sorts strings separated by the specified delimiter.<br><br>The IP address option supports IPv4 only.",run:SeqUtils.run_sort,input_type:"string",output_type:"string",args:[{name:"Delimiter",type:"option",value:SeqUtils.DELIMITER_OPTIONS},{name:"Reverse",type:"boolean",value:SeqUtils.SORT_REVERSE},{name:"Order",type:"option",value:SeqUtils.SORT_ORDER}]},Unique:{description:"Removes duplicate strings from the input.",run:SeqUtils.run_unique,input_type:"string",output_type:"string",args:[{name:"Delimiter",type:"option",value:SeqUtils.DELIMITER_OPTIONS}]},"Count occurrences":{description:"Counts the number of times the provided string occurs in the input.",run:SeqUtils.run_count,input_type:"string",output_type:"number",args:[{name:"Search string",type:"toggle_string",value:"",toggle_values:SeqUtils.SEARCH_TYPE}]},"Add line numbers":{description:"Adds line numbers to the output.",run:SeqUtils.run_add_line_numbers,input_type:"string",output_type:"string",args:[]},"Remove line numbers":{description:"Removes line numbers from the output if they can be trivially detected.",run:SeqUtils.run_remove_line_numbers,input_type:"string",output_type:"string",args:[]},"Find / Replace":{description:"Replaces all occurrences of the first string with the second.<br><br>The three match options are only relevant to regex search strings.",run:StrUtils.run_find_replace,manual_bake:!0,input_type:"string",output_type:"string",args:[{name:"Find",type:"toggle_string",value:"",toggle_values:StrUtils.SEARCH_TYPE},{name:"Replace",type:"binary_string",value:""},{name:"Global match",type:"boolean",value:StrUtils.FIND_REPLACE_GLOBAL},{name:"Case insensitive",type:"boolean",value:StrUtils.FIND_REPLACE_CASE},{name:"Multiline matching",type:"boolean",value:StrUtils.FIND_REPLACE_MULTILINE}]},"To Upper case":{description:"Converts the input string to upper case, optionally limiting scope to only the first character in each word, sentence or paragraph.",run:StrUtils.run_upper,highlight:!0,highlight_reverse:!0,input_type:"string",output_type:"string",args:[{name:"Scope",type:"option",value:StrUtils.CASE_SCOPE}]},"To Lower case":{description:"Convertseverycharacterintheinputtolowerc
vard=window.location.protocol+"//"+window.location.host+window.location.pathname,e=JSON.stringify(c),f=Utils.to_base64(this.app.get_input(),"A-Za-z0-9+/");returna=a&&c.length>0,b=b&&f.length>0&&f.length<8e3,a&&(d+="?recipe="+encodeURIComponent(e)),a&&b?d+="&input="+encodeURIComponent(f):b&&(d+="?input="+encodeURIComponent(f)),d},ControlsWaiter.prototype.save_text_change=function(){try{vara=JSON.parse(document.getElementById("save-text").value);this.initialise_save_link(a)}catch(a){}},ControlsWaiter.prototype.save_click=function(){vara=this.app.get_recipe_config(),b=JSON.stringify(a).replace(/},{/g,"},\n{");document.getElementById("save-text").value=b,this.initialise_save_link(a),$("#save-modal").modal()},ControlsWaiter.prototype.slr_check_change=function(){this.initialise_save_link()},ControlsWaiter.prototype.sli_check_change=function(){this.initialise_save_link()},ControlsWaiter.prototype.load_click=function(){this.populate_load_recipes_list(),$("#load-modal").modal()},ControlsWaiter.prototype.save_button_click=function(){vara=document.getElementById("save-name").value,b=document.getElementById("save-text").value;if(!a)returnvoidthis.app.alert("Please enter a recipe name","danger",2e3);varc=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[],d=localStorage.recipe_id||0;c.push({id:++d,name:a,recipe:b}),localStorage.saved_recipes=JSON.stringify(c),localStorage.recipe_id=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populate_load_recipes_list=function(){for(vara=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);varc=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[];for(b=0;b<c.length;b++){vard=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.load_delete_click=function(){vara=document.getElementById("load-name").value,b=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[];b=b.filter(function(b){returnb.id!=a}),localStorage.saved_recipes=JSON.stringify(b),this.populate_load_recipes_list()},ControlsWaiter.prototype.load_name_change=function(a){varb=a.target,c=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[],d=parseInt(b.value,10),e=c.filter(function(a){returna.id==d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.load_button_click=function(){try{vara=JSON.parse(document.getElementById("load-text").value);this.app.set_recipe_config(a),$("#rec_list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}};varHTMLApp=function(a,b,c,d){this.categories=a,this.operations=b,this.dfavourites=c,this.doptions=d,this.options=Utils.extend({},d),this.chef=newChef,this.manager=newManager(this),this.auto_bake_=!1,this.progress=0,this.ing_id=0,window.chef=this.chef};HTMLApp.prototype.setup=function(){document.dispatchEvent(this.manager.appstart),this.initialise_splitter(),this.load_local_storage(),this.populate_operations_list(),this.manager.setup(),this.reset_layout(),this.set_compile_message(),this.load_URI_params()},HTMLApp.prototype.handle_error=function(a){console.error(a);varb=a.display_str||a.toString();this.alert(b,"danger",this.options.error_timeout,!this.options.show_errors)},HTMLApp.prototype.bake=function(a){varb;try{b=this.chef.bake(this.get_input(),this.get_recipe_config(),this.options,this.progress,a)}catch(a){this.handle_error(a)}finally{if(!b)return;b.error&&this.handle_error(b.error),this.options=b.options,this.dish_str="html"==b.type?Utils.strip_html_tags(b.result,!0):b.result,this.progress=b.progress,this.manager.recipe.update_breakpoint_indicator(b.progress),this.manager.output.set(b.result,b.type,b.duration),b.duration>this.options.auto_bake_threshold&&this.auto_bake_&&(this.manager.controls.set_auto_bake(!1),this.alert("Baking took longer than "+this.options.auto_bake_threshold+"ms, Auto Bake has been disabled.","warning",5e3))}},HTMLApp.prototype.auto_bake=function(){t
if(e&&f.indexOf(c.ext)>-1){h++;continue}g++,d+="\nOffset "+i+" (0x"+Utils.hex(i)+"):\n File extension: "+c.ext+"\n MIME type: "+c.mime+"\n",c.desc&&c.desc.length&&(d+=" Description: "+c.desc+"\n")}return0===g&&(d+="\nNo embedded files were found."),h>0&&(d+="\n\n"+h,d+=1==h?" file type was detected that has a common byte sequence. This is likely to be a false positive.":" file types were detected that have common byte sequences. These are likely to be false positives.",d+=" Run this operation with the 'Ignore common byte sequences' option unchecked to see details."),d},_magic_type:function(a){returna&&a.length>1?255===a[0]&&216===a[1]&&255===a[2]?{ext:"jpg",mime:"image/jpeg"}:137===a[0]&&80===a[1]&&78===a[2]&&71===a[3]?{ext:"png",mime:"image/png"}:71===a[0]&&73===a[1]&&70===a[2]?{ext:"gif",mime:"image/gif"}:87===a[8]&&69===a[9]&&66===a[10]&&80===a[11]?{ext:"webp",mime:"image/webp"}:(73===a[0]&&73===a[1]&&42===a[2]&&0===a[3]||77===a[0]&&77===a[1]&&0===a[2]&&42===a[3])&&67===a[8]&&82===a[9]?{ext:"cr2",mime:"image/x-canon-cr2"}:73===a[0]&&73===a[1]&&42===a[2]&&0===a[3]||77===a[0]&&77===a[1]&&0===a[2]&&42===a[3]?{ext:"tif",mime:"image/tiff"}:66===a[0]&&77===a[1]?{ext:"bmp",mime:"image/bmp"}:73===a[0]&&73===a[1]&&188===a[2]?{ext:"jxr",mime:"image/vnd.ms-photo"}:56===a[0]&&66===a[1]&&80===a[2]&&83===a[3]?{ext:"psd",mime:"image/vnd.adobe.photoshop"}:80===a[0]&&75===a[1]&&3===a[2]&&4===a[3]&&109===a[30]&&105===a[31]&&109===a[32]&&101===a[33]&&116===a[34]&&121===a[35]&&112===a[36]&&101===a[37]&&97===a[38]&&112===a[39]&&112===a[40]&&108===a[41]&&105===a[42]&&99===a[43]&&97===a[44]&&116===a[45]&&105===a[46]&&111===a[47]&&110===a[48]&&47===a[49]&&101===a[50]&&112===a[51]&&117===a[52]&&98===a[53]&&43===a[54]&&122===a[55]&&105===a[56]&&112===a[57]?{ext:"epub",mime:"application/epub+zip"}:80!==a[0]||75!==a[1]||3!==a[2]&&5!==a[2]&&7!==a[2]||4!==a[3]&&6!==a[3]&&8!==a[3]?117===a[257]&&115===a[258]&&116===a[259]&&97===a[260]&&114===a[261]?{ext:"tar",mime:"application/x-tar"}:82!==a[0]||97!==a[1]||114!==a[2]||33!==a[3]||26!==a[4]||7!==a[5]||0!==a[6]&&1!==a[6]?31===a[0]&&139===a[1]&&8===a[2]?{ext:"gz",mime:"application/gzip"}:66===a[0]&&90===a[1]&&104===a[2]?{ext:"bz2",mime:"application/x-bzip2"}:55===a[0]&&122===a[1]&&188===a[2]&&175===a[3]&&39===a[4]&&28===a[5]?{ext:"7z",mime:"application/x-7z-compressed"}:120===a[0]&&1===a[1]?{ext:"dmg",mime:"application/x-apple-diskimage"}:0===a[0]&&0===a[1]&&0===a[2]&&(24===a[3]||32===a[3])&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]||51===a[0]&&103===a[1]&&112===a[2]&&53===a[3]||0===a[0]&&0===a[1]&&0===a[2]&&28===a[3]&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]&&109===a[8]&&112===a[9]&&52===a[10]&&50===a[11]&&109===a[16]&&112===a[17]&&52===a[18]&&49===a[19]&&109===a[20]&&112===a[21]&&52===a[22]&&50===a[23]&&105===a[24]&&115===a[25]&&111===a[26]&&109===a[27]?{ext:"mp4",mime:"video/mp4"}:0===a[0]&&0===a[1]&&0===a[2]&&28===a[3]&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]&&77===a[8]&&52===a[9]&&86===a[10]?{ext:"m4v",mime:"video/x-m4v"}:77===a[0]&&84===a[1]&&104===a[2]&&100===a[3]?{ext:"mid",mime:"audio/midi"}:109===a[31]&&97===a[32]&&116===a[33]&&114===a[34]&&111===a[35]&&115===a[36]&&107===a[37]&&97===a[38]?{ext:"mkv",mime:"video/x-matroska"}:26===a[0]&&69===a[1]&&223===a[2]&&163===a[3]?{ext:"webm",mime:"video/webm"}:0===a[0]&&0===a[1]&&0===a[2]&&20===a[3]&&102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]?{ext:"mov",mime:"video/quicktime"}:82===a[0]&&73===a[1]&&70===a[2]&&70===a[3]&&65===a[8]&&86===a[9]&&73===a[10]?{ext:"avi",mime:"video/x-msvideo"}:48===a[0]&&38===a[1]&&178===a[2]&&117===a[3]&&142===a[4]&&102===a[5]&&207===a[6]&&17===a[7]&&166===a[8]&&217===a[9]?{ext:"wmv",mime:"video/x-ms-wmv"}:0===a[0]&&0===a[1]&&1===a[2]&&"b"===a[3].toString(16)[0]?{ext:"mpg",mime:"video/mpeg"}:73===a[0]&&68===a[1]&&51===a[2]||255===a[0]&&251===a[1]?{ext:"mp3",mime:"audio/mpeg"}:102===a[4]&&116===a[5]&&121===a[6]&&112===a[7]&&77===a[8]&&52===a[9]&&65===a[10]||77===a[0]&&52===a[1]&&65===a[2]&&32===a[3]?{ext:"m4a",mime:"audio/m4a"}:79===a[0]&&103===a[1]&&103===a[2]&&83===a[3]?{ext:"ogg",mime:"aud
if(e<0||e>127)return"IPv6 CIDR must be less than 128";for(varf=IP._gen_ipv6_mask(e),g=newArray(8),h=newArray(8),i="",j=newArray(128),k=0;k<8;k++)if(g[k]=d[k]&f[k],h[k]=g[k]|65535&~f[k],i=(h[k]-g[k]).toString(2),"0"!=i)for(varl=0;l<i.length;l++)j[16*k+16-(i.length-l)]=i[l];returnb&&(c+="Network: "+IP._ipv6_to_str(d)+"\n",c+="Shorthand: "+IP._ipv6_to_str(d,!0)+"\n",c+="CIDR: "+e+"\n",c+="Mask: "+IP._ipv6_to_str(f)+"\n",c+="Range: "+IP._ipv6_to_str(g)+" - "+IP._ipv6_to_str(h)+"\n",c+="Total addresses in range: "+(parseInt(j.join(""),2)+1)+"\n\n"),c},_gen_ipv6_mask:function(a){for(varb,c=newArray(8),d=0;d<8;d++)a>16*(d+1)?c[d]=65535:(b=a-16*d,b<0&&(b=0),c[d]=~(65535>>>b|4294901760));returnc},_ipv4_hyphenated_range:function(a,b,c,d){for(vare="",f=IP._str_to_ipv4(a[1]),g=IP._str_to_ipv4(a[2]),h=f^g,i=32,j=0;0!==h;)h>>=1,i--,j=j<<1|1;j=~j>>>0;vark=f&j,l=k&j,m=l|~j;returnb&&(e+="Minimum subnet required to hold this range:\n",e+="\tNetwork: "+IP._ipv4_to_str(k)+"\n",e+="\tCIDR: "+i+"\n",e+="\tMask: "+IP._ipv4_to_str(j)+"\n",e+="\tSubnet range: "+IP._ipv4_to_str(l)+" - "+IP._ipv4_to_str(m)+"\n",e+="\tTotal addresses in subnet: "+((m-l>>>0)+1)+"\n\n",e+="Range: "+IP._ipv4_to_str(f)+" - "+IP._ipv4_to_str(g)+"\n",e+="Total addresses in range: "+((g-f>>>0)+1)+"\n\n"),c&&(e+=g-f>>>0<=65536||d?IP._generate_ipv4_range(f,g).join("\n"):IP._LARGE_RANGE_ERROR),e},_ipv6_hyphenated_range:function(a,b){for(varc="",d=IP._str_to_ipv6(a[1]),e=IP._str_to_ipv6(a[14]),f="",g=newArray(128),h=0;h<128;h++)g[h]="0";for(h=0;h<8;h++)if(f=(e[h]-d[h]).toString(2),"0"!=f)for(vari=0;i<f.length;i++)g[16*h+16-(f.length-i)]=f[i];returnb&&(c+="Range: "+IP._ipv6_to_str(d)+" - "+IP._ipv6_to_str(e)+"\n",c+="Shorthand range: "+IP._ipv6_to_str(d,!0)+" - "+IP._ipv6_to_str(e,!0)+"\n",c+="Total addresses in range: "+(parseInt(g.join(""),2)+1)+"\n\n"),c},_str_to_ipv4:function(a){functionb(a){if(4!=a.length)throw"More than 4 blocks.";for(varb=[],c=0;c<4;c++)if(b[c]=parseInt(a[c],10),b[c]<0||b[c]>255)throw"Block out of range.";returnb}varc=a.split("."),d=b(c),e=0;returne+=d[0]<<24,e+=d[1]<<16,e+=d[2]<<8,e+=d[3]},_ipv4_to_str:function(a){varb=a>>24&255,c=a>>16&255,d=a>>8&255,e=255&a;returnb+"."+c+"."+d+"."+e},_str_to_ipv6:function(a){functionb(a){if(a.length<3||a.length>8)throw"Badly formatted IPv6 address.";for(varb=[],c=0;c<a.length;c++)if(b[c]=parseInt(a[c],16),b[c]<0||b[c]>65535)throw"Block out of range.";returnb}for(varc=a.split(":"),d=b(c),e=0,f=newArray(8),g=0;g<8;g++)isNaN(d[e])?(f[g]=0,g==8-d.slice(e).length&&e++):(f[g]=d[e],e++);returnf},_ipv6_to_str:function(a,b){varc="",d=0;if(b){vare=-1,f=-1,g=0,h=-1;for(d=0;d<8;d++)0===a[d]&&h===d-1?h=d:0===a[d]&&(g=d,h=d),h>=0&&h-g>f-e&&(e=g,f=h);for(d=0;d<8;d++)d!=e?c+=Utils.hex(a[d],1)+":":(c+=":",d=f,7===f&&(c+=":"));":"===c[0]&&(c=":"+c)}elsefor(d=0;d<8;d++)c+=Utils.hex(a[d],4)+":";returnc.slice(0,c.length-1)},_generate_ipv4_range:function(a,b){varc=[];if(b>=a)for(;a<=b;a++)c.push(IP._ipv4_to_str(a));elsec[0]="Second IP address smaller than first.";returnc}},JS={PARSE_LOC:!1,PARSE_RANGE:!1,PARSE_TOKENS:!1,PARSE_COMMENT:!1,PARSE_TOLERANT:!1,run_parse:function(a,b){varc=b[0],d=b[1],e=b[2],f=b[3],g=b[4],h={},i={loc:c,range:d,tokens:e,comment:f,tolerant:g};returnh=esprima.parse(a,i),JSON.stringify(h,null,2)},BEAUTIFY_INDENT:"\\t",BEAUTIFY_QUOTES:["Auto","Single","Double"],BEAUTIFY_SEMICOLONS:!0,BEAUTIFY_COMMENT:!0,run_beautify:function(a,b){varc,d=b[0]||JS.BEAUTIFY_INDENT,e=b[1].toLowerCase(),f=b[2],g=b[3],h="";try{c=esprima.parse(a,{range:!0,tokens:!0,comment:!0});vari={format:{indent:{style:d},quotes:e,semicolons:f},comment:g};i.comment&&(c=escodegen.attachComments(c,c.comments,c.tokens)),h=escodegen.generate(c,i)}catch(a){throw"Unable to parse JavaScript.<br>"+a.message}returnh},run_minify:function(a,b){varc="",d=esprima.parse(a),e=esmangle.optimize(d,null),f=esmangle.mangle(e);returnc=escodegen.generate(f,{format:{renumber:!0,hexadecimal:!0,escapeless:!0,compact:!0,semicolons:!1,parentheses:!1}})}},MAC={OUTPUT_CASE:["Both","Upper only","Lower only"],NO_DELIM:!0,DASH_DELIM:!0,COLON
},{name:"Flow control",ops:["Fork","Merge","Jump","Conditional Jump","Return"]}],OperationConfig={Fork:{description:"Split the input data up based on the specified delimiter and run all subsequent operations on each branch separately.<br><br>For example, to decode multiple Base64 strings, enter them all on separate lines then add the 'Fork' and 'From Base64' operations to the recipe. Each string will be decoded separately.",run:FlowControl.run_fork,input_type:"string",output_type:"string",flow_control:!0,args:[{name:"Split delimiter",type:"binary_short_string",value:FlowControl.FORK_DELIM},{name:"Merge delimiter",type:"binary_short_string",value:FlowControl.MERGE_DELIM}]},Merge:{description:"Consolidate all branches back into a single trunk. The opposite of Fork.",run:FlowControl.run_merge,input_type:"string",output_type:"string",flow_control:!0,args:[]},Jump:{description:"Jump forwards or backwards over the specified number of operations.",run:FlowControl.run_jump,input_type:"string",output_type:"string",flow_control:!0,args:[{name:"Number of operations to jump over",type:"number",value:FlowControl.JUMP_NUM},{name:"Maximum jumps (if jumping backwards)",type:"number",value:FlowControl.MAX_JUMPS}]},"Conditional Jump":{description:"Conditionally jump forwards or backwards over the specified number of operations based on whether the data matches the specified regular expression.",run:FlowControl.run_cond_jump,input_type:"string",output_type:"string",flow_control:!0,args:[{name:"Match (regex)",type:"string",value:""},{name:"Number of operations to jump over if match found",type:"number",value:FlowControl.JUMP_NUM},{name:"Maximum jumps (if jumping backwards)",type:"number",value:FlowControl.MAX_JUMPS}]},Return:{description:"End execution of operations at this point in the recipe.",run:FlowControl.run_return,input_type:"string",output_type:"string",flow_control:!0,args:[]},"From Base64":{description:"Base64 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers.<br><br>This operation decodes data from an ASCII Base64 string back into its raw format.<br><br>e.g. <code>aGVsbG8=</code> becomes <code>hello</code>",run:Base64.run_from,highlight:Base64.highlight_from,highlight_reverse:Base64.highlight_to,input_type:"string",output_type:"byte_array",args:[{name:"Alphabet",type:"editable_option",value:Base64.ALPHABET_OPTIONS},{name:"Remove non‑alphabet chars",type:"boolean",value:Base64.REMOVE_NON_ALPH_CHARS}]},"To Base64":{description:"Base64 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers.<br><br>This operation encodes data in an ASCII Base64 string.<br><br>e.g. <code>hello</code> becomes <code>aGVsbG8=</code>",run:Base64.run_to,highlight:Base64.highlight_to,highlight_reverse:Base64.highlight_from,input_type:"byte_array",output_type:"string",args:[{name:"Alphabet",type:"editable_option",value:Base64.ALPHABET_OPTIONS}]},"From Base32":{description:"Base32 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. It uses a smaller set of characters than Base64, usually the uppercase alphabet and the numbers 2 to 7.",run:Base64.run_from_32,input_type:"string",output_type:"byte_array",args:[{name:"Alphabet",type:"binary_string",value:Base64.BASE32_ALPHABET},{name:"Remove non‑alphabet chars",type:"boolean",value:Base64.REMOVE_NON_ALPH_CHARS}]},"To Base32":{description:"Base32 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. It uses a smaller set of characters than Base64, usually the uppercase alphabet and the numbers 2 to 7.",run:Base64.run_to_32,input_type:"byte_array",output_type:"string",args:[{name:"Alphabet",type:"binary_string",value:Base64.BASE32_ALPHABET}]},"Show Base64 offsets":{description:"Whenastringiswithinablockofdataandthe
},{name:"Line feeds (\\n)",type:"boolean",value:Tidy.REMOVE_LINE_FEEDS},{name:"Tabs",type:"boolean",value:Tidy.REMOVE_TABS},{name:"Form feeds (\\f)",type:"boolean",value:Tidy.REMOVE_FORM_FEEDS},{name:"Full stops",type:"boolean",value:Tidy.REMOVE_FULL_STOPS}]},"Remove null bytes":{description:"Removes all null bytes (<code>0x00</code>) from the input.",run:Tidy.run_remove_nulls,input_type:"byte_array",output_type:"byte_array",args:[]},"Drop bytes":{description:"Cuts the specified number of bytes out of the data.",run:Tidy.run_drop_bytes,input_type:"byte_array",output_type:"byte_array",args:[{name:"Start",type:"number",value:Tidy.DROP_START},{name:"Length",type:"number",value:Tidy.DROP_LENGTH},{name:"Apply to each line",type:"boolean",value:Tidy.APPLY_TO_EACH_LINE}]},"Take bytes":{description:"Takes a slice of the specified number of bytes from the data.",run:Tidy.run_take_bytes,input_type:"byte_array",output_type:"byte_array",args:[{name:"Start",type:"number",value:Tidy.TAKE_START},{name:"Length",type:"number",value:Tidy.TAKE_LENGTH},{name:"Apply to each line",type:"boolean",value:Tidy.APPLY_TO_EACH_LINE}]},"Pad lines":{description:"Add the specified number of the specified character to the beginning or end of each line",run:Tidy.run_pad,input_type:"string",output_type:"string",args:[{name:"Position",type:"option",value:Tidy.PAD_POSITION},{name:"Length",type:"number",value:Tidy.PAD_LENGTH},{name:"Character",type:"binary_short_string",value:Tidy.PAD_CHAR}]},Reverse:{description:"Reverses the input string.",run:SeqUtils.run_reverse,input_type:"byte_array",output_type:"byte_array",args:[{name:"By",type:"option",value:SeqUtils.REVERSE_BY}]},Sort:{description:"Alphabetically sorts strings separated by the specified delimiter.<br><br>The IP address option supports IPv4 only.",run:SeqUtils.run_sort,input_type:"string",output_type:"string",args:[{name:"Delimiter",type:"option",value:SeqUtils.DELIMITER_OPTIONS},{name:"Reverse",type:"boolean",value:SeqUtils.SORT_REVERSE},{name:"Order",type:"option",value:SeqUtils.SORT_ORDER}]},Unique:{description:"Removes duplicate strings from the input.",run:SeqUtils.run_unique,input_type:"string",output_type:"string",args:[{name:"Delimiter",type:"option",value:SeqUtils.DELIMITER_OPTIONS}]},"Count occurrences":{description:"Counts the number of times the provided string occurs in the input.",run:SeqUtils.run_count,input_type:"string",output_type:"number",args:[{name:"Search string",type:"toggle_string",value:"",toggle_values:SeqUtils.SEARCH_TYPE}]},"Add line numbers":{description:"Adds line numbers to the output.",run:SeqUtils.run_add_line_numbers,input_type:"string",output_type:"string",args:[]},"Remove line numbers":{description:"Removes line numbers from the output if they can be trivially detected.",run:SeqUtils.run_remove_line_numbers,input_type:"string",output_type:"string",args:[]},"Find / Replace":{description:"Replaces all occurrences of the first string with the second.<br><br>The three match options are only relevant to regex search strings.",run:StrUtils.run_find_replace,manual_bake:!0,input_type:"string",output_type:"string",args:[{name:"Find",type:"toggle_string",value:"",toggle_values:StrUtils.SEARCH_TYPE},{name:"Replace",type:"binary_string",value:""},{name:"Global match",type:"boolean",value:StrUtils.FIND_REPLACE_GLOBAL},{name:"Case insensitive",type:"boolean",value:StrUtils.FIND_REPLACE_CASE},{name:"Multiline matching",type:"boolean",value:StrUtils.FIND_REPLACE_MULTILINE}]},"To Upper case":{description:"Converts the input string to upper case, optionally limiting scope to only the first character in each word, sentence or paragraph.",run:StrUtils.run_upper,highlight:!0,highlight_reverse:!0,input_type:"string",output_type:"string",args:[{name:"Scope",type:"option",value:StrUtils.CASE_SCOPE}]},"To Lower case":{description:"Converts every character in the input to lower case.",run:StrUtils.run_lower,highlight:!0,highlight_reverse:!0,input_type:"string",output_type:"string",args:[]},Split:{description:"Splits a string into sections around a given delimiter.",run:StrUtils.run_split,
a&&(d+="?recipe="+encodeURIComponent(e)),a&&b?d+="&input="+encodeURIComponent(f):b&&(d+="?input="+encodeURIComponent(f)),d},ControlsWaiter.prototype.save_text_change=function(){try{vara=JSON.parse(document.getElementById("save-text").value);this.initialise_save_link(a)}catch(a){}},ControlsWaiter.prototype.save_click=function(){vara=this.app.get_recipe_config(),b=JSON.stringify(a).replace(/},{/g,"},\n{");document.getElementById("save-text").value=b,this.initialise_save_link(a),$("#save-modal").modal()},ControlsWaiter.prototype.slr_check_change=function(){this.initialise_save_link()},ControlsWaiter.prototype.sli_check_change=function(){this.initialise_save_link()},ControlsWaiter.prototype.load_click=function(){this.populate_load_recipes_list(),$("#load-modal").modal()},ControlsWaiter.prototype.save_button_click=function(){vara=document.getElementById("save-name").value,b=document.getElementById("save-text").value;if(!a)returnvoidthis.app.alert("Please enter a recipe name","danger",2e3);varc=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[],d=localStorage.recipe_id||0;c.push({id:++d,name:a,recipe:b}),localStorage.saved_recipes=JSON.stringify(c),localStorage.recipe_id=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populate_load_recipes_list=function(){for(vara=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);varc=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[];for(b=0;b<c.length;b++){vard=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.load_delete_click=function(){vara=document.getElementById("load-name").value,b=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[];b=b.filter(function(b){returnb.id!=a}),localStorage.saved_recipes=JSON.stringify(b),this.populate_load_recipes_list()},ControlsWaiter.prototype.load_name_change=function(a){varb=a.target,c=localStorage.saved_recipes?JSON.parse(localStorage.saved_recipes):[],d=parseInt(b.value,10),e=c.filter(function(a){returna.id==d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.load_button_click=function(){try{vara=JSON.parse(document.getElementById("load-text").value);this.app.set_recipe_config(a),$("#rec_list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}};varHTMLApp=function(a,b,c,d){this.categories=a,this.operations=b,this.dfavourites=c,this.doptions=d,this.options=Utils.extend({},d),this.chef=newChef,this.manager=newManager(this),this.auto_bake_=!1,this.progress=0,this.ing_id=0,window.chef=this.chef};HTMLApp.prototype.setup=function(){document.dispatchEvent(this.manager.appstart),this.initialise_splitter(),this.load_local_storage(),this.populate_operations_list(),this.manager.setup(),this.reset_layout(),this.set_compile_message(),this.load_URI_params()},HTMLApp.prototype.handle_error=function(a){console.error(a);varb=a.display_str||a.toString();this.alert(b,"danger",this.options.error_timeout,!this.options.show_errors)},HTMLApp.prototype.bake=function(a){varb;try{b=this.chef.bake(this.get_input(),this.get_recipe_config(),this.options,this.progress,a)}catch(a){this.handle_error(a)}finally{if(!b)return;b.error&&this.handle_error(b.error),this.options=b.options,this.dish_str="html"==b.type?Utils.strip_html_tags(b.result,!0):b.result,this.progress=b.progress,this.manager.recipe.update_breakpoint_indicator(b.progress),this.manager.output.set(b.result,b.type,b.duration),b.duration>this.options.auto_bake_threshold&&this.auto_bake_&&(this.manager.controls.set_auto_bake(!1),this.alert("Baking took longer than "+this.options.auto_bake_threshold+"ms, Auto Bake has been disabled.","warning",5e3))}},HTMLApp.prototype.auto_bake=function(){this.auto_bake_&&this.bake()},HTMLApp.prototype.silent_bake=function(){vara=(newDate).getTime(),b=this.get_recipe_config();returnthis.auto_bake_&&this.chef.silent_bake(b),(newDate).getTime()-a},HTMLApp.prot