From aeb8a36e6b887bfbd50030eec389797302f8a387 Mon Sep 17 00:00:00 2001 From: sehugg Date: Mon, 14 Sep 2026 13:00:32 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20sehugg/8?= =?UTF-8?q?bitworkshop@cb916182af401d91f43d0b289f61a258e019f5e6=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gen/{basic-IDLJKEQQ.js => basic-GTV222NG.js} | 4 ++-- gen/{basic-IDLJKEQQ.js.map => basic-GTV222NG.js.map} | 0 gen/{chunk-YP6JMRCE.js => chunk-KHQV7ZQM.js} | 6 +++--- gen/{chunk-YP6JMRCE.js.map => chunk-KHQV7ZQM.js.map} | 4 ++-- gen/{chunk-F6OOEJJR.js => chunk-PH4OJ3ID.js} | 4 ++-- gen/{chunk-F6OOEJJR.js.map => chunk-PH4OJ3ID.js.map} | 0 gen/common/vtextscroller.js | 2 +- gen/common/vtextscroller.js.map | 2 +- gen/{devel-QD6D3GJV.js => devel-QMYTYBVM.js} | 4 ++-- gen/{devel-QD6D3GJV.js.map => devel-QMYTYBVM.js.map} | 0 gen/embedui.js | 2 +- gen/src/common/vtextscroller.js | 2 +- gen/src/common/vtextscroller.js.map | 2 +- gen/ui.js | 2 +- src/common/vtextscroller.ts | 2 +- 15 files changed, 18 insertions(+), 18 deletions(-) rename gen/{basic-IDLJKEQQ.js => basic-GTV222NG.js} (99%) rename gen/{basic-IDLJKEQQ.js.map => basic-GTV222NG.js.map} (100%) rename gen/{chunk-YP6JMRCE.js => chunk-KHQV7ZQM.js} (99%) rename gen/{chunk-YP6JMRCE.js.map => chunk-KHQV7ZQM.js.map} (92%) rename gen/{chunk-F6OOEJJR.js => chunk-PH4OJ3ID.js} (97%) rename gen/{chunk-F6OOEJJR.js.map => chunk-PH4OJ3ID.js.map} (100%) rename gen/{devel-QD6D3GJV.js => devel-QMYTYBVM.js} (93%) rename gen/{devel-QD6D3GJV.js.map => devel-QMYTYBVM.js.map} (100%) diff --git a/gen/basic-IDLJKEQQ.js b/gen/basic-GTV222NG.js similarity index 99% rename from gen/basic-IDLJKEQQ.js rename to gen/basic-GTV222NG.js index 3eb3b22c..0799fa47 100644 --- a/gen/basic-IDLJKEQQ.js +++ b/gen/basic-GTV222NG.js @@ -1,4 +1,4 @@ -import{b as S}from"./chunk-3FIVEUG2.js";import{y as E}from"./chunk-YP6JMRCE.js";import"./chunk-22ZJCPEG.js";import"./chunk-T6VURU5O.js";import"./chunk-A7SWO6EA.js";import"./chunk-F6OOEJJR.js";import"./chunk-ELRBFCEX.js";import{B as c,K as f,T as d,U as v,a as g}from"./chunk-TYDI7JZQ.js";import"./chunk-VSC4MAII.js";function k(u){return u.value!=null}function y(u){return u.name!=null}function O(u){return u.op!=null&&u.left!=null&&u.right!=null}function N(u){return u.op!=null&&u.expr!=null}var m=class{randomize(){this.seed(Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647)}constructor(){(()=>{var r,e,i,n;this.seed=function(s,a,h,o){r=s,e=a,i=h,n=o},this.seedfloat=function(s){this.seed(s,s*4294,s*429496,s*4294967296),this.next(),this.next(),this.next()},this.next=function(){r>>>=0,e>>>=0,i>>>=0,n>>>=0;var s=r+e|0;return r=e^e>>>9,e=i+(i<<3)|0,i=i<<21|i>>>11,n=n+1|0,s=s+n|0,i=i+s|0,(s>>>0)/4294967296}})(),this.seedfloat(-1)}},I=1024*1024,l=class u{constructor(){this.margin=80;this.running=!1;this.exited=!0;this.trace=!1}load(t){let r=null,e=0;if(this.pc2label!=null){let s=this.curpc;for(;s>0&&(r=this.pc2label.get(s))==null;)s--;e=this.curpc-s,console.log("oldpc=",this.curpc,"restart @ label",r,"+",e)}this.program=t,this.opts=t.opts,this.opts.maxArrayElements||(this.opts.maxArrayElements=I),this.allstmts=t.stmts,this.label2pc=t.labels,this.label2dataptr={},this.pc2label=new Map,this.datums=[],this.subroutines={},this.builtins=this.getBuiltinFunctions();for(var i in t.labels){var n=t.labels[i];this.pc2label.set(n,i)}return this.allstmts.forEach((s,a)=>{this.curpc=a+1,this.compileStatement(s),s.command=="DATA"&&(this.label2dataptr[s.$loc.label]=this.datums.length,s.datums.forEach(h=>{this.curpc=s.$loc.offset,this.datums.push(h)}))}),this.label2pc[r]!=null?(this.curpc=this.label2pc[r]+e,!0):(this.curpc=0,!1)}reset(){this.curpc=0,this.dataptr=0,this.clearVars(),this.returnStack=[],this.column=0,this.running=!0,this.exited=!1}clearVars(){this.globals=this.vars={},this.arrays={},this.defs={},this.forLoops={},this.forLoopStack=[],this.whileLoops=[],this.rng=new m,this.opts&&this.opts.staticArrays&&this.allstmts.filter(t=>t.command=="DIM").forEach(t=>{t.args.forEach(r=>this.compileJS(this._DIM(r))())})}saveState(){return $.extend(!0,{},this)}loadState(t){$.extend(!0,this,t)}getBuiltinFunctions(){var t=this.program&&this.opts.validFunctions;t||(t=Object.getOwnPropertyNames(u.prototype).filter(i=>/^[A-Z]{3,}[$]?$/.test(i)));var r={};for(var e of t)this.supportsFunction(e)&&(r[e]=this[e].bind(this));return r}supportsFunction(t){return typeof this[t]=="function"}runtimeError(t){throw this.curpc--,new d(t,this.getCurrentSourceLocation())}dialectError(t){this.runtimeError(`I can't ${t} in this dialect of BASIC.`)}getLineForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.line}getLabelForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.label}getCurrentSourceLocation(){var t=this.getStatement();return t&&t.$loc}getCurrentLabel(){var t=this.getCurrentSourceLocation();return t&&t.label}getStatement(){return this.allstmts[this.curpc]}step(){if(!this.running)return!1;var t=this.getStatement();return t?(this.trace&&console.log(this.curpc,t,this.vars,Object.keys(this.arrays)),this.curpc++,this.executeStatement(t),this.running):(this.running=!1,this.exited=!0,!1)}compileStatement(t){if(t.$run==null)try{var r=this["do__"+t.command];r==null&&this.runtimeError(`I don't know how to "${t.command}".`);var e=r.bind(this)(t);this.trace&&console.log(e),t.$run=this.compileJS(e)}catch(i){throw e&&console.log(e),i}}compileJS(t){return new Function(t).bind(this)}executeStatement(t){this.compileStatement(t),t.$run()}skipToEOL(){do this.curpc++;while(this.curpc=0?this.curpc=r:this.runtimeError(`I tried to go to the label "${t}" but couldn't find it.`)}newLocalScope(){this.vars=Object.create(this.vars)}popLocalScope(){this.vars!==this.globals&&(this.vars=Object.getPrototypeOf(this.vars))}gosubLabel(t){this.returnStack.length>32767&&this.runtimeError("I did too many GOSUBs without a RETURN."),this.returnStack.push(this.curpc),this.gotoLabel(t)}returnFromGosub(){this.returnStack.length==0&&this.runtimeError("I tried to RETURN, but there wasn't a corresponding GOSUB.");var t=this.returnStack.pop();this.curpc=t,this.popLocalScope()}popReturnStack(){this.returnStack.length==0&&this.runtimeError("I tried to POP, but there wasn't a corresponding GOSUB."),this.returnStack.pop()}valueToString(t,r){var e;if(typeof t=="number"){var i=this.float2str(t,this.opts.printZoneLength-4);return r?i.startsWith("-")?`${i} `:` ${i} `:i}else if(t==` +import{b as S}from"./chunk-3FIVEUG2.js";import{y as E}from"./chunk-KHQV7ZQM.js";import"./chunk-22ZJCPEG.js";import"./chunk-T6VURU5O.js";import"./chunk-A7SWO6EA.js";import"./chunk-PH4OJ3ID.js";import"./chunk-ELRBFCEX.js";import{B as c,K as f,T as d,U as v,a as g}from"./chunk-TYDI7JZQ.js";import"./chunk-VSC4MAII.js";function k(u){return u.value!=null}function y(u){return u.name!=null}function O(u){return u.op!=null&&u.left!=null&&u.right!=null}function N(u){return u.op!=null&&u.expr!=null}var m=class{randomize(){this.seed(Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647)}constructor(){(()=>{var r,e,i,n;this.seed=function(s,a,h,o){r=s,e=a,i=h,n=o},this.seedfloat=function(s){this.seed(s,s*4294,s*429496,s*4294967296),this.next(),this.next(),this.next()},this.next=function(){r>>>=0,e>>>=0,i>>>=0,n>>>=0;var s=r+e|0;return r=e^e>>>9,e=i+(i<<3)|0,i=i<<21|i>>>11,n=n+1|0,s=s+n|0,i=i+s|0,(s>>>0)/4294967296}})(),this.seedfloat(-1)}},I=1024*1024,l=class u{constructor(){this.margin=80;this.running=!1;this.exited=!0;this.trace=!1}load(t){let r=null,e=0;if(this.pc2label!=null){let s=this.curpc;for(;s>0&&(r=this.pc2label.get(s))==null;)s--;e=this.curpc-s,console.log("oldpc=",this.curpc,"restart @ label",r,"+",e)}this.program=t,this.opts=t.opts,this.opts.maxArrayElements||(this.opts.maxArrayElements=I),this.allstmts=t.stmts,this.label2pc=t.labels,this.label2dataptr={},this.pc2label=new Map,this.datums=[],this.subroutines={},this.builtins=this.getBuiltinFunctions();for(var i in t.labels){var n=t.labels[i];this.pc2label.set(n,i)}return this.allstmts.forEach((s,a)=>{this.curpc=a+1,this.compileStatement(s),s.command=="DATA"&&(this.label2dataptr[s.$loc.label]=this.datums.length,s.datums.forEach(h=>{this.curpc=s.$loc.offset,this.datums.push(h)}))}),this.label2pc[r]!=null?(this.curpc=this.label2pc[r]+e,!0):(this.curpc=0,!1)}reset(){this.curpc=0,this.dataptr=0,this.clearVars(),this.returnStack=[],this.column=0,this.running=!0,this.exited=!1}clearVars(){this.globals=this.vars={},this.arrays={},this.defs={},this.forLoops={},this.forLoopStack=[],this.whileLoops=[],this.rng=new m,this.opts&&this.opts.staticArrays&&this.allstmts.filter(t=>t.command=="DIM").forEach(t=>{t.args.forEach(r=>this.compileJS(this._DIM(r))())})}saveState(){return $.extend(!0,{},this)}loadState(t){$.extend(!0,this,t)}getBuiltinFunctions(){var t=this.program&&this.opts.validFunctions;t||(t=Object.getOwnPropertyNames(u.prototype).filter(i=>/^[A-Z]{3,}[$]?$/.test(i)));var r={};for(var e of t)this.supportsFunction(e)&&(r[e]=this[e].bind(this));return r}supportsFunction(t){return typeof this[t]=="function"}runtimeError(t){throw this.curpc--,new d(t,this.getCurrentSourceLocation())}dialectError(t){this.runtimeError(`I can't ${t} in this dialect of BASIC.`)}getLineForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.line}getLabelForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.label}getCurrentSourceLocation(){var t=this.getStatement();return t&&t.$loc}getCurrentLabel(){var t=this.getCurrentSourceLocation();return t&&t.label}getStatement(){return this.allstmts[this.curpc]}step(){if(!this.running)return!1;var t=this.getStatement();return t?(this.trace&&console.log(this.curpc,t,this.vars,Object.keys(this.arrays)),this.curpc++,this.executeStatement(t),this.running):(this.running=!1,this.exited=!0,!1)}compileStatement(t){if(t.$run==null)try{var r=this["do__"+t.command];r==null&&this.runtimeError(`I don't know how to "${t.command}".`);var e=r.bind(this)(t);this.trace&&console.log(e),t.$run=this.compileJS(e)}catch(i){throw e&&console.log(e),i}}compileJS(t){return new Function(t).bind(this)}executeStatement(t){this.compileStatement(t),t.$run()}skipToEOL(){do this.curpc++;while(this.curpc=0?this.curpc=r:this.runtimeError(`I tried to go to the label "${t}" but couldn't find it.`)}newLocalScope(){this.vars=Object.create(this.vars)}popLocalScope(){this.vars!==this.globals&&(this.vars=Object.getPrototypeOf(this.vars))}gosubLabel(t){this.returnStack.length>32767&&this.runtimeError("I did too many GOSUBs without a RETURN."),this.returnStack.push(this.curpc),this.gotoLabel(t)}returnFromGosub(){this.returnStack.length==0&&this.runtimeError("I tried to RETURN, but there wasn't a corresponding GOSUB.");var t=this.returnStack.pop();this.curpc=t,this.popLocalScope()}popReturnStack(){this.returnStack.length==0&&this.runtimeError("I tried to POP, but there wasn't a corresponding GOSUB."),this.returnStack.pop()}valueToString(t,r){var e;if(typeof t=="number"){var i=this.float2str(t,this.opts.printZoneLength-4);return r?i.startsWith("-")?`${i} `:` ${i} `:i}else if(t==` `)this.column=0,e=t;else if(t==" "){var n=this.opts.printZoneLength,s=Math.floor(this.column/n),a=(s+1)*this.opts.printZoneLength;a+n>this.margin?(this.column=0,e=` `):e=this.TAB(a)}else e=`${t}`;return e}float2str(t,r){var e=t.toString().toUpperCase();if(r>0){for(var i=r;e.length>r;)e=t.toPrecision(i--);e.startsWith("0.")?e=e.substr(1):e.startsWith("-0.")&&(e="-"+e.substr(2))}return e}printExpr(t){var r=this.valueToString(t,this.opts.numericPadding);this.column+=r.length,this.print(r)}print(t){console.log(t)}async input(t,r){return{line:"",vals:[]}}resume(){}expr2js(t,r){if(r||(r={}),k(t))return JSON.stringify(t.value);if(y(t)){if(!t.args&&r.locals&&r.locals.indexOf(t.name)>=0)return t.name;{r.isconst&&this.runtimeError("I expected a constant value here.");var e="",i=JSON.stringify(t.name);let h=t.args?t.args.map(o=>this.expr2js(o,r)).join(", "):[];return t.name.startsWith("FN")?e+=`this.getDef(${i})(${h})`:this.builtins[t.name]?(this.checkFuncArgs(t,this.builtins[t.name]),e+=`this.builtins.${t.name}(${h})`):t.args?this.opts.arraysContainChars&&t.name.endsWith("$")?e+=`this.getStringSlice(this.vars.${t.name}, ${h})`:e+=`this.arrayGet(${i}, ${h})`:e+=`this.vars.${t.name}`,r.novalid?e:`this.checkValue(${e}, ${i})`}}else if(O(t)){var n=this.expr2js(t.left,r),s=this.expr2js(t.right,r);return`this.${t.op}(${n}, ${s})`}else if(N(t)){var a=this.expr2js(t.expr,r);return`this.${t.op}(${a})`}}assign2js(t,r){r||(r={});var e="";return(t.name.startsWith("FN")||this.builtins[t.name])&&this.runtimeError("I can't call a function here."),t.args?this.opts.arraysContainChars&&t.name.endsWith("$")?this.runtimeError("I can't set array slices via this command yet."):e+=this.array2js(t,r):e=`this.globals.${t.name}`,e}array2js(t,r){var e=JSON.stringify(t.name),i=t.args||[];return this.expr2js(t,{novalid:!0})+`;this.getArray(${e}, ${i.length})`+i.map(n=>"[this.ROUND("+this.expr2js(n,r)+")]").join("")}checkFuncArgs(t,r){var e=t.args?t.args.length:0;t.name=="RND"&&e==0||t.name=="MID$"&&e==2||t.name=="INSTR"&&e==2||r.length!=e&&this.runtimeError(`I expected ${r.length} arguments for the ${t.name} function, but I got ${e}.`)}startForLoop(t,r,e,i,n){var s=this.curpc-1,a=this.pc2label.get(s);i||(i=1),this.vars[t]=r,this.trace&&console.log(`FOR ${t} = ${r} TO ${e} STEP ${i}`);var h=()=>i>=0?this.vars[t]>e:this.vars[t]o==t)),this.forLoopStack.push(t),this.forLoops[t]={$next:o=>{o&&t!=o&&this.runtimeError(`I executed NEXT "${o}", but the last FOR was for "${t}".`),this.vars[t]+=i;var b=h();b?(this.forLoopStack.pop(),delete this.forLoops[t]):this.curpc=(a!=null&&this.label2pc[a]||s)+1,this.trace&&console.log(`NEXT ${t}: ${this.vars[t]} TO ${e} STEP ${i} DONE=${b}`)}}}nextForLoop(t){var r=this.forLoops[t||this.opts.optionalNextVar&&this.forLoopStack[this.forLoopStack.length-1]];r||this.runtimeError("I couldn't find a matching FOR for this NEXT."),r.$next(t)}whileLoop(t){t?this.whileLoops.push(this.curpc-1):this.skipToAfterWend()}nextWhileLoop(){var t=this.whileLoops.pop();t==null?this.runtimeError("I couldn't find a matching WHILE for this WEND."):this.curpc=t}assign(t,r,e){return e&&t.endsWith("$")?this.checkValue(this.convert(t,r),t):t.endsWith("$")?this.convertToString(r,t):this.convertToNumber(r,t)}convert(t,r){return t.endsWith("$")?r==null?"":r.toString():typeof r=="number"?r:parseFloat(r+"")}convertToString(t,r){if(typeof t!="string")this.runtimeError(`I can't convert ${t} to a string.`);else return t}convertToNumber(t,r){if(typeof t!="number")this.runtimeError(`I can't convert ${t} to a number.`);else return this.checkNum(t)}dimArray(t,...r){if(r=r.map(Math.round),this.arrays[t]!=null){if(this.opts.staticArrays)return;this.runtimeError(`I already dimensioned this array (${t}) earlier.`)}var e=this.getTotalArrayLength(r);e>this.opts.maxArrayElements&&this.runtimeError("I can't create an array with this many elements.");var i=t.endsWith("$"),n=i?Array:Float64Array;if(r.length==1)this.arrays[t]=new n(r[0]+1);else if(r.length==2){this.arrays[t]=new Array(r[0]+1);for(var s=0;s=i.length&&this.runtimeError(`I tried to lookup ${t}(${r}) but it exceeded the dimensions of the array.`),i=i[r[n]]}return c(i)&&this.runtimeError(`I tried to lookup ${t}(${r}) but used too few dimensions.`),i}modifyStringSlice(t,r,e,i){return t=t||"",this.checkString(t),this.checkString(r),i||(i=e),e=this.ROUND(e),i=this.ROUND(i),e<1&&this.dialectError("accept a string slice index less than 1"),ir.length)&&this.runtimeError(`I needed a number between 1 and ${r.length}, but I got ${t}.`),t<1||t>r.length?0:t}onGotoLabel(t,...r){t=this.checkOnGoto(t,r),t&&this.gotoLabel(r[t-1])}onGosubLabel(t,...r){t=this.checkOnGoto(t,r),t&&this.gosubLabel(r[t-1])}nextDatum(){return this.dataptr>=this.datums.length&&this.runtimeError("I tried to READ, but ran out of data."),this.datums[this.dataptr++].value}do__PRINT(t){var r="";for(var e of t.args){var i=this.expr2js(e),n=i.name;r+=`this.printExpr(this.checkValue(${i}, ${JSON.stringify(n)}));`}return r}preInput(){this.running=!1,this.curpc--}postInput(t){t&&this.curpc++,this.running=!0,this.resume()}do__INPUT(t){var r=t.prompt!=null?this.expr2js(t.prompt):'""',e=t.elapsed!=null?this.assign2js(t.elapsed):"let ___",i="";return t.args.forEach((n,s)=>{var a=this.assign2js(n);i+=` var value = this.convert(${JSON.stringify(n.name)}, response.vals[${s}]); @@ -34,4 +34,4 @@ import{b as S}from"./chunk-3FIVEUG2.js";import{y as E}from"./chunk-YP6JMRCE.js"; `),this.tty.addtext("*** END OF PROGRAM ***",1),this.tty.showPrintHead(!1)}loadROM(t,r){var e=this.runtime.exited;this.program=r;var i=this.runtime.load(r);this.tty.uppercaseOnly=!0,(!this.hotReload||e||!i)&&this.reset()}getROMExtension(){return".json"}reset(){this.tty.clear(),this.runtime.reset(),this.clock=0,this.transcript=[]}pause(){this.timer.stop()}resume(){this.isBlocked()||(this.animcount=0,this.timer.start())}isBlocked(){return this.tty.waitingfor!=null||this.runtime.exited}isRunning(){return this.timer.isRunning()}getDefaultExtensions(){return[".bas"]}getToolForFilename(){return"basic"}getPresets(){return L}getPC(){return this.runtime.curpc}getSP(){return 4096-this.runtime.returnStack.length}isStable(){return!0}getCPUState(){return{PC:this.getPC(),SP:this.getSP()}}saveState(){return{c:this.getCPUState(),rt:this.runtime.saveState()}}loadState(t){this.runtime.loadState(t)}getDebugTree(){return{CurrentLine:this.runtime.getCurrentLabel(),Variables:this.runtime.vars,Arrays:this.runtime.arrays,Functions:this.runtime.defs,ForLoops:this.runtime.forLoops,WhileLoops:this.runtime.whileLoops,ReturnStack:this.runtime.returnStack,NextDatum:this.runtime.datums[this.runtime.dataptr],Clock:this.clock,Options:this.runtime.opts,Internals:this.runtime}}inspect(t){let r=this.runtime.vars[t];if(r!=null)return`${t} = ${r}`}showHelp(){return"https://8bitworkshop.com/docs/platforms/basic/"}getDebugCategories(){return["Variables"]}getDebugInfo(t,r){if(t==="Variables")return this.varsToLongString()}varsToLongString(){var t="",r=Object.keys(this.runtime.vars);r.sort();for(var e of r){var i=this.runtime.vars[e],n=JSON.stringify(i);n.length>24&&(n=`${n.substr(0,24)}...(${n.length})`),t+=g(e,3)+" = "+n+` `}return t}setupDebug(t){this.onBreakpointHit=t}clearDebug(){this.onBreakpointHit=null,this.debugTrap=null}checkDebugTrap(){return this.debugTrap&&this.debugTrap()?(this.pause(),this.break(),!0):!1}break(){this.onBreakpointHit&&this.onBreakpointHit(this.saveState())}step(){var t=this.clock;this.debugTrap=()=>this.clock>t,this.resume()}stepOver(){var t=this.runtime.getStatement();if(t&&(t.command=="GOSUB"||t.command=="ONGOSUB")){var r=this.getPC()+1;this.runEval(()=>this.getPC()==r)}else this.step()}hasCustomStepOver(){return!0}runUntilReturn(){var t=this.getSP();this.runEval(()=>this.getSP()>t)}runEval(t){this.debugTrap=()=>t(this.getCPUState()),this.resume()}restartAtPC(t){return t=Math.round(t),t>=0&&t{(function(r){if(typeof bb=="object"&&typeof Tu!="undefined")Tu.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=r()}})(function(){var r,e,t;return(function i(n,s,o){function a(d,h){if(!s[d]){if(!n[d]){var u=typeof Zo=="function"&&Zo;if(!h&&u)return u(d,!0);if(l)return l(d,!0);var f=new Error("Cannot find module '"+d+"'");throw f.code="MODULE_NOT_FOUND",f}var p=s[d]={exports:{}};n[d][0].call(p.exports,function(m){var S=n[d][1][m];return a(S||m)},p,p.exports,i,n,s,o)}return s[d].exports}for(var l=typeof Zo=="function"&&Zo,c=0;c=43)}}).catch(function(){return!1})}function q(g){return typeof A=="boolean"?u.resolve(A):z(g).then(function(v){return A=v,A})}function ne(g){var v=R[g.name],x={};x.promise=new u(function(k,X){x.resolve=k,x.reject=X}),v.deferredOperations.push(x),v.dbReady?v.dbReady=v.dbReady.then(function(){return x.promise}):v.dbReady=x.promise}function se(g){var v=R[g.name],x=v.deferredOperations.pop();if(x)return x.resolve(),x.promise}function te(g,v){var x=R[g.name],k=x.deferredOperations.pop();if(k)return k.reject(v),k.promise}function fe(g,v){return new u(function(x,k){if(R[g.name]=R[g.name]||At(),g.db)if(v)ne(g),g.db.close();else return x(g.db);var X=[g.name];v&&X.push(g.version);var Q=c.open.apply(c,X);v&&(Q.onupgradeneeded=function(Z){var L=Q.result;try{L.createObjectStore(g.storeName),Z.oldVersion<=1&&L.createObjectStore(y)}catch(D){if(D.name==="ConstraintError")console.warn('The database "'+g.name+'" has been upgraded from version '+Z.oldVersion+" to version "+Z.newVersion+', but the storage "'+g.storeName+'" already exists.');else throw D}}),Q.onerror=function(Z){Z.preventDefault(),k(Q.error)},Q.onsuccess=function(){var Z=Q.result;Z.onversionchange=function(L){L.target.close()},x(Z),se(g)}})}function Oe(g){return fe(g,!1)}function ye(g){return fe(g,!0)}function M(g,v){if(!g.db)return!0;var x=!g.db.objectStoreNames.contains(g.storeName),k=g.versiong.db.version;if(k&&(g.version!==v&&console.warn('The database "'+g.name+`" can't be downgraded from version `+g.db.version+" to version "+g.version+"."),g.version=g.db.version),X||x){if(x){var Q=g.db.version+1;Q>g.version&&(g.version=Q)}return!0}return!1}function oe(g){return new u(function(v,x){var k=new FileReader;k.onerror=x,k.onloadend=function(X){var Q=btoa(X.target.result||"");v({__local_forage_encoded_blob:!0,data:Q,type:g.type})},k.readAsBinaryString(g)})}function G(g){var v=C(atob(g.data));return h([v],{type:g.type})}function ge(g){return g&&g.__local_forage_encoded_blob}function we(g){var v=this,x=v._initReady().then(function(){var k=R[v._dbInfo.name];if(k&&k.dbReady)return k.dbReady});return p(x,g,g),x}function Fe(g){ne(g);for(var v=R[g.name],x=v.forages,k=0;k0&&(!g.db||Q.name==="InvalidStateError"||Q.name==="NotFoundError"))return u.resolve().then(function(){if(!g.db||Q.name==="NotFoundError"&&!g.db.objectStoreNames.contains(g.storeName)&&g.version<=g.db.version)return g.db&&(g.version=g.db.version+1),ye(g)}).then(function(){return Fe(g).then(function(){Ne(g,v,x,k-1)})}).catch(x);x(Q)}}function At(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function Ur(g){var v=this,x={db:null};if(g)for(var k in g)x[k]=g[k];var X=R[x.name];X||(X=At(),R[x.name]=X),X.forages.push(v),v._initReady||(v._initReady=v.ready,v.ready=we);var Q=[];function Z(){return u.resolve()}for(var L=0;L>4,N[X++]=(Z&15)<<4|L>>2,N[X++]=(L&3)<<6|D&63;return j}function zi(g){var v=new Uint8Array(g),x="",k;for(k=0;k>2],x+=pr[(v[k]&3)<<4|v[k+1]>>4],x+=pr[(v[k+1]&15)<<2|v[k+2]>>6],x+=pr[v[k+2]&63];return v.length%3===2?x=x.substring(0,x.length-1)+"=":v.length%3===1&&(x=x.substring(0,x.length-2)+"=="),x}function gs(g,v){var x="";if(g&&(x=ms.call(g)),g&&(x==="[object ArrayBuffer]"||g.buffer&&ms.call(g.buffer)==="[object ArrayBuffer]")){var k,X=Et;g instanceof ArrayBuffer?(k=g,X+=fs):(k=g.buffer,x==="[object Int8Array]"?X+=Qo:x==="[object Uint8Array]"?X+=Os:x==="[object Uint8ClampedArray]"?X+=Po:x==="[object Int16Array]"?X+=$o:x==="[object Uint16Array]"?X+=ri:x==="[object Int32Array]"?X+=zr:x==="[object Uint32Array]"?X+=ii:x==="[object Float32Array]"?X+=ps:x==="[object Float64Array]"?X+=wn:v(new Error("Failed to get type for BinaryArray"))),v(X+zi(k))}else if(x==="[object Blob]"){var Q=new FileReader;Q.onload=function(){var Z=je+g.type+"~"+zi(this.result);v(Et+mr+Z)},Q.readAsArrayBuffer(g)}else try{v(JSON.stringify(g))}catch(Z){console.error("Couldn't convert value into a JSON string: ",g),v(null,Z)}}function gl(g){if(g.substring(0,pi)!==Et)return JSON.parse(g);var v=g.substring(vn),x=g.substring(pi,vn),k;if(x===mr&&us.test(v)){var X=v.match(us);k=X[1],v=v.substring(X[0].length)}var Q=mi(v);switch(x){case fs:return Q;case mr:return h([Q],{type:k});case Qo:return new Int8Array(Q);case Os:return new Uint8Array(Q);case Po:return new Uint8ClampedArray(Q);case $o:return new Int16Array(Q);case ri:return new Uint16Array(Q);case zr:return new Int32Array(Q);case ii:return new Uint32Array(Q);case ps:return new Float32Array(Q);case wn:return new Float64Array(Q);default:throw new Error("Unkown type: "+x)}}var bs={serialize:gs,deserialize:gl,stringToBuffer:mi,bufferToString:zi};function ko(g,v,x,k){g.executeSql("CREATE TABLE IF NOT EXISTS "+v.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],x,k)}function To(g){var v=this,x={db:null};if(g)for(var k in g)x[k]=typeof g[k]!="string"?g[k].toString():g[k];var X=new u(function(Q,Z){try{x.db=openDatabase(x.name,String(x.version),x.description,x.size)}catch(L){return Z(L)}x.db.transaction(function(L){ko(L,x,function(){v._dbInfo=x,Q()},function(D,j){Z(j)})},Z)});return x.serializer=bs,X}function gr(g,v,x,k,X,Q){g.executeSql(x,k,X,function(Z,L){L.code===L.SYNTAX_ERR?Z.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[v.storeName],function(D,j){j.rows.length?Q(D,L):ko(D,v,function(){D.executeSql(x,k,X,Q)},Q)},Q):Q(Z,L)},Q)}function Mi(g,v){var x=this;g=m(g);var k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"SELECT * FROM "+Z.storeName+" WHERE key = ? LIMIT 1",[g],function(D,j){var N=j.rows.length?j.rows.item(0).value:null;N&&(N=Z.serializer.deserialize(N)),X(N)},function(D,j){Q(j)})})}).catch(Q)});return f(k,v),k}function Li(g,v){var x=this,k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"SELECT * FROM "+Z.storeName,[],function(D,j){for(var N=j.rows,ae=N.length,xe=0;xe0){Z(Xo.apply(X,[g,D,x,k-1]));return}L(xe)}})})}).catch(L)});return f(Q,x),Q}function bl(g,v,x){return Xo.apply(this,[g,v,x,1])}function xl(g,v){var x=this;g=m(g);var k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"DELETE FROM "+Z.storeName+" WHERE key = ?",[g],function(){X()},function(D,j){Q(j)})})}).catch(Q)});return f(k,v),k}function Sl(g){var v=this,x=new u(function(k,X){v.ready().then(function(){var Q=v._dbInfo;Q.db.transaction(function(Z){gr(Z,Q,"DELETE FROM "+Q.storeName,[],function(){k()},function(L,D){X(D)})})}).catch(X)});return f(x,g),x}function wl(g){var v=this,x=new u(function(k,X){v.ready().then(function(){var Q=v._dbInfo;Q.db.transaction(function(Z){gr(Z,Q,"SELECT COUNT(key) as c FROM "+Q.storeName,[],function(L,D){var j=D.rows.item(0).c;k(j)},function(L,D){X(D)})})}).catch(X)});return f(x,g),x}function xs(g,v){var x=this,k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"SELECT key FROM "+Z.storeName+" WHERE id = ? LIMIT 1",[g+1],function(D,j){var N=j.rows.length?j.rows.item(0).key:null;X(N)},function(D,j){Q(j)})})}).catch(Q)});return f(k,v),k}function Ss(g){var v=this,x=new u(function(k,X){v.ready().then(function(){var Q=v._dbInfo;Q.db.transaction(function(Z){gr(Z,Q,"SELECT key FROM "+Q.storeName,[],function(L,D){for(var j=[],N=0;N '__WebKitDatabaseInfoTable__'",[],function(X,Q){for(var Z=[],L=0;L0}function Ql(g){var v=this,x={};if(g)for(var k in g)x[k]=g[k];return x.keyPrefix=vl(g,v._defaultConfig),Co()?(v._dbInfo=x,x.serializer=bs,u.resolve()):u.reject()}function Ao(g){var v=this,x=v.ready().then(function(){for(var k=v._dbInfo.keyPrefix,X=localStorage.length-1;X>=0;X--){var Q=localStorage.key(X);Q.indexOf(k)===0&&localStorage.removeItem(Q)}});return f(x,g),x}function hu(g,v){var x=this;g=m(g);var k=x.ready().then(function(){var X=x._dbInfo,Q=localStorage.getItem(X.keyPrefix+g);return Q&&(Q=X.serializer.deserialize(Q)),Q});return f(k,v),k}function yn(g,v){var x=this,k=x.ready().then(function(){for(var X=x._dbInfo,Q=X.keyPrefix,Z=Q.length,L=localStorage.length,D=1,j=0;j=0;Z--){var L=localStorage.key(Z);L.indexOf(Q)===0&&localStorage.removeItem(L)}}):X=u.reject("Invalid arguments"),f(X,v),X}var Eo={_driver:"localStorageWrapper",_initStorage:Ql,_support:Ro(),iterate:yn,getItem:hu,setItem:Ou,removeItem:Wi,clear:Ao,length:Je,key:uu,keys:fu,dropInstance:Pl},$l=function(v,x){return v===x||typeof v=="number"&&typeof x=="number"&&isNaN(v)&&isNaN(x)},kl=function(v,x){for(var k=v.length,X=0;X{"use strict";function UP(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=Array(e);t{(function(r){if(typeof bb=="object"&&typeof Tu!="undefined")Tu.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=r()}})(function(){var r,e,t;return(function i(n,s,o){function a(d,h){if(!s[d]){if(!n[d]){var u=typeof Zo=="function"&&Zo;if(!h&&u)return u(d,!0);if(l)return l(d,!0);var f=new Error("Cannot find module '"+d+"'");throw f.code="MODULE_NOT_FOUND",f}var p=s[d]={exports:{}};n[d][0].call(p.exports,function(m){var S=n[d][1][m];return a(S||m)},p,p.exports,i,n,s,o)}return s[d].exports}for(var l=typeof Zo=="function"&&Zo,c=0;c=43)}}).catch(function(){return!1})}function q(g){return typeof A=="boolean"?u.resolve(A):z(g).then(function(v){return A=v,A})}function ne(g){var v=R[g.name],x={};x.promise=new u(function(k,X){x.resolve=k,x.reject=X}),v.deferredOperations.push(x),v.dbReady?v.dbReady=v.dbReady.then(function(){return x.promise}):v.dbReady=x.promise}function se(g){var v=R[g.name],x=v.deferredOperations.pop();if(x)return x.resolve(),x.promise}function te(g,v){var x=R[g.name],k=x.deferredOperations.pop();if(k)return k.reject(v),k.promise}function fe(g,v){return new u(function(x,k){if(R[g.name]=R[g.name]||At(),g.db)if(v)ne(g),g.db.close();else return x(g.db);var X=[g.name];v&&X.push(g.version);var Q=c.open.apply(c,X);v&&(Q.onupgradeneeded=function(Z){var L=Q.result;try{L.createObjectStore(g.storeName),Z.oldVersion<=1&&L.createObjectStore(y)}catch(D){if(D.name==="ConstraintError")console.warn('The database "'+g.name+'" has been upgraded from version '+Z.oldVersion+" to version "+Z.newVersion+', but the storage "'+g.storeName+'" already exists.');else throw D}}),Q.onerror=function(Z){Z.preventDefault(),k(Q.error)},Q.onsuccess=function(){var Z=Q.result;Z.onversionchange=function(L){L.target.close()},x(Z),se(g)}})}function Oe(g){return fe(g,!1)}function ye(g){return fe(g,!0)}function M(g,v){if(!g.db)return!0;var x=!g.db.objectStoreNames.contains(g.storeName),k=g.versiong.db.version;if(k&&(g.version!==v&&console.warn('The database "'+g.name+`" can't be downgraded from version `+g.db.version+" to version "+g.version+"."),g.version=g.db.version),X||x){if(x){var Q=g.db.version+1;Q>g.version&&(g.version=Q)}return!0}return!1}function oe(g){return new u(function(v,x){var k=new FileReader;k.onerror=x,k.onloadend=function(X){var Q=btoa(X.target.result||"");v({__local_forage_encoded_blob:!0,data:Q,type:g.type})},k.readAsBinaryString(g)})}function G(g){var v=C(atob(g.data));return h([v],{type:g.type})}function ge(g){return g&&g.__local_forage_encoded_blob}function we(g){var v=this,x=v._initReady().then(function(){var k=R[v._dbInfo.name];if(k&&k.dbReady)return k.dbReady});return p(x,g,g),x}function Fe(g){ne(g);for(var v=R[g.name],x=v.forages,k=0;k0&&(!g.db||Q.name==="InvalidStateError"||Q.name==="NotFoundError"))return u.resolve().then(function(){if(!g.db||Q.name==="NotFoundError"&&!g.db.objectStoreNames.contains(g.storeName)&&g.version<=g.db.version)return g.db&&(g.version=g.db.version+1),ye(g)}).then(function(){return Fe(g).then(function(){Ne(g,v,x,k-1)})}).catch(x);x(Q)}}function At(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function Ur(g){var v=this,x={db:null};if(g)for(var k in g)x[k]=g[k];var X=R[x.name];X||(X=At(),R[x.name]=X),X.forages.push(v),v._initReady||(v._initReady=v.ready,v.ready=we);var Q=[];function Z(){return u.resolve()}for(var L=0;L>4,N[X++]=(Z&15)<<4|L>>2,N[X++]=(L&3)<<6|D&63;return j}function zi(g){var v=new Uint8Array(g),x="",k;for(k=0;k>2],x+=pr[(v[k]&3)<<4|v[k+1]>>4],x+=pr[(v[k+1]&15)<<2|v[k+2]>>6],x+=pr[v[k+2]&63];return v.length%3===2?x=x.substring(0,x.length-1)+"=":v.length%3===1&&(x=x.substring(0,x.length-2)+"=="),x}function gs(g,v){var x="";if(g&&(x=ms.call(g)),g&&(x==="[object ArrayBuffer]"||g.buffer&&ms.call(g.buffer)==="[object ArrayBuffer]")){var k,X=Et;g instanceof ArrayBuffer?(k=g,X+=fs):(k=g.buffer,x==="[object Int8Array]"?X+=Qo:x==="[object Uint8Array]"?X+=Os:x==="[object Uint8ClampedArray]"?X+=Po:x==="[object Int16Array]"?X+=$o:x==="[object Uint16Array]"?X+=ri:x==="[object Int32Array]"?X+=zr:x==="[object Uint32Array]"?X+=ii:x==="[object Float32Array]"?X+=ps:x==="[object Float64Array]"?X+=wn:v(new Error("Failed to get type for BinaryArray"))),v(X+zi(k))}else if(x==="[object Blob]"){var Q=new FileReader;Q.onload=function(){var Z=je+g.type+"~"+zi(this.result);v(Et+mr+Z)},Q.readAsArrayBuffer(g)}else try{v(JSON.stringify(g))}catch(Z){console.error("Couldn't convert value into a JSON string: ",g),v(null,Z)}}function gl(g){if(g.substring(0,pi)!==Et)return JSON.parse(g);var v=g.substring(vn),x=g.substring(pi,vn),k;if(x===mr&&us.test(v)){var X=v.match(us);k=X[1],v=v.substring(X[0].length)}var Q=mi(v);switch(x){case fs:return Q;case mr:return h([Q],{type:k});case Qo:return new Int8Array(Q);case Os:return new Uint8Array(Q);case Po:return new Uint8ClampedArray(Q);case $o:return new Int16Array(Q);case ri:return new Uint16Array(Q);case zr:return new Int32Array(Q);case ii:return new Uint32Array(Q);case ps:return new Float32Array(Q);case wn:return new Float64Array(Q);default:throw new Error("Unkown type: "+x)}}var bs={serialize:gs,deserialize:gl,stringToBuffer:mi,bufferToString:zi};function ko(g,v,x,k){g.executeSql("CREATE TABLE IF NOT EXISTS "+v.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],x,k)}function To(g){var v=this,x={db:null};if(g)for(var k in g)x[k]=typeof g[k]!="string"?g[k].toString():g[k];var X=new u(function(Q,Z){try{x.db=openDatabase(x.name,String(x.version),x.description,x.size)}catch(L){return Z(L)}x.db.transaction(function(L){ko(L,x,function(){v._dbInfo=x,Q()},function(D,j){Z(j)})},Z)});return x.serializer=bs,X}function gr(g,v,x,k,X,Q){g.executeSql(x,k,X,function(Z,L){L.code===L.SYNTAX_ERR?Z.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[v.storeName],function(D,j){j.rows.length?Q(D,L):ko(D,v,function(){D.executeSql(x,k,X,Q)},Q)},Q):Q(Z,L)},Q)}function Mi(g,v){var x=this;g=m(g);var k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"SELECT * FROM "+Z.storeName+" WHERE key = ? LIMIT 1",[g],function(D,j){var N=j.rows.length?j.rows.item(0).value:null;N&&(N=Z.serializer.deserialize(N)),X(N)},function(D,j){Q(j)})})}).catch(Q)});return f(k,v),k}function Li(g,v){var x=this,k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"SELECT * FROM "+Z.storeName,[],function(D,j){for(var N=j.rows,ae=N.length,xe=0;xe0){Z(Xo.apply(X,[g,D,x,k-1]));return}L(xe)}})})}).catch(L)});return f(Q,x),Q}function bl(g,v,x){return Xo.apply(this,[g,v,x,1])}function xl(g,v){var x=this;g=m(g);var k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"DELETE FROM "+Z.storeName+" WHERE key = ?",[g],function(){X()},function(D,j){Q(j)})})}).catch(Q)});return f(k,v),k}function Sl(g){var v=this,x=new u(function(k,X){v.ready().then(function(){var Q=v._dbInfo;Q.db.transaction(function(Z){gr(Z,Q,"DELETE FROM "+Q.storeName,[],function(){k()},function(L,D){X(D)})})}).catch(X)});return f(x,g),x}function wl(g){var v=this,x=new u(function(k,X){v.ready().then(function(){var Q=v._dbInfo;Q.db.transaction(function(Z){gr(Z,Q,"SELECT COUNT(key) as c FROM "+Q.storeName,[],function(L,D){var j=D.rows.item(0).c;k(j)},function(L,D){X(D)})})}).catch(X)});return f(x,g),x}function xs(g,v){var x=this,k=new u(function(X,Q){x.ready().then(function(){var Z=x._dbInfo;Z.db.transaction(function(L){gr(L,Z,"SELECT key FROM "+Z.storeName+" WHERE id = ? LIMIT 1",[g+1],function(D,j){var N=j.rows.length?j.rows.item(0).key:null;X(N)},function(D,j){Q(j)})})}).catch(Q)});return f(k,v),k}function Ss(g){var v=this,x=new u(function(k,X){v.ready().then(function(){var Q=v._dbInfo;Q.db.transaction(function(Z){gr(Z,Q,"SELECT key FROM "+Q.storeName,[],function(L,D){for(var j=[],N=0;N '__WebKitDatabaseInfoTable__'",[],function(X,Q){for(var Z=[],L=0;L0}function Ql(g){var v=this,x={};if(g)for(var k in g)x[k]=g[k];return x.keyPrefix=vl(g,v._defaultConfig),Co()?(v._dbInfo=x,x.serializer=bs,u.resolve()):u.reject()}function Ao(g){var v=this,x=v.ready().then(function(){for(var k=v._dbInfo.keyPrefix,X=localStorage.length-1;X>=0;X--){var Q=localStorage.key(X);Q.indexOf(k)===0&&localStorage.removeItem(Q)}});return f(x,g),x}function hu(g,v){var x=this;g=m(g);var k=x.ready().then(function(){var X=x._dbInfo,Q=localStorage.getItem(X.keyPrefix+g);return Q&&(Q=X.serializer.deserialize(Q)),Q});return f(k,v),k}function yn(g,v){var x=this,k=x.ready().then(function(){for(var X=x._dbInfo,Q=X.keyPrefix,Z=Q.length,L=localStorage.length,D=1,j=0;j=0;Z--){var L=localStorage.key(Z);L.indexOf(Q)===0&&localStorage.removeItem(L)}}):X=u.reject("Invalid arguments"),f(X,v),X}var Eo={_driver:"localStorageWrapper",_initStorage:Ql,_support:Ro(),iterate:yn,getItem:hu,setItem:Ou,removeItem:Wi,clear:Ao,length:Je,key:uu,keys:fu,dropInstance:Pl},$l=function(v,x){return v===x||typeof v=="number"&&typeof x=="number"&&isNaN(v)&&isNaN(x)},kl=function(v,x){for(var k=v.length,X=0;X{"use strict";function UP(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=Array(e);t2?i-2:0),s=2;s1?t-1:0),n=1;n1?t-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:sl;if(zP&&zP(r,null),!go(e))return r;let i=e.length;for(;i--;){let n=e[i];if(typeof n=="string"){let s=t(n);s!==n&&(P5(e)||(e[i]=s),n=s)}r[n]=!0}return r}function E5(r){for(let e=0;e/g),W5=gt(/\${[\w\W]*/g),V5=gt(/^data-[\-\w.\u00B7-\uFFFF]+$/),j5=gt(/^aria-[\-\w]+$/),FP=gt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),D5=gt(/^(?:\w+script|data):/i),I5=gt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),q5=gt(/^html$/i),F5=gt(/^[a-z][.\w]*(-[.\w]+)+$/i),BP=gt(/<[/\w!]/g),NP=gt(/<[/\w]/g),B5=gt(/<\/no(script|embed|frames)/i),N5=gt(/\/>/i),ur={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},JP=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],G5=mt(Ae({},JP)),H5=(function(){let r={};return ls(JP,e=>{r[e]=gt(new RegExp("])","i"))}),mt(r)})(),K5=function(){return typeof window=="undefined"?null:window},J5=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(i=t.getAttribute(n));let s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch(o){return console.warn("TrustedTypes policy "+s+" could not be created."),null}},GP=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},gn=function(e,t,i,n){return rr(e,t)&&go(e[t])?Ae(n.base?fr(n.base):{},e[t],n.transform):i},Zg=function(e,t,i){let n=rr(e,t)?e[t]:void 0;return n&&typeof n=="object"?fr(n):i()};function e$(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:K5(),e=I=>e$(I);if(e.version="3.4.15",e.removed=[],!r||!r.document||r.document.nodeType!==ur.document||!r.Element)return e.isSupported=!1,e;let t=r.document,i=t,n=i.currentScript;r.DocumentFragment;let s=r.HTMLTemplateElement,o=r.Node,a=r.Element,l=r.NodeFilter,c=r.NamedNodeMap;c===void 0&&(r.NamedNodeMap||r.MozNamedAttrMap),r.HTMLFormElement;let d=r.DOMParser,h=r.trustedTypes,u=a.prototype,f=Ar(u,"cloneNode"),p=Ar(u,"remove"),m=Ar(u,"removeAttributeNode"),S=Ar(u,"nextSibling"),y=Ar(u,"childNodes"),A=Ar(u,"parentNode"),R=Ar(u,"shadowRoot"),U=Ar(u,"attributes"),T=o&&o.prototype?Ar(o.prototype,"nodeType"):null,P=o&&o.prototype?Ar(o.prototype,"nodeName"):null,C=o&&o.prototype?Ar(o.prototype,"ownerDocument"):null,z=function(b){return T?T(b):b.nodeType},q=function(b){return P?P(b):b.nodeName};if(typeof s=="function"){let I=t.createElement("template");I.content&&I.content.ownerDocument&&(t=I.content.ownerDocument)}let ne,se="",te,fe=!1,Oe=0,ye=function(){if(Oe>0)throw as('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},M=function(b){ye(),Oe++;try{return ne.createHTML(b)}finally{Oe--}},oe=function(b){ye(),Oe++;try{return ne.createScriptURL(b)}finally{Oe--}},G=function(){return fe||(te=J5(h,n),fe=!0),te},ge=t,we=ge.implementation,Fe=ge.createNodeIterator,Ne=ge.createDocumentFragment,At=ge.getElementsByTagName,Ur=i.importNode,Re=GP();e.isSupported=typeof HP=="function"&&typeof A=="function"&&we&&we.createHTMLDocument!==void 0;let Ui=L5,hs=Y5,ou=W5,au=V5,lu=j5,cu=D5,pl=I5,du=F5,ml=FP,Ve=null,pr=Ae({},[...jP,...Rg,...Cg,...Ag,...DP]),je=null,us=Ae({},[...IP,...Eg,...qP,...Yh]),Et=Object.seal(mo(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pi=null,fs=null,mr=Object.seal(mo(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Qo=!0,Os=!0,Po=!1,$o=!0,zr=!1,ri=!0,ii=!1,ps=!1,wn=null,vn=null,ms=!1,mi=!1,zi=!1,gs=!1,gl=!0,bs=!1,ko="user-content-",To=!0,gr=!1,Mi={},Li=null,Xo=Ae({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),bl=null,xl=Ae({},["audio","video","img","source","image","track"]),Sl=null,wl=Ae({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),xs="http://www.w3.org/1998/Math/MathML",Ss="http://www.w3.org/2000/svg",br="http://www.w3.org/1999/xhtml",Yi=br,_o=!1,Ro=null,vl=Ae({},[xs,Ss,br],_g),yl=mt(["mi","mo","mn","ms","mtext"]),Co=Ae({},yl),Ql=mt(["annotation-xml"]),Ao=Ae({},Ql),hu=Ae({},["title","style","font","a","script"]),yn=null,uu=["application/xhtml+xml","text/html"],fu="text/html",Je=null,Wi=null,Ou=t.createElement("form"),Pl=function(b){return b instanceof RegExp||b instanceof Function},Eo=function(){let b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wi&&Wi===b)return;(!b||typeof b!="object")&&(b={}),b=fr(b),yn=uu.indexOf(b.PARSER_MEDIA_TYPE)===-1?fu:b.PARSER_MEDIA_TYPE,Je=yn==="application/xhtml+xml"?_g:sl,Ve=gn(b,"ALLOWED_TAGS",pr,{transform:Je}),je=gn(b,"ALLOWED_ATTR",us,{transform:Je}),Ro=gn(b,"ALLOWED_NAMESPACES",vl,{transform:_g}),Sl=gn(b,"ADD_URI_SAFE_ATTR",wl,{transform:Je,base:wl}),bl=gn(b,"ADD_DATA_URI_TAGS",xl,{transform:Je,base:xl}),Li=gn(b,"FORBID_CONTENTS",Xo,{transform:Je}),pi=gn(b,"FORBID_TAGS",fr({}),{transform:Je}),fs=gn(b,"FORBID_ATTR",fr({}),{transform:Je}),Mi=rr(b,"USE_PROFILES")?b.USE_PROFILES&&typeof b.USE_PROFILES=="object"?fr(b.USE_PROFILES):b.USE_PROFILES:!1,Qo=b.ALLOW_ARIA_ATTR!==!1,Os=b.ALLOW_DATA_ATTR!==!1,Po=b.ALLOW_UNKNOWN_PROTOCOLS||!1,$o=b.ALLOW_SELF_CLOSE_IN_ATTR!==!1,zr=b.SAFE_FOR_TEMPLATES||!1,ri=b.SAFE_FOR_XML!==!1,ii=b.WHOLE_DOCUMENT||!1,mi=b.RETURN_DOM||!1,zi=b.RETURN_DOM_FRAGMENT||!1,gs=b.RETURN_TRUSTED_TYPE||!1,ms=b.FORCE_BODY||!1,gl=b.SANITIZE_DOM!==!1,bs=b.SANITIZE_NAMED_PROPS||!1,To=b.KEEP_CONTENT!==!1,gr=b.IN_PLACE||!1,ml=U5(b.ALLOWED_URI_REGEXP)?b.ALLOWED_URI_REGEXP:FP,Yi=typeof b.NAMESPACE=="string"?b.NAMESPACE:br,Co=Zg(b,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ae({},yl)),Ao=Zg(b,"HTML_INTEGRATION_POINTS",()=>Ae({},Ql));let _=Zg(b,"CUSTOM_ELEMENT_HANDLING",()=>mo(null));if(Et=mo(null),rr(_,"tagNameCheck")&&Pl(_.tagNameCheck)&&(Et.tagNameCheck=_.tagNameCheck),rr(_,"attributeNameCheck")&&Pl(_.attributeNameCheck)&&(Et.attributeNameCheck=_.attributeNameCheck),rr(_,"allowCustomizedBuiltInElements")&&typeof _.allowCustomizedBuiltInElements=="boolean"&&(Et.allowCustomizedBuiltInElements=_.allowCustomizedBuiltInElements),gt(Et),zr&&(Os=!1),zi&&(mi=!0),Mi&&(Ve=Ae({},DP),je=mo(null),Mi.html===!0&&(Ae(Ve,jP),Ae(je,IP)),Mi.svg===!0&&(Ae(Ve,Rg),Ae(je,Eg),Ae(je,Yh)),Mi.svgFilters===!0&&(Ae(Ve,Cg),Ae(je,Eg),Ae(je,Yh)),Mi.mathMl===!0&&(Ae(Ve,Ag),Ae(je,qP),Ae(je,Yh))),mr.tagCheck=null,mr.attributeCheck=null,rr(b,"ADD_TAGS")&&(typeof b.ADD_TAGS=="function"?mr.tagCheck=b.ADD_TAGS:go(b.ADD_TAGS)&&(Ve===pr&&(Ve=fr(Ve)),Ae(Ve,b.ADD_TAGS,Je))),rr(b,"ADD_ATTR")&&(typeof b.ADD_ATTR=="function"?mr.attributeCheck=b.ADD_ATTR:go(b.ADD_ATTR)&&(je===us&&(je=fr(je)),Ae(je,b.ADD_ATTR,Je))),rr(b,"ADD_FORBID_CONTENTS")&&go(b.ADD_FORBID_CONTENTS)&&(Li===Xo&&(Li=fr(Li)),Ae(Li,b.ADD_FORBID_CONTENTS,Je)),To&&(Ve["#text"]=!0),ii&&Ae(Ve,["html","head","body"]),Ve.table&&(Ae(Ve,["tbody"]),delete pi.tbody),b.TRUSTED_TYPES_POLICY){if(typeof b.TRUSTED_TYPES_POLICY.createHTML!="function")throw as('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof b.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw as('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let Y=ne;ne=b.TRUSTED_TYPES_POLICY;try{se=M("")}catch(ie){throw ne=Y,ie}}else b.TRUSTED_TYPES_POLICY===null?(ne=void 0,se=""):(ne===void 0&&(ne=G()),ne&&typeof se=="string"&&(se=M("")));mt&&mt(b),Wi=b},$l=Ae({},[...Rg,...Cg,...z5]),kl=Ae({},[...Ag,...M5]),Tl=function(b,_,Y){return _.namespaceURI===br?b==="svg":_.namespaceURI===xs?b==="svg"&&(Y==="annotation-xml"||Co[Y]):!!$l[b]},Qn=function(b,_,Y){return _.namespaceURI===br?b==="math":_.namespaceURI===Ss?b==="math"&&Ao[Y]:!!kl[b]},Xl=function(b,_,Y){return _.namespaceURI===Ss&&!Ao[Y]||_.namespaceURI===xs&&!Co[Y]?!1:!kl[b]&&(hu[b]||!$l[b])},Vi=function(b){let _=A(b);(!_||!_.tagName)&&(_={namespaceURI:Yi,tagName:"template"});let Y=sl(b.tagName),ie=sl(_.tagName);return Ro[b.namespaceURI]?b.namespaceURI===Ss?Tl(Y,_,ie):b.namespaceURI===xs?Qn(Y,_,ie):b.namespaceURI===br?Xl(Y,_,ie):!!(yn==="application/xhtml+xml"&&Ro[b.namespaceURI]):!1},ni=function(b){rl(e.removed,{element:b});try{A(b).removeChild(b)}catch(_){if(p(b),!A(b))throw as("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Pn=function(b,_,Y){try{m(b,_)}catch(ie){try{b.removeAttribute(Y)}catch(he){}}},ji=function(b){Di(b);let _=y(b);if(_){let ie=[];ls(_,he=>{rl(ie,he)}),ls(ie,he=>{try{p(he)}catch(pe){}})}let Y=U(b);if(Y)for(let ie=Y.length-1;ie>=0;--ie){let he=Y[ie],pe=he&&he.name;typeof pe=="string"&&Pn(b,he,pe)}},gi=function(b,_,Y){if(!Y)try{Y=_.getAttributeNode(b)}catch(ie){Y=null}rl(e.removed,{attribute:Y||null,from:_});try{Y?m(_,Y):_.removeAttribute(b)}catch(ie){try{_.removeAttribute(b)}catch(he){}}if(b==="is")if(mi||zi)try{ni(_)}catch(ie){}else try{_.setAttribute(b,"")}catch(ie){}},pu=function(b){let _=U(b);if(_)for(let Y=_.length-1;Y>=0;--Y){let ie=_[Y],he=ie&&ie.name;typeof he!="string"||je[Je(he)]||Pn(b,ie,he)}},Di=function(b){let _=[b];for(;_.length>0;){let Y=_.pop();z(Y)===ur.element&&pu(Y);let he=y(Y);if(he)for(let pe=he.length-1;pe>=0;--pe)_.push(he[pe])}},_l=function(b,_){return ri?b==="patchsrc"?!0:b==="for"&&_!=="label"&&_!=="output":!1},mu=function(b){if(!ri)return;let _=[b];for(;_.length>0;){let Y=_.pop(),ie=z(Y);if(ie===ur.processingInstruction||ie===ur.comment&&Ct(NP,Y.data)){try{p(Y)}catch(pe){}continue}if(ie===ur.element){let pe=Y,De=Je(q(Y));try{pe.hasAttribute&&pe.hasAttribute("patchsrc")&&pe.removeAttribute("patchsrc"),pe.hasAttribute&&pe.hasAttribute("for")&&_l("for",De)&&pe.removeAttribute("for")}catch(et){}}let he=y(Y);if(he)for(let pe=he.length-1;pe>=0;--pe)_.push(he[pe])}},g=function(b){let _=null,Y=null;if(ms)b=""+b;else{let pe=LP(b,/^[\r\n\t ]+/);Y=pe&&pe[0]}yn==="application/xhtml+xml"&&Yi===br&&(b=''+b+"");let ie=ne?M(b):b;if(Yi===br)try{_=new d().parseFromString(ie,yn)}catch(pe){}if(!_||!_.documentElement){_=we.createDocument(Yi,"template",null);try{_.documentElement.innerHTML=_o?se:ie}catch(pe){}}let he=_.body||_.documentElement;return b&&Y&&he.insertBefore(t.createTextNode(Y),he.childNodes[0]||null),Yi===br?At.call(_,ii?"html":"body")[0]:ii?_.documentElement:he},v=function(b){let _=C?C(b):b.ownerDocument;return Fe.call(_||b,b,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},x=function(b){return b=il(b,Ui," "),b=il(b,hs," "),b=il(b,ou," "),b},k=function(b){var _;b.normalize();let Y=C?C(b):b.ownerDocument,ie=Fe.call(Y||b,b,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),he=ie.nextNode();for(;he;)he.data=x(he.data),he=ie.nextNode();let pe=(_=b.querySelectorAll)===null||_===void 0?void 0:_.call(b,"template");pe&&ls(pe,De=>{Q(De.content)&&k(De.content)})},X=function(b){let _=P?P(b):null;return typeof _!="string"||Je(_)!=="form"?!1:typeof b.nodeName!="string"||typeof b.textContent!="string"||typeof b.removeChild!="function"||b.attributes!==U(b)||typeof b.removeAttribute!="function"||typeof b.removeAttributeNode!="function"||typeof b.getAttributeNode!="function"||typeof b.setAttribute!="function"||typeof b.namespaceURI!="string"||typeof b.insertBefore!="function"||typeof b.hasChildNodes!="function"||b.nodeType!==T(b)||b.childNodes!==y(b)},Q=function(b){if(!T||typeof b!="object"||b===null)return!1;try{return T(b)===ur.documentFragment}catch(_){return!1}},Z=function(b){if(!T||typeof b!="object"||b===null)return!1;try{return typeof T(b)=="number"}catch(_){return!1}};function L(I,b,_){I.length!==0&&ls(I,Y=>{Y.call(e,b,_,Wi)})}let D=function(b,_){return!!(ri&&b.hasChildNodes()&&!Z(b.firstElementChild)&&Ct(BP,b.textContent)&&Ct(BP,b.innerHTML)||ri&&b.namespaceURI===br&&G5[_]&&(Z(b.firstElementChild)||typeof b.textContent=="string"&&Ct(H5[_],b.textContent))||b.nodeType===ur.processingInstruction||ri&&b.nodeType===ur.comment&&Ct(NP,b.data))},j=function(b,_){if(b instanceof RegExp)return Ct(b,_);if(b instanceof Function){for(var Y=arguments.length,ie=new Array(Y>2?Y-2:0),he=2;he=0;--De){let et=b===Y?f(he[De],!0):he[De];ie.insertBefore(et,S(b))}}}return ni(b),!0},ae=function(b,_,Y,ie){return b.length===0?_:_===Y||_===ie?fr(_):_},xe=function(b,_){return b===_||A(b)!==null?!1:(gr&&Di(b),!0)},Ce=function(b,_){if(L(Re.beforeSanitizeElements,b,null),xe(b,_))return!0;if(X(b))return ni(b),!0;let Y=Je(q(b));if(Ve=ae(Re.uponSanitizeElement,Ve,pr,wn),L(Re.uponSanitizeElement,b,{tagName:Y,allowedTags:Ve}),xe(b,_))return!0;if(D(b,Y))return ni(b),!0;if(pi[Y]||!(mr.tagCheck instanceof Function&&mr.tagCheck(Y))&&!Ve[Y]){let he=N(b,Y,_);return he===!1&&L(Re.afterSanitizeElements,b,null),he}if(z(b)===ur.element&&!Vi(b)||(Y==="noscript"||Y==="noembed"||Y==="noframes")&&Ct(B5,b.innerHTML))return ni(b),!0;if(zr&&b.nodeType===ur.text){let he=x(b.textContent);b.textContent!==he&&(rl(e.removed,{element:b.cloneNode()}),b.textContent=he)}return L(Re.afterSanitizeElements,b,null),!1},Ee=function(b,_,Y){if(fs[_]||_l(_,b)||gl&&(_==="id"||_==="name")&&(Y in t||Y in Ou))return!1;let ie=je[_]||mr.attributeCheck instanceof Function&&mr.attributeCheck(_,b);return Os&&Ct(au,_)||Qo&&Ct(lu,_)?!0:ie?Sl[_]||Ct(ml,il(Y,pl,""))||(_==="src"||_==="xlink:href"||_==="href")&&b!=="script"&&YP(Y,"data:")===0&&bl[b]||Po&&!Ct(cu,il(Y,pl,""))?!0:!Y:Ge(b)&&j(Et.tagNameCheck,b)&&j(Et.attributeNameCheck,_,b)||_==="is"&&Et.allowCustomizedBuiltInElements&&j(Et.tagNameCheck,Y)},nt=Ae({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ge=function(b){return!nt[sl(b)]&&Ct(du,b)},It=function(b,_,Y,ie){if(ne&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!Y)switch(h.getAttributeType(b,_)){case"TrustedHTML":return M(ie);case"TrustedScriptURL":return oe(ie)}return ie},$n=function(b,_,Y,ie){try{return Y?b.setAttributeNS(Y,_,ie):b.setAttribute(_,ie),X(b)?(ni(b),!1):!0}catch(he){return gi(_,b),!1}},ws=function(b){L(Re.beforeSanitizeAttributes,b,null);let _=b.attributes;if(!_||X(b))return;je=ae(Re.uponSanitizeAttribute,je,us,vn);let Y={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:je,forceKeepAttr:void 0},ie=_.length,he=Je(b.nodeName);for(;ie--;){let pe=_[ie],De=pe.name,et=pe.namespaceURI,qt=pe.value,Ft=Je(De),gu=qt,Zt=De==="value"?gu:_5(gu),nb=!1;if(Y.attrName=Ft,Y.attrValue=Zt,Y.keepAttr=!0,Y.forceKeepAttr=void 0,L(Re.uponSanitizeAttribute,b,Y),Zt=Y.attrValue,bs&&(Ft==="id"||Ft==="name")&&YP(Zt,ko)!==0&&(gi(De,b,pe),Zt=ko+Zt,nb=!0),ri&&Ct(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Zt)){gi(De,b,pe);continue}if(Ft==="attributename"&&LP(Zt,"href")){gi(De,b,pe);continue}if(!Y.forceKeepAttr){if(!Y.keepAttr){gi(De,b,pe);continue}if(!$o&&Ct(N5,Zt)){gi(De,b,pe);continue}if(zr&&(Zt=x(Zt)),!Ee(he,Ft,Zt)){gi(De,b,pe);continue}Zt=It(he,Ft,et,Zt),Zt!==gu&&$n(b,De,et,Zt)&&nb&&MP(e.removed)}}L(Re.afterSanitizeAttributes,b,null)},vs=function(b){let _=null,Y=v(b);for(L(Re.beforeSanitizeShadowDOM,b,null);_=Y.nextNode();)if(L(Re.uponSanitizeShadowNode,_,null),Ce(_,b),ws(_),Q(_.content)&&vs(_.content),z(_)===ur.element){let ie=R(_);Q(ie)&&(kn(ie),vs(ie))}L(Re.afterSanitizeShadowDOM,b,null)},kn=function(b){let _=[{node:b,shadow:null}];for(;_.length>0;){let Y=_.pop();if(Y.shadow){vs(Y.shadow);continue}let ie=Y.node,pe=z(ie)===ur.element,De=y(ie);if(De)for(let et=De.length-1;et>=0;--et)_.push({node:De[et],shadow:null});if(pe){let et=P?P(ie):null;if(typeof et=="string"&&Je(et)==="template"){let qt=ie.content;Q(qt)&&_.push({node:qt,shadow:null})}}if(pe){let et=R(ie);Q(et)&&_.push({node:null,shadow:et},{node:et,shadow:null})}}};return e.sanitize=function(I){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_=null,Y=null,ie=null,he=null;if(_o=!I,_o&&(I=""),typeof I!="string"&&!Z(I)&&(I=Z5(I),typeof I!="string"))throw as("dirty is not a string, aborting");if(!e.isSupported)return I;ps?(Ve=wn,je=vn):Eo(b),(Re.uponSanitizeElement.length>0||Re.uponSanitizeAttribute.length>0)&&(Ve=fr(Ve)),Re.uponSanitizeAttribute.length>0&&(je=fr(je)),e.removed=[];let pe=gr&&typeof I!="string"&&Z(I);if(pe){mu(I);let qt=q(I);if(typeof qt=="string"){let Ft=Je(qt);if(!Ve[Ft]||pi[Ft])throw ji(I),as("root node is forbidden and cannot be sanitized in-place")}if(X(I))throw ji(I),as("root node is clobbered and cannot be sanitized in-place");try{kn(I)}catch(Ft){throw ji(I),Ft}}else if(Z(I))_=g(""),Y=_.ownerDocument.importNode(I,!0),Y.nodeType===ur.element&&Y.nodeName==="BODY"||Y.nodeName==="HTML"?_=Y:_.appendChild(Y),kn(_);else{if(!mi&&!zr&&!ii&&I.indexOf("<")===-1)return ne&&gs?M(I):I;if(_=g(I),!_)return mi?null:gs?se:""}_&&ms&&ni(_.firstChild);let De=pe?I:_;try{let qt=v(De);for(;ie=qt.nextNode();)Ce(ie,De),ws(ie),Q(ie.content)&&vs(ie.content)}catch(qt){throw pe&&(ji(I),ls(e.removed,Ft=>{Ft.element&&Di(Ft.element)})),qt}if(pe)return ls(e.removed,qt=>{qt.element&&Di(qt.element)}),zr&&k(I),I;if(mi){if(zr&&k(_),zi)for(he=Ne.call(_.ownerDocument);_.firstChild;)he.appendChild(_.firstChild);else he=_;return(je.shadowroot||je.shadowrootmode)&&(he=Ur.call(i,he,!0)),he}let et=ii?_.outerHTML:_.innerHTML;return ii&&Ve["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&Ct(q5,_.ownerDocument.doctype.name)&&(et=" `+et),zr&&(et=x(et)),ne&&gs?M(et):et},e.setConfig=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Eo(I),ps=!0,wn=Ve,vn=je},e.clearConfig=function(){Wi=null,ps=!1,wn=null,vn=null,ne=te,se=""},e.isValidAttribute=function(I,b,_){Wi||Eo({});let Y=Je(I),ie=Je(b);return Ee(Y,ie,_)},e.addHook=function(I,b){typeof b=="function"&&rr(Re,I)&&rl(Re[I],b)},e.removeHook=function(I,b){if(rr(Re,I)){if(b!==void 0){let _=T5(Re[I],b);return _===-1?void 0:X5(Re[I],_,1)[0]}return MP(Re[I])}},e.removeHooks=function(I){rr(Re,I)&&(Re[I]=[])},e.removeAllHooks=function(){Re=GP()},e}var ez=e$();t$.exports=ez});var Gg=bu(Xu());var Me=[/^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi,/^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm],Ie=[/^\s*([;]|[/][/])#link\s+"(.+?)"/gm],Lo=[/^\s*(`include|[.]include)\s+"(.+?)"/gmi,/^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi,{re:/^\s*([.]arch)\s+(\w+)/gmi,suffix:".json"},/\$readmem[bh]\("(.+?)"/gmi],K$=[{re:/^\s*[.#%]?\s*include\s+<(.+?)>/gmi,system:!0}];function wb(r){let e=r&&Bt(r);return e&&e.includeDirs&&e.includeDirs.length?K$:[]}var xb=[/^\s+(USE|ASM)\s+(\S+[.]\S+)/gm],J$=[/^[!]src\s+"(.+?)"/gmi],ek=[{re:/^\s*import\s*"(.+?)";/gmi,suffix:".wiz"},/^\s*embed\s*"(.+?)";/gmi],tk=[/^\s*(import)\s*"(.+?)"/gmi],rk=[/^\s*%%\s*#include\s+"(.+?)"/gm],Sb={apple2:{preloadFS:"65-apple2"},c64:{preloadFS:"65-c64"},vic20:{preloadFS:"65-vic20"},nes:{preloadFS:"65-nes"},atari8:{preloadFS:"65-atari8"},vector:{preloadFS:"65-none"},atari7800:{preloadFS:"65-none"},devel:{preloadFS:"65-none"},vcs:{preloadFS:"65-atari2600"},pce:{preloadFS:"65-pce"},exidy:{preloadFS:"65-none"}},ks={dasm:{id:"dasm",name:"DASM",kind:"assembler",arch:"6502",extensions:[".dasm"],editorStyle:"6502",helpURL:"https://raw.githubusercontent.com/dasm-assembler/dasm/refs/tags/v2.20.17/docs/dasm.txt",wasmModule:"dasm-wasisdk",version:"2.20.17",includePatterns:Me,linkPatterns:Ie},acme:{id:"acme",name:"ACME",kind:"assembler",arch:"6502",extensions:[".acme"],editorStyle:"6502",helpURL:"https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt",wasmModule:"acme",version:"0.97.1",includePatterns:[...Me,...J$],linkPatterns:Ie},xa:{id:"xa",name:"XA",kind:"assembler",arch:"6502",extensions:[".xa"],editorStyle:"6502",helpURL:"https://www.floodgap.com/retrotech/xa/",wasmModule:"xa",version:"2.4.1",includePatterns:Me,linkPatterns:Ie},nesasm:{id:"nesasm",name:"NESASM",kind:"assembler",arch:"6502",extensions:[".nesasm"],editorStyle:"6502",helpURL:"https://github.com/camsaul/nesasm",wasmModule:"nesasm",version:"3.1",includePatterns:Me,linkPatterns:Ie},merlin32:{id:"merlin32",name:"Merlin 32",kind:"assembler",arch:"6502",extensions:[".lnk"],editorStyle:"6502",helpURL:"https://github.com/apple2accumulator/merlin32",wasmModule:"merlin32",version:"1.1.10",includePatterns:[...Me,...xb],linkPatterns:Ie},cc65:{id:"cc65",name:"cc65",kind:"compiler",arch:"6502",extensions:[".c",".h"],includeDirs:["/include","/asminc"],editorStyle:"text/x-csrc",helpURL:"https://cc65.github.io/doc/cc65.html",wasmModule:"cc65",version:"2.19",defineFlag:"-D",defineInline:!0,platforms:Sb,includePatterns:Me,linkPatterns:Ie},ca65:{id:"ca65",name:"ca65",kind:"assembler",arch:"6502",extensions:[".s",".ca65",".inc"],includeDirs:["/include","/asminc"],editorStyle:"6502",helpURL:"https://cc65.github.io/doc/ca65.html",wasmModule:"ca65",version:"2.19",defineFlag:"-D",defineInline:!1,platforms:Sb,includePatterns:Me,linkPatterns:Ie},ld65:{id:"ld65",name:"ld65",kind:"linker",arch:"6502",extensions:[],wasmModule:"ld65",version:"2.19",linkSymbolFlag:"-D",linkSymbolInline:!1},sdcc:{id:"sdcc",name:"SDCC",kind:"compiler",arch:"z80",extensions:[".c",".h"],includeDirs:["/include"],editorStyle:"text/x-csrc",helpURL:"http://sdcc.sourceforge.net/doc/sdccman.pdf",wasmModule:"sdcc",version:"3.6.5",defineFlag:"-D",defineInline:!0,platforms:{default:{preloadFS:"sdcc"}},includePatterns:Me,linkPatterns:Ie},sdasz80:{id:"sdasz80",name:"sdasz80",kind:"assembler",arch:"z80",extensions:[".s"],includeDirs:["/include"],editorStyle:"z80",wasmModule:"sdasz80",version:"02.00",platforms:{default:{preloadFS:"sdcc"}},includePatterns:Me,linkPatterns:Ie},sdasgb:{id:"sdasgb",name:"sdasgb",kind:"assembler",arch:"gbz80",extensions:[".sgb"],includeDirs:["/include"],editorStyle:"z80",wasmModule:"sdasgb",platforms:{default:{preloadFS:"sdcc"}},includePatterns:Me,linkPatterns:Ie},sdldz80:{id:"sdldz80",name:"sdldz80",kind:"linker",arch:"z80",extensions:[],wasmModule:"sdldz80",version:"03.00",linkSymbolFlag:"-g",linkSymbolInline:!1},sccz80:{id:"sccz80",name:"sccz80",kind:"compiler",arch:"z80",extensions:[".scc"],platforms:{default:{preloadFS:"sccz80"}},noWorkerBuild:!0},naken:{id:"naken",name:"Naken",kind:"assembler",extensions:[".ns"],helpURL:"https://github.com/mikeakohn/naken_asm",noWorkerBuild:!0},zmac:{id:"zmac",name:"zmac",kind:"assembler",arch:"z80",extensions:[".z"],editorStyle:"z80",helpURL:"https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt",wasmModule:"zmac",version:"28jul2018",includePatterns:Me,linkPatterns:Ie},jsasm:{id:"jsasm",name:"JSASM",kind:"assembler",extensions:[".asm"],editorStyle:"z80",includePatterns:Lo,linkPatterns:[]},xasm6809:{id:"xasm6809",name:"XASM6809",kind:"assembler",arch:"6809",extensions:[".xasm"],editorStyle:"6809",wasmModule:"xasm6809",includePatterns:[...Me,...xb],linkPatterns:Ie},cmoc:{id:"cmoc",name:"CMOC",kind:"compiler",arch:"6809",extensions:[".c",".h"],editorStyle:"text/x-csrc",helpURL:"https://github.com/stahta01/cmoc/",wasmModule:"cmoc",version:"0.1.67",defineFlag:"-D",defineInline:!1,includePatterns:Me,linkPatterns:Ie},lwasm:{id:"lwasm",name:"LWASM",kind:"assembler",arch:"6809",extensions:[".lwasm"],wasmModule:"lwasm",version:"4.17",includePatterns:Me,linkPatterns:Ie},lwlink:{id:"lwlink",name:"LWLINK",kind:"linker",arch:"6809",extensions:[],wasmModule:"lwlink",version:"4.17"},vasmarm:{id:"vasmarm",name:"vasm (ARM)",kind:"assembler",arch:"arm32",extensions:[".vasm"],editorStyle:"vasm",wasmModule:"vasmarm_std",version:"1.8k",defineFlag:"-D",defineInline:!1,includePatterns:Me,linkPatterns:Ie},armips:{id:"armips",name:"armips",kind:"assembler",arch:"arm32",extensions:[".armips"],editorStyle:"vasm",wasmModule:"armips",version:"0.11.0",includePatterns:Me,linkPatterns:Ie},armtcc:{id:"armtcc",name:"TCC (ARM)",kind:"compiler",arch:"arm32",extensions:[".c",".s"],includeDirs:["/include"],wasiFSZip:"arm32-fs.zip",editorStyle:"text/x-csrc",wasmModule:"arm-tcc",defineFlag:"-D",defineInline:!1,includePatterns:Me,linkPatterns:Ie},armtcclink:{id:"armtcclink",name:"TCC (ARM) link",kind:"linker",arch:"arm32",extensions:[],wasmModule:"arm-tcc"},smlrc:{id:"smlrc",name:"SmallerC",kind:"compiler",arch:"x86",extensions:[".c"],helpURL:"https://github.com/alexfru/SmallerC/blob/master/v0100/doc/smlrc.md",editorStyle:"text/x-csrc",wasmModule:"smlrc",defineFlag:"-D",defineInline:!1,includePatterns:Me,linkPatterns:Ie},yasm:{id:"yasm",name:"YASM",kind:"assembler",arch:"x86",extensions:[".asm"],editorStyle:"gas",helpURL:"https://www.tortall.net/projects/yasm/manual/html/manual.html",wasmModule:"yasm",version:"1.3.0",defineFlag:"-D",defineInline:!1,includePatterns:Me,linkPatterns:Ie},oscar64:{id:"oscar64",name:"Oscar64",kind:"compiler",arch:"6502",extensions:[".c",".cpp",".cc",".o64"],includeDirs:["/include"],wasiFSZip:"oscar64-fs.zip",editorStyle:"text/x-csrc",helpURL:"https://github.com/drmortalwombat/oscar64/blob/v1.32.266/oscar64.md",wasmModule:"oscar64",version:"1.32.266",includePatterns:Me,linkPatterns:Ie},bataribasic:{id:"bataribasic",name:"batari Basic",kind:"compiler",arch:"6502",extensions:[".bb",".bas"],includeDirs:["/includes"],editorStyle:"bataribasic",helpURL:"help/bataribasic/manual.html",wasiFSZip:"bb-fs.zip",platforms:{default:{}},includePatterns:Me,linkPatterns:Ie},fastbasic:{id:"fastbasic",name:"FastBasic",kind:"compiler",arch:"6502",extensions:[".bas",".fb",".fbi"],editorStyle:"fastbasic",helpURL:"https://github.com/dmsc/fastbasic/blob/v4.4/manual.md",wasmModule:"fastbasic-int",version:"4.4",platforms:{default:{preloadFS:"65-atari8"}},includePatterns:Me,linkPatterns:Ie},cc2600:{id:"cc2600",name:"CC2600",kind:"compiler",arch:"6502",extensions:[".cc2600"],editorStyle:"text/x-csrc",helpURL:"https://github.com/steux/cc2600",wasmModule:"cc2600",version:"0.4.5",wasiFSZip:"cc2600-fs.zip",includeDirs:["/headers"],includePatterns:Me,linkPatterns:Ie},cc7800:{id:"cc7800",name:"CC7800",kind:"compiler",arch:"6502",extensions:[".cc7800",".c78"],editorStyle:"text/x-csrc",helpURL:"https://github.com/steux/cc7800",wasmModule:"cc7800",version:"0.2.28",wasiFSZip:"cc7800-fs.zip",includeDirs:["/headers"],includePatterns:Me,linkPatterns:Ie},basic:{id:"basic",name:"BASIC",kind:"interpreter",extensions:[".bas"],editorStyle:"basic"},wiz:{id:"wiz",name:"wiz",kind:"compiler",extensions:[".wiz"],includeDirs:["/common/$platform"],editorStyle:"text/x-wiz",helpURL:"https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz",wasmModule:"wiz",version:"0.1.2",platforms:{default:{preloadFS:"wiz"}},includePatterns:ek},ecs:{id:"ecs",name:"ECS",kind:"assembler",arch:"6502",extensions:[".ecs"],editorStyle:"ecs",platforms:{vcs:{preloadFS:"65-atari2600"},nes:{preloadFS:"65-nes"},c64:{preloadFS:"65-c64"}},includePatterns:[...Me,...tk]},inform6:{id:"inform6",name:"Inform 6",kind:"compiler",arch:"zmachine",extensions:[".inf"],editorStyle:"inform6",wasmModule:"inform",version:"6.34",platforms:{default:{preloadFS:"inform"}}},dialog:{id:"dialog",name:"Dialog",kind:"compiler",arch:"zmachine",extensions:[".dg"],editorStyle:"dialog",helpURL:"https://linusakesson.net/dialog/docs/",wasmModule:"dialogc",version:"1c/03-dev",wasiFSZip:"dialog-fs.zip",includeDirs:["/"],includePatterns:rk},verilator:{id:"verilator",name:"Verilator",kind:"hdl",arch:"verilog",extensions:[".v"],editorStyle:"verilog",helpURL:"https://verilator.org/guide/4.205/",wasmModule:"verilator_bin",version:"4.205",includePatterns:Lo,linkPatterns:[]},yosys:{id:"yosys",name:"Yosys",kind:"hdl",arch:"verilog",extensions:[],wasmModule:"yosys",includePatterns:Lo,linkPatterns:[]},silice:{id:"silice",name:"Silice",kind:"hdl",arch:"verilog",extensions:[".ice"],editorStyle:"verilog",helpURL:"https://github.com/sylefeb/Silice",wasmModule:"silice",version:"0.1",platforms:{default:{preloadFS:"Silice"}},includePatterns:Lo,linkPatterns:[]},"llvm-mos":{id:"llvm-mos",name:"LLVM-MOS",kind:"compiler",arch:"6502",extensions:[".c",".cpp",".s",".S",".C"],editorStyle:"text/x-csrc",helpURL:"https://llvm-mos.org/wiki/Welcome",remote:!0,includePatterns:Me,linkPatterns:Ie,server:{version:"latest",platforms:["atari8","c64","nes","pce","vcs"],binpath:"llvm-mos/bin",command:"mos-clang",args:["-Os","-g","-D","__8BITWORKSHOP__","-o","$OUTFILE","$INFILES"]}},remote:{id:"remote",name:"Remote build",kind:"remote",extensions:[],remote:!0}};function Bt(r){return ks[r.replace(/^remote:/,"")]}function vb(r){let e=[];for(let t in ks){let i=ks[t];for(let n of i.extensions)if(n&&r.endsWith(n)){e.push({meta:i,len:n.length});break}}return e.sort((t,i)=>i.len-t.len).map(t=>t.meta)}function ik(r,e){let t=Bt(r);if(t&&t.platforms){if(e){let n=t.platforms[e];if(n&&n.preloadFS)return n.preloadFS;let s=Mr(e);if(s&&s!==e){let o=t.platforms[s];if(o&&o.preloadFS)return o.preloadFS}}let i=t.platforms.default;if(i&&i.preloadFS)return i.preloadFS}}function _u(r){let e=Bt(r);return e&&e.skeleton?e.skeleton:r.replace(/^remote:/,"")}function Yl(r,e){let t=r&&Bt(r);return t&&t.includePatterns?t.includePatterns:e&&e.startsWith("verilog")?Lo:Me}function Wl(r,e){let t=r&&Bt(r);return t&&t.linkPatterns?t.linkPatterns:e&&e.startsWith("verilog")?[]:Ie}function Vl(r,e){e=e&&Mr(e);let t=r&&Bt(r),i=t&&t.includeDirs||[];return i=i.map(n=>n.replace("$platform",e)),i}function jl(r,e){var t=ik(r,e);if(t)return t;let i=r&&Bt(r);return i&&i.wasiFSZip?"wasi:"+i.wasiFSZip:void 0}function Ru(r,e){let t=[];for(let i of e||[]){let n=i instanceof RegExp?{re:i}:i,s;for(n.re.lastIndex=0;s=n.re.exec(r);){let o=s[n.group!=null?n.group:s.length-1];o&&t.push(n.suffix?o+n.suffix:o)}}return t}var Yr={vcs:{arch:"6502",code_start:4096,code_size:61440,data_start:128,data_size:128,wiz_rom_ext:".a26",wiz_inc_dir:"2600",cfgfile:"atari2600.cfg",libargs:["crt0.o","atari2600.lib"],extra_link_files:["crt0.o","atari2600.cfg"],asm_cfgfile:"atari2600-asm.cfg",asm_libargs:[],asm_extra_link_files:["atari2600-asm.cfg"],define:["__ATARI2600__"]},mw8080bw:{arch:"z80",code_start:0,rom_size:8192,data_start:8192,data_size:1024,stack_end:9216},vicdual:{arch:"z80",code_start:0,rom_size:16416,data_start:58368,data_size:1024,stack_end:59392},galaxian:{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:18432},"galaxian-scramble":{arch:"z80",code_start:0,rom_size:20512,data_start:16384,data_size:1024,stack_end:18432},pacman:{arch:"z80",code_start:0,codeseg_start:202,rom_size:32768,data_start:19456,data_size:652,stack_end:20416},williams:{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152,set_stack_end:49152,extra_link_files:["williams.scr","libcmoc-crt-vec.a","libcmoc-std-vec.a"],extra_link_args:["-swilliams.scr","-lcmoc-crt-vec","-lcmoc-std-vec"],extra_compile_files:["assert.h","cmoc.h","stdarg.h","stdlib.h"]},"williams-defender":{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152},"williams-z80":{arch:"z80",code_start:0,rom_size:38912,data_start:38912,data_size:10240,stack_end:49152},"vector-z80color":{arch:"z80",code_start:0,rom_size:32768,data_start:57344,data_size:8192,stack_end:0},"vector-ataricolor":{arch:"6502",define:["__VECTOR__"],cfgfile:"vector-color.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","vector-color.cfg"]},"sound_williams-z80":{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:32768},base_z80:{arch:"z80",code_start:0,rom_size:32768,data_start:32768,data_size:32768,stack_end:0},coleco:{arch:"z80",rom_start:32768,code_start:33024,rom_size:32768,data_start:28672,data_size:1024,stack_end:32768,extra_preproc_args:["-I","/share/include/coleco","-D","CV_CV"],extra_link_args:["-k","/share/lib/coleco","-l","libcv","-l","libcvu","crt0.rel"]},msx:{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_link_args:["crt0-msx.rel"],extra_link_files:["crt0-msx.rel","crt0-msx.lst"],wiz_sys_type:"z80",wiz_inc_dir:"msx"},"msx-libcv":{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_preproc_args:["-I",".","-D","CV_MSX"],extra_link_args:["-k",".","-l","libcv-msx","-l","libcvu-msx","crt0-msx.rel"],extra_link_files:["libcv-msx.lib","libcvu-msx.lib","crt0-msx.rel","crt0-msx.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},"sms-sg1000-libcv":{arch:"z80",rom_start:0,code_start:256,rom_size:49152,data_start:49152,data_size:1024,stack_end:57344,extra_preproc_args:["-I",".","-D","CV_SMS"],extra_link_args:["-k",".","-l","libcv-sms","-l","libcvu-sms","crt0-sms.rel"],extra_link_files:["libcv-sms.lib","libcvu-sms.lib","crt0-sms.rel","crt0-sms.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},nes:{arch:"6502",define:["__NES__"],cfgfile:"neslib2.cfg",libargs:["crt0.o","nes.lib","neslib2.lib","-D","NES_MAPPER=0","-D","NES_PRG_BANKS=2","-D","NES_CHR_BANKS=1","-D","NES_MIRRORING=0"],extra_link_files:["crt0.o","neslib2.lib","neslib2.cfg","nesbanked.cfg"],symbolConfigs:{NES_MAPPER:{4:"nesbanked.cfg"}},wiz_rom_ext:".nes"},apple2:{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["--lib-path","/share/target/apple2/drv","apple2.lib"],__CODE_RUN__:16384,code_start:2051,acmeargs:["-f","apple"]},"apple2-e":{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["apple2.lib"],acmeargs:["-f","apple"]},"atari8-800xl.disk":{arch:"6502",define:["__ATARI__"],cfgfile:"atari.cfg",libargs:["atari.lib"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-800xl":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-800":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-5200":{arch:"6502",define:["__ATARI5200__"],cfgfile:"atari5200.cfg",libargs:["atari5200.lib","-D","__CARTFLAGS__=255"],fastbasic_cfgfile:"fastbasic-cart.cfg"},verilog:{arch:"verilog",extra_compile_files:["8bitworkshop.v"]},astrocade:{arch:"z80",code_start:8192,rom_size:8192,data_start:19984,data_size:496,stack_end:20480},"astrocade-arcade":{arch:"z80",code_start:0,rom_size:16384,data_start:32224,data_size:544,stack_end:32768},"astrocade-bios":{arch:"z80",code_start:0,rom_size:8192,data_start:20430,data_size:50,stack_end:20430},atari7800:{arch:"6502",define:["__ATARI7800__"],cfgfile:"atari7800.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","atari7800.cfg"]},c64:{arch:"6502",define:["__CBM__","__C64__"],cfgfile:"c64.cfg",libargs:["openroms-compat.o","c64.lib"],extra_link_files:["openroms-compat.o"],acmeargs:["-f","cbm"]},vic20:{arch:"6502",define:["__CBM__","__VIC20__"],cfgfile:"vic20.cfg",libargs:["vic20.lib"],acmeargs:["-f","cbm"]},kim1:{arch:"6502"},vectrex:{arch:"6809",code_start:0,rom_size:32768,data_start:51328,data_size:896,stack_end:52224,extra_compile_files:["assert.h","cmoc.h","stdarg.h","vectrex.h","stdlib.h","bios.h"],extra_link_files:["vectrex.scr","libcmoc-crt-vec.a","libcmoc-std-vec.a"],extra_compile_args:["--vectrex"],extra_link_args:["-svectrex.scr","-lcmoc-crt-vec","-lcmoc-std-vec"]},x86:{arch:"x86"},zx:{arch:"z80",code_start:23755,rom_size:41613,data_start:61440,data_size:3584,stack_end:65368,extra_link_args:["crt0-zx.rel"],extra_link_files:["crt0-zx.rel","crt0-zx.lst"]},"devel-6502":{arch:"6502",cfgfile:"devel-6502.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","devel-6502.cfg"]},"cpc.rslib":{arch:"z80",code_start:16384,rom_size:28928,data_start:45312,data_size:-3840,stack_end:49152,extra_compile_files:["cpcrslib.h"],extra_link_args:["crt0-cpc.rel","cpcrslib.lib"],extra_link_files:["crt0-cpc.rel","crt0-cpc.lst","cpcrslib.lib","cpcrslib.lst"]},cpc:{arch:"z80",code_start:16384,rom_size:28928,data_start:45312,data_size:-3840,stack_end:49152,extra_compile_files:["cpctelera.h"],extra_link_args:["crt0-cpc.rel","cpctelera.lib"],extra_link_files:["crt0-cpc.rel","crt0-cpc.lst","cpctelera.lib","cpctelera.lst"]},pce:{arch:"huc6280",define:["__PCE__"],cfgfile:"pce.cfg",libargs:["pce.lib","-D","__CARTSIZE__=0x8000"]},exidy:{define:["__EXIDY__"],cfgfile:"exidy.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","exidy.cfg"]},arm32:{arch:"arm32",define:["__ARM__","DISABLE_UNIMPLEMENTED_LIBC_APIS","PRINTF_ALIAS_STANDARD_FUNCTION_NAMES_SOFT"],extra_compile_args:["-I./arch/arm/include","-I./openlibm/include","-I./openlibm/src","-I./printf/src"],extra_link_files:["crt0.c","libc.a"],extra_link_args:["crt0.c","-lc"]},gb:{arch:"gbz80",code_start:0,codeseg_start:512,rom_size:32768,data_start:49312,data_size:8032,stack_end:57344,extra_link_files:["gbz80.lib","gb.lib"],extra_link_args:["-l","gb","-g","_shadow_OAM=0xC000","-g",".STACK=0xE000","-g",".refresh_OAM=0xFF80","-g","GB_MAPPER=0x0","-g","GB_ROM_SIZE=0x0","-g","GB_RAM_SIZE=0x0","-g","GB_CGB_FLAGS=0x0"],wiz_sys_type:"gb",wiz_inc_dir:"gb"},mcr:{arch:"z80",code_start:0,rom_size:106496,data_start:57344,data_size:2048,stack_end:59392}};Yr["sms-sms-libcv"]=Tn(tt({},Yr["sms-sg1000-libcv"]),{extra_preproc_args:["-I",".","-D","CV_SMS","-D","CV_MODE4"]});Yr["sms-gg-libcv"]=Yr["sms-sms-libcv"];Yr["gb.color"]=Tn(tt({},Yr.gb),{extra_link_args:Yr.gb.extra_link_args.map(r=>r==="GB_CGB_FLAGS=0x0"?"GB_CGB_FLAGS=0x80":r)});var nk=10,sk=1e4,yb="/error.php",ok=2e3,Qb=0,Pb="",$b=0;function Ii(r,e){try{if(r==null)return"";var t=typeof r=="string"?r:typeof r=="object"?JSON.stringify(r):r+"";return t.substring(0,e)}catch(i){return""}}function kb(r,e,t){try{if(Qb>=nk)return;var i=Date.now();if(r===Pb&&i-$b