@jscad/web 2.6.4 → 2.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  },{}],3:[function(require,module,exports){
8
8
  module.exports={
9
9
  "name": "@jscad/core",
10
- "version": "2.6.6",
10
+ "version": "2.6.7",
11
11
  "description": "Core functionality for JSCAD Applications",
12
12
  "homepage": "https://openjscad.xyz/",
13
13
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -43,9 +43,9 @@ module.exports={
43
43
  "license": "MIT",
44
44
  "dependencies": {
45
45
  "@jscad/array-utils": "2.1.4",
46
- "@jscad/io": "2.4.5",
47
- "@jscad/io-utils": "2.0.24",
48
- "@jscad/modeling": "2.11.1",
46
+ "@jscad/io": "2.4.6",
47
+ "@jscad/io-utils": "2.0.25",
48
+ "@jscad/modeling": "2.12.0",
49
49
  "json5": "2.2.3",
50
50
  "strip-bom": "4.0.0"
51
51
  },
@@ -75,7 +75,7 @@ const loadDesign=require("../code-loading/loadDesign"),instanciateDesign=require
75
75
  },{"../code-loading/loadDesign":11,"../parameters/applyParameterDefinitions":22,"./instanciateDesign":5}],7:[function(require,module,exports){
76
76
  const path=require("path"),{toArray:toArray}=require("@jscad/array-utils"),requireDesignFromModule=require("../code-loading/requireDesignFromModule"),getAllParameterDefintionsAndValues=require("../parameters/getParameterDefinitionsAndValues"),makeWebRequire=require("../code-loading/webRequire"),rebuildSolids=e=>{let{apiMainPath:r,mainPath:a,parameterValues:i,useFakeFs:t}=Object.assign({},{apiMainPath:"@jscad/modeling"},e),s=require;if(t){const i=path.parse(a),t=`${i.name}.js`,u=`/${i.name}.js`,n=[{ext:"js",fullPath:u,name:t,source:e.source}];s=makeWebRequire(n,{apiMainPath:r}),a=u}const u=requireDesignFromModule(a,s),n=getAllParameterDefintionsAndValues(u,i);return toArray(u.main(n.parameterValues))};module.exports=rebuildSolids;
77
77
 
78
- },{"../code-loading/requireDesignFromModule":14,"../code-loading/webRequire":18,"../parameters/getParameterDefinitionsAndValues":23,"@jscad/array-utils":524,"path":688}],8:[function(require,module,exports){
78
+ },{"../code-loading/requireDesignFromModule":14,"../code-loading/webRequire":18,"../parameters/getParameterDefinitionsAndValues":23,"@jscad/array-utils":524,"path":699}],8:[function(require,module,exports){
79
79
  const rebuildGeometryWorker=e=>{const o=require("./rebuildGeometry");e.onmessage=function(t){if(t.data instanceof Object){const{data:r}=t;"generate"===r.cmd&&o(r,(o,t)=>{t&&e.postMessage(t),o&&e.postMessage(o)})}}};module.exports=rebuildGeometryWorker;
80
80
 
81
81
  },{"./rebuildGeometry":6}],9:[function(require,module,exports){
@@ -99,7 +99,7 @@ const validateDesignModule=require("./validateDesignModule"),normalizeDesignModu
99
99
  },{"./normalizeDesignModule":13,"./validateDesignModule":17}],15:[function(require,module,exports){
100
100
  const path=require("path"),{toArray:toArray}=require("@jscad/array-utils"),splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^/]+?|)(\.[^./]*|))(?:[/]*)$/,splitPath=e=>splitPathRe.exec(e).slice(1),parsePath=e=>{assertPath(e);const t=splitPath(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,t[1].length-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},assertPath=e=>{if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+e)},getDesignEntryPoint=(e,t)=>{if(!t)return;const a=toArray(t)[0];let r;const n=e.statSync(a);if(n.isFile())return a;if(n.isDirectory()){const t=path.join(a,"package.json");if(e.existsSync(t)){const r=JSON.parse(e.readFileSync(t)).main;if(r)return path.join(a,r)}const n=e.readdirSync(a),i=["main","index",parsePath(path.basename(a)).name],s=i.map(e=>e+".js"),o=i.map(e=>e+".jscad"),c=n.filter(e=>s.concat(o).includes(e));return c.length>0&&(r=path.join(a,c[0])),r}return a},packageNameFromDir=(e,t,a)=>{const r=path.join(t,"package.json");if(e.existsSync(r)){const t=JSON.parse(e.readFileSync(r)).name;if(t)return t}return a?parsePath(path.basename(a)).name:path.basename(t)},getDesignName=(e,t)=>{if(!t)return"undefined";const a=toArray(t)[0],r=e.statSync(a);if(r.isFile()){const t=path.dirname(a);return packageNameFromDir(e,t,a)}return r.isDirectory()?packageNameFromDir(e,a):void 0};module.exports={getDesignEntryPoint:getDesignEntryPoint,getDesignName:getDesignName};
101
101
 
102
- },{"@jscad/array-utils":524,"path":688}],16:[function(require,module,exports){
102
+ },{"@jscad/array-utils":524,"path":699}],16:[function(require,module,exports){
103
103
  const{deserializers:deserializers}=require("@jscad/io"),modulifyTransform=(e,r)=>Object.assign({},r,{source:r.source}),createJscadEntry=(e,r)=>{const s=e.name.substring(0,e.name.lastIndexOf(".")+1)+"jscad",t="/"+s;return Object.assign({},e,{ext:"jscad",name:s,fullPath:t,source:r})},transformSources=(e,r)=>{if(r&&r.length>1)return r;const s={js:[modulifyTransform],jscad:[modulifyTransform]};return r&&(r=r.map(r=>(r=>{if(r.source&&r.ext){const t=Object.assign({},e,{filename:r.name,output:"script"});if(r.ext in deserializers){const e=(0,deserializers[r.ext])(t,r.source);return createJscadEntry(r,e)}if(r.ext in s)return s[r.ext].reduce((e,r)=>r(t,e),r)}return r})(r))),r};module.exports=transformSources;
104
104
 
105
105
  },{"@jscad/io":69}],17:[function(require,module,exports){
@@ -108,7 +108,7 @@ const validateDesignModule=n=>{if(!n)throw new Error("undefined root module pass
108
108
  },{}],18:[function(require,module,exports){
109
109
  const path=require("path"),posix=path.posix?path.posix:path,getFileExtensionFromString=require("../utils/getFileExtensionFromString"),{combineParameterDefinitions:combineParameterDefinitions,getParameterDefinitionsFromSource:getParameterDefinitionsFromSource}=require("../parameters/getParameterDefinitionsFromSource"),findMatch=(e,t)=>{for(let r=0;r<t.length;r++){const n=t[r];if(e===n.fullPath||"/"+e===n.fullPath)return n;if(n.children){const t=findMatch(e,n.children);if(void 0!==t)return t}}},registerJsExtension=(e,t)=>{const r=require("strip-bom");t.extensions[".js"]=((t,n)=>{const i=e.readFileSync(n,"utf8");t._compile(r(i),n)})},registerJsonExtension=(e,t)=>{t.extensions[".json"]=((t,r)=>{const n=e.readFileSync(r,"utf8");t.exports=JSON.parse(n)})},makeWebRequire=(e,t)=>{const r={apiMainPath:"@jscad/modeling",fakeFs:require("./makeFakeFs")(e)},{apiMainPath:n,fakeFs:i}=Object.assign({},r,t),s="@jscad/modeling"===n?require("@jscad/modeling"):require(n),o={"@jscad/io":{exports:require("@jscad/io")},"@jscad/array-utils":{exports:require("@jscad/array-utils")},"@jscad/modeling":{exports:s},fs:{exports:i}},a={},l={},u=(t,r)=>{const n=o[r];if(n)return n.exports;t&&!r.startsWith("/")||(t="/");const i=t=>{let r=getFileExtensionFromString(t);r||(r="js",t+=".js"),r="."+r;const n=findMatch(t,e);if(!n)return null;if(n.children)return null;if(a[r]){if(l[t])return l[t];const e={exports:{},_compile:(t,r)=>{try{new Function("require","module",t)(u.bind(null,n.fullPath),e)}catch(e){const t=e.message;r=r.replace("/","");const n=e.lineNumber?e.lineNumber-2:0,i=e.columnNumber?e.columnNumber:0;throw e.stack.startsWith("Object")?e.stack=`${e.stack}\nObject.<anonymous> (${r}:${n}:${i})`:((e=new SyntaxError(t,r,n)).columnNumber=i,e.stack=`Object.<anonymous> (${r}:${n}:${i})`),e}const i=t.includes("@jscad-params")?getParameterDefinitionsFromSource(t,r):[],s=e.exports.getParameterDefinitions;e.exports.getParameterDefinitions=(()=>combineParameterDefinitions(i,s&&s()||[]))}};return a[r](e,n.fullPath),l[t]=e.exports,l[t]}return null},s=t=>{if(!findMatch(t,e))return null;"/"===t&&(t="");let r=t+"/index.js",n=i(r);return n||((n=i(r=t+"/index.json"))||null)},c=t=>{let r,n=findMatch(t,e);if(!n)return null;if(!n.children)return null;if(n=findMatch(t+"/package.json",e)){const e=JSON.parse(n.source).main;if(e){const n=posix.normalize(t+"/"+e);return(r=i(n))?r:(r=s(n))||null}}return(r=s(t))||null};if(r.startsWith("./")||r.startsWith("/")||r.startsWith("../")){r=posix.normalize(posix.dirname(t)+posix.sep+r);let e=i(r);if(e)return e;if(e=c(r))return e;throw new Error(`Cannot find relative path to module ${r}`)}const m=((e,t)=>{const r=(e=>{const t=e.split("/"),r=[];for(let e=t.length-1;e>0;e--){if("node_modules"===t[e])continue;const n=posix.sep+posix.join(...t.slice(1,e+1),"node_modules");r.push(n)}return r})(t);for(let t=0;t<r.length;t++){const n=r[t],s=posix.join(n,e);let o=i(s);if(o)return o;if(o=c(s))return o}return null})(r,posix.dirname(t));if(m)return m;throw new Error(`Cannot find module ${r}`)},c=u.bind(null,"/");return c.extensions=a,c.resolve=(()=>{}),registerJsExtension(i,c),registerJsonExtension(i,c),c};module.exports=makeWebRequire;
110
110
 
111
- },{"../parameters/getParameterDefinitionsFromSource":24,"../utils/getFileExtensionFromString":28,"./makeFakeFs":12,"@jscad/array-utils":524,"@jscad/io":69,"@jscad/modeling":210,"path":688,"strip-bom":2}],19:[function(require,module,exports){
111
+ },{"../parameters/getParameterDefinitionsFromSource":24,"../utils/getFileExtensionFromString":28,"./makeFakeFs":12,"@jscad/array-utils":524,"@jscad/io":69,"@jscad/modeling":210,"path":699,"strip-bom":2}],19:[function(require,module,exports){
112
112
  module.exports={evaluation:require("./code-evaluation"),io:require("./io"),loading:require("./code-loading"),parameters:require("./parameters"),utils:require("./utils"),web:require("./web")};
113
113
 
114
114
  },{"./code-evaluation":4,"./code-loading":10,"./io":20,"./parameters":27,"./utils":29,"./web":31}],20:[function(require,module,exports){
@@ -150,7 +150,7 @@ module.exports={walkFileTree:require("./walkFileTree")};
150
150
  },{"./walkFileTree":32}],32:[function(require,module,exports){
151
151
  const{flatten:flatten}=require("@jscad/array-utils"),{formats:formats}=require("@jscad/io/formats"),getFileExtensionFromString=require("../utils/getFileExtensionFromString"),binaryMimetypes={bmp:"image/bmp",gif:"image/gif",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",tif:"image/tiff",tiff:"image/tiff",otc:"font/otf",otf:"font/otf",ttc:"font/ttf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff",stl:"application/sla"},readFileAsync=(e,t)=>{const r=e.fullPath?e.fullPath:t.fullPath?t.fullPath:"",i=getFileExtensionFromString(e.name),n=e.mimetype;return new Promise((t,s)=>{const o=new FileReader;o.onload=(s=>{const o=s.target.result;o.byteLength?t({name:e.name,ext:i,fullPath:r,mimetype:n,source:o}):"string"==typeof o&&t({name:e.name,ext:i,fullPath:r,mimetype:n,source:o})}),o.onerror=(e=>{s(new Error(`Failed to load file: ${r} [${o.error}]`))}),binaryMimetypes[i]?o.readAsArrayBuffer(e):o.readAsText(e)})},isSupportedFormat=e=>{const t=getFileExtensionFromString(e.name),r=formats[t]?formats[t].mimetype:binaryMimetypes[t];return e.mimetype=e.type&&e.type.length?e.type:r,e.mimetype&&e.mimetype.length},pseudoArraytoArray=e=>{const t=[];for(let r=0;r<e.length;r++){const i=e[r];i&&t.push(i.webkitGetAsEntry?i.webkitGetAsEntry():i)}return t},isEmpty=e=>null!=e,processEntries=e=>{const t=pseudoArraytoArray(e.filter(isEmpty)).filter(isEmpty).reduce((e,t)=>{if(t.name.startsWith("."))return e;if(t.isFile)e.push(processFile(t));else if(t.isDirectory)e.push(processDirectory(t));else if(t instanceof File){const r=t.webkitRelativePath?t.webkitRelativePath:void 0,i=isSupportedFormat(t)?readFileAsync(t,{fullPath:r}):void 0;if(!i)throw new Error("Unsuported format (or folder in Safari)!");e.push(i)}return e},[]);return Promise.all(t).then(e=>e.filter(e=>null!=e))},processFile=e=>{return new Promise((t,r)=>{e.file(r=>{isSupportedFormat(r)?t(readFileAsync(r,e)):t(void 0)},t=>{const i=`${t.message} (${t.code})`;r(new Error(`Failed to load file: ${e.fullPath} [${i}]`))})})},processDirectory=e=>{return new Promise((t,r)=>{if(e.entries)e.entries.length?processEntries(e.entries).then(t):t([]);else{e.createReader().readEntries(e=>{e.length?processEntries(e).then(t):t([])},r)}}).then(flatten).then(t=>({children:t=t.map(t=>(t.fullPath.startsWith("/")||(t.fullPath=e.fullPath+"/"+t.name),t)),fullPath:e.fullPath,name:e.name}))},transformFileList=e=>{const t=require("path");if(1===e.length){const r=e[0],i=r.webkitRelativePath?r.webkitRelativePath:r.name;if(i.split(t.sep).length<2){const e=t.sep,n={fullPath:e,name:e,isDirectory:!0,entries:[]};return r.fullPath=t.normalize(e+i),n.entries.push(r),[n]}}let r;const i=new Map,n=(e,n)=>{if(!i.has(e)){const s={fullPath:e,name:n,isDirectory:!0,entries:[]};r||(r=s),i.set(e,s);const o=e.split(t.sep);if(o.length>1){const e=t.sep+t.join(...o.slice(0,-1)),r=i.get(e);r&&r.entries.push(s)}}};for(let r=0;r<e.length;r++){const s=e[r],o=(s.webkitRelativePath?s.webkitRelativePath:s.name).split(t.sep);if(o.reduce((e,t)=>e||t.startsWith("."),!1))continue;if(!isSupportedFormat(s))continue;const l=o.slice(0,-1);for(let e=0;e<l.length;e++){n(t.sep+t.join(...l.slice(0,e+1)),l[e])}const a=t.sep+t.join(...l),f=i.get(a);f&&f.entries.push(s)}return i.clear(),[r]},walkFileTree=e=>{let t=e;return e.length&&e[0]instanceof File&&(t=transformFileList(e)),processEntries(t)};module.exports=walkFileTree;
152
152
 
153
- },{"../utils/getFileExtensionFromString":28,"@jscad/array-utils":524,"@jscad/io/formats":68,"path":688}],33:[function(require,module,exports){
153
+ },{"../utils/getFileExtensionFromString":28,"@jscad/array-utils":524,"@jscad/io/formats":68,"path":699}],33:[function(require,module,exports){
154
154
  "use strict";var node_worker_1=require("./node-worker.cjs"),u8=Uint8Array,u16=Uint16Array,u32=Uint32Array,fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function(t,n){for(var e=new u16(31),r=0;r<31;++r)e[r]=n+=1<<t[r-1];var i=new u32(e[30]);for(r=1;r<30;++r)for(var s=e[r];s<e[r+1];++s)i[s]=s-e[r]<<5|r;return[e,i]},_a=freb(fleb,2),fl=_a[0],revfl=_a[1];fl[28]=258,revfl[258]=28;for(var _b=freb(fdeb,0),fd=_b[0],revfd=_b[1],rev=new u16(32768),i=0;i<32768;++i){var x=(43690&i)>>>1|(21845&i)<<1;x=(61680&(x=(52428&x)>>>2|(13107&x)<<2))>>>4|(3855&x)<<4,rev[i]=((65280&x)>>>8|(255&x)<<8)>>>1}var hMap=function(t,n,e){for(var r=t.length,i=0,s=new u16(n);i<r;++i)t[i]&&++s[t[i]-1];var o,a=new u16(n);for(i=0;i<n;++i)a[i]=a[i-1]+s[i-1]<<1;if(e){o=new u16(1<<n);var f=15-n;for(i=0;i<r;++i)if(t[i])for(var u=i<<4|t[i],l=n-t[i],c=a[t[i]-1]++<<l,h=c|(1<<l)-1;c<=h;++c)o[rev[c]>>>f]=u}else for(o=new u16(r),i=0;i<r;++i)t[i]&&(o[i]=rev[a[t[i]-1]++]>>>15-t[i]);return o},flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;for(i=144;i<256;++i)flt[i]=9;for(i=256;i<280;++i)flt[i]=7;for(i=280;i<288;++i)flt[i]=8;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var flm=hMap(flt,9,0),flrm=hMap(flt,9,1),fdm=hMap(fdt,5,0),fdrm=hMap(fdt,5,1),max=function(t){for(var n=t[0],e=1;e<t.length;++e)t[e]>n&&(n=t[e]);return n},bits=function(t,n,e){var r=n/8|0;return(t[r]|t[r+1]<<8)>>(7&n)&e},bits16=function(t,n){var e=n/8|0;return(t[e]|t[e+1]<<8|t[e+2]<<16)>>(7&n)},shft=function(t){return(t+7)/8|0},slc=function(t,n,e){(null==n||n<0)&&(n=0),(null==e||e>t.length)&&(e=t.length);var r=new(2==t.BYTES_PER_ELEMENT?u16:4==t.BYTES_PER_ELEMENT?u32:u8)(e-n);return r.set(t.subarray(n,e)),r};exports.FlateErrorCode={UnexpectedEOF:0,InvalidBlockType:1,InvalidLengthLiteral:2,InvalidDistance:3,StreamFinished:4,NoStreamHandler:5,InvalidHeader:6,NoCallback:7,InvalidUTF8:8,ExtraFieldTooLong:9,InvalidDate:10,FilenameTooLong:11,StreamFinishing:12,InvalidZipData:13,UnknownCompressionMethod:14};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],err=function(t,n,e){var r=new Error(n||ec[t]);if(r.code=t,Error.captureStackTrace&&Error.captureStackTrace(r,err),!e)throw r;return r},inflt=function(t,n,e){var r=t.length;if(!r||e&&e.f&&!e.l)return n||new u8(0);var i=!n||e,s=!e||e.i;e||(e={}),n||(n=new u8(3*r));var o=function(t){var e=n.length;if(t>e){var r=new u8(Math.max(2*e,t));r.set(n),n=r}},a=e.f||0,f=e.p||0,u=e.b||0,l=e.l,c=e.d,h=e.m,p=e.n,v=8*r;do{if(!l){a=bits(t,f,1);var d=bits(t,f+1,3);if(f+=3,!d){var b=t[(A=shft(f)+4)-4]|t[A-3]<<8,y=A+b;if(y>r){s&&err(0);break}i&&o(u+b),n.set(t.subarray(A,y),u),e.b=u+=b,e.p=f=8*y,e.f=a;continue}if(1==d)l=flrm,c=fdrm,h=9,p=5;else if(2==d){var g=bits(t,f,31)+257,m=bits(t,f+10,15)+4,z=g+bits(t,f+5,31)+1;f+=14;for(var w=new u8(z),x=new u8(19),S=0;S<m;++S)x[clim[S]]=bits(t,f+3*S,7);f+=3*m;var U=max(x),D=(1<<U)-1,T=hMap(x,U,1);for(S=0;S<z;){var A,k=T[bits(t,f,D)];if(f+=15&k,(A=k>>>4)<16)w[S++]=A;else{var I=0,M=0;for(16==A?(M=3+bits(t,f,3),f+=2,I=w[S-1]):17==A?(M=3+bits(t,f,7),f+=3):18==A&&(M=11+bits(t,f,127),f+=7);M--;)w[S++]=I}}var Z=w.subarray(0,g),C=w.subarray(g);h=max(Z),p=max(C),l=hMap(Z,h,1),c=hMap(C,p,1)}else err(1);if(f>v){s&&err(0);break}}i&&o(u+131072);for(var G=(1<<h)-1,E=(1<<p)-1,F=f;;F=f){var _=(I=l[bits16(t,f)&G])>>>4;if((f+=15&I)>v){s&&err(0);break}if(I||err(2),_<256)n[u++]=_;else{if(256==_){F=f,l=null;break}var P=_-254;if(_>264){var O=fleb[S=_-257];P=bits(t,f,(1<<O)-1)+fl[S],f+=O}var L=c[bits16(t,f)&E],N=L>>>4;L||err(3),f+=15&L;C=fd[N];if(N>3){O=fdeb[N];C+=bits16(t,f)&(1<<O)-1,f+=O}if(f>v){s&&err(0);break}i&&o(u+131072);for(var q=u+P;u<q;u+=4)n[u]=n[u-C],n[u+1]=n[u+1-C],n[u+2]=n[u+2-C],n[u+3]=n[u+3-C];u=q}}e.l=l,e.p=F,e.b=u,e.f=a,l&&(a=1,e.m=h,e.d=c,e.n=p)}while(!a);return u==n.length?n:slc(n,0,u)},wbits=function(t,n,e){e<<=7&n;var r=n/8|0;t[r]|=e,t[r+1]|=e>>>8},wbits16=function(t,n,e){e<<=7&n;var r=n/8|0;t[r]|=e,t[r+1]|=e>>>8,t[r+2]|=e>>>16},hTree=function(t,n){for(var e=[],r=0;r<t.length;++r)t[r]&&e.push({s:r,f:t[r]});var i=e.length,s=e.slice();if(!i)return[et,0];if(1==i){var o=new u8(e[0].s+1);return o[e[0].s]=1,[o,1]}e.sort(function(t,n){return t.f-n.f}),e.push({s:-1,f:25001});var a=e[0],f=e[1],u=0,l=1,c=2;for(e[0]={s:-1,f:a.f+f.f,l:a,r:f};l!=i-1;)a=e[e[u].f<e[c].f?u++:c++],f=e[u!=l&&e[u].f<e[c].f?u++:c++],e[l++]={s:-1,f:a.f+f.f,l:a,r:f};var h=s[0].s;for(r=1;r<i;++r)s[r].s>h&&(h=s[r].s);var p=new u16(h+1),v=ln(e[l-1],p,0);if(v>n){r=0;var d=0,b=v-n,y=1<<b;for(s.sort(function(t,n){return p[n.s]-p[t.s]||t.f-n.f});r<i;++r){var g=s[r].s;if(!(p[g]>n))break;d+=y-(1<<v-p[g]),p[g]=n}for(d>>>=b;d>0;){var m=s[r].s;p[m]<n?d-=1<<n-p[m]++-1:++r}for(;r>=0&&d;--r){var z=s[r].s;p[z]==n&&(--p[z],++d)}v=n}return[new u8(p),v]},ln=function(t,n,e){return-1==t.s?Math.max(ln(t.l,n,e+1),ln(t.r,n,e+1)):n[t.s]=e},lc=function(t){for(var n=t.length;n&&!t[--n];);for(var e=new u16(++n),r=0,i=t[0],s=1,o=function(t){e[r++]=t},a=1;a<=n;++a)if(t[a]==i&&a!=n)++s;else{if(!i&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(i),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(i);s=1,i=t[a]}return[e.subarray(0,r),n]},clen=function(t,n){for(var e=0,r=0;r<n.length;++r)e+=t[r]*n[r];return e},wfblk=function(t,n,e){var r=e.length,i=shft(n+2);t[i]=255&r,t[i+1]=r>>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s<r;++s)t[i+s+4]=e[s];return 8*(i+4+r)},wblk=function(t,n,e,r,i,s,o,a,f,u,l){wbits(n,l++,e),++i[256];for(var c=hTree(i,15),h=c[0],p=c[1],v=hTree(s,15),d=v[0],b=v[1],y=lc(h),g=y[0],m=y[1],z=lc(d),w=z[0],x=z[1],S=new u16(19),U=0;U<g.length;++U)S[31&g[U]]++;for(U=0;U<w.length;++U)S[31&w[U]]++;for(var D=hTree(S,7),T=D[0],A=D[1],k=19;k>4&&!T[clim[k-1]];--k);var I,M,Z,C,G=u+5<<3,E=clen(i,flt)+clen(s,fdt)+o,F=clen(i,h)+clen(s,d)+o+14+3*k+clen(S,T)+(2*S[16]+3*S[17]+7*S[18]);if(G<=E&&G<=F)return wfblk(n,l,t.subarray(f,f+u));if(wbits(n,l,1+(F<E)),l+=2,F<E){I=hMap(h,p,0),M=h,Z=hMap(d,b,0),C=d;var _=hMap(T,A,0);wbits(n,l,m-257),wbits(n,l+5,x-1),wbits(n,l+10,k-4),l+=14;for(U=0;U<k;++U)wbits(n,l+3*U,T[clim[U]]);l+=3*k;for(var P=[g,w],O=0;O<2;++O){var L=P[O];for(U=0;U<L.length;++U){var N=31&L[U];wbits(n,l,_[N]),l+=T[N],N>15&&(wbits(n,l,L[U]>>>5&127),l+=L[U]>>>12)}}}else I=flm,M=flt,Z=fdm,C=fdt;for(U=0;U<a;++U)if(r[U]>255){N=r[U]>>>18&31;wbits16(n,l,I[N+257]),l+=M[N+257],N>7&&(wbits(n,l,r[U]>>>23&31),l+=fleb[N]);var q=31&r[U];wbits16(n,l,Z[q]),l+=C[q],q>3&&(wbits16(n,l,r[U]>>>5&8191),l+=fdeb[q])}else wbits16(n,l,I[r[U]]),l+=M[r[U]];return wbits16(n,l,I[256]),l+M[256]},deo=new u32([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),et=new u8(0),dflt=function(t,n,e,r,i,s){var o=t.length,a=new u8(r+o+5*(1+Math.ceil(o/7e3))+i),f=a.subarray(r,a.length-i),u=0;if(!n||o<8)for(var l=0;l<=o;l+=65535){var c=l+65535;c>=o&&(f[u>>3]=s),u=wfblk(f,u+1,t.subarray(l,c))}else{for(var h=deo[n-1],p=h>>>13,v=8191&h,d=(1<<e)-1,b=new u16(32768),y=new u16(d+1),g=Math.ceil(e/3),m=2*g,z=function(n){return(t[n]^t[n+1]<<g^t[n+2]<<m)&d},w=new u32(25e3),x=new u16(288),S=new u16(32),U=0,D=0,T=(l=0,0),A=0,k=0;l<o;++l){var I=z(l),M=32767&l,Z=y[I];if(b[M]=Z,y[I]=M,A<=l){var C=o-l;if((U>7e3||T>24576)&&C>423){u=wblk(t,f,0,w,x,S,D,T,k,l-k,u),T=U=D=0,k=l;for(var G=0;G<286;++G)x[G]=0;for(G=0;G<30;++G)S[G]=0}var E=2,F=0,_=v,P=M-Z&32767;if(C>2&&I==z(l-P))for(var O=Math.min(p,C)-1,L=Math.min(32767,l),N=Math.min(258,C);P<=L&&--_&&M!=Z;){if(t[l+E]==t[l+E-P]){for(var q=0;q<N&&t[l+q]==t[l+q-P];++q);if(q>E){if(E=q,F=P,q>O)break;var B=Math.min(P,q-2),H=0;for(G=0;G<B;++G){var Y=l-P+G+32768&32767,j=Y-b[Y]+32768&32767;j>H&&(H=j,Z=Y)}}}P+=(M=Z)-(Z=b[M])+32768&32767}if(F){w[T++]=268435456|revfl[E]<<18|revfd[F];var R=31&revfl[E],J=31&revfd[F];D+=fleb[R]+fdeb[J],++x[257+R],++S[J],A=l+E,++U}else w[T++]=t[l],++x[t[l]]}}u=wblk(t,f,s,w,x,S,D,T,k,l-k,u),!s&&7&u&&(u=wfblk(f,u+1,et))}return slc(a,0,r+shft(u)+i)},crct=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var e=n,r=9;--r;)e=(1&e&&-306674912)^e>>>1;t[n]=e}return t}(),crc=function(){var t=-1;return{p:function(n){for(var e=t,r=0;r<n.length;++r)e=crct[255&e^n[r]]^e>>>8;t=e},d:function(){return~t}}},adler=function(){var t=1,n=0;return{p:function(e){for(var r=t,i=n,s=0|e.length,o=0;o!=s;){for(var a=Math.min(o+2655,s);o<a;++o)i+=r+=e[o];r=(65535&r)+15*(r>>16),i=(65535&i)+15*(i>>16)}t=r,n=i},d:function(){return(255&(t%=65521))<<24|t>>>8<<16|(255&(n%=65521))<<8|n>>>8}}},dopt=function(t,n,e,r,i){return dflt(t,null==n.level?6:n.level,null==n.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):12+n.mem,e,r,!i)},mrg=function(t,n){var e={};for(var r in t)e[r]=t[r];for(var r in n)e[r]=n[r];return e},wcln=function(t,n,e){for(var r=t(),i=t.toString(),s=i.slice(i.indexOf("[")+1,i.lastIndexOf("]")).replace(/\s+/g,"").split(","),o=0;o<r.length;++o){var a=r[o],f=s[o];if("function"==typeof a){n+=";"+f+"=";var u=a.toString();if(a.prototype)if(-1!=u.indexOf("[native code]")){var l=u.indexOf(" ",8)+1;n+=u.slice(l,u.indexOf("(",l))}else for(var c in n+=u,a.prototype)n+=";"+f+".prototype."+c+"="+a.prototype[c].toString();else n+=u}else e[f]=a}return[n,e]},ch=[],cbfs=function(t){var n=[];for(var e in t)t[e].buffer&&n.push((t[e]=new t[e].constructor(t[e])).buffer);return n},wrkr=function(t,n,e,r){var i;if(!ch[e]){for(var s="",o={},a=t.length-1,f=0;f<a;++f)s=(i=wcln(t[f],s,o))[0],o=i[1];ch[e]=wcln(t[a],s,o)}var u=mrg({},ch[e][1]);return node_worker_1.default(ch[e][0]+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+n.toString()+"}",e,u,cbfs(u),r)},bInflt=function(){return[u8,u16,u32,fleb,fdeb,clim,fl,fd,flrm,fdrm,rev,ec,hMap,max,bits,bits16,shft,slc,err,inflt,inflateSync,pbf,gu8]},bDflt=function(){return[u8,u16,u32,fleb,fdeb,clim,revfl,revfd,flm,flt,fdm,fdt,rev,deo,et,hMap,wbits,wbits16,hTree,ln,lc,clen,wfblk,wblk,shft,slc,dflt,dopt,deflateSync,pbf]},gze=function(){return[gzh,gzhl,wbytes,crc,crct]},guze=function(){return[gzs,gzl]},zle=function(){return[zlh,wbytes,adler]},zule=function(){return[zlv]},pbf=function(t){return postMessage(t,[t.buffer])},gu8=function(t){return t&&t.size&&new u8(t.size)},cbify=function(t,n,e,r,i,s){var o=wrkr(e,r,i,function(t,n){o.terminate(),s(t,n)});return o.postMessage([t,n],n.consume?[t.buffer]:[]),function(){o.terminate()}},astrm=function(t){return t.ondata=function(t,n){return postMessage([t,n],[t.buffer])},function(n){return t.push(n.data[0],n.data[1])}},astrmify=function(t,n,e,r,i){var s,o=wrkr(t,r,i,function(t,e){t?(o.terminate(),n.ondata.call(n,t)):(e[1]&&o.terminate(),n.ondata.call(n,t,e[0],e[1]))});o.postMessage(e),n.push=function(t,e){n.ondata||err(5),s&&n.ondata(err(4,0,1),null,!!e),o.postMessage([t,s=e],[t.buffer])},n.terminate=function(){o.terminate()}},b2=function(t,n){return t[n]|t[n+1]<<8},b4=function(t,n){return(t[n]|t[n+1]<<8|t[n+2]<<16|t[n+3]<<24)>>>0},b8=function(t,n){return b4(t,n)+4294967296*b4(t,n+4)},wbytes=function(t,n,e){for(;e;++n)t[n]=e,e>>>=8},gzh=function(t,n){var e=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&wbytes(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),e){t[3]=8;for(var r=0;r<=e.length;++r)t[r+10]=e.charCodeAt(r)}},gzs=function(t){31==t[0]&&139==t[1]&&8==t[2]||err(6,"invalid gzip data");var n=t[3],e=10;4&n&&(e+=t[10]|2+(t[11]<<8));for(var r=(n>>3&1)+(n>>4&1);r>0;r-=!t[e++]);return e+(2&n)},gzl=function(t){var n=t.length;return(t[n-4]|t[n-3]<<8|t[n-2]<<16|t[n-1]<<24)>>>0},gzhl=function(t){return 10+(t.filename&&t.filename.length+1||0)},zlh=function(t,n){var e=n.level,r=0==e?0:e<6?1:9==e?3:2;t[0]=120,t[1]=r<<6|(r?32-2*r:1)},zlv=function(t){(8!=(15&t[0])||t[0]>>>4>7||(t[0]<<8|t[1])%31)&&err(6,"invalid zlib data"),32&t[1]&&err(6,"invalid zlib data: preset dictionaries not supported")};function AsyncCmpStrm(t,n){return n||"function"!=typeof t||(n=t,t={}),this.ondata=n,t}var Deflate=function(){function t(t,n){n||"function"!=typeof t||(n=t,t={}),this.ondata=n,this.o=t||{}}return t.prototype.p=function(t,n){this.ondata(dopt(t,this.o,0,0,!n),n)},t.prototype.push=function(t,n){this.ondata||err(5),this.d&&err(4),this.d=n,this.p(t,n||!1)},t}();exports.Deflate=Deflate;var AsyncDeflate=function(){return function(t,n){astrmify([bDflt,function(){return[astrm,Deflate]}],this,AsyncCmpStrm.call(this,t,n),function(t){var n=new Deflate(t.data);onmessage=astrm(n)},6)}}();function deflate(t,n,e){return e||(e=n,n={}),"function"!=typeof e&&err(7),cbify(t,n,[bDflt],function(t){return pbf(deflateSync(t.data[0],t.data[1]))},0,e)}function deflateSync(t,n){return dopt(t,n||{},0,0)}exports.AsyncDeflate=AsyncDeflate,exports.deflate=deflate,exports.deflateSync=deflateSync;var Inflate=function(){function t(t){this.s={},this.p=new u8(0),this.ondata=t}return t.prototype.e=function(t){this.ondata||err(5),this.d&&err(4);var n=this.p.length,e=new u8(n+t.length);e.set(this.p),e.set(t,n),this.p=e},t.prototype.c=function(t){this.d=this.s.i=t||!1;var n=this.s.b,e=inflt(this.p,this.o,this.s);this.ondata(slc(e,n,this.s.b),this.d),this.o=slc(e,this.s.b-32768),this.s.b=this.o.length,this.p=slc(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,n){this.e(t),this.c(n)},t}();exports.Inflate=Inflate;var AsyncInflate=function(){return function(t){this.ondata=t,astrmify([bInflt,function(){return[astrm,Inflate]}],this,0,function(){var t=new Inflate;onmessage=astrm(t)},7)}}();function inflate(t,n,e){return e||(e=n,n={}),"function"!=typeof e&&err(7),cbify(t,n,[bInflt],function(t){return pbf(inflateSync(t.data[0],gu8(t.data[1])))},1,e)}function inflateSync(t,n){return inflt(t,n)}exports.AsyncInflate=AsyncInflate,exports.inflate=inflate,exports.inflateSync=inflateSync;var Gzip=function(){function t(t,n){this.c=crc(),this.l=0,this.v=1,Deflate.call(this,t,n)}return t.prototype.push=function(t,n){Deflate.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){this.c.p(t),this.l+=t.length;var e=dopt(t,this.o,this.v&&gzhl(this.o),n&&8,!n);this.v&&(gzh(e,this.o),this.v=0),n&&(wbytes(e,e.length-8,this.c.d()),wbytes(e,e.length-4,this.l)),this.ondata(e,n)},t}();exports.Gzip=Gzip,exports.Compress=Gzip;var AsyncGzip=function(){return function(t,n){astrmify([bDflt,gze,function(){return[astrm,Deflate,Gzip]}],this,AsyncCmpStrm.call(this,t,n),function(t){var n=new Gzip(t.data);onmessage=astrm(n)},8)}}();function gzip(t,n,e){return e||(e=n,n={}),"function"!=typeof e&&err(7),cbify(t,n,[bDflt,gze,function(){return[gzipSync]}],function(t){return pbf(gzipSync(t.data[0],t.data[1]))},2,e)}function gzipSync(t,n){n||(n={});var e=crc(),r=t.length;e.p(t);var i=dopt(t,n,gzhl(n),8),s=i.length;return gzh(i,n),wbytes(i,s-8,e.d()),wbytes(i,s-4,r),i}exports.AsyncGzip=AsyncGzip,exports.AsyncCompress=AsyncGzip,exports.gzip=gzip,exports.compress=gzip,exports.gzipSync=gzipSync,exports.compressSync=gzipSync;var Gunzip=function(){function t(t){this.v=1,Inflate.call(this,t)}return t.prototype.push=function(t,n){if(Inflate.prototype.e.call(this,t),this.v){var e=this.p.length>3?gzs(this.p):4;if(e>=this.p.length&&!n)return;this.p=this.p.subarray(e),this.v=0}n&&(this.p.length<8&&err(6,"invalid gzip data"),this.p=this.p.subarray(0,-8)),Inflate.prototype.c.call(this,n)},t}();exports.Gunzip=Gunzip;var AsyncGunzip=function(){return function(t){this.ondata=t,astrmify([bInflt,guze,function(){return[astrm,Inflate,Gunzip]}],this,0,function(){var t=new Gunzip;onmessage=astrm(t)},9)}}();function gunzip(t,n,e){return e||(e=n,n={}),"function"!=typeof e&&err(7),cbify(t,n,[bInflt,guze,function(){return[gunzipSync]}],function(t){return pbf(gunzipSync(t.data[0]))},3,e)}function gunzipSync(t,n){return inflt(t.subarray(gzs(t),-8),n||new u8(gzl(t)))}exports.AsyncGunzip=AsyncGunzip,exports.gunzip=gunzip,exports.gunzipSync=gunzipSync;var Zlib=function(){function t(t,n){this.c=adler(),this.v=1,Deflate.call(this,t,n)}return t.prototype.push=function(t,n){Deflate.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){this.c.p(t);var e=dopt(t,this.o,this.v&&2,n&&4,!n);this.v&&(zlh(e,this.o),this.v=0),n&&wbytes(e,e.length-4,this.c.d()),this.ondata(e,n)},t}();exports.Zlib=Zlib;var AsyncZlib=function(){return function(t,n){astrmify([bDflt,zle,function(){return[astrm,Deflate,Zlib]}],this,AsyncCmpStrm.call(this,t,n),function(t){var n=new Zlib(t.data);onmessage=astrm(n)},10)}}();function zlib(t,n,e){return e||(e=n,n={}),"function"!=typeof e&&err(7),cbify(t,n,[bDflt,zle,function(){return[zlibSync]}],function(t){return pbf(zlibSync(t.data[0],t.data[1]))},4,e)}function zlibSync(t,n){n||(n={});var e=adler();e.p(t);var r=dopt(t,n,2,4);return zlh(r,n),wbytes(r,r.length-4,e.d()),r}exports.AsyncZlib=AsyncZlib,exports.zlib=zlib,exports.zlibSync=zlibSync;var Unzlib=function(){function t(t){this.v=1,Inflate.call(this,t)}return t.prototype.push=function(t,n){if(Inflate.prototype.e.call(this,t),this.v){if(this.p.length<2&&!n)return;this.p=this.p.subarray(2),this.v=0}n&&(this.p.length<4&&err(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),Inflate.prototype.c.call(this,n)},t}();exports.Unzlib=Unzlib;var AsyncUnzlib=function(){return function(t){this.ondata=t,astrmify([bInflt,zule,function(){return[astrm,Inflate,Unzlib]}],this,0,function(){var t=new Unzlib;onmessage=astrm(t)},11)}}();function unzlib(t,n,e){return e||(e=n,n={}),"function"!=typeof e&&err(7),cbify(t,n,[bInflt,zule,function(){return[unzlibSync]}],function(t){return pbf(unzlibSync(t.data[0],gu8(t.data[1])))},5,e)}function unzlibSync(t,n){return inflt((zlv(t),t.subarray(2,-4)),n)}exports.AsyncUnzlib=AsyncUnzlib,exports.unzlib=unzlib,exports.unzlibSync=unzlibSync;var Decompress=function(){function t(t){this.G=Gunzip,this.I=Inflate,this.Z=Unzlib,this.ondata=t}return t.prototype.push=function(t,n){if(this.ondata||err(5),this.s)this.s.push(t,n);else{if(this.p&&this.p.length){var e=new u8(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length)}else this.p=t;if(this.p.length>2){var r=this,i=function(){r.ondata.apply(r,arguments)};this.s=31==this.p[0]&&139==this.p[1]&&8==this.p[2]?new this.G(i):8!=(15&this.p[0])||this.p[0]>>4>7||(this.p[0]<<8|this.p[1])%31?new this.I(i):new this.Z(i),this.s.push(this.p,n),this.p=null}}},t}();exports.Decompress=Decompress;var AsyncDecompress=function(){function t(t){this.G=AsyncGunzip,this.I=AsyncInflate,this.Z=AsyncUnzlib,this.ondata=t}return t.prototype.push=function(t,n){Decompress.prototype.push.call(this,t,n)},t}();function decompress(t,n,e){return e||(e=n,n={}),"function"!=typeof e&&err(7),31==t[0]&&139==t[1]&&8==t[2]?gunzip(t,n,e):8!=(15&t[0])||t[0]>>4>7||(t[0]<<8|t[1])%31?inflate(t,n,e):unzlib(t,n,e)}function decompressSync(t,n){return 31==t[0]&&139==t[1]&&8==t[2]?gunzipSync(t,n):8!=(15&t[0])||t[0]>>4>7||(t[0]<<8|t[1])%31?inflateSync(t,n):unzlibSync(t,n)}exports.AsyncDecompress=AsyncDecompress,exports.decompress=decompress,exports.decompressSync=decompressSync;var fltn=function(t,n,e,r){for(var i in t){var s=t[i],o=n+i,a=r;Array.isArray(s)&&(a=mrg(r,s[1]),s=s[0]),s instanceof u8?e[o]=[s,a]:(e[o+="/"]=[new u8(0),a],fltn(s,o,e,r))}},te="undefined"!=typeof TextEncoder&&new TextEncoder,td="undefined"!=typeof TextDecoder&&new TextDecoder,tds=0;try{td.decode(et,{stream:!0}),tds=1}catch(t){}var dutf8=function(t){for(var n="",e=0;;){var r=t[e++],i=(r>127)+(r>223)+(r>239);if(e+i>t.length)return[n,slc(t,e-1)];i?3==i?(r=((15&r)<<18|(63&t[e++])<<12|(63&t[e++])<<6|63&t[e++])-65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r)):n+=1&i?String.fromCharCode((31&r)<<6|63&t[e++]):String.fromCharCode((15&r)<<12|(63&t[e++])<<6|63&t[e++]):n+=String.fromCharCode(r)}},DecodeUTF8=function(){function t(t){this.ondata=t,tds?this.t=new TextDecoder:this.p=et}return t.prototype.push=function(t,n){if(this.ondata||err(5),n=!!n,this.t)return this.ondata(this.t.decode(t,{stream:!0}),n),void(n&&(this.t.decode().length&&err(8),this.t=null));this.p||err(4);var e=new u8(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length);var r=dutf8(e),i=r[0],s=r[1];n?(s.length&&err(8),this.p=null):this.p=s,this.ondata(i,n)},t}();exports.DecodeUTF8=DecodeUTF8;var EncodeUTF8=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||err(5),this.d&&err(4),this.ondata(strToU8(t),this.d=n||!1)},t}();function strToU8(t,n){if(n){for(var e=new u8(t.length),r=0;r<t.length;++r)e[r]=t.charCodeAt(r);return e}if(te)return te.encode(t);var i=t.length,s=new u8(t.length+(t.length>>1)),o=0,a=function(t){s[o++]=t};for(r=0;r<i;++r){if(o+5>s.length){var f=new u8(o+8+(i-r<<1));f.set(s),s=f}var u=t.charCodeAt(r);u<128||n?a(u):u<2048?(a(192|u>>6),a(128|63&u)):u>55295&&u<57344?(a(240|(u=65536+(1047552&u)|1023&t.charCodeAt(++r))>>18),a(128|u>>12&63),a(128|u>>6&63),a(128|63&u)):(a(224|u>>12),a(128|u>>6&63),a(128|63&u))}return slc(s,0,o)}function strFromU8(t,n){if(n){for(var e="",r=0;r<t.length;r+=16384)e+=String.fromCharCode.apply(null,t.subarray(r,r+16384));return e}if(td)return td.decode(t);var i=dutf8(t),s=i[0];return i[1].length&&err(8),s}exports.EncodeUTF8=EncodeUTF8,exports.strToU8=strToU8,exports.strFromU8=strFromU8;var dbf=function(t){return 1==t?3:t<6?2:9==t?1:0},slzh=function(t,n){return n+30+b2(t,n+26)+b2(t,n+28)},zh=function(t,n,e){var r=b2(t,n+28),i=strFromU8(t.subarray(n+46,n+46+r),!(2048&b2(t,n+8))),s=n+46+r,o=b4(t,n+20),a=e&&4294967295==o?z64e(t,s):[o,b4(t,n+24),b4(t,n+42)],f=a[0],u=a[1],l=a[2];return[b2(t,n+10),f,u,i,s+b2(t,n+30)+b2(t,n+32),l]},z64e=function(t,n){for(;1!=b2(t,n);n+=4+b2(t,n+2));return[b8(t,n+12),b8(t,n+4),b8(t,n+20)]},exfl=function(t){var n=0;if(t)for(var e in t){var r=t[e].length;r>65535&&err(9),n+=r+4}return n},wzh=function(t,n,e,r,i,s,o,a){var f=r.length,u=e.extra,l=a&&a.length,c=exfl(u);wbytes(t,n,null!=o?33639248:67324752),n+=4,null!=o&&(t[n++]=20,t[n++]=e.os),t[n]=20,n+=2,t[n++]=e.flag<<1|(null==s&&8),t[n++]=i&&8,t[n++]=255&e.compression,t[n++]=e.compression>>8;var h=new Date(null==e.mtime?Date.now():e.mtime),p=h.getFullYear()-1980;if((p<0||p>119)&&err(10),wbytes(t,n,p<<25|h.getMonth()+1<<21|h.getDate()<<16|h.getHours()<<11|h.getMinutes()<<5|h.getSeconds()>>>1),n+=4,null!=s&&(wbytes(t,n,e.crc),wbytes(t,n+4,s),wbytes(t,n+8,e.size)),wbytes(t,n+12,f),wbytes(t,n+14,c),n+=16,null!=o&&(wbytes(t,n,l),wbytes(t,n+6,e.attrs),wbytes(t,n+10,o),n+=14),t.set(r,n),n+=f,c)for(var v in u){var d=u[v],b=d.length;wbytes(t,n,+v),wbytes(t,n+2,b),t.set(d,n+4),n+=4+b}return l&&(t.set(a,n),n+=l),n},wzf=function(t,n,e,r,i){wbytes(t,n,101010256),wbytes(t,n+8,e),wbytes(t,n+10,e),wbytes(t,n+12,r),wbytes(t,n+16,i)},ZipPassThrough=function(){function t(t){this.filename=t,this.c=crc(),this.size=0,this.compression=0}return t.prototype.process=function(t,n){this.ondata(null,t,n)},t.prototype.push=function(t,n){this.ondata||err(5),this.c.p(t),this.size+=t.length,n&&(this.crc=this.c.d()),this.process(t,n||!1)},t}();exports.ZipPassThrough=ZipPassThrough;var ZipDeflate=function(){function t(t,n){var e=this;n||(n={}),ZipPassThrough.call(this,t),this.d=new Deflate(n,function(t,n){e.ondata(null,t,n)}),this.compression=8,this.flag=dbf(n.level)}return t.prototype.process=function(t,n){try{this.d.push(t,n)}catch(t){this.ondata(t,null,n)}},t.prototype.push=function(t,n){ZipPassThrough.prototype.push.call(this,t,n)},t}();exports.ZipDeflate=ZipDeflate;var AsyncZipDeflate=function(){function t(t,n){var e=this;n||(n={}),ZipPassThrough.call(this,t),this.d=new AsyncDeflate(n,function(t,n,r){e.ondata(t,n,r)}),this.compression=8,this.flag=dbf(n.level),this.terminate=this.d.terminate}return t.prototype.process=function(t,n){this.d.push(t,n)},t.prototype.push=function(t,n){ZipPassThrough.prototype.push.call(this,t,n)},t}();exports.AsyncZipDeflate=AsyncZipDeflate;var Zip=function(){function t(t){this.ondata=t,this.u=[],this.d=1}return t.prototype.add=function(t){var n=this;if(this.ondata||err(5),2&this.d)this.ondata(err(4+8*(1&this.d),0,1),null,!1);else{var e=strToU8(t.filename),r=e.length,i=t.comment,s=i&&strToU8(i),o=r!=t.filename.length||s&&i.length!=s.length,a=r+exfl(t.extra)+30;r>65535&&this.ondata(err(11,0,1),null,!1);var f=new u8(a);wzh(f,0,t,e,o);var u=[f],l=function(){for(var t=0,e=u;t<e.length;t++){var r=e[t];n.ondata(null,r,!1)}u=[]},c=this.d;this.d=0;var h=this.u.length,p=mrg(t,{f:e,u:o,o:s,t:function(){t.terminate&&t.terminate()},r:function(){if(l(),c){var t=n.u[h+1];t?t.r():n.d=1}c=1}}),v=0;t.ondata=function(e,r,i){if(e)n.ondata(e,r,i),n.terminate();else if(v+=r.length,u.push(r),i){var s=new u8(16);wbytes(s,0,134695760),wbytes(s,4,t.crc),wbytes(s,8,v),wbytes(s,12,t.size),u.push(s),p.c=v,p.b=a+v+16,p.crc=t.crc,p.size=t.size,c&&p.r(),c=1}else c&&l()},this.u.push(p)}},t.prototype.end=function(){var t=this;2&this.d?this.ondata(err(4+8*(1&this.d),0,1),null,!0):(this.d?this.e():this.u.push({r:function(){1&t.d&&(t.u.splice(-1,1),t.e())},t:function(){}}),this.d=3)},t.prototype.e=function(){for(var t=0,n=0,e=0,r=0,i=this.u;r<i.length;r++){e+=46+(f=i[r]).f.length+exfl(f.extra)+(f.o?f.o.length:0)}for(var s=new u8(e+22),o=0,a=this.u;o<a.length;o++){var f=a[o];wzh(s,t,f,f.f,f.u,f.c,n,f.o),t+=46+f.f.length+exfl(f.extra)+(f.o?f.o.length:0),n+=f.b}wzf(s,t,this.u.length,e,n),this.ondata(null,s,!0),this.d=2},t.prototype.terminate=function(){for(var t=0,n=this.u;t<n.length;t++){n[t].t()}this.d=2},t}();function zip(t,n,e){e||(e=n,n={}),"function"!=typeof e&&err(7);var r={};fltn(t,"",r,n);var i=Object.keys(r),s=i.length,o=0,a=0,f=s,u=new Array(s),l=[],c=function(){for(var t=0;t<l.length;++t)l[t]()},h=function(t,n){mt(function(){e(t,n)})};mt(function(){h=e});var p=function(){var t=new u8(a+22),n=o,e=a-o;a=0;for(var r=0;r<f;++r){var i=u[r];try{var s=i.c.length;wzh(t,a,i,i.f,i.u,s);var l=30+i.f.length+exfl(i.extra),c=a+l;t.set(i.c,c),wzh(t,o,i,i.f,i.u,s,a,i.m),o+=16+l+(i.m?i.m.length:0),a=c+s}catch(t){return h(t,null)}}wzf(t,o,u.length,e,n),h(null,t)};s||p();for(var v=function(t){var n=i[t],e=r[n],f=e[0],v=e[1],d=crc(),b=f.length;d.p(f);var y=strToU8(n),g=y.length,m=v.comment,z=m&&strToU8(m),w=z&&z.length,x=exfl(v.extra),S=0==v.level?0:8,U=function(e,r){if(e)c(),h(e,null);else{var i=r.length;u[t]=mrg(v,{size:b,crc:d.d(),c:r,f:y,m:z,u:g!=n.length||z&&m.length!=w,compression:S}),o+=30+g+x+i,a+=76+2*(g+x)+(w||0)+i,--s||p()}};if(g>65535&&U(err(11,0,1),null),S)if(b<16e4)try{U(null,deflateSync(f,v))}catch(t){U(t,null)}else l.push(deflate(f,v,U));else U(null,f)},d=0;d<f;++d)v(d);return c}function zipSync(t,n){n||(n={});var e={},r=[];fltn(t,"",e,n);var i=0,s=0;for(var o in e){var a=e[o],f=a[0],u=a[1],l=0==u.level?0:8,c=(S=strToU8(o)).length,h=u.comment,p=h&&strToU8(h),v=p&&p.length,d=exfl(u.extra);c>65535&&err(11);var b=l?deflateSync(f,u):f,y=b.length,g=crc();g.p(f),r.push(mrg(u,{size:f.length,crc:g.d(),c:b,f:S,m:p,u:c!=o.length||p&&h.length!=v,o:i,compression:l})),i+=30+c+d+y,s+=76+2*(c+d)+(v||0)+y}for(var m=new u8(s+22),z=i,w=s-i,x=0;x<r.length;++x){var S=r[x];wzh(m,S.o,S,S.f,S.u,S.c.length);var U=30+S.f.length+exfl(S.extra);m.set(S.c,S.o+U),wzh(m,i,S,S.f,S.u,S.c.length,S.o,S.m),i+=16+U+(S.m?S.m.length:0)}return wzf(m,i,r.length,w,z),m}exports.Zip=Zip,exports.zip=zip,exports.zipSync=zipSync;var UnzipPassThrough=function(){function t(){}return t.prototype.push=function(t,n){this.ondata(null,t,n)},t.compression=0,t}();exports.UnzipPassThrough=UnzipPassThrough;var UnzipInflate=function(){function t(){var t=this;this.i=new Inflate(function(n,e){t.ondata(null,n,e)})}return t.prototype.push=function(t,n){try{this.i.push(t,n)}catch(t){this.ondata(t,null,n)}},t.compression=8,t}();exports.UnzipInflate=UnzipInflate;var AsyncUnzipInflate=function(){function t(t,n){var e=this;n<32e4?this.i=new Inflate(function(t,n){e.ondata(null,t,n)}):(this.i=new AsyncInflate(function(t,n,r){e.ondata(t,n,r)}),this.terminate=this.i.terminate)}return t.prototype.push=function(t,n){this.i.terminate&&(t=slc(t,0)),this.i.push(t,n)},t.compression=8,t}();exports.AsyncUnzipInflate=AsyncUnzipInflate;var Unzip=function(){function t(t){this.onfile=t,this.k=[],this.o={0:UnzipPassThrough},this.p=et}return t.prototype.push=function(t,n){var e=this;if(this.onfile||err(5),this.p||err(4),this.c>0){var r=Math.min(this.c,t.length),i=t.subarray(0,r);if(this.c-=r,this.d?this.d.push(i,!this.c):this.k[0].push(i),(t=t.subarray(r)).length)return this.push(t,n)}else{var s=0,o=0,a=void 0,f=void 0;this.p.length?t.length?((f=new u8(this.p.length+t.length)).set(this.p),f.set(t,this.p.length)):f=this.p:f=t;for(var u=f.length,l=this.c,c=l&&this.d,h=function(){var t,n=b4(f,o);if(67324752==n){s=1,a=o,p.d=null,p.c=0;var r=b2(f,o+6),i=b2(f,o+8),c=2048&r,h=8&r,v=b2(f,o+26),d=b2(f,o+28);if(u>o+30+v+d){var b=[];p.k.unshift(b),s=2;var y,g=b4(f,o+18),m=b4(f,o+22),z=strFromU8(f.subarray(o+30,o+=30+v),!c);4294967295==g?(t=h?[-2]:z64e(f,o),g=t[0],m=t[1]):h&&(g=-1),o+=d,p.c=g;var w={name:z,compression:i,start:function(){if(w.ondata||err(5),g){var t=e.o[i];t||w.ondata(err(14,"unknown compression type "+i,1),null,!1),(y=g<0?new t(z):new t(z,g,m)).ondata=function(t,n,e){w.ondata(t,n,e)};for(var n=0,r=b;n<r.length;n++){var s=r[n];y.push(s,!1)}e.k[0]==b&&e.c?e.d=y:y.push(et,!0)}else w.ondata(null,et,!0)},terminate:function(){y&&y.terminate&&y.terminate()}};g>=0&&(w.size=g,w.originalSize=m),p.onfile(w)}return"break"}if(l){if(134695760==n)return a=o+=12+(-2==l&&8),s=3,p.c=0,"break";if(33639248==n)return a=o-=4,s=3,p.c=0,"break"}},p=this;o<u-4;++o){if("break"===h())break}if(this.p=et,l<0){var v=s?f.subarray(0,a-12-(-2==l&&8)-(134695760==b4(f,a-16)&&4)):f.subarray(0,o);c?c.push(v,!!s):this.k[+(2==s)].push(v)}if(2&s)return this.push(f.subarray(o),n);this.p=f.subarray(o)}n&&(this.c&&err(13),this.p=null)},t.prototype.register=function(t){this.o[t.compression]=t},t}();exports.Unzip=Unzip;var mt="function"==typeof queueMicrotask?queueMicrotask:"function"==typeof setTimeout?setTimeout:function(t){t()};function unzip(t,n,e){e||(e=n,n={}),"function"!=typeof e&&err(7);var r=[],i=function(){for(var t=0;t<r.length;++t)r[t]()},s={},o=function(t,n){mt(function(){e(t,n)})};mt(function(){o=e});for(var a=t.length-22;101010256!=b4(t,a);--a)if(!a||t.length-a>65558)return o(err(13,0,1),null),i;var f=b2(t,a+8);if(f){var u=f,l=b4(t,a+16),c=4294967295==l;if(c){if(a=b4(t,a-12),101075792!=b4(t,a))return o(err(13,0,1),null),i;u=f=b4(t,a+32),l=b4(t,a+48)}for(var h=n&&n.filter,p=function(n){var e=zh(t,l,c),a=e[0],u=e[1],p=e[2],v=e[3],d=e[4],b=e[5],y=slzh(t,b);l=d;var g=function(t,n){t?(i(),o(t,null)):(n&&(s[v]=n),--f||o(null,s))};if(!h||h({name:v,size:u,originalSize:p,compression:a}))if(a)if(8==a){var m=t.subarray(y,y+u);if(u<32e4)try{g(null,inflateSync(m,new u8(p)))}catch(t){g(t,null)}else r.push(inflate(m,{size:p},g))}else g(err(14,"unknown compression type "+a,1),null);else g(null,slc(t,y,y+u));else g(null,null)},v=0;v<u;++v)p()}else o(null,{});return i}function unzipSync(t,n){for(var e={},r=t.length-22;101010256!=b4(t,r);--r)(!r||t.length-r>65558)&&err(13);var i=b2(t,r+8);if(!i)return{};var s=b4(t,r+16),o=4294967295==s;o&&(r=b4(t,r-12),101075792!=b4(t,r)&&err(13),i=b4(t,r+32),s=b4(t,r+48));for(var a=n&&n.filter,f=0;f<i;++f){var u=zh(t,s,o),l=u[0],c=u[1],h=u[2],p=u[3],v=u[4],d=u[5],b=slzh(t,d);s=v,a&&!a({name:p,size:c,originalSize:h,compression:l})||(l?8==l?e[p]=inflateSync(t.subarray(b,b+c),new u8(h)):err(14,"unknown compression type "+l):e[p]=slc(t,b,b+c))}return e}exports.unzip=unzip,exports.unzipSync=unzipSync;
155
155
 
156
156
  },{"./node-worker.cjs":34}],34:[function(require,module,exports){
@@ -177,7 +177,7 @@ const zipSync=require("fflate").zipSync,strToU8=require("fflate").strToU8,string
177
177
  },{"xmlchars/xml/1.0/ed5":37,"xmlchars/xml/1.1/ed2":38,"xmlchars/xmlns/1.0/ed3":39}],41:[function(require,module,exports){
178
178
  module.exports={
179
179
  "name": "@jscad/amf-deserializer",
180
- "version": "2.3.4",
180
+ "version": "2.3.5",
181
181
  "description": "AMF Deserializer for JSCAD",
182
182
  "repository": "https://github.com/jscad/OpenJSCAD.org/",
183
183
  "main": "src/index.js",
@@ -208,7 +208,7 @@ module.exports={
208
208
  ],
209
209
  "license": "MIT",
210
210
  "dependencies": {
211
- "@jscad/modeling": "2.11.1",
211
+ "@jscad/modeling": "2.12.0",
212
212
  "saxes": "5.0.1"
213
213
  },
214
214
  "devDependencies": {
@@ -266,7 +266,7 @@ const{geometries:geometries,maths:maths,primitives:primitives}=require("@jscad/m
266
266
  },{"./helpers":54,"@jscad/modeling":210}],57:[function(require,module,exports){
267
267
  module.exports={
268
268
  "name": "@jscad/dxf-deserializer",
269
- "version": "2.3.21",
269
+ "version": "2.3.22",
270
270
  "description": "DXF Deserializer for JSCAD",
271
271
  "homepage": "https://openjscad.xyz/",
272
272
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -294,7 +294,7 @@ module.exports={
294
294
  ],
295
295
  "license": "MIT",
296
296
  "dependencies": {
297
- "@jscad/modeling": "2.11.1"
297
+ "@jscad/modeling": "2.12.0"
298
298
  },
299
299
  "devDependencies": {
300
300
  "ava": "3.15.0",
@@ -323,7 +323,7 @@ class BinaryReader{constructor(t){this._buffer=t,this._pos=0}readInt8(){return t
323
323
  class Blob{constructor(e,t){if(t=t||{},this.size=0,this.type="",this.isClosed=!1,this.encoding="utf8",this.buffer=null,this.length=0,!e)return;if(!Array.isArray(e))return;let s,i;e.forEach(e=>{"string"==typeof e?this.length+=e.length:e instanceof ArrayBuffer&&(this.length+=e.byteLength)}),t.type&&(this.type=t.type.toLowerCase()),t.endings,t.encoding&&(this.encoding=t.encoding.toLowerCase()),t.length&&(this.length=t.length),this.buffer=Buffer.allocUnsafe(this.length);for(let t=0;t<e.length;t++)switch(typeof e[t]){case"string":s=this.buffer.write(e[t],this.size,this.encoding),this.size=this.size+s;break;case"object":if((i=e[t])instanceof ArrayBuffer){const e=new DataView(i);for(let t=0;t<i.byteLength;t++){const i=e.getUint8(t);s=this.buffer.writeUInt8(i,this.size,!1),this.size++}}}}asBuffer(){return this.buffer.slice(0,this.size)}arrayBuffer(){return this.buffer.slice(0,this.size)}slice(e,t,s){return e=e||0,t=t||this.size,s=s||"",new Blob}stream(){return null}text(){return""}close(){this.isClosed||(this.isClosed=!0)}toString(){return""}}module.exports=Blob;
324
324
 
325
325
  }).call(this)}).call(this,require("buffer").Buffer)
326
- },{"buffer":686}],64:[function(require,module,exports){
326
+ },{"buffer":687}],64:[function(require,module,exports){
327
327
  const makeBlob=require("./makeBlob"),Blob=makeBlob(),convertToBlob=o=>{const{data:e,mimeType:l}=o;return new Blob(e,{type:l})};module.exports=convertToBlob;
328
328
 
329
329
  },{"./makeBlob":66}],65:[function(require,module,exports){
@@ -350,7 +350,7 @@ const{flatten:flatten,toArray:toArray}=require("@jscad/array-utils"),version=req
350
350
  },{"./package.json":72,"@jscad/array-utils":524}],72:[function(require,module,exports){
351
351
  module.exports={
352
352
  "name": "@jscad/json-deserializer",
353
- "version": "2.0.25",
353
+ "version": "2.0.26",
354
354
  "description": "JSON Deserializer for JSCAD",
355
355
  "homepage": "https://openjscad.xyz/",
356
356
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -381,7 +381,7 @@ module.exports={
381
381
  "@jscad/array-utils": "2.1.4"
382
382
  },
383
383
  "devDependencies": {
384
- "@jscad/modeling": "2.11.1",
384
+ "@jscad/modeling": "2.12.0",
385
385
  "ava": "3.15.0",
386
386
  "nyc": "15.1.0"
387
387
  },
@@ -397,7 +397,7 @@ const{colors:colors,primitives:primitives}=require("@jscad/modeling"),version=re
397
397
  },{"./package.json":75,"@jscad/modeling":210}],75:[function(require,module,exports){
398
398
  module.exports={
399
399
  "name": "@jscad/obj-deserializer",
400
- "version": "2.0.24",
400
+ "version": "2.0.25",
401
401
  "description": "OBJ Deserializer for JSCAD",
402
402
  "homepage": "https://openjscad.xyz/",
403
403
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -429,7 +429,7 @@ module.exports={
429
429
  ],
430
430
  "license": "MIT",
431
431
  "dependencies": {
432
- "@jscad/modeling": "2.11.1"
432
+ "@jscad/modeling": "2.12.0"
433
433
  },
434
434
  "devDependencies": {
435
435
  "ava": "3.15.0",
@@ -447,7 +447,7 @@ const{maths:maths,primitives:primitives}=require("@jscad/modeling"),{BinaryReade
447
447
  },{"./package.json":78,"@jscad/io-utils":65,"@jscad/modeling":210}],78:[function(require,module,exports){
448
448
  module.exports={
449
449
  "name": "@jscad/stl-deserializer",
450
- "version": "2.1.21",
450
+ "version": "2.1.22",
451
451
  "description": "STL Deserializer for JSCAD",
452
452
  "homepage": "https://openjscad.xyz/",
453
453
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -479,8 +479,8 @@ module.exports={
479
479
  ],
480
480
  "license": "MIT",
481
481
  "dependencies": {
482
- "@jscad/io-utils": "2.0.24",
483
- "@jscad/modeling": "2.11.1"
482
+ "@jscad/io-utils": "2.0.25",
483
+ "@jscad/modeling": "2.12.0"
484
484
  },
485
485
  "devDependencies": {
486
486
  "ava": "3.15.0",
@@ -513,7 +513,7 @@ const{geometries:geometries,modifiers:modifiers}=require("@jscad/modeling"),{fla
513
513
  },{"xmlchars/xml/1.0/ed5":82,"xmlchars/xml/1.1/ed2":83,"xmlchars/xmlns/1.0/ed3":84}],86:[function(require,module,exports){
514
514
  module.exports={
515
515
  "name": "@jscad/svg-deserializer",
516
- "version": "2.5.5",
516
+ "version": "2.5.6",
517
517
  "description": "SVG Deserializer for JSCAD",
518
518
  "homepage": "https://openjscad.xyz/",
519
519
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -546,7 +546,7 @@ module.exports={
546
546
  "license": "MIT",
547
547
  "dependencies": {
548
548
  "@jscad/array-utils": "2.1.4",
549
- "@jscad/modeling": "2.11.1",
549
+ "@jscad/modeling": "2.12.0",
550
550
  "saxes": "5.0.1"
551
551
  },
552
552
  "devDependencies": {
@@ -583,7 +583,7 @@ const{geometries:geometries,maths:maths,measurements:measurements,utils:utils}=r
583
583
  },{}],95:[function(require,module,exports){
584
584
  module.exports={
585
585
  "name": "@jscad/svg-serializer",
586
- "version": "2.3.12",
586
+ "version": "2.3.13",
587
587
  "description": "SVG Serializer for JSCAD",
588
588
  "homepage": "https://openjscad.xyz/",
589
589
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -615,7 +615,7 @@ module.exports={
615
615
  ],
616
616
  "license": "MIT",
617
617
  "dependencies": {
618
- "@jscad/modeling": "2.11.1",
618
+ "@jscad/modeling": "2.12.0",
619
619
  "onml": "1.3.0"
620
620
  },
621
621
  "devDependencies": {
@@ -640,7 +640,7 @@ module.exports={
640
640
  },{"xmlchars/xml/1.0/ed5":96,"xmlchars/xml/1.1/ed2":97,"xmlchars/xmlns/1.0/ed3":98}],100:[function(require,module,exports){
641
641
  module.exports={
642
642
  "name": "@jscad/x3d-deserializer",
643
- "version": "2.2.4",
643
+ "version": "2.2.5",
644
644
  "description": "X3D Deserializer for JSCAD",
645
645
  "repository": "https://github.com/jscad/OpenJSCAD.org/",
646
646
  "main": "src/index.js",
@@ -667,7 +667,7 @@ module.exports={
667
667
  },
668
668
  "dependencies": {
669
669
  "@jscad/array-utils": "2.1.4",
670
- "@jscad/modeling": "2.11.1",
670
+ "@jscad/modeling": "2.12.0",
671
671
  "saxes": "5.0.1"
672
672
  },
673
673
  "devDependencies": {
@@ -731,7 +731,7 @@ const{geometries:geometries}=require("@jscad/modeling"),{geom3:geom3,poly3:poly3
731
731
  "use strict";const isObject=t=>t&&"[object Object]"===Object.prototype.toString.call(t);function indenter(t){if(!(t>0))return t=>t;var e=" ".repeat(t);return t=>{if("string"!=typeof t)return t;const n=t.split("\n");return 1===n.length?e+t:n.map(t=>""===t.trim()?t:e+t).join("\n")}}const clean=t=>t.split("\n").filter(t=>""!==t.trim()).join("\n");function stringify(t,e){const n=e>0?"\n":"",r=indenter(e);return function t(e){let i,o="",s=!0;return e.some((e,r,c)=>{if(0===r)return i="<"+e,1===c.length;if(1===r){if(isObject(e))return Object.keys(e).map(t=>{let n=e[t];Array.isArray(n)&&(n=n.join(" ")),i+=" "+t+'="'+n+'"'}),2===c.length||void(i+=">");i+=">"}switch(typeof e){case"string":case"number":case"boolean":case"undefined":return void(o+=e+n)}s=!1,o+=t(e)})?i+"/>"+n:s?i+clean(o)+"</"+e[0]+">"+n:i+n+r(o)+"</"+e[0]+">"+n}(t)}module.exports=stringify;
732
732
 
733
733
  },{}],119:[function(require,module,exports){
734
- const{geometries:geometries,modifiers:modifiers}=require("@jscad/modeling"),{geom2:geom2,geom3:geom3,path2:path2,poly2:poly2,poly3:poly3}=geometries,{flatten:flatten}=require("@jscad/array-utils"),stringify=require("onml/lib/stringify"),mimeType="model/x3d+xml",serialize=(e,...o)=>{if(e=Object.assign({},{color:[0,0,1,1],smooth:!1,decimals:1e3,metadata:!0,unit:"millimeter",statusCallback:null},e),0===(o=(o=flatten(o)).filter(e=>geom3.isA(e)||geom2.isA(e)||path2.isA(e))).length)throw new Error("expected one or more geom3/geom2/path2 objects");e.statusCallback&&e.statusCallback({progress:0});let t=["X3D",{profile:"Interchange",version:"3.3","xmlns:xsd":"http://www.w3.org/2001/XMLSchema-instance","xsd:noNamespaceSchemaLocation":"http://www.web3d.org/specifications/x3d-3.3.xsd"}];e.metadata?t.push(["head",{},["meta",{name:"creator",content:"Created by JSCAD"}],["meta",{name:"reference",content:"https://www.openjscad.xyz"}],["meta",{name:"created",content:(new Date).toISOString()}]]):t.push(["head",{},["meta",{name:"creator",content:"Created by JSCAD"}]]),t=t.concat(convertObjects(o,e));const r=`<?xml version="1.0" encoding="UTF-8"?>\n${stringify(t,2)}`;return e&&e.statusCallback&&e.statusCallback({progress:100}),[r]},convertObjects=(e,o)=>{const t=[];return e.forEach((r,n)=>{if(o.statusCallback&&o.statusCallback({progress:100*n/e.length}),geom3.isA(r)){r=modifiers.generalize({snap:!0,triangulate:!0},r),geom3.toPolygons(r).length>0&&t.push(convertGeom3(r,o))}geom2.isA(r)&&t.push(convertGeom2(r,o)),path2.isA(r)&&t.push(convertPath2(r,o))}),[["Scene",{},["Transform",{rotation:"1 0 0 -1.5708"},...t]]]},convertPath2=(e,o)=>{const t=path2.toPoints(e).slice();t.length>1&&e.isClosed&&t.push(t[0]);const r=["Shape",{},convertPolyline2D(poly2.create(t),o)];return e.color&&r.push(convertAppearance(e,"emissiveColor",o)),r},convertGeom2=(e,o)=>{const t=geom2.toOutlines(e),r=["Group",{}];return t.forEach(t=>{t.length>1&&t.push(t[0]);const n=["Shape",{},convertPolyline2D(poly2.create(t),o)];e.color&&n.push(convertAppearance(e,"emissiveColor",o)),r.push(n)}),r},convertPolyline2D=(e,o)=>{return["Polyline2D",{lineSegments:e.vertices.map(e=>`${e[0]} ${e[1]}`).join(" ")}]},convertAppearance=(e,o,t)=>{return["Appearance",["Material",{[o]:e.color.slice(0,3).join(" "),transparency:roundToDecimals(1-e.color[3],t)}]]},convertGeom3=(e,o)=>{const t=["Shape",{},convertMesh(e,o)];let r=["Appearance",{},["Material"]];return e.color&&(r=convertAppearance(e,"diffuseColor",o)),t.push(r),t},convertMesh=(e,o)=>{const t=convertToTriangles(e,o),r=polygons2coordinates(t,o),n=r[0].join(" "),s=r[1].join(" "),a=r[2].join(" "),c=["IndexedTriangleSet",{ccw:"true",colorPerVertex:"false",normalPerVertex:o.smooth,solid:"false",index:n},["Coordinate",{point:s}]];return e.color||c.push(["Color",{color:a}]),c},convertToTriangles=(e,o)=>{const t=[];return geom3.toPolygons(e).forEach(r=>{const n=r.vertices[0];for(let s=r.vertices.length-3;s>=0;s--){const a=poly3.fromPoints([n,r.vertices[s+1],r.vertices[s+2]]);let c=o.color;e.color&&(c=e.color),r.color&&(c=r.color),a.color=c,t.push(a)}}),t},convertToColor=(e,o)=>{let t=o.color;return e.color&&(t=e.color),`${t[0]} ${t[1]} ${t[2]}`},roundToDecimals=(e,o)=>Math.round(e*o.decimals)/o.decimals,polygons2coordinates=(e,o)=>{const t=[],r=[],n=[],s=new Map;return e.forEach(e=>{const a=[],c=e.vertices.length;for(let t=0;t<c;t++){const n=e.vertices[t],c=`${n[0]},${n[1]},${n[2]}`;if(!s.has(c)){const e=roundToDecimals(n[0],o),t=roundToDecimals(n[1],o),a=roundToDecimals(n[2],o);r.push(`${e} ${t} ${a}`),s.set(c,r.length-1)}a.push(s.get(c))}t.push(a.join(" ")),n.push(convertToColor(e,o))}),s.clear(),[t,r,n]};module.exports={serialize:serialize,mimeType:mimeType};
734
+ const{geometries:geometries,modifiers:modifiers}=require("@jscad/modeling"),{geom2:geom2,geom3:geom3,path2:path2,poly2:poly2,poly3:poly3}=geometries,{flatten:flatten}=require("@jscad/array-utils"),stringify=require("onml/lib/stringify"),mimeType="model/x3d+xml",defNames=new Map,serialize=(e,...o)=>{if(e=Object.assign({},{color:[0,0,1,1],shininess:8/256,smooth:!1,decimals:1e3,metadata:!0,unit:"millimeter",statusCallback:null},e),0===(o=(o=flatten(o)).filter(e=>geom3.isA(e)||geom2.isA(e)||path2.isA(e))).length)throw new Error("expected one or more geom3/geom2/path2 objects");e.statusCallback&&e.statusCallback({progress:0});let t=["X3D",{profile:"Interchange",version:"3.3","xmlns:xsd":"http://www.w3.org/2001/XMLSchema-instance","xsd:noNamespaceSchemaLocation":"http://www.web3d.org/specifications/x3d-3.3.xsd"}];e.metadata?t.push(["head",{},["meta",{name:"creator",content:"Created by JSCAD"}],["meta",{name:"reference",content:"https://www.openjscad.xyz"}],["meta",{name:"created",content:(new Date).toISOString()}]]):t.push(["head",{},["meta",{name:"creator",content:"Created by JSCAD"}]]),t=t.concat(convertObjects(o,e));const r=`<?xml version="1.0" encoding="UTF-8"?>\n${stringify(t,2)}`;return e&&e.statusCallback&&e.statusCallback({progress:100}),[r]},convertObjects=(e,o)=>{const t=[];return e.forEach((r,s)=>{if(o.statusCallback&&o.statusCallback({progress:100*s/e.length}),geom3.isA(r)){r=modifiers.generalize({snap:!0,triangulate:!0},r),geom3.toPolygons(r).length>0&&t.push(convertGeom3(r,o))}geom2.isA(r)&&t.push(convertGeom2(r,o)),path2.isA(r)&&t.push(convertPath2(r,o))}),[["Scene",{},["Transform",{rotation:"1 0 0 -1.5708"},...t]]]},convertPath2=(e,o)=>{const t=path2.toPoints(e).slice();t.length>1&&e.isClosed&&t.push(t[0]);const r=["Shape",shapeAttributes(e),convertPolyline2D(poly2.create(t),o)];return e.color&&r.push(convertAppearance(e,"emissiveColor",o)),r},convertGeom2=(e,o)=>{const t=geom2.toOutlines(e),r=["Group",{}];return t.forEach(t=>{t.length>1&&t.push(t[0]);const s=["Shape",shapeAttributes(e),convertPolyline2D(poly2.create(t),o)];e.color&&s.push(convertAppearance(e,"emissiveColor",o)),r.push(s)}),r},shapeAttributes=(e,o={})=>(e.id&&Object.assign(o,{DEF:checkDefName(e.id)}),o),checkDefName=e=>{const o=defNames.get(e)||0;return defNames.set(e,o+1),o>0&&console.warn(`Warning: object.id set as DEF but not unique. ${e} set ${o+1} times.`),e},convertPolyline2D=(e,o)=>{return["Polyline2D",{lineSegments:e.vertices.map(e=>`${e[0]} ${e[1]}`).join(" ")}]},convertAppearance=(e,o,t)=>{const r={[o]:e.color.slice(0,3).join(" "),transparency:roundToDecimals(1-e.color[3],t)};return"diffuseColor"===o&&Object.assign(r,{specularColor:"0.2 0.2 0.2",shininess:t.shininess}),["Appearance",["Material",r]]},convertGeom3=(e,o)=>{const t=["Shape",shapeAttributes(e),convertMesh(e,o)];let r=["Appearance",{},["Material"]];return e.color&&(r=convertAppearance(e,"diffuseColor",o)),t.push(r),t},convertMesh=(e,o)=>{const t=convertToTriangles(e,o),r=polygons2coordinates(t,o),s=r[0].join(" "),n=r[1].join(" "),a=r[2].join(" "),c=["IndexedTriangleSet",{ccw:"true",colorPerVertex:"false",normalPerVertex:o.smooth,solid:"false",index:s},["Coordinate",{point:n}]];return e.color||c.push(["Color",{color:a}]),c},convertToTriangles=(e,o)=>{const t=[];return geom3.toPolygons(e).forEach(r=>{const s=r.vertices[0];for(let n=r.vertices.length-3;n>=0;n--){const a=poly3.fromPoints([s,r.vertices[n+1],r.vertices[n+2]]);let c=o.color;e.color&&(c=e.color),r.color&&(c=r.color),a.color=c,t.push(a)}}),t},convertToColor=(e,o)=>{let t=o.color;return e.color&&(t=e.color),`${t[0]} ${t[1]} ${t[2]}`},roundToDecimals=(e,o)=>Math.round(e*o.decimals)/o.decimals,polygons2coordinates=(e,o)=>{const t=[],r=[],s=[],n=new Map;return e.forEach(e=>{const a=[],c=e.vertices.length;for(let t=0;t<c;t++){const s=e.vertices[t],c=`${s[0]},${s[1]},${s[2]}`;if(!n.has(c)){const e=roundToDecimals(s[0],o),t=roundToDecimals(s[1],o),a=roundToDecimals(s[2],o);r.push(`${e} ${t} ${a}`),n.set(c,r.length-1)}a.push(n.get(c))}t.push(a.join(" ")),s.push(convertToColor(e,o))}),n.clear(),[t,r,s]};module.exports={serialize:serialize,mimeType:mimeType};
735
735
 
736
736
  },{"@jscad/array-utils":524,"@jscad/modeling":210,"onml/lib/stringify":118}],120:[function(require,module,exports){
737
737
  const cssColors=require("./cssColors"),colorNameToRgb=o=>cssColors[o.toLowerCase()];module.exports=colorNameToRgb;
@@ -779,7 +779,7 @@ module.exports={create:require("./create"),valueAt:require("./valueAt"),tangentA
779
779
  const lengths=require("./lengths"),length=(e,t)=>lengths(e,t)[e];module.exports=length;
780
780
 
781
781
  },{"./lengths":135}],135:[function(require,module,exports){
782
- const valueAt=require("./valueAt"),lengths=(e,r)=>{let t=0,n=[0],s=valueAt(0,r);for(let a=1;a<=e;a++){const i=valueAt(a/e,r);t+=distanceBetween(i,s),n.push(t),s=i}return n},distanceBetween=(e,r)=>{if(Number.isFinite(e)&&Number.isFinite(r))return Math.abs(e-r);if(Array.isArray(e)&&Array.isArray(r)){if(e.length!==r.length)throw new Error("The operands must have the same number of dimensions.");let t=0;for(let n=0;n<e.length;n++)t+=(r[n]-e[n])*(r[n]-e[n]);return Math.sqrt(t)}throw new Error("The operands must be of the same type, either number or array.")};module.exports=lengths;
782
+ const valueAt=require("./valueAt"),lengths=(e,r)=>{let t=0;const n=[0];let s=valueAt(0,r);for(let a=1;a<=e;a++){const i=valueAt(a/e,r);t+=distanceBetween(i,s),n.push(t),s=i}return n},distanceBetween=(e,r)=>{if(Number.isFinite(e)&&Number.isFinite(r))return Math.abs(e-r);if(Array.isArray(e)&&Array.isArray(r)){if(e.length!==r.length)throw new Error("The operands must have the same number of dimensions.");let t=0;for(let n=0;n<e.length;n++)t+=(r[n]-e[n])*(r[n]-e[n]);return Math.sqrt(t)}throw new Error("The operands must be of the same type, either number or array.")};module.exports=lengths;
783
783
 
784
784
  },{"./valueAt":137}],136:[function(require,module,exports){
785
785
  const tangentAt=(t,n)=>{if(t<0||t>1)throw new Error("Bezier tangentAt() input must be between 0 and 1");if("float_single"===n.pointType)return bezierTangent(n,n.points,t);{const e=[];for(let o=0;o<n.dimensions;o++){const r=[];for(let t=0;t<n.points.length;t++)r.push(n.points[t][o]);e.push(bezierTangent(n,r,t))}return e}},bezierTangent=function(t,n,e){const o=n.length-1;let r=0;for(let i=0;i<o;i++){const s=o*(n[i+1]-n[i]);r+=t.tangentPermutations[i]*Math.pow(1-e,o-1-i)*Math.pow(e,i)*s}return r};module.exports=tangentAt;
@@ -938,7 +938,7 @@ const mat4=require("../../maths/mat4"),transform=(t,r)=>{const s=mat4.multiply(m
938
938
  const vec2=require("../../maths/vec2"),isA=require("./isA"),validate=r=>{if(!isA(r))throw new Error("invalid path2 structure");if(r.points.length>1)for(let i=0;i<r.points.length;i++)if(vec2.equals(r.points[i],r.points[(i+1)%r.points.length]))throw new Error(`path2 duplicate points ${r.points[i]}`);if(r.points.forEach(r=>{if(!r.every(Number.isFinite))throw new Error(`path2 invalid point ${r}`)}),!r.transforms.every(Number.isFinite))throw new Error(`path2 invalid transforms ${r.transforms}`)};module.exports=validate;
939
939
 
940
940
  },{"../../maths/vec2":308,"./isA":181}],188:[function(require,module,exports){
941
- const measureArea=require("./measureArea"),flip=require("./flip"),arePointsInside=(e,r)=>{if(0===e.length)return 0;const t=r.vertices;return t.length<3?0:(measureArea(r)<0&&(r=flip(r)),e.reduce((e,r)=>e+isPointInside(r,t),0)===e.length?1:0)},isPointInside=(e,r)=>{const t=r.length,n=e[0],i=e[1];let s=r[t-1],o=r[0],l=s[1]>i,u=0,a=0;for(let e=t+1;--e;){const e=o[1]>i;if(l!==e){const e=s[0]>n,r=o[0]>n;e&&r?u=!u:o[0]-(o[1]-i)*(s[0]-o[0])/(s[1]-o[1])>=n&&(u=!u)}l=e,s=o,o=r[++a]}return u},isLeft=(e,r,t)=>(r[0]-e[0])*(t[1]-e[1])-(t[0]-e[0])*(r[1]-e[1]);module.exports=arePointsInside;
941
+ const measureArea=require("./measureArea"),flip=require("./flip"),arePointsInside=(e,r)=>{if(0===e.length)return 0;const n=r.vertices;return n.length<3?0:(measureArea(r)<0&&(r=flip(r)),e.reduce((e,r)=>e+isPointInside(r,n),0)===e.length?1:0)},isPointInside=(e,r)=>{const n=r.length,t=e[0],i=e[1];let s=r[n-1],o=r[0],l=s[1]>i,u=0,a=0;for(let e=n+1;--e;){const e=o[1]>i;if(l!==e){const e=s[0]>t,r=o[0]>t;e&&r?u=!u:o[0]-(o[1]-i)*(s[0]-o[0])/(s[1]-o[1])>=t&&(u=!u)}l=e,s=o,o=r[++a]}return u};module.exports=arePointsInside;
942
942
 
943
943
  },{"./flip":190,"./measureArea":192}],189:[function(require,module,exports){
944
944
  const create=e=>((void 0===e||e.length<3)&&(e=[]),{vertices:e});module.exports=create;
@@ -983,9 +983,9 @@ const plane=require("./plane"),measureArea=e=>{const r=e.vertices.length;if(r<3)
983
983
  const vec3=require("../../maths/vec3"),measureBoundingBox=e=>{const c=e.vertices,n=c.length,o=0===n?vec3.create():vec3.clone(c[0]),r=vec3.clone(o);for(let e=1;e<n;e++)vec3.min(o,o,c[e]),vec3.max(r,r,c[e]);return[o,r]};module.exports=measureBoundingBox;
984
984
 
985
985
  },{"../../maths/vec3":339}],203:[function(require,module,exports){
986
- const vec3=require("../../maths/vec3"),vec4=require("../../maths/vec4"),cache=new WeakMap,measureBoundingSphere=e=>{let r=cache.get(e);if(r)return r;const t=e.vertices,c=vec4.create();if(0===t.length)return c[0]=0,c[1]=0,c[2]=0,c[3]=0,c;let a=t[0],n=a,s=a,h=a,u=a,o=a;t.forEach(e=>{a[0]>e[0]&&(a=e),n[1]>e[1]&&(n=e),s[2]>e[2]&&(s=e),h[0]<e[0]&&(h=e),u[1]<e[1]&&(u=e),o[2]<e[2]&&(o=e)}),c[0]=.5*(a[0]+h[0]),c[1]=.5*(n[1]+u[1]),c[2]=.5*(s[2]+o[2]);const i=c[0]-h[0],v=c[1]-u[1],m=c[2]-o[2];return c[3]=Math.sqrt(i*i+v*v+m*m),cache.set(e,c),c};module.exports=measureBoundingSphere;
986
+ const vec4=require("../../maths/vec4"),cache=new WeakMap,measureBoundingSphere=e=>{const r=cache.get(e);if(r)return r;const t=e.vertices,c=vec4.create();if(0===t.length)return c[0]=0,c[1]=0,c[2]=0,c[3]=0,c;let n=t[0],a=n,s=n,h=n,o=n,u=n;t.forEach(e=>{n[0]>e[0]&&(n=e),a[1]>e[1]&&(a=e),s[2]>e[2]&&(s=e),h[0]<e[0]&&(h=e),o[1]<e[1]&&(o=e),u[2]<e[2]&&(u=e)}),c[0]=.5*(n[0]+h[0]),c[1]=.5*(a[1]+o[1]),c[2]=.5*(s[2]+u[2]);const i=c[0]-h[0],g=c[1]-o[1],m=c[2]-u[2];return c[3]=Math.sqrt(i*i+g*g+m*m),cache.set(e,c),c};module.exports=measureBoundingSphere;
987
987
 
988
- },{"../../maths/vec3":339,"../../maths/vec4":365}],204:[function(require,module,exports){
988
+ },{"../../maths/vec4":365}],204:[function(require,module,exports){
989
989
  const vec3=require("../../maths/vec3"),measureSignedVolume=e=>{let r=0;const t=e.vertices,c=vec3.create();for(let e=0;e<t.length-2;e++)vec3.cross(c,t[e+1],t[e+2]),r+=vec3.dot(t[0],c);return r/=6};module.exports=measureSignedVolume;
990
990
 
991
991
  },{"../../maths/vec3":339}],205:[function(require,module,exports){
@@ -1652,7 +1652,7 @@ const pointInTriangle=(n,a,e,r,i,o,t,x)=>(i-t)*(a-x)-(n-t)*(o-x)>=0&&(n-t)*(r-x)
1652
1652
  const mat4=require("../../maths/mat4"),geom2=require("../../geometries/geom2"),geom3=require("../../geometries/geom3"),poly3=require("../../geometries/poly3"),slice=require("./slice"),repairSlice=require("./slice/repair"),extrudeWalls=require("./extrudeWalls"),defaultCallback=(e,r,l)=>{let t=null;return geom2.isA(l)&&(t=slice.fromSides(geom2.toSides(l))),poly3.isA(l)&&(t=slice.fromPoints(poly3.toPoints(l))),0===e||1===e?slice.transform(mat4.fromTranslation(mat4.create(),[0,0,e]),t):null},extrudeFromSlices=(e,r)=>{const l={numberOfSlices:2,capStart:!0,capEnd:!0,close:!1,repair:!0,callback:defaultCallback},{numberOfSlices:t,capStart:o,capEnd:c,close:s,repair:i,callback:a}=Object.assign({},l,e);if(t<2)throw new Error("numberOfSlices must be 2 or more");i&&(r=repairSlice(r));const n=t-1;let u=null,m=null,f=null,g=[];for(let e=0;e<t;e++){const l=a(e/n,e,r);if(l){if(!slice.isA(l))throw new Error("the callback function must return slice objects");if(0===slice.toEdges(l).length)throw new Error("the callback function must return slices with one or more edges");f&&(g=g.concat(extrudeWalls(f,l))),0===e&&(u=l),e===t-1&&(m=l),f=l}}if(c){const e=slice.toPolygons(m);g=g.concat(e)}if(o){const e=slice.toPolygons(u).map(poly3.invert);g=g.concat(e)}return o||c||s&&!slice.equals(m,u)&&(g=g.concat(extrudeWalls(m,u))),geom3.create(g)};module.exports=extrudeFromSlices;
1653
1653
 
1654
1654
  },{"../../geometries/geom2":144,"../../geometries/geom3":159,"../../geometries/poly3":197,"../../maths/mat4":261,"./extrudeWalls":434,"./slice":443,"./slice/repair":445}],426:[function(require,module,exports){
1655
- const{TAU:TAU}=require("../../maths/constants"),slice=require("./slice"),mat4=require("../../maths/mat4"),extrudeFromSlices=require("./extrudeFromSlices"),geom2=require("../../geometries/geom2"),extrudeHelical=(e,t)=>{const r={angle:TAU,startAngle:0,pitch:10,endOffset:0,segmentsPerRotation:32},{angle:a,endOffset:s,segmentsPerRotation:i,startAngle:o}=Object.assign({},r,e);let n;n=!e.pitch&&e.height?e.height/(a/TAU):e.pitch?e.pitch:r.pitch;if(i<3)throw new Error("The number of segments per rotation needs to be at least 3.");let m=geom2.toSides(t);if(0===m.length)throw new Error("the given geometry cannot be empty");const l=m.filter(e=>e[0][0]>=0);let c=slice.fromSides(m);0===l.length&&(c=slice.reverse(c));const h=Math.round(i/TAU*Math.abs(a)),g=h>=2?h:2,u=mat4.create();let f;return extrudeFromSlices({numberOfSlices:g+1,callback:(e,t,r)=>{const i=o+a/g*t,m=s/g*t,l=(i-o)/TAU*n;return mat4.multiply(u,mat4.fromTranslation(mat4.create(),[m,0,l*Math.sign(a)]),mat4.fromXRotation(mat4.create(),-TAU/4*Math.sign(a))),f=mat4.create(),mat4.multiply(f,mat4.fromZRotation(mat4.create(),i),u),slice.transform(f,r)}},c)};module.exports=extrudeHelical;
1655
+ const{TAU:TAU}=require("../../maths/constants"),slice=require("./slice"),mat4=require("../../maths/mat4"),extrudeFromSlices=require("./extrudeFromSlices"),geom2=require("../../geometries/geom2"),extrudeHelical=(e,t)=>{const r={angle:TAU,startAngle:0,pitch:10,endOffset:0,segmentsPerRotation:32},{angle:a,endOffset:s,segmentsPerRotation:o,startAngle:i}=Object.assign({},r,e);let n;n=!e.pitch&&e.height?e.height/(a/TAU):e.pitch?e.pitch:r.pitch;if(o<3)throw new Error("The number of segments per rotation needs to be at least 3.");const m=geom2.toSides(t);if(0===m.length)throw new Error("the given geometry cannot be empty");const c=m.filter(e=>e[0][0]>=0);let l=slice.fromSides(m);0===c.length&&(l=slice.reverse(l));const h=Math.round(o/TAU*Math.abs(a)),g=h>=2?h:2,u=mat4.create();let f;return extrudeFromSlices({numberOfSlices:g+1,callback:(e,t,r)=>{const o=i+a/g*t,m=s/g*t,c=(o-i)/TAU*n;return mat4.multiply(u,mat4.fromTranslation(mat4.create(),[m,0,c*Math.sign(a)]),mat4.fromXRotation(mat4.create(),-TAU/4*Math.sign(a))),f=mat4.create(),mat4.multiply(f,mat4.fromZRotation(mat4.create(),o),u),slice.transform(f,r)}},l)};module.exports=extrudeHelical;
1656
1656
 
1657
1657
  },{"../../geometries/geom2":144,"../../maths/constants":212,"../../maths/mat4":261,"./extrudeFromSlices":425,"./slice":443}],427:[function(require,module,exports){
1658
1658
  const flatten=require("../../utils/flatten"),geom2=require("../../geometries/geom2"),path2=require("../../geometries/path2"),extrudeLinearGeom2=require("./extrudeLinearGeom2"),extrudeLinearPath2=require("./extrudeLinearPath2"),extrudeLinear=(e,...t)=>{const{height:r,twistAngle:i,twistSteps:n,repair:a}=Object.assign({},{height:1,twistAngle:0,twistSteps:1,repair:!0},e);if(0===(t=flatten(t)).length)throw new Error("wrong number of arguments");e={offset:[0,0,r],twistAngle:i,twistSteps:n,repair:a};const s=t.map(t=>path2.isA(t)?extrudeLinearPath2(e,t):geom2.isA(t)?extrudeLinearGeom2(e,t):t);return 1===s.length?s[0]:s};module.exports=extrudeLinear;
@@ -1742,7 +1742,7 @@ const flatten=require("../../utils/flatten"),geom3=require("../../geometries/geo
1742
1742
  const flatten=require("../../utils/flatten"),path2=require("../../geometries/path2"),hullPoints2=require("./hullPoints2"),toUniquePoints=require("./toUniquePoints"),hullPath2=(...t)=>{t=flatten(t);const e=toUniquePoints(t),o=hullPoints2(e);return path2.fromPoints({closed:!0},o)};module.exports=hullPath2;
1743
1743
 
1744
1744
  },{"../../geometries/path2":180,"../../utils/flatten":514,"./hullPoints2":456,"./toUniquePoints":466}],456:[function(require,module,exports){
1745
- const vec2=require("../../maths/vec2"),hullPoints2=t=>{let e=vec2.fromValues(1/0,1/0);t.forEach(t=>{(t[1]<e[1]||t[1]===e[1]&&t[0]<e[0])&&(e=t)});const n=[];t.forEach(t=>{const s=fakeAtan2(t[1]-e[1],t[0]-e[0]),o=vec2.squaredDistance(t,e);n.push({point:t,angle:s,distSq:o})}),n.sort((t,e)=>t.angle<e.angle?-1:t.angle>e.angle?1:t.distSq<e.distSq?-1:t.distSq>e.distSq?1:0);const s=[];return n.forEach(t=>{let e=s.length;for(;e>1&&ccw(s[e-2],s[e-1],t.point)<=Number.EPSILON;)s.pop(),e=s.length;s.push(t.point)}),s},ccw=(t,e,n)=>(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0]),fakeAtan2=(t,e)=>0===t&&0===e?-1/0:-e/t;module.exports=hullPoints2;
1745
+ const vec2=require("../../maths/vec2"),hullPoints2=e=>{let t=vec2.fromValues(1/0,1/0);e.forEach(e=>{(e[1]<t[1]||e[1]===t[1]&&e[0]<t[0])&&(t=e)});const n=[];e.forEach(e=>{const o=fakeAtan2(e[1]-t[1],e[0]-t[0]),s=vec2.squaredDistance(e,t);n.push({point:e,angle:o,distSq:s})}),n.sort((e,t)=>e.angle!==t.angle?e.angle-t.angle:e.distSq-t.distSq);const o=[];return n.forEach(e=>{let t=o.length;for(;t>1&&ccw(o[t-2],o[t-1],e.point)<=Number.EPSILON;)o.pop(),t=o.length;o.push(e.point)}),o},ccw=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]),fakeAtan2=(e,t)=>0===e&&0===t?-1/0:-t/e;module.exports=hullPoints2;
1746
1746
 
1747
1747
  },{"../../maths/vec2":308}],457:[function(require,module,exports){
1748
1748
  module.exports={hull:require("./hull"),hullChain:require("./hullChain")};
@@ -1790,9 +1790,9 @@ const aboutEqualNormals=require("../../maths/utils/aboutEqualNormals"),vec3=requ
1790
1790
  const{EPS:EPS}=require("../../maths/constants"),line2=require("../../maths/line2"),vec2=require("../../maths/vec2"),OrthoNormalBasis=require("../../maths/OrthoNormalBasis"),interpolateBetween2DPointsForY=require("../../maths/utils/interpolateBetween2DPointsForY"),{insertSorted:insertSorted,fnNumberSort:fnNumberSort}=require("../../utils"),poly3=require("../../geometries/poly3"),reTesselateCoplanarPolygons=t=>{if(t.length<2)return t;const e=[],o=t.length,n=poly3.plane(t[0]),l=new OrthoNormalBasis(n),i=[],r=[],s=new Map,f=new Map,p=new Map,h=10/EPS;for(let e=0;e<o;e++){const o=t[e];let n=[],g=o.vertices.length,c=-1;if(g>0){let t,i;for(let r=0;r<g;r++){let s=l.to2D(o.vertices[r]);const g=Math.floor(s[1]*h);let a;p.has(g)?a=p.get(g):p.has(g+1)?a=p.get(g+1):p.has(g-1)?a=p.get(g-1):(a=s[1],p.set(g,s[1])),s=vec2.fromValues(s[0],a),n.push(s);const u=s[1];(0===r||u<t)&&(t=u,c=r),(0===r||u>i)&&(i=u);let m=f.get(u);m||(m={},f.set(u,m)),m[e]=!0}if(t>=i)n=[],g=0,c=-1;else{let o=s.get(t);o||(o=[],s.set(t,o)),o.push(e)}}n.reverse(),c=g-c-1,i.push(n),r.push(c)}const g=[];f.forEach((t,e)=>g.push(e)),g.sort(fnNumberSort);let c=[],a=[];for(let t=0;t<g.length;t++){const o=[],p=g[t],h=f.get(p);for(let t=0;t<c.length;++t){const e=c[t],o=e.polygonindex;if(h[o]){const n=i[o],l=n.length;let r=e.leftvertexindex,s=e.rightvertexindex;for(;;){let t=r+1;if(t>=l&&(t=0),n[t][1]!==p)break;r=t}let f=s-1;if(f<0&&(f=l-1),n[f][1]===p&&(s=f),r!==e.leftvertexindex&&r===s)c.splice(t,1),--t;else{e.leftvertexindex=r,e.rightvertexindex=s,e.topleft=n[r],e.topright=n[s];let t=r+1;t>=l&&(t=0),e.bottomleft=n[t];let o=s-1;o<0&&(o=l-1),e.bottomright=n[o]}}}let u;if(t>=g.length-1)c=[],u=null;else{const e=.5*(p+(u=Number(g[t+1]))),o=s.get(p);for(const t in o){const n=o[t],l=i[n],s=l.length,f=r[n];let h=f;for(;;){let t=h+1;if(t>=s&&(t=0),l[t][1]!==p)break;if(t===f)break;h=t}let g=f;for(;;){let t=g-1;if(t<0&&(t=s-1),l[t][1]!==p)break;if(t===h)break;g=t}let a=h+1;a>=s&&(a=0);let u=g-1;u<0&&(u=s-1);const m={polygonindex:n,leftvertexindex:h,rightvertexindex:g,topleft:l[h],topright:l[g],bottomleft:l[a],bottomright:l[u]};insertSorted(c,m,(t,o)=>{const n=interpolateBetween2DPointsForY(t.topleft,t.bottomleft,e),l=interpolateBetween2DPointsForY(o.topleft,o.bottomleft,e);return n>l?1:n<l?-1:0})}}for(const t in c){const e=c[t];let n=interpolateBetween2DPointsForY(e.topleft,e.bottomleft,p);const l=vec2.fromValues(n,p);n=interpolateBetween2DPointsForY(e.topright,e.bottomright,p);const i=vec2.fromValues(n,p);n=interpolateBetween2DPointsForY(e.topleft,e.bottomleft,u);const r=vec2.fromValues(n,u);n=interpolateBetween2DPointsForY(e.topright,e.bottomright,u);const s=vec2.fromValues(n,u),f={topleft:l,topright:i,bottomleft:r,bottomright:s,leftline:line2.fromPoints(line2.create(),l,r),rightline:line2.fromPoints(line2.create(),s,i)};if(o.length>0){const t=o[o.length-1],e=vec2.distance(f.topleft,t.topright),n=vec2.distance(f.bottomleft,t.bottomright);e<EPS&&n<EPS&&(f.topleft=t.topleft,f.leftline=t.leftline,f.bottomleft=t.bottomleft,o.splice(o.length-1,1))}o.push(f)}if(t>0){const t=new Set,i=new Set;for(let e=0;e<o.length;e++){const n=o[e];for(let e=0;e<a.length;e++)if(!i.has(e)){const o=a[e];if(vec2.distance(o.bottomleft,n.topleft)<EPS&&vec2.distance(o.bottomright,n.topright)<EPS){i.add(e);const l=line2.direction(n.leftline),r=line2.direction(o.leftline),s=l[0]-r[0],f=line2.direction(n.rightline),p=line2.direction(o.rightline),h=f[0]-p[0],g=Math.abs(s)<EPS,c=Math.abs(h)<EPS,a=c||h>=0;(g||s>=0)&&a&&(n.outpolygon=o.outpolygon,n.leftlinecontinues=g,n.rightlinecontinues=c,t.add(e));break}}}for(let o=0;o<a.length;o++)if(!t.has(o)){const t=a[o];t.outpolygon.rightpoints.push(t.bottomright),vec2.distance(t.bottomright,t.bottomleft)>EPS&&t.outpolygon.leftpoints.push(t.bottomleft),t.outpolygon.leftpoints.reverse();const i=t.outpolygon.rightpoints.concat(t.outpolygon.leftpoints).map(t=>l.to3D(t)),r=poly3.fromPointsAndPlane(i,n);r.vertices.length&&e.push(r)}}for(let t=0;t<o.length;t++){const e=o[t];e.outpolygon?(e.leftlinecontinues||e.outpolygon.leftpoints.push(e.topleft),e.rightlinecontinues||e.outpolygon.rightpoints.push(e.topright)):(e.outpolygon={leftpoints:[],rightpoints:[]},e.outpolygon.leftpoints.push(e.topleft),vec2.distance(e.topleft,e.topright)>EPS&&e.outpolygon.rightpoints.push(e.topright))}a=o}return e};module.exports=reTesselateCoplanarPolygons;
1791
1791
 
1792
1792
  },{"../../geometries/poly3":197,"../../maths/OrthoNormalBasis":211,"../../maths/constants":212,"../../maths/line2":223,"../../maths/utils/interpolateBetween2DPointsForY":287,"../../maths/vec2":308,"../../utils":516}],472:[function(require,module,exports){
1793
- const geom3=require("../../geometries/geom3"),poly3=require("../../geometries/poly3"),aboutEqualNormals=require("../../maths/utils/aboutEqualNormals"),reTesselateCoplanarPolygons=require("./reTesselateCoplanarPolygons"),coplanar=(e,o)=>Math.abs(e[3]-o[3])<1.5e-7&&aboutEqualNormals(e,o),retessellate=e=>{if(e.isRetesselated)return e;const o=geom3.toPolygons(e),s=[];o.forEach(e=>{const o=s.find(o=>coplanar(o[0],poly3.plane(e)));if(o){o[1].push(e)}else s.push([poly3.plane(e),[e]])});let a=[];s.forEach(e=>{const o=e[1],s=reTesselateCoplanarPolygons(o);a=a.concat(s)});const l=geom3.create(a);return l.isRetesselated=!0,l};module.exports=retessellate;
1793
+ const geom3=require("../../geometries/geom3"),poly3=require("../../geometries/poly3"),{NEPS:NEPS}=require("../../maths/constants"),reTesselateCoplanarPolygons=require("./reTesselateCoplanarPolygons"),retessellate=e=>{if(e.isRetesselated)return e;const s=geom3.toPolygons(e).map((e,s)=>({vertices:e.vertices,plane:poly3.plane(e),index:s})),o=classifyPolygons(s),l=[];o.forEach(e=>{if(Array.isArray(e)){const s=reTesselateCoplanarPolygons(e);l.push(...s)}else l.push(e)});const n=geom3.create(l);return n.isRetesselated=!0,n},classifyPolygons=e=>{let s=[e];const o=[];for(let e=3;e>=0;e--){const l=[],n=3===e?1.5e-8:NEPS;s.forEach(s=>{s.sort(byPlaneComponent(e,n));let t=0;for(let r=1;r<s.length;r++)s[r].plane[e]-s[t].plane[e]>n&&(r-t==1?o.push(s[t]):l.push(s.slice(t,r)),t=r);s.length-t==1?o.push(s[t]):l.push(s.slice(t))}),s=l}const l=[];return s.forEach(e=>{e[0]&&(l[e[0].index]=e)}),o.forEach(e=>{l[e.index]=e}),l},byPlaneComponent=(e,s)=>(o,l)=>o.plane[e]-l.plane[e]>s?1:l.plane[e]-o.plane[e]>s?-1:0;module.exports=retessellate;
1794
1794
 
1795
- },{"../../geometries/geom3":159,"../../geometries/poly3":197,"../../maths/utils/aboutEqualNormals":284,"./reTesselateCoplanarPolygons":471}],473:[function(require,module,exports){
1795
+ },{"../../geometries/geom3":159,"../../geometries/poly3":197,"../../maths/constants":212,"./reTesselateCoplanarPolygons":471}],473:[function(require,module,exports){
1796
1796
  const flatten=require("../../utils/flatten"),vec2=require("../../maths/vec2"),geom2=require("../../geometries/geom2"),geom3=require("../../geometries/geom3"),path2=require("../../geometries/path2"),measureEpsilon=require("../../measurements/measureEpsilon"),snapPolygons=require("./snapPolygons"),snapPath2=e=>{const s=measureEpsilon(e),r=path2.toPoints(e).map(e=>vec2.snap(vec2.create(),e,s));return path2.create(r)},snapGeom2=e=>{const s=measureEpsilon(e);let r=geom2.toSides(e).map(e=>[vec2.snap(vec2.create(),e[0],s),vec2.snap(vec2.create(),e[1],s)]);return r=r.filter(e=>!vec2.equals(e[0],e[1])),geom2.create(r)},snapGeom3=e=>{const s=measureEpsilon(e),r=geom3.toPolygons(e),o=snapPolygons(s,r);return geom3.create(o)},snap=(...e)=>{if(0===(e=flatten(e)).length)throw new Error("wrong number of arguments");const s=e.map(e=>path2.isA(e)?snapPath2(e):geom2.isA(e)?snapGeom2(e):geom3.isA(e)?snapGeom3(e):e);return 1===s.length?s[0]:s};module.exports=snap;
1797
1797
 
1798
1798
  },{"../../geometries/geom2":144,"../../geometries/geom3":159,"../../geometries/path2":180,"../../maths/vec2":308,"../../measurements/measureEpsilon":380,"../../utils/flatten":514,"./snapPolygons":474}],474:[function(require,module,exports){
@@ -1829,31 +1829,31 @@ const flatten=require("../../utils/flatten"),mat4=require("../../maths/mat4"),ge
1829
1829
  const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),path2=require("../geometries/path2"),{isGT:isGT,isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),arc=e=>{const r={center:[0,0],radius:1,startAngle:0,endAngle:TAU,makeTangent:!1,segments:32};let{center:t,radius:s,startAngle:n,endAngle:a,makeTangent:o,segments:c}=Object.assign({},r,e);if(!isNumberArray(t,2))throw new Error("center must be an array of X and Y values");if(!isGT(s,0))throw new Error("radius must be greater than zero");if(!isGTE(n,0))throw new Error("startAngle must be positive");if(!isGTE(a,0))throw new Error("endAngle must be positive");if(!isGTE(c,4))throw new Error("segments must be four or more");let i=TAU;(n%=TAU)<(a%=TAU)&&(i=a-n),n>a&&(i=a+(TAU-n));const m=Math.acos((s*s+s*s-EPS*EPS)/(2*s*s)),l=vec2.clone(t);let u;const A=[];if(i<m)u=vec2.fromAngleRadians(vec2.create(),n),vec2.scale(u,u,s),vec2.add(u,u,l),A.push(u);else{const e=Math.max(1,Math.floor(c*(i/TAU)))+1;let r=.5*e/i;r>.25&&(r=.25);const t=o?e+2:e;for(let a=0;a<=t;a++){let t=a;o&&((t=(a-1)*(e-2*r)/e+r)<0&&(t=0),t>e&&(t=e));const c=n+t*(i/e);u=vec2.fromAngleRadians(vec2.create(),c),vec2.scale(u,u,s),vec2.add(u,u,l),A.push(u)}}return path2.fromPoints({closed:!1},A)};module.exports=arc;
1830
1830
 
1831
1831
  },{"../geometries/path2":180,"../maths/constants":212,"../maths/vec2":308,"./commonChecks":486}],485:[function(require,module,exports){
1832
- const{TAU:TAU}=require("../maths/constants"),ellipse=require("./ellipse"),{isGT:isGT}=require("./commonChecks"),circle=e=>{const s={center:[0,0],radius:1,startAngle:0,endAngle:TAU,segments:32};let{center:r,radius:t,startAngle:n,endAngle:i,segments:l}=Object.assign({},s,e);if(!isGT(t,0))throw new Error("radius must be greater than zero");return ellipse({center:r,radius:t=[t,t],startAngle:n,endAngle:i,segments:l})};module.exports=circle;
1832
+ const{TAU:TAU}=require("../maths/constants"),ellipse=require("./ellipse"),{isGTE:isGTE}=require("./commonChecks"),circle=e=>{const s={center:[0,0],radius:1,startAngle:0,endAngle:TAU,segments:32};let{center:r,radius:t,startAngle:n,endAngle:i,segments:l}=Object.assign({},s,e);if(!isGTE(t,0))throw new Error("radius must be positive");return ellipse({center:r,radius:t=[t,t],startAngle:n,endAngle:i,segments:l})};module.exports=circle;
1833
1833
 
1834
1834
  },{"../maths/constants":212,"./commonChecks":486,"./ellipse":491}],486:[function(require,module,exports){
1835
1835
  const isNumberArray=(i,r)=>!!(Array.isArray(i)&&i.length>=r)&&i.every(i=>Number.isFinite(i)),isGT=(i,r)=>Number.isFinite(i)&&i>r,isGTE=(i,r)=>Number.isFinite(i)&&i>=r;module.exports={isNumberArray:isNumberArray,isGT:isGT,isGTE:isGTE};
1836
1836
 
1837
1837
  },{}],487:[function(require,module,exports){
1838
- const cuboid=require("./cuboid"),{isGT:isGT}=require("./commonChecks"),cube=e=>{let{center:r,size:i}=Object.assign({},{center:[0,0,0],size:2},e);if(!isGT(i,0))throw new Error("size must be greater than zero");return cuboid({center:r,size:i=[i,i,i]})};module.exports=cube;
1838
+ const cuboid=require("./cuboid"),{isGTE:isGTE}=require("./commonChecks"),cube=e=>{let{center:i,size:r}=Object.assign({},{center:[0,0,0],size:2},e);if(!isGTE(r,0))throw new Error("size must be positive");return cuboid({center:i,size:r=[r,r,r]})};module.exports=cube;
1839
1839
 
1840
1840
  },{"./commonChecks":486,"./cuboid":488}],488:[function(require,module,exports){
1841
- const geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{isNumberArray:isNumberArray}=require("./commonChecks"),cuboid=e=>{const{center:r,size:o}=Object.assign({},{center:[0,0,0],size:[2,2,2]},e);if(!isNumberArray(r,3))throw new Error("center must be an array of X, Y and Z values");if(!isNumberArray(o,3))throw new Error("size must be an array of width, depth and height values");if(!o.every(e=>e>0))throw new Error("size values must be greater than zero");return geom3.create([[[0,4,6,2],[-1,0,0]],[[1,3,7,5],[1,0,0]],[[0,1,5,4],[0,-1,0]],[[2,6,7,3],[0,1,0]],[[0,2,3,1],[0,0,-1]],[[4,5,7,6],[0,0,1]]].map(e=>{const t=e[0].map(e=>{return[r[0]+o[0]/2*(2*!!(1&e)-1),r[1]+o[1]/2*(2*!!(2&e)-1),r[2]+o[2]/2*(2*!!(4&e)-1)]});return poly3.create(t)}))};module.exports=cuboid;
1841
+ const geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{isNumberArray:isNumberArray}=require("./commonChecks"),cuboid=e=>{const{center:r,size:o}=Object.assign({},{center:[0,0,0],size:[2,2,2]},e);if(!isNumberArray(r,3))throw new Error("center must be an array of X, Y and Z values");if(!isNumberArray(o,3))throw new Error("size must be an array of width, depth and height values");if(!o.every(e=>e>=0))throw new Error("size values must be positive");return 0===o[0]||0===o[1]||0===o[2]?geom3.create():geom3.create([[[0,4,6,2],[-1,0,0]],[[1,3,7,5],[1,0,0]],[[0,1,5,4],[0,-1,0]],[[2,6,7,3],[0,1,0]],[[0,2,3,1],[0,0,-1]],[[4,5,7,6],[0,0,1]]].map(e=>{const t=e[0].map(e=>{return[r[0]+o[0]/2*(2*!!(1&e)-1),r[1]+o[1]/2*(2*!!(2&e)-1),r[2]+o[2]/2*(2*!!(4&e)-1)]});return poly3.create(t)}))};module.exports=cuboid;
1842
1842
 
1843
1843
  },{"../geometries/geom3":159,"../geometries/poly3":197,"./commonChecks":486}],489:[function(require,module,exports){
1844
- const cylinderElliptic=require("./cylinderElliptic"),{isGT:isGT}=require("./commonChecks"),cylinder=e=>{const{center:i,height:r,radius:t,segments:s}=Object.assign({},{center:[0,0,0],height:2,radius:1,segments:32},e);if(!isGT(t,0))throw new Error("radius must be greater than zero");return cylinderElliptic({center:i,height:r,startRadius:[t,t],endRadius:[t,t],segments:s})};module.exports=cylinder;
1844
+ const geom3=require("../geometries/geom3"),cylinderElliptic=require("./cylinderElliptic"),{isGTE:isGTE}=require("./commonChecks"),cylinder=e=>{const{center:i,height:r,radius:s,segments:t}=Object.assign({},{center:[0,0,0],height:2,radius:1,segments:32},e);if(!isGTE(s,0))throw new Error("radius must be positive");return 0===r||0===s?geom3.create():cylinderElliptic({center:i,height:r,startRadius:[s,s],endRadius:[s,s],segments:t})};module.exports=cylinder;
1845
1845
 
1846
- },{"./commonChecks":486,"./cylinderElliptic":490}],490:[function(require,module,exports){
1846
+ },{"../geometries/geom3":159,"./commonChecks":486,"./cylinderElliptic":490}],490:[function(require,module,exports){
1847
1847
  const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGT:isGT,isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),cylinderElliptic=e=>{const r={center:[0,0,0],height:2,startRadius:[1,1],startAngle:0,endRadius:[1,1],endAngle:TAU,segments:32};let{center:s,height:t,startRadius:a,startAngle:i,endRadius:o,endAngle:n,segments:u}=Object.assign({},r,e);if(!isNumberArray(s,3))throw new Error("center must be an array of X, Y and Z values");if(!isGT(t,0))throw new Error("height must be greater then zero");if(!isNumberArray(a,2))throw new Error("startRadius must be an array of X and Y values");if(!a.every(e=>e>=0))throw new Error("startRadius values must be positive");if(!isNumberArray(o,2))throw new Error("endRadius must be an array of X and Y values");if(!o.every(e=>e>=0))throw new Error("endRadius values must be positive");if(o.every(e=>0===e)&&a.every(e=>0===e))throw new Error("at least one radius must be positive");if(!isGTE(i,0))throw new Error("startAngle must be positive");if(!isGTE(n,0))throw new Error("endAngle must be positive");if(!isGTE(u,4))throw new Error("segments must be four or more");let c=TAU;(i%=TAU)<(n%=TAU)&&(c=n-i),i>n&&(c=n+(TAU-i));const l=Math.min(a[0],a[1],o[0],o[1]),m=Math.acos((l*l+l*l-EPS*EPS)/(2*l*l));if(c<m)throw new Error("startAngle and endAngle do not define a significant rotation");const h=Math.floor(u*(c/TAU)),d=vec3.fromValues(0,0,-t/2),v=vec3.fromValues(0,0,t/2),f=vec3.subtract(vec3.create(),v,d),g=vec3.fromValues(1,0,0),p=vec3.fromValues(0,1,0),A=vec3.create(),w=vec3.create(),E=vec3.create(),y=(e,r,s)=>{const t=r*c+i;return vec3.scale(A,g,s[0]*cos(t)),vec3.scale(w,p,s[1]*sin(t)),vec3.add(A,A,w),vec3.scale(E,f,e),vec3.add(E,E,d),vec3.add(vec3.create(),A,E)},T=(...e)=>{const r=e.map(e=>vec3.add(vec3.create(),e,s));return poly3.create(r)},b=[];for(let e=0;e<h;e++){const r=e/h;let s=(e+1)/h;c===TAU&&e===h-1&&(s=0),o[0]===a[0]&&o[1]===a[1]?(b.push(T(d,y(0,s,o),y(0,r,o))),b.push(T(y(0,s,o),y(1,s,o),y(1,r,o),y(0,r,o))),b.push(T(v,y(1,r,o),y(1,s,o)))):(a[0]>0&&a[1]>0&&b.push(T(d,y(0,s,a),y(0,r,a))),(a[0]>0||a[1]>0)&&b.push(T(y(0,r,a),y(0,s,a),y(1,r,o))),o[0]>0&&o[1]>0&&b.push(T(v,y(1,r,o),y(1,s,o))),(o[0]>0||o[1]>0)&&b.push(T(y(1,r,o),y(0,s,a),y(1,s,o))))}return c<TAU&&(b.push(T(d,y(0,0,a),v)),b.push(T(y(0,0,a),y(1,0,o),v)),b.push(T(d,v,y(0,1,a))),b.push(T(y(0,1,a),v,y(1,1,o)))),geom3.create(b)};module.exports=cylinderElliptic;
1848
1848
 
1849
1849
  },{"../geometries/geom3":159,"../geometries/poly3":197,"../maths/constants":212,"../maths/utils/trigonometry":290,"../maths/vec3":339,"./commonChecks":486}],491:[function(require,module,exports){
1850
- const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),geom2=require("../geometries/geom2"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),ellipse=e=>{const r={center:[0,0],radius:[1,1],startAngle:0,endAngle:TAU,segments:32};let{center:s,radius:t,startAngle:n,endAngle:o,segments:i}=Object.assign({},r,e);if(!isNumberArray(s,2))throw new Error("center must be an array of X and Y values");if(!isNumberArray(t,2))throw new Error("radius must be an array of X and Y values");if(!t.every(e=>e>0))throw new Error("radius values must be greater than zero");if(!isGTE(n,0))throw new Error("startAngle must be positive");if(!isGTE(o,0))throw new Error("endAngle must be positive");if(!isGTE(i,3))throw new Error("segments must be three or more");let a=TAU;(n%=TAU)<(o%=TAU)&&(a=o-n),n>o&&(a=o+(TAU-n));const m=Math.min(t[0],t[1]);if(a<Math.acos((m*m+m*m-EPS*EPS)/(2*m*m)))throw new Error("startAngle and endAngle do not define a significant rotation");i=Math.floor(i*(a/TAU));const u=vec2.clone(s),c=a/i,l=[];i=a<TAU?i+1:i;for(let e=0;e<i;e++){const r=c*e+n,s=vec2.fromValues(t[0]*cos(r),t[1]*sin(r));vec2.add(s,u,s),l.push(s)}return a<TAU&&l.push(u),geom2.fromPoints(l)};module.exports=ellipse;
1850
+ const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),geom2=require("../geometries/geom2"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),ellipse=e=>{const r={center:[0,0],radius:[1,1],startAngle:0,endAngle:TAU,segments:32};let{center:s,radius:t,startAngle:n,endAngle:o,segments:i}=Object.assign({},r,e);if(!isNumberArray(s,2))throw new Error("center must be an array of X and Y values");if(!isNumberArray(t,2))throw new Error("radius must be an array of X and Y values");if(!t.every(e=>e>=0))throw new Error("radius values must be positive");if(!isGTE(n,0))throw new Error("startAngle must be positive");if(!isGTE(o,0))throw new Error("endAngle must be positive");if(!isGTE(i,3))throw new Error("segments must be three or more");if(0===t[0]||0===t[1])return geom2.create();let a=TAU;(n%=TAU)<(o%=TAU)&&(a=o-n),n>o&&(a=o+(TAU-n));const m=Math.min(t[0],t[1]);if(a<Math.acos((m*m+m*m-EPS*EPS)/(2*m*m)))throw new Error("startAngle and endAngle do not define a significant rotation");i=Math.floor(i*(a/TAU));const u=vec2.clone(s),c=a/i,l=[];i=a<TAU?i+1:i;for(let e=0;e<i;e++){const r=c*e+n,s=vec2.fromValues(t[0]*cos(r),t[1]*sin(r));vec2.add(s,u,s),l.push(s)}return a<TAU&&l.push(u),geom2.fromPoints(l)};module.exports=ellipse;
1851
1851
 
1852
1852
  },{"../geometries/geom2":144,"../maths/constants":212,"../maths/utils/trigonometry":290,"../maths/vec2":308,"./commonChecks":486}],492:[function(require,module,exports){
1853
- const{TAU:TAU}=require("../maths/constants"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),ellipsoid=e=>{const{center:c,radius:r,segments:a,axes:s}=Object.assign({},{center:[0,0,0],radius:[1,1,1],segments:32,axes:[[1,0,0],[0,-1,0],[0,0,1]]},e);if(!isNumberArray(c,3))throw new Error("center must be an array of X, Y and Z values");if(!isNumberArray(r,3))throw new Error("radius must be an array of X, Y and Z values");if(!r.every(e=>e>0))throw new Error("radius values must be greater than zero");if(!isGTE(a,4))throw new Error("segments must be four or more");const t=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),s[0]),r[0]),v=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),s[1]),r[1]),o=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),s[2]),r[2]),l=Math.round(a/4);let u;const i=[],d=vec3.create(),n=vec3.create();for(let e=0;e<=a;e++){const r=TAU*e/a,s=vec3.add(vec3.create(),vec3.scale(d,t,cos(r)),vec3.scale(n,v,sin(r)));if(e>0){let e,r;for(let a=0;a<=l;a++){const t=TAU/4*a/l,v=cos(t),m=sin(t);if(a>0){let t,h=[];t=vec3.subtract(vec3.create(),vec3.scale(d,u,e),vec3.scale(n,o,r)),h.push(vec3.add(t,t,c)),t=vec3.subtract(vec3.create(),vec3.scale(d,s,e),vec3.scale(n,o,r)),h.push(vec3.add(t,t,c)),a<l&&(t=vec3.subtract(vec3.create(),vec3.scale(d,s,v),vec3.scale(n,o,m)),h.push(vec3.add(t,t,c))),t=vec3.subtract(vec3.create(),vec3.scale(d,u,v),vec3.scale(n,o,m)),h.push(vec3.add(t,t,c)),i.push(poly3.create(h)),h=[],t=vec3.add(vec3.create(),vec3.scale(d,u,e),vec3.scale(n,o,r)),h.push(vec3.add(vec3.create(),c,t)),t=vec3.add(t,vec3.scale(d,s,e),vec3.scale(n,o,r)),h.push(vec3.add(vec3.create(),c,t)),a<l&&(t=vec3.add(t,vec3.scale(d,s,v),vec3.scale(n,o,m)),h.push(vec3.add(vec3.create(),c,t))),t=vec3.add(t,vec3.scale(d,u,v),vec3.scale(n,o,m)),h.push(vec3.add(vec3.create(),c,t)),h.reverse(),i.push(poly3.create(h))}e=v,r=m}}u=s}return geom3.create(i)};module.exports=ellipsoid;
1853
+ const{TAU:TAU}=require("../maths/constants"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),ellipsoid=e=>{const{center:c,radius:r,segments:s,axes:a}=Object.assign({},{center:[0,0,0],radius:[1,1,1],segments:32,axes:[[1,0,0],[0,-1,0],[0,0,1]]},e);if(!isNumberArray(c,3))throw new Error("center must be an array of X, Y and Z values");if(!isNumberArray(r,3))throw new Error("radius must be an array of X, Y and Z values");if(!r.every(e=>e>=0))throw new Error("radius values must be positive");if(!isGTE(s,4))throw new Error("segments must be four or more");if(0===r[0]||0===r[1]||0===r[2])return geom3.create();const t=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),a[0]),r[0]),v=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),a[1]),r[1]),o=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),a[2]),r[2]),i=Math.round(s/4);let l;const u=[],d=vec3.create(),n=vec3.create();for(let e=0;e<=s;e++){const r=TAU*e/s,a=vec3.add(vec3.create(),vec3.scale(d,t,cos(r)),vec3.scale(n,v,sin(r)));if(e>0){let e,r;for(let s=0;s<=i;s++){const t=TAU/4*s/i,v=cos(t),m=sin(t);if(s>0){let t,h=[];t=vec3.subtract(vec3.create(),vec3.scale(d,l,e),vec3.scale(n,o,r)),h.push(vec3.add(t,t,c)),t=vec3.subtract(vec3.create(),vec3.scale(d,a,e),vec3.scale(n,o,r)),h.push(vec3.add(t,t,c)),s<i&&(t=vec3.subtract(vec3.create(),vec3.scale(d,a,v),vec3.scale(n,o,m)),h.push(vec3.add(t,t,c))),t=vec3.subtract(vec3.create(),vec3.scale(d,l,v),vec3.scale(n,o,m)),h.push(vec3.add(t,t,c)),u.push(poly3.create(h)),h=[],t=vec3.add(vec3.create(),vec3.scale(d,l,e),vec3.scale(n,o,r)),h.push(vec3.add(vec3.create(),c,t)),t=vec3.add(t,vec3.scale(d,a,e),vec3.scale(n,o,r)),h.push(vec3.add(vec3.create(),c,t)),s<i&&(t=vec3.add(t,vec3.scale(d,a,v),vec3.scale(n,o,m)),h.push(vec3.add(vec3.create(),c,t))),t=vec3.add(t,vec3.scale(d,l,v),vec3.scale(n,o,m)),h.push(vec3.add(vec3.create(),c,t)),h.reverse(),u.push(poly3.create(h))}e=v,r=m}}l=a}return geom3.create(u)};module.exports=ellipsoid;
1854
1854
 
1855
1855
  },{"../geometries/geom3":159,"../geometries/poly3":197,"../maths/constants":212,"../maths/utils/trigonometry":290,"../maths/vec3":339,"./commonChecks":486}],493:[function(require,module,exports){
1856
- const mat4=require("../maths/mat4"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),polyhedron=require("./polyhedron"),{isGT:isGT,isGTE:isGTE}=require("./commonChecks"),geodesicSphere=e=>{let{radius:r,frequency:t}=Object.assign({},{radius:1,frequency:6},e);if(!isGT(r,0))throw new Error("radius must be greater than zero");if(!isGTE(t,6))throw new Error("frequency must be six or more");t=Math.floor(t/6);const o=[[.850651,0,-.525731],[.850651,-0,.525731],[-.850651,-0,.525731],[-.850651,0,-.525731],[0,-.525731,.850651],[0,.525731,.850651],[0,.525731,-.850651],[0,-.525731,-.850651],[-.525731,-.850651,-0],[.525731,-.850651,-0],[.525731,.850651,0],[-.525731,.850651,0]],s=[[0,9,1],[1,10,0],[6,7,0],[10,6,0],[7,9,0],[5,1,4],[4,1,9],[5,10,1],[2,8,3],[3,11,2],[2,5,4],[4,8,2],[2,11,5],[3,7,6],[6,11,3],[8,7,3],[9,8,4],[11,10,5],[10,11,6],[8,9,7]],n=(e,r,t)=>{const o=e[0],s=e[1],n=e[2];let c=t;const a=[],l=[];for(let e=0;e<r;e++)for(let t=0;t<r-e;t++){const f=e/r,u=(e+1)/r,h=t/(r-e),m=(t+1)/(r-e),g=r-e-1?t/(r-e-1):1,p=[];p[0]=i(i(o,s,h),n,f),p[1]=i(i(o,s,m),n,f),p[2]=i(i(o,s,g),n,u);for(let e=0;e<3;e++){const r=vec3.length(p[e]);for(let t=0;t<3;t++)p[e][t]/=r}if(a.push(p[0],p[1],p[2]),l.push([c,c+1,c+2]),c+=3,t<r-e-1){const h=r-e-1?(t+1)/(r-e-1):1;p[0]=i(i(o,s,m),n,f),p[1]=i(i(o,s,h),n,u),p[2]=i(i(o,s,g),n,u);for(let e=0;e<3;e++){const r=vec3.length(p[e]);for(let t=0;t<3;t++)p[e][t]/=r}a.push(p[0],p[1],p[2]),l.push([c,c+1,c+2]),c+=3}}return{points:a,triangles:l,offset:c}},i=(e,r,t)=>{const o=1-t,s=[];for(let n=0;n<3;n++)s[n]=e[n]*o+r[n]*t;return s};let c=[],a=[],l=0;for(let e=0;e<s.length;e++){const r=n([o[s[e][0]],o[s[e][1]],o[s[e][2]]],t,l);c=c.concat(r.points),a=a.concat(r.triangles),l=r.offset}let f=polyhedron({points:c,faces:a,orientation:"inward"});return 1!==r&&(f=geom3.transform(mat4.fromScaling(mat4.create(),[r,r,r]),f)),f};module.exports=geodesicSphere;
1856
+ const mat4=require("../maths/mat4"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),polyhedron=require("./polyhedron"),{isGTE:isGTE}=require("./commonChecks"),geodesicSphere=e=>{let{radius:r,frequency:t}=Object.assign({},{radius:1,frequency:6},e);if(!isGTE(r,0))throw new Error("radius must be positive");if(!isGTE(t,6))throw new Error("frequency must be six or more");if(0===r)return geom3.create();t=Math.floor(t/6);const o=[[.850651,0,-.525731],[.850651,-0,.525731],[-.850651,-0,.525731],[-.850651,0,-.525731],[0,-.525731,.850651],[0,.525731,.850651],[0,.525731,-.850651],[0,-.525731,-.850651],[-.525731,-.850651,-0],[.525731,-.850651,-0],[.525731,.850651,0],[-.525731,.850651,0]],s=[[0,9,1],[1,10,0],[6,7,0],[10,6,0],[7,9,0],[5,1,4],[4,1,9],[5,10,1],[2,8,3],[3,11,2],[2,5,4],[4,8,2],[2,11,5],[3,7,6],[6,11,3],[8,7,3],[9,8,4],[11,10,5],[10,11,6],[8,9,7]],n=(e,r,t)=>{const o=e[0],s=e[1],n=e[2];let c=t;const f=[],l=[];for(let e=0;e<r;e++)for(let t=0;t<r-e;t++){const a=e/r,u=(e+1)/r,m=t/(r-e),h=(t+1)/(r-e),g=r-e-1?t/(r-e-1):1,p=[];p[0]=i(i(o,s,m),n,a),p[1]=i(i(o,s,h),n,a),p[2]=i(i(o,s,g),n,u);for(let e=0;e<3;e++){const r=vec3.length(p[e]);for(let t=0;t<3;t++)p[e][t]/=r}if(f.push(p[0],p[1],p[2]),l.push([c,c+1,c+2]),c+=3,t<r-e-1){const m=r-e-1?(t+1)/(r-e-1):1;p[0]=i(i(o,s,h),n,a),p[1]=i(i(o,s,m),n,u),p[2]=i(i(o,s,g),n,u);for(let e=0;e<3;e++){const r=vec3.length(p[e]);for(let t=0;t<3;t++)p[e][t]/=r}f.push(p[0],p[1],p[2]),l.push([c,c+1,c+2]),c+=3}}return{points:f,triangles:l,offset:c}},i=(e,r,t)=>{const o=1-t,s=[];for(let n=0;n<3;n++)s[n]=e[n]*o+r[n]*t;return s};let c=[],f=[],l=0;for(let e=0;e<s.length;e++){const r=n([o[s[e][0]],o[s[e][1]],o[s[e][2]]],t,l);c=c.concat(r.points),f=f.concat(r.triangles),l=r.offset}let a=polyhedron({points:c,faces:f,orientation:"inward"});return 1!==r&&(a=geom3.transform(mat4.fromScaling(mat4.create(),[r,r,r]),a)),a};module.exports=geodesicSphere;
1857
1857
 
1858
1858
  },{"../geometries/geom3":159,"../maths/mat4":261,"../maths/vec3":339,"./commonChecks":486,"./polyhedron":497}],494:[function(require,module,exports){
1859
1859
  module.exports={arc:require("./arc"),circle:require("./circle"),cube:require("./cube"),cuboid:require("./cuboid"),cylinder:require("./cylinder"),cylinderElliptic:require("./cylinderElliptic"),ellipse:require("./ellipse"),ellipsoid:require("./ellipsoid"),geodesicSphere:require("./geodesicSphere"),line:require("./line"),polygon:require("./polygon"),polyhedron:require("./polyhedron"),rectangle:require("./rectangle"),roundedCuboid:require("./roundedCuboid"),roundedCylinder:require("./roundedCylinder"),roundedRectangle:require("./roundedRectangle"),sphere:require("./sphere"),square:require("./square"),star:require("./star"),torus:require("./torus"),triangle:require("./triangle")};
@@ -1868,22 +1868,22 @@ const geom2=require("../geometries/geom2"),polygon=r=>{const{points:o,paths:t}=O
1868
1868
  const geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{isNumberArray:isNumberArray}=require("./commonChecks"),polyhedron=r=>{const e={points:[],faces:[],colors:void 0,orientation:"outward"},{points:o,faces:a,colors:t,orientation:n}=Object.assign({},e,r);if(!Array.isArray(o)||!Array.isArray(a))throw new Error("points and faces must be arrays");if(o.length<3)throw new Error("three or more points are required");if(a.length<1)throw new Error("one or more faces are required");if(t){if(!Array.isArray(t))throw new Error("colors must be an array");if(t.length!==a.length)throw new Error("faces and colors must have the same length")}o.forEach((r,e)=>{if(!isNumberArray(r,3))throw new Error(`point ${e} must be an array of X, Y, Z values`)}),a.forEach((r,e)=>{if(r.length<3)throw new Error(`face ${e} must contain 3 or more indexes`);if(!isNumberArray(r,r.length))throw new Error(`face ${e} must be an array of numbers`)}),"outward"!==n&&a.forEach(r=>r.reverse());const s=a.map((r,e)=>{const a=poly3.create(r.map(r=>o[r]));return t&&t[e]&&(a.color=t[e]),a});return geom3.create(s)};module.exports=polyhedron;
1869
1869
 
1870
1870
  },{"../geometries/geom3":159,"../geometries/poly3":197,"./commonChecks":486}],498:[function(require,module,exports){
1871
- const vec2=require("../maths/vec2"),geom2=require("../geometries/geom2"),{isNumberArray:isNumberArray}=require("./commonChecks"),rectangle=e=>{const{center:r,size:t}=Object.assign({},{center:[0,0],size:[2,2]},e);if(!isNumberArray(r,2))throw new Error("center must be an array of X and Y values");if(!isNumberArray(t,2))throw new Error("size must be an array of X and Y values");if(!t.every(e=>e>0))throw new Error("size values must be greater than zero");const a=[t[0]/2,t[1]/2],c=[a[0],-a[1]],s=[vec2.subtract(vec2.create(),r,a),vec2.add(vec2.create(),r,c),vec2.add(vec2.create(),r,a),vec2.subtract(vec2.create(),r,c)];return geom2.fromPoints(s)};module.exports=rectangle;
1871
+ const vec2=require("../maths/vec2"),geom2=require("../geometries/geom2"),{isNumberArray:isNumberArray}=require("./commonChecks"),rectangle=e=>{const{center:r,size:t}=Object.assign({},{center:[0,0],size:[2,2]},e);if(!isNumberArray(r,2))throw new Error("center must be an array of X and Y values");if(!isNumberArray(t,2))throw new Error("size must be an array of X and Y values");if(!t.every(e=>e>=0))throw new Error("size values must be positive");if(0===t[0]||0===t[1])return geom2.create();const a=[t[0]/2,t[1]/2],c=[a[0],-a[1]],s=[vec2.subtract(vec2.create(),r,a),vec2.add(vec2.create(),r,c),vec2.add(vec2.create(),r,a),vec2.subtract(vec2.create(),r,c)];return geom2.fromPoints(s)};module.exports=rectangle;
1872
1872
 
1873
1873
  },{"../geometries/geom2":144,"../maths/vec2":308,"./commonChecks":486}],499:[function(require,module,exports){
1874
- const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGT:isGT,isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),createCorners=(e,r,t,s,c,o)=>{const a=TAU/4*c/s,n=cos(a),i=sin(a),u=s-c;let l=t*n,h=r[2]-(t-t*i);o||(h=t-t*i-r[2]),l=l>EPS?l:0;const d=vec3.add(vec3.create(),e,[r[0]-t,r[1]-t,h]),v=vec3.add(vec3.create(),e,[t-r[0],r[1]-t,h]),m=vec3.add(vec3.create(),e,[t-r[0],t-r[1],h]),p=vec3.add(vec3.create(),e,[r[0]-t,t-r[1],h]),f=[],g=[],E=[],y=[];for(let e=0;e<=u;e++){const r=u>0?TAU/4*e/u:0,t=vec2.fromAngleRadians(vec2.create(),r);vec2.scale(t,t,l);const s=vec3.fromVec2(vec3.create(),t);f.push(vec3.add(vec3.create(),d,s)),vec3.rotateZ(s,s,[0,0,0],TAU/4),g.push(vec3.add(vec3.create(),v,s)),vec3.rotateZ(s,s,[0,0,0],TAU/4),E.push(vec3.add(vec3.create(),m,s)),vec3.rotateZ(s,s,[0,0,0],TAU/4),y.push(vec3.add(vec3.create(),p,s))}return o?[f,g,E,y]:(f.reverse(),g.reverse(),E.reverse(),y.reverse(),[y,E,g,f])},stitchCorners=(e,r)=>{const t=[];for(let s=0;s<e.length;s++){const c=e[s],o=r[s];for(let e=0;e<c.length-1;e++)t.push(poly3.create([c[e],c[e+1],o[e]])),e<o.length-1&&t.push(poly3.create([o[e],c[e+1],o[e+1]]))}return t},stitchWalls=(e,r)=>{const t=[];for(let s=0;s<e.length;s++){let c=e[s],o=r[s];const a=c[c.length-1],n=o[o.length-1],i=(s+1)%e.length;c=e[i],o=r[i];const u=c[0],l=o[0];t.push(poly3.create([a,u,l,n]))}return t},stitchSides=(e,r)=>{e=(e=[e[3],e[2],e[1],e[0]]).map(e=>e.slice().reverse());const t=[];e.forEach(e=>{e.forEach(e=>t.push(e))});const s=[];r.forEach(e=>{e.forEach(e=>s.push(e))});const c=[];for(let e=0;e<s.length;e++){const r=(e+1)%s.length;c.push(poly3.create([t[e],t[r],s[r],s[e]]))}return c},roundedCuboid=e=>{let{center:r,size:t,roundRadius:s,segments:c}=Object.assign({},{center:[0,0,0],size:[2,2,2],roundRadius:.2,segments:32},e);if(!isNumberArray(r,3))throw new Error("center must be an array of X, Y and Z values");if(!isNumberArray(t,3))throw new Error("size must be an array of X, Y and Z values");if(!t.every(e=>e>0))throw new Error("size values must be greater than zero");if(!isGT(s,0))throw new Error("roundRadius must be greater than zero");if(!isGTE(c,4))throw new Error("segments must be four or more");if(s>(t=t.map(e=>e/2))[0]-EPS||s>t[1]-EPS||s>t[2]-EPS)throw new Error("roundRadius must be smaller then the radius of all dimensions");c=Math.floor(c/4);let o=null,a=null,n=[];for(let e=0;e<=c;e++){const i=createCorners(r,t,s,c,e,!0),u=createCorners(r,t,s,c,e,!1);if(0===e&&(n=n.concat(stitchSides(u,i))),o&&(n=n.concat(stitchCorners(o,i),stitchWalls(o,i))),a&&(n=n.concat(stitchCorners(a,u),stitchWalls(a,u))),e===c){let e=i.map(e=>e[0]);n.push(poly3.create(e)),e=u.map(e=>e[0]),n.push(poly3.create(e))}o=i,a=u}return geom3.create(n)};module.exports=roundedCuboid;
1874
+ const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),cuboid=require("./cuboid"),createCorners=(e,r,t,s,c,o)=>{const a=TAU/4*c/s,n=cos(a),i=sin(a),u=s-c;let l=t*n,h=r[2]-(t-t*i);o||(h=t-t*i-r[2]),l=l>EPS?l:0;const d=vec3.add(vec3.create(),e,[r[0]-t,r[1]-t,h]),v=vec3.add(vec3.create(),e,[t-r[0],r[1]-t,h]),m=vec3.add(vec3.create(),e,[t-r[0],t-r[1],h]),p=vec3.add(vec3.create(),e,[r[0]-t,t-r[1],h]),f=[],g=[],E=[],b=[];for(let e=0;e<=u;e++){const r=u>0?TAU/4*e/u:0,t=vec2.fromAngleRadians(vec2.create(),r);vec2.scale(t,t,l);const s=vec3.fromVec2(vec3.create(),t);f.push(vec3.add(vec3.create(),d,s)),vec3.rotateZ(s,s,[0,0,0],TAU/4),g.push(vec3.add(vec3.create(),v,s)),vec3.rotateZ(s,s,[0,0,0],TAU/4),E.push(vec3.add(vec3.create(),m,s)),vec3.rotateZ(s,s,[0,0,0],TAU/4),b.push(vec3.add(vec3.create(),p,s))}return o?[f,g,E,b]:(f.reverse(),g.reverse(),E.reverse(),b.reverse(),[b,E,g,f])},stitchCorners=(e,r)=>{const t=[];for(let s=0;s<e.length;s++){const c=e[s],o=r[s];for(let e=0;e<c.length-1;e++)t.push(poly3.create([c[e],c[e+1],o[e]])),e<o.length-1&&t.push(poly3.create([o[e],c[e+1],o[e+1]]))}return t},stitchWalls=(e,r)=>{const t=[];for(let s=0;s<e.length;s++){let c=e[s],o=r[s];const a=c[c.length-1],n=o[o.length-1],i=(s+1)%e.length;c=e[i],o=r[i];const u=c[0],l=o[0];t.push(poly3.create([a,u,l,n]))}return t},stitchSides=(e,r)=>{e=(e=[e[3],e[2],e[1],e[0]]).map(e=>e.slice().reverse());const t=[];e.forEach(e=>{e.forEach(e=>t.push(e))});const s=[];r.forEach(e=>{e.forEach(e=>s.push(e))});const c=[];for(let e=0;e<s.length;e++){const r=(e+1)%s.length;c.push(poly3.create([t[e],t[r],s[r],s[e]]))}return c},roundedCuboid=e=>{let{center:r,size:t,roundRadius:s,segments:c}=Object.assign({},{center:[0,0,0],size:[2,2,2],roundRadius:.2,segments:32},e);if(!isNumberArray(r,3))throw new Error("center must be an array of X, Y and Z values");if(!isNumberArray(t,3))throw new Error("size must be an array of X, Y and Z values");if(!t.every(e=>e>=0))throw new Error("size values must be positive");if(!isGTE(s,0))throw new Error("roundRadius must be positive");if(!isGTE(c,4))throw new Error("segments must be four or more");if(0===t[0]||0===t[1]||0===t[2])return geom3.create();if(0===s)return cuboid({center:r,size:t});if(s>(t=t.map(e=>e/2))[0]-EPS||s>t[1]-EPS||s>t[2]-EPS)throw new Error("roundRadius must be smaller then the radius of all dimensions");c=Math.floor(c/4);let o=null,a=null,n=[];for(let e=0;e<=c;e++){const i=createCorners(r,t,s,c,e,!0),u=createCorners(r,t,s,c,e,!1);if(0===e&&(n=n.concat(stitchSides(u,i))),o&&(n=n.concat(stitchCorners(o,i),stitchWalls(o,i))),a&&(n=n.concat(stitchCorners(a,u),stitchWalls(a,u))),e===c){let e=i.map(e=>e[0]);n.push(poly3.create(e)),e=u.map(e=>e[0]),n.push(poly3.create(e))}o=i,a=u}return geom3.create(n)};module.exports=roundedCuboid;
1875
1875
 
1876
- },{"../geometries/geom3":159,"../geometries/poly3":197,"../maths/constants":212,"../maths/utils/trigonometry":290,"../maths/vec2":308,"../maths/vec3":339,"./commonChecks":486}],500:[function(require,module,exports){
1877
- const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGT:isGT,isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),roundedCylinder=e=>{const{center:c,height:r,radius:s,roundRadius:a,segments:t}=Object.assign({},{center:[0,0,0],height:2,radius:1,roundRadius:.2,segments:32},e);if(!isNumberArray(c,3))throw new Error("center must be an array of X, Y and Z values");if(!isGT(r,0))throw new Error("height must be greater then zero");if(!isGT(s,0))throw new Error("radius must be greater then zero");if(!isGT(a,0))throw new Error("roundRadius must be greater then zero");if(a>s-EPS)throw new Error("roundRadius must be smaller then the radius");if(!isGTE(t,4))throw new Error("segments must be four or more");const v=[0,0,-r/2],o=[0,0,r/2],u=vec3.subtract(vec3.create(),o,v);if(2*a>vec3.length(u)-EPS)throw new Error("height must be larger than twice roundRadius");let d;d=Math.abs(u[0])>Math.abs(u[1])?vec3.fromValues(0,1,0):vec3.fromValues(1,0,0);const i=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),u),a),n=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),vec3.cross(vec3.create(),i,d)),s),l=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),vec3.cross(vec3.create(),n,i)),s);vec3.add(v,v,i),vec3.subtract(o,o,i);const h=Math.floor(.25*t),m=e=>{const r=e.map(e=>vec3.add(e,e,c));return poly3.create(r)},p=[],b=vec3.create(),g=vec3.create();let f;for(let e=0;e<=t;e++){const c=TAU*e/t,r=vec3.add(vec3.create(),vec3.scale(b,n,cos(c)),vec3.scale(g,l,sin(c)));if(e>0){let e,c,s=[];s.push(vec3.add(vec3.create(),v,r)),s.push(vec3.add(vec3.create(),v,f)),s.push(vec3.add(vec3.create(),o,f)),s.push(vec3.add(vec3.create(),o,r)),p.push(m(s));for(let a=0;a<=h;a++){const t=TAU/4*a/h,u=cos(t),d=sin(t);if(a>0){let t;s=[],t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,f,e),vec3.scale(g,i,c))),s.push(t),t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,r,e),vec3.scale(g,i,c))),s.push(t),a<h&&(t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,r,u),vec3.scale(g,i,d))),s.push(t)),t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,f,u),vec3.scale(g,i,d))),s.push(t),p.push(m(s)),s=[],t=vec3.add(vec3.create(),vec3.scale(b,f,e),vec3.scale(g,i,c)),vec3.add(t,t,o),s.push(t),t=vec3.add(vec3.create(),vec3.scale(b,r,e),vec3.scale(g,i,c)),vec3.add(t,t,o),s.push(t),a<h&&(t=vec3.add(vec3.create(),vec3.scale(b,r,u),vec3.scale(g,i,d)),vec3.add(t,t,o),s.push(t)),t=vec3.add(vec3.create(),vec3.scale(b,f,u),vec3.scale(g,i,d)),vec3.add(t,t,o),s.push(t),s.reverse(),p.push(m(s))}e=u,c=d}}f=r}return geom3.create(p)};module.exports=roundedCylinder;
1876
+ },{"../geometries/geom3":159,"../geometries/poly3":197,"../maths/constants":212,"../maths/utils/trigonometry":290,"../maths/vec2":308,"../maths/vec3":339,"./commonChecks":486,"./cuboid":488}],500:[function(require,module,exports){
1877
+ const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec3=require("../maths/vec3"),geom3=require("../geometries/geom3"),poly3=require("../geometries/poly3"),{sin:sin,cos:cos}=require("../maths/utils/trigonometry"),{isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),cylinder=require("./cylinder"),roundedCylinder=e=>{const{center:c,height:r,radius:s,roundRadius:a,segments:t}=Object.assign({},{center:[0,0,0],height:2,radius:1,roundRadius:.2,segments:32},e);if(!isNumberArray(c,3))throw new Error("center must be an array of X, Y and Z values");if(!isGTE(r,0))throw new Error("height must be positive");if(!isGTE(s,0))throw new Error("radius must be positive");if(!isGTE(a,0))throw new Error("roundRadius must be positive");if(a>s)throw new Error("roundRadius must be smaller then the radius");if(!isGTE(t,4))throw new Error("segments must be four or more");if(0===r||0===s)return geom3.create();if(0===a)return cylinder({center:c,height:r,radius:s});const v=[0,0,-r/2],o=[0,0,r/2],i=vec3.subtract(vec3.create(),o,v);if(2*a>vec3.length(i)-EPS)throw new Error("height must be larger than twice roundRadius");let u;u=Math.abs(i[0])>Math.abs(i[1])?vec3.fromValues(0,1,0):vec3.fromValues(1,0,0);const d=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),i),a),n=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),vec3.cross(vec3.create(),d,u)),s),l=vec3.scale(vec3.create(),vec3.normalize(vec3.create(),vec3.cross(vec3.create(),n,d)),s);vec3.add(v,v,d),vec3.subtract(o,o,d);const h=Math.floor(.25*t),m=e=>{const r=e.map(e=>vec3.add(e,e,c));return poly3.create(r)},p=[],b=vec3.create(),f=vec3.create();let g;for(let e=0;e<=t;e++){const c=TAU*e/t,r=vec3.add(vec3.create(),vec3.scale(b,n,cos(c)),vec3.scale(f,l,sin(c)));if(e>0){let e,c,s=[];s.push(vec3.add(vec3.create(),v,r)),s.push(vec3.add(vec3.create(),v,g)),s.push(vec3.add(vec3.create(),o,g)),s.push(vec3.add(vec3.create(),o,r)),p.push(m(s));for(let a=0;a<=h;a++){const t=TAU/4*a/h,i=cos(t),u=sin(t);if(a>0){let t;s=[],t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,g,e),vec3.scale(f,d,c))),s.push(t),t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,r,e),vec3.scale(f,d,c))),s.push(t),a<h&&(t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,r,i),vec3.scale(f,d,u))),s.push(t)),t=vec3.add(vec3.create(),v,vec3.subtract(b,vec3.scale(b,g,i),vec3.scale(f,d,u))),s.push(t),p.push(m(s)),s=[],t=vec3.add(vec3.create(),vec3.scale(b,g,e),vec3.scale(f,d,c)),vec3.add(t,t,o),s.push(t),t=vec3.add(vec3.create(),vec3.scale(b,r,e),vec3.scale(f,d,c)),vec3.add(t,t,o),s.push(t),a<h&&(t=vec3.add(vec3.create(),vec3.scale(b,r,i),vec3.scale(f,d,u)),vec3.add(t,t,o),s.push(t)),t=vec3.add(vec3.create(),vec3.scale(b,g,i),vec3.scale(f,d,u)),vec3.add(t,t,o),s.push(t),s.reverse(),p.push(m(s))}e=i,c=u}}g=r}return geom3.create(p)};module.exports=roundedCylinder;
1878
1878
 
1879
- },{"../geometries/geom3":159,"../geometries/poly3":197,"../maths/constants":212,"../maths/utils/trigonometry":290,"../maths/vec3":339,"./commonChecks":486}],501:[function(require,module,exports){
1880
- const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),geom2=require("../geometries/geom2"),{isGT:isGT,isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),roundedRectangle=e=>{let{center:r,size:a,roundRadius:t,segments:s}=Object.assign({},{center:[0,0],size:[2,2],roundRadius:.2,segments:32},e);if(!isNumberArray(r,2))throw new Error("center must be an array of X and Y values");if(!isNumberArray(a,2))throw new Error("size must be an array of X and Y values");if(!a.every(e=>e>0))throw new Error("size values must be greater than zero");if(!isGT(t,0))throw new Error("roundRadius must be greater than zero");if(!isGTE(s,4))throw new Error("segments must be four or more");if(t>(a=a.map(e=>e/2))[0]-EPS||t>a[1]-EPS)throw new Error("roundRadius must be smaller then the radius of all dimensions");const c=Math.floor(s/4),o=vec2.add(vec2.create(),r,[a[0]-t,a[1]-t]),n=vec2.add(vec2.create(),r,[t-a[0],a[1]-t]),i=vec2.add(vec2.create(),r,[t-a[0],t-a[1]]),u=vec2.add(vec2.create(),r,[a[0]-t,t-a[1]]),d=[],v=[],m=[],h=[];for(let e=0;e<=c;e++){const r=TAU/4*e/c,a=vec2.fromAngleRadians(vec2.create(),r);vec2.scale(a,a,t),d.push(vec2.add(vec2.create(),o,a)),vec2.rotate(a,a,vec2.create(),TAU/4),v.push(vec2.add(vec2.create(),n,a)),vec2.rotate(a,a,vec2.create(),TAU/4),m.push(vec2.add(vec2.create(),i,a)),vec2.rotate(a,a,vec2.create(),TAU/4),h.push(vec2.add(vec2.create(),u,a))}return geom2.fromPoints(d.concat(v,m,h))};module.exports=roundedRectangle;
1879
+ },{"../geometries/geom3":159,"../geometries/poly3":197,"../maths/constants":212,"../maths/utils/trigonometry":290,"../maths/vec3":339,"./commonChecks":486,"./cylinder":489}],501:[function(require,module,exports){
1880
+ const{EPS:EPS,TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),geom2=require("../geometries/geom2"),{isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),rectangle=require("./rectangle"),roundedRectangle=e=>{let{center:r,size:t,roundRadius:a,segments:c}=Object.assign({},{center:[0,0],size:[2,2],roundRadius:.2,segments:32},e);if(!isNumberArray(r,2))throw new Error("center must be an array of X and Y values");if(!isNumberArray(t,2))throw new Error("size must be an array of X and Y values");if(!t.every(e=>e>=0))throw new Error("size values must be positive");if(!isGTE(a,0))throw new Error("roundRadius must be positive");if(!isGTE(c,4))throw new Error("segments must be four or more");if(0===t[0]||0===t[1])return geom2.create();if(0===a)return rectangle({center:r,size:t});if(a>(t=t.map(e=>e/2))[0]-EPS||a>t[1]-EPS)throw new Error("roundRadius must be smaller then the radius of all dimensions");const s=Math.floor(c/4),o=vec2.add(vec2.create(),r,[t[0]-a,t[1]-a]),n=vec2.add(vec2.create(),r,[a-t[0],t[1]-a]),i=vec2.add(vec2.create(),r,[a-t[0],a-t[1]]),u=vec2.add(vec2.create(),r,[t[0]-a,a-t[1]]),d=[],v=[],m=[],l=[];for(let e=0;e<=s;e++){const r=TAU/4*e/s,t=vec2.fromAngleRadians(vec2.create(),r);vec2.scale(t,t,a),d.push(vec2.add(vec2.create(),o,t)),vec2.rotate(t,t,vec2.create(),TAU/4),v.push(vec2.add(vec2.create(),n,t)),vec2.rotate(t,t,vec2.create(),TAU/4),m.push(vec2.add(vec2.create(),i,t)),vec2.rotate(t,t,vec2.create(),TAU/4),l.push(vec2.add(vec2.create(),u,t))}return geom2.fromPoints(d.concat(v,m,l))};module.exports=roundedRectangle;
1881
1881
 
1882
- },{"../geometries/geom2":144,"../maths/constants":212,"../maths/vec2":308,"./commonChecks":486}],502:[function(require,module,exports){
1883
- const ellipsoid=require("./ellipsoid"),{isGT:isGT}=require("./commonChecks"),sphere=e=>{let{center:s,radius:r,segments:i,axes:t}=Object.assign({},{center:[0,0,0],radius:1,segments:32,axes:[[1,0,0],[0,-1,0],[0,0,1]]},e);if(!isGT(r,0))throw new Error("radius must be greater than zero");return ellipsoid({center:s,radius:r=[r,r,r],segments:i,axes:t})};module.exports=sphere;
1882
+ },{"../geometries/geom2":144,"../maths/constants":212,"../maths/vec2":308,"./commonChecks":486,"./rectangle":498}],502:[function(require,module,exports){
1883
+ const ellipsoid=require("./ellipsoid"),{isGTE:isGTE}=require("./commonChecks"),sphere=e=>{let{center:s,radius:r,segments:i,axes:t}=Object.assign({},{center:[0,0,0],radius:1,segments:32,axes:[[1,0,0],[0,-1,0],[0,0,1]]},e);if(!isGTE(r,0))throw new Error("radius must be positive");return ellipsoid({center:s,radius:r=[r,r,r],segments:i,axes:t})};module.exports=sphere;
1884
1884
 
1885
1885
  },{"./commonChecks":486,"./ellipsoid":492}],503:[function(require,module,exports){
1886
- const rectangle=require("./rectangle"),{isGT:isGT}=require("./commonChecks"),square=e=>{let{center:r,size:s}=Object.assign({},{center:[0,0],size:2},e);if(!isGT(s,0))throw new Error("size must be greater than zero");return rectangle({center:r,size:s=[s,s]})};module.exports=square;
1886
+ const rectangle=require("./rectangle"),{isGTE:isGTE}=require("./commonChecks"),square=e=>{let{center:r,size:s}=Object.assign({},{center:[0,0],size:2},e);if(!isGTE(s,0))throw new Error("size must be positive");return rectangle({center:r,size:s=[s,s]})};module.exports=square;
1887
1887
 
1888
1888
  },{"./commonChecks":486,"./rectangle":498}],504:[function(require,module,exports){
1889
1889
  const{TAU:TAU}=require("../maths/constants"),vec2=require("../maths/vec2"),geom2=require("../geometries/geom2"),{isGT:isGT,isGTE:isGTE,isNumberArray:isNumberArray}=require("./commonChecks"),getRadiusRatio=(e,r)=>e>0&&r>1&&r<e/2?Math.cos(Math.PI*r/e)/Math.cos(Math.PI*(r-1)/e):0,getPoints=(e,r,t,s)=>{const o=TAU/e,i=[];for(let a=0;a<e;a++){const e=vec2.fromAngleRadians(vec2.create(),o*a+t);vec2.scale(e,e,r),vec2.add(e,s,e),i.push(e)}return i},star=e=>{let{center:r,vertices:t,outerRadius:s,innerRadius:o,density:i,startAngle:a}=Object.assign({},{center:[0,0],vertices:5,outerRadius:1,innerRadius:0,density:2,startAngle:0},e);if(!isNumberArray(r,2))throw new Error("center must be an array of X and Y values");if(!isGTE(t,2))throw new Error("vertices must be two or more");if(!isGT(s,0))throw new Error("outerRadius must be greater than zero");if(!isGTE(o,0))throw new Error("innerRadius must be greater than zero");if(!isGTE(a,0))throw new Error("startAngle must be greater than zero");if(t=Math.floor(t),i=Math.floor(i),a%=TAU,0===o){if(!isGTE(i,2))throw new Error("density must be two or more");o=s*getRadiusRatio(t,i)}const n=vec2.clone(r),u=getPoints(t,s,a,n),c=getPoints(t,o,a+Math.PI/t,n),h=[];for(let e=0;e<t;e++)h.push(u[e]),h.push(c[e]);return geom2.fromPoints(h)};module.exports=star;
@@ -2833,7 +2833,7 @@ module.exports={
2833
2833
  },{}],682:[function(require,module,exports){
2834
2834
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("most"),require("@most/multicast")):"function"==typeof define&&define.amd?define(["exports","most","@most/multicast"],e):e(t.mostCreate=t.mostCreate||{},t.most,t.mostMulticast)}(this,function(t,e,i){"use strict";function n(t){return Promise.resolve(t).then(s)}function s(t){try{return t.run()}catch(e){return t.error(e)}}var r=function(t,e,i){this.sink=t,this.time=e,this.events=i};r.prototype.run=function(){for(var t,e=this.events,i=this.sink,n=0,s=e.length;n<s;++n)t=e[n],this.time=t.time,i.event(t.time,t.value);e.length=0},r.prototype.error=function(t){this.sink.error(this.time,t)};var o=function(t,e,i){this.time=t,this.value=e,this.sink=i};o.prototype.run=function(){this.sink.end(this.time,this.value)},o.prototype.error=function(t){this.sink.error(this.time,t)};var u=function(t,e,i){this.time=t,this.value=e,this.sink=i};u.prototype.run=function(){this.sink.error(this.time,this.value)},u.prototype.error=function(t){throw t};var h=function(t){this.sink=t,this.events=[],this.active=!0};h.prototype.event=function(t,e){this.active&&(0===this.events.length&&n(new r(this.sink,t,this.events)),this.events.push({time:t,value:e}))},h.prototype.end=function(t,e){this.active&&this._end(new o(t,e,this.sink))},h.prototype.error=function(t,e){this._end(new u(t,e,this.sink))},h.prototype._end=function(t){this.active=!1,n(t)};var c=function(t,e,i){this.sink=t,this.scheduler=e,this._unsubscribe=this._init(i)};c.prototype._init=function(t){var e=this,i=function(t){return e.sink.error(e.scheduler.now(),t)};try{return t(function(t){return e.sink.event(e.scheduler.now(),t)},function(t){return e.sink.end(e.scheduler.now(),t)},i)}catch(t){i(t)}},c.prototype.dispose=function(){if("function"==typeof this._unsubscribe)return this._unsubscribe.call(void 0)};var f=function(t){this._subscribe=t};f.prototype.run=function(t,e){return new c(new h(t),e,this._subscribe)},t.create=function(t){return new e.Stream(new i.MulticastSource(new f(t)))},Object.defineProperty(t,"__esModule",{value:!0})});
2835
2835
 
2836
- },{"@most/multicast":683,"most":744}],683:[function(require,module,exports){
2836
+ },{"@most/multicast":683,"most":757}],683:[function(require,module,exports){
2837
2837
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@most/prelude")):"function"==typeof define&&define.amd?define(["exports","@most/prelude"],e):e(t.mostMulticast=t.mostMulticast||{},t.mostPrelude)}(this,function(t,e){"use strict";var s=function(t,e){this.source=t,this.sink=e,this.disposed=!1};function i(t,e,s){try{s.event(t,e)}catch(e){s.error(t,e)}}function n(t,e,s){try{s.end(t,e)}catch(e){s.error(t,e)}}s.prototype.dispose=function(){if(!this.disposed)return this.disposed=!0,0===this.source.remove(this.sink)&&this.source._dispose()};var o=function(t){return t.dispose()},r={dispose:function(){}},u=function(t){this.source=t,this.sinks=[],this._disposable=r};u.prototype.run=function(t,e){return 1===this.add(t)&&(this._disposable=this.source.run(this,e)),new s(this,t)},u.prototype._dispose=function(){var t=this._disposable;return this._disposable=r,Promise.resolve(t).then(o)},u.prototype.add=function(t){return this.sinks=e.append(t,this.sinks),this.sinks.length},u.prototype.remove=function(t){var s=e.findIndex(t,this.sinks);return s>=0&&(this.sinks=e.remove(s,this.sinks)),this.sinks.length},u.prototype.event=function(t,e){var s=this.sinks;if(1===s.length)return s[0].event(t,e);for(var n=0;n<s.length;++n)i(t,e,s[n])},u.prototype.end=function(t,e){for(var s=this.sinks,i=0;i<s.length;++i)n(t,e,s[i])},u.prototype.error=function(t,e){for(var s=this.sinks,i=0;i<s.length;++i)s[i].error(t,e)},t.default=function(t){var e=t.source;return e instanceof u?t:new t.constructor(new u(e))},t.MulticastSource=u,Object.defineProperty(t,"__esModule",{value:!0})});
2838
2838
 
2839
2839
  },{"@most/prelude":684}],684:[function(require,module,exports){
@@ -2843,324 +2843,362 @@ module.exports={
2843
2843
  "use strict";exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;function getLens(o){var r=o.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=o.indexOf("=");return-1===e&&(e=r),[e,e===r?0:4-e%4]}function byteLength(o){var r=getLens(o),e=r[0],t=r[1];return 3*(e+t)/4-t}function _byteLength(o,r,e){return 3*(r+e)/4-e}function toByteArray(o){var r,e,t=getLens(o),n=t[0],u=t[1],p=new Arr(_byteLength(o,n,u)),a=0,h=u>0?n-4:n;for(e=0;e<h;e+=4)r=revLookup[o.charCodeAt(e)]<<18|revLookup[o.charCodeAt(e+1)]<<12|revLookup[o.charCodeAt(e+2)]<<6|revLookup[o.charCodeAt(e+3)],p[a++]=r>>16&255,p[a++]=r>>8&255,p[a++]=255&r;return 2===u&&(r=revLookup[o.charCodeAt(e)]<<2|revLookup[o.charCodeAt(e+1)]>>4,p[a++]=255&r),1===u&&(r=revLookup[o.charCodeAt(e)]<<10|revLookup[o.charCodeAt(e+1)]<<4|revLookup[o.charCodeAt(e+2)]>>2,p[a++]=r>>8&255,p[a++]=255&r),p}function tripletToBase64(o){return lookup[o>>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[63&o]}function encodeChunk(o,r,e){for(var t,n=[],u=r;u<e;u+=3)t=(o[u]<<16&16711680)+(o[u+1]<<8&65280)+(255&o[u+2]),n.push(tripletToBase64(t));return n.join("")}function fromByteArray(o){for(var r,e=o.length,t=e%3,n=[],u=0,p=e-t;u<p;u+=16383)n.push(encodeChunk(o,u,u+16383>p?p:u+16383));return 1===t?(r=o[e-1],n.push(lookup[r>>2]+lookup[r<<4&63]+"==")):2===t&&(r=(o[e-2]<<8)+o[e-1],n.push(lookup[r>>10]+lookup[r>>4&63]+lookup[r<<2&63]+"=")),n.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63;
2844
2844
 
2845
2845
  },{}],686:[function(require,module,exports){
2846
+
2847
+ },{}],687:[function(require,module,exports){
2846
2848
  (function (Buffer){(function (){
2847
2849
  "use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function typedArraySupport(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function createBuffer(e){if(e>K_MAX_LENGTH)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=Buffer.prototype,t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return fromString(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer))return fromArrayBuffer(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return Buffer.from(n,t,r);var f=fromObject(e);if(f)return f;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return Buffer.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function alloc(e,t,r){return assertSize(e),e<=0?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)}function allocUnsafe(e){return assertSize(e),createBuffer(e<0?0:0|checked(e))}function fromString(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),f=n.write(e,t);return f!==r&&(n=n.slice(0,f)),n}function fromArrayLike(e){for(var t=e.length<0?0:0|checked(e.length),r=createBuffer(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function fromArrayBuffer(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return(n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r)).__proto__=Buffer.prototype,n}function fromObject(e){if(Buffer.isBuffer(e)){var t=0|checked(e.length),r=createBuffer(t);return 0===r.length?r:(e.copy(r,0,0,t),r)}return void 0!==e.length?"number"!=typeof e.length||numberIsNaN(e.length)?createBuffer(0):fromArrayLike(e):"Buffer"===e.type&&Array.isArray(e.data)?fromArrayLike(e.data):void 0}function checked(e){if(e>=K_MAX_LENGTH)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K_MAX_LENGTH.toString(16)+" bytes");return 0|e}function SlowBuffer(e){return+e!=e&&(e=0),Buffer.alloc(+e)}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var f=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(f)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),f=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,f){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,f);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,f){var i,o=1,u=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,r/=2}function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(f){var h=-1;for(i=r;i<u;i++)if(a(e,i)===a(t,-1===h?0:i-h)){if(-1===h&&(h=i),i-h+1===s)return h*o}else-1!==h&&(i-=i-h),h=-1}else for(r+s>u&&(r=u-s),i=r;i>=0;i--){for(var c=!0,l=0;l<s;l++)if(a(e,i+l)!==a(t,l)){c=!1;break}if(c)return i}return-1}function hexWrite(e,t,r,n){r=Number(r)||0;var f=e.length-r;n?(n=Number(n))>f&&(n=f):n=f;var i=t.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var u=parseInt(t.substr(2*o,2),16);if(numberIsNaN(u))return o;e[r+o]=u}return o}function utf8Write(e,t,r,n){return blitBuffer(utf8ToBytes(t,e.length-r),e,r,n)}function asciiWrite(e,t,r,n){return blitBuffer(asciiToBytes(t),e,r,n)}function latin1Write(e,t,r,n){return asciiWrite(e,t,r,n)}function base64Write(e,t,r,n){return blitBuffer(base64ToBytes(t),e,r,n)}function ucs2Write(e,t,r,n){return blitBuffer(utf16leToBytes(t,e.length-r),e,r,n)}function base64Slice(e,t,r){return 0===t&&r===e.length?base64.fromByteArray(e):base64.fromByteArray(e.slice(t,r))}function utf8Slice(e,t,r){r=Math.min(e.length,r);for(var n=[],f=t;f<r;){var i,o,u,s,a=e[f],h=null,c=a>239?4:a>223?3:a>191?2:1;if(f+c<=r)switch(c){case 1:a<128&&(h=a);break;case 2:128==(192&(i=e[f+1]))&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=e[f+1],o=e[f+2],128==(192&i)&&128==(192&o)&&(s=(15&a)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=e[f+1],o=e[f+2],u=e[f+3],128==(192&i)&&128==(192&o)&&128==(192&u)&&(s=(15&a)<<18|(63&i)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),f+=c}return decodeCodePointsArray(n)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(e,t,r){return alloc(e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,f=0,i=Math.min(r,n);f<i;++f)if(e[f]!==t[f]){r=e[f],n=t[f];break}return r<n?-1:n<r?1:0},Buffer.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Buffer.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Buffer.allocUnsafe(t),f=0;for(r=0;r<e.length;++r){var i=e[r];if(isInstance(i,Uint8Array)&&(i=Buffer.from(i)),!Buffer.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)swap(this,t,t+1);return this},Buffer.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)swap(this,t,t+3),swap(this,t+1,t+2);return this},Buffer.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)swap(this,t,t+7),swap(this,t+1,t+6),swap(this,t+2,t+5),swap(this,t+3,t+4);return this},Buffer.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?utf8Slice(this,0,e):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(e){if(!Buffer.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Buffer.compare(this,e)},Buffer.prototype.inspect=function(){var e="",t=exports.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},Buffer.prototype.compare=function(e,t,r,n,f){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===f&&(f=this.length),t<0||r>e.length||n<0||f>this.length)throw new RangeError("out of range index");if(n>=f&&t>=r)return 0;if(n>=f)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(f>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),u=Math.min(i,o),s=this.slice(n,f),a=e.slice(t,r),h=0;h<u;++h)if(s[h]!==a[h]){i=s[h],o=a[h];break}return i<o?-1:o<i?1:0},Buffer.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Buffer.prototype.indexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!0)},Buffer.prototype.lastIndexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!1)},Buffer.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(127&e[f]);return n}function latin1Slice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(e[f]);return n}function hexSlice(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var f="",i=t;i<r;++i)f+=toHex(e[i]);return f}function utf16leSlice(e,t,r){for(var n=e.slice(t,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,f,i){if(!Buffer.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function checkIEEE754(e,t,r,n,f,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return n.__proto__=Buffer.prototype,n},Buffer.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n},Buffer.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],f=1;t>0&&(f*=256);)n+=this[e+--t]*f;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n>=(f*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,f=1,i=this[e+--n];n>0&&(f*=256);)i+=this[e+--n]*f;return i>=(f*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=1,i=0;for(this[t]=255&e;++i<r&&(f*=256);)this[t+i]=e/f&255;return t+r},Buffer.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=r-1,i=1;for(this[t+f]=255&e;--f>=0&&(i*=256);)this[t+f]=e/i&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=0,o=1,u=0;for(this[t]=255&e;++i<r&&(o*=256);)e<0&&0===u&&0!==this[t+i-1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=r-1,o=1,u=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var f=n-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var i=f-1;i>=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return f},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){var f=e.charCodeAt(0);("utf8"===n&&f<128||"latin1"===n)&&(e=f)}}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var o=Buffer.isBuffer(e)?e:Buffer.from(e,n),u=o.length;if(0===u)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%u]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(e){if((e=(e=e.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}function toHex(e){return e<16?"0"+e.toString(16):e.toString(16)}function utf8ToBytes(e,t){var r;t=t||1/0;for(var n=e.length,f=null,i=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!f){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),f=r;continue}r=65536+(f-55296<<10|r-56320)}else f&&(t-=3)>-1&&i.push(239,191,189);if(f=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function utf16leToBytes(e,t){for(var r,n,f,i=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(e){return base64.toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var f=0;f<n&&!(f+r>=t.length||f>=e.length);++f)t[f+r]=e[f];return f}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function numberIsNaN(e){return e!=e}
2848
2850
 
2849
2851
  }).call(this)}).call(this,require("buffer").Buffer)
2850
- },{"base64-js":685,"buffer":686,"ieee754":687}],687:[function(require,module,exports){
2852
+ },{"base64-js":685,"buffer":687,"ieee754":697}],688:[function(require,module,exports){
2853
+ "use strict";var GetIntrinsic=require("get-intrinsic"),callBind=require("./"),$indexOf=callBind(GetIntrinsic("String.prototype.indexOf"));module.exports=function(i,n){var t=GetIntrinsic(i,!!n);return"function"==typeof t&&$indexOf(i,".prototype.")>-1?callBind(t):t};
2854
+
2855
+ },{"./":689,"get-intrinsic":692}],689:[function(require,module,exports){
2856
+ "use strict";var bind=require("function-bind"),GetIntrinsic=require("get-intrinsic"),$apply=GetIntrinsic("%Function.prototype.apply%"),$call=GetIntrinsic("%Function.prototype.call%"),$reflectApply=GetIntrinsic("%Reflect.apply%",!0)||bind.call($call,$apply),$gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%",!0),$defineProperty=GetIntrinsic("%Object.defineProperty%",!0),$max=GetIntrinsic("%Math.max%");if($defineProperty)try{$defineProperty({},"a",{value:1})}catch(e){$defineProperty=null}module.exports=function(e){var t=$reflectApply(bind,$call,arguments);$gOPD&&$defineProperty&&($gOPD(t,"length").configurable&&$defineProperty(t,"length",{value:1+$max(0,e.length-(arguments.length-1))}));return t};var applyBind=function(){return $reflectApply(bind,$apply,arguments)};$defineProperty?$defineProperty(module.exports,"apply",{value:applyBind}):module.exports.apply=applyBind;
2857
+
2858
+ },{"function-bind":691,"get-intrinsic":692}],690:[function(require,module,exports){
2859
+ "use strict";var ERROR_MESSAGE="Function.prototype.bind called on incompatible ",slice=Array.prototype.slice,toStr=Object.prototype.toString,funcType="[object Function]";module.exports=function(t){var n=this;if("function"!=typeof n||toStr.call(n)!==funcType)throw new TypeError(ERROR_MESSAGE+n);for(var o,e=slice.call(arguments,1),r=Math.max(0,n.length-e.length),c=[],i=0;i<r;i++)c.push("$"+i);if(o=Function("binder","return function ("+c.join(",")+"){ return binder.apply(this,arguments); }")(function(){if(this instanceof o){var r=n.apply(this,e.concat(slice.call(arguments)));return Object(r)===r?r:this}return n.apply(t,e.concat(slice.call(arguments)))}),n.prototype){var p=function(){};p.prototype=n.prototype,o.prototype=new p,p.prototype=null}return o};
2860
+
2861
+ },{}],691:[function(require,module,exports){
2862
+ "use strict";var implementation=require("./implementation");module.exports=Function.prototype.bind||implementation;
2863
+
2864
+ },{"./implementation":690}],692:[function(require,module,exports){
2865
+ "use strict";var undefined,$SyntaxError=SyntaxError,$Function=Function,$TypeError=TypeError,getEvalledConstructor=function(r){try{return $Function('"use strict"; return ('+r+").constructor;")()}catch(r){}},$gOPD=Object.getOwnPropertyDescriptor;if($gOPD)try{$gOPD({},"")}catch(r){$gOPD=null}var throwTypeError=function(){throw new $TypeError},ThrowTypeError=$gOPD?function(){try{return arguments.callee,throwTypeError}catch(r){try{return $gOPD(arguments,"callee").get}catch(r){return throwTypeError}}}():throwTypeError,hasSymbols=require("has-symbols")(),hasProto=require("has-proto")(),getProto=Object.getPrototypeOf||(hasProto?function(r){return r.__proto__}:null),needsEval={},TypedArray="undefined"!=typeof Uint8Array&&getProto?getProto(Uint8Array):undefined,INTRINSICS={"%AggregateError%":"undefined"==typeof AggregateError?undefined:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?undefined:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined,"%AsyncFromSyncIteratorPrototype%":undefined,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":"undefined"==typeof Atomics?undefined:Atomics,"%BigInt%":"undefined"==typeof BigInt?undefined:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?undefined:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?undefined:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?undefined:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?undefined:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?undefined:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?undefined:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":"undefined"==typeof Int8Array?undefined:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?undefined:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?undefined:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined,"%JSON%":"object"==typeof JSON?JSON:undefined,"%Map%":"undefined"==typeof Map?undefined:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&hasSymbols&&getProto?getProto((new Map)[Symbol.iterator]()):undefined,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?undefined:Promise,"%Proxy%":"undefined"==typeof Proxy?undefined:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?undefined:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?undefined:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&hasSymbols&&getProto?getProto((new Set)[Symbol.iterator]()):undefined,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?undefined:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):undefined,"%Symbol%":hasSymbols?Symbol:undefined,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError,"%Uint8Array%":"undefined"==typeof Uint8Array?undefined:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?undefined:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?undefined:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?undefined:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?undefined:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?undefined:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?undefined:WeakSet};if(getProto)try{null.error}catch(r){var errorProto=getProto(getProto(r));INTRINSICS["%Error.prototype%"]=errorProto}var doEval=function r(e){var t;if("%AsyncFunction%"===e)t=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===e)t=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===e)t=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===e){var o=r("%AsyncGeneratorFunction%");o&&(t=o.prototype)}else if("%AsyncIteratorPrototype%"===e){var n=r("%AsyncGenerator%");n&&getProto&&(t=getProto(n.prototype))}return INTRINSICS[e]=t,t},LEGACY_ALIASES={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=require("function-bind"),hasOwn=require("has"),$concat=bind.call(Function.call,Array.prototype.concat),$spliceApply=bind.call(Function.apply,Array.prototype.splice),$replace=bind.call(Function.call,String.prototype.replace),$strSlice=bind.call(Function.call,String.prototype.slice),$exec=bind.call(Function.call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=function(r){var e=$strSlice(r,0,1),t=$strSlice(r,-1);if("%"===e&&"%"!==t)throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if("%"===t&&"%"!==e)throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var o=[];return $replace(r,rePropName,function(r,e,t,n){o[o.length]=t?$replace(n,reEscapeChar,"$1"):e||r}),o},getBaseIntrinsic=function(r,e){var t,o=r;if(hasOwn(LEGACY_ALIASES,o)&&(o="%"+(t=LEGACY_ALIASES[o])[0]+"%"),hasOwn(INTRINSICS,o)){var n=INTRINSICS[o];if(n===needsEval&&(n=doEval(o)),void 0===n&&!e)throw new $TypeError("intrinsic "+r+" exists, but is not available. Please file an issue!");return{alias:t,name:o,value:n}}throw new $SyntaxError("intrinsic "+r+" does not exist!")};module.exports=function(r,e){if("string"!=typeof r||0===r.length)throw new $TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new $TypeError('"allowMissing" argument must be a boolean');if(null===$exec(/^%?[^%]*%?$/,r))throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var t=stringToPath(r),o=t.length>0?t[0]:"",n=getBaseIntrinsic("%"+o+"%",e),a=n.name,y=n.value,i=!1,p=n.alias;p&&(o=p[0],$spliceApply(t,$concat([0,1],p)));for(var d=1,f=!0;d<t.length;d+=1){var u=t[d],s=$strSlice(u,0,1),c=$strSlice(u,-1);if(('"'===s||"'"===s||"`"===s||'"'===c||"'"===c||"`"===c)&&s!==c)throw new $SyntaxError("property names with quotes must have matching quotes");if("constructor"!==u&&f||(i=!0),hasOwn(INTRINSICS,a="%"+(o+="."+u)+"%"))y=INTRINSICS[a];else if(null!=y){if(!(u in y)){if(!e)throw new $TypeError("base intrinsic for "+r+" exists, but the property is not available.");return}if($gOPD&&d+1>=t.length){var l=$gOPD(y,u);y=(f=!!l)&&"get"in l&&!("originalValue"in l.get)?l.get:y[u]}else f=hasOwn(y,u),y=y[u];f&&!i&&(INTRINSICS[a]=y)}}return y};
2866
+
2867
+ },{"function-bind":691,"has":696,"has-proto":693,"has-symbols":694}],693:[function(require,module,exports){
2868
+ "use strict";var test={foo:{}},$Object=Object;module.exports=function(){return{__proto__:test}.foo===test.foo&&!({__proto__:null}instanceof $Object)};
2869
+
2870
+ },{}],694:[function(require,module,exports){
2871
+ "use strict";var origSymbol="undefined"!=typeof Symbol&&Symbol,hasSymbolSham=require("./shams");module.exports=function(){return"function"==typeof origSymbol&&("function"==typeof Symbol&&("symbol"==typeof origSymbol("foo")&&("symbol"==typeof Symbol("bar")&&hasSymbolSham())))};
2872
+
2873
+ },{"./shams":695}],695:[function(require,module,exports){
2874
+ "use strict";module.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var o=Object.getOwnPropertySymbols(t);if(1!==o.length||o[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var n=Object.getOwnPropertyDescriptor(t,e);if(42!==n.value||!0!==n.enumerable)return!1}return!0};
2875
+
2876
+ },{}],696:[function(require,module,exports){
2877
+ "use strict";var bind=require("function-bind");module.exports=bind.call(Function.call,Object.prototype.hasOwnProperty);
2878
+
2879
+ },{"function-bind":691}],697:[function(require,module,exports){
2851
2880
  exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};
2852
2881
 
2853
- },{}],688:[function(require,module,exports){
2882
+ },{}],698:[function(require,module,exports){
2883
+ var hasMap="function"==typeof Map&&Map.prototype,mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,mapSize=hasMap&&mapSizeDescriptor&&"function"==typeof mapSizeDescriptor.get?mapSizeDescriptor.get:null,mapForEach=hasMap&&Map.prototype.forEach,hasSet="function"==typeof Set&&Set.prototype,setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,setSize=hasSet&&setSizeDescriptor&&"function"==typeof setSizeDescriptor.get?setSizeDescriptor.get:null,setForEach=hasSet&&Set.prototype.forEach,hasWeakMap="function"==typeof WeakMap&&WeakMap.prototype,weakMapHas=hasWeakMap?WeakMap.prototype.has:null,hasWeakSet="function"==typeof WeakSet&&WeakSet.prototype,weakSetHas=hasWeakSet?WeakSet.prototype.has:null,hasWeakRef="function"==typeof WeakRef&&WeakRef.prototype,weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null,booleanValueOf=Boolean.prototype.valueOf,objectToString=Object.prototype.toString,functionToString=Function.prototype.toString,$match=String.prototype.match,$slice=String.prototype.slice,$replace=String.prototype.replace,$toUpperCase=String.prototype.toUpperCase,$toLowerCase=String.prototype.toLowerCase,$test=RegExp.prototype.test,$concat=Array.prototype.concat,$join=Array.prototype.join,$arrSlice=Array.prototype.slice,$floor=Math.floor,bigIntValueOf="function"==typeof BigInt?BigInt.prototype.valueOf:null,gOPS=Object.getOwnPropertySymbols,symToString="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,hasShammedSymbols="function"==typeof Symbol&&"object"==typeof Symbol.iterator,toStringTag="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===hasShammedSymbols||"symbol")?Symbol.toStringTag:null,isEnumerable=Object.prototype.propertyIsEnumerable,gPO=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function addNumericSeparator(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||$test.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var n=t<0?-$floor(-t):$floor(t);if(n!==t){var o=String(n),a=$slice.call(e,o.length+1);return $replace.call(o,r,"$&_")+"."+$replace.call($replace.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return $replace.call(e,r,"$&_")}var utilInspect=require("./util.inspect"),inspectCustom=utilInspect.custom,inspectSymbol=isSymbol(inspectCustom)?inspectCustom:null;function wrapQuotes(t,e,r){var n="double"===(r.quoteStyle||e)?'"':"'";return n+t+n}function quote(t){return $replace.call(String(t),/"/g,"&quot;")}function isArray(t){return!("[object Array]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isDate(t){return!("[object Date]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isRegExp(t){return!("[object RegExp]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isError(t){return!("[object Error]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isString(t){return!("[object String]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isNumber(t){return!("[object Number]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isBoolean(t){return!("[object Boolean]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isSymbol(t){if(hasShammedSymbols)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!symToString)return!1;try{return symToString.call(t),!0}catch(t){}return!1}function isBigInt(t){if(!t||"object"!=typeof t||!bigIntValueOf)return!1;try{return bigIntValueOf.call(t),!0}catch(t){}return!1}module.exports=function t(e,r,n,o){var a=r||{};if(has(a,"quoteStyle")&&"single"!==a.quoteStyle&&"double"!==a.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has(a,"maxStringLength")&&("number"==typeof a.maxStringLength?a.maxStringLength<0&&a.maxStringLength!==1/0:null!==a.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var i=!has(a,"customInspect")||a.customInspect;if("boolean"!=typeof i&&"symbol"!==i)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has(a,"indent")&&null!==a.indent&&"\t"!==a.indent&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has(a,"numericSeparator")&&"boolean"!=typeof a.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var c=a.numericSeparator;if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return inspectString(e,a);if("number"==typeof e){if(0===e)return 1/0/e>0?"0":"-0";var l=String(e);return c?addNumericSeparator(e,l):l}if("bigint"==typeof e){var u=String(e)+"n";return c?addNumericSeparator(e,u):u}var p=void 0===a.depth?5:a.depth;if(void 0===n&&(n=0),n>=p&&p>0&&"object"==typeof e)return isArray(e)?"[Array]":"[Object]";var f=getIndent(a,n);if(void 0===o)o=[];else if(indexOf(o,e)>=0)return"[Circular]";function s(e,r,i){if(r&&(o=$arrSlice.call(o)).push(r),i){var c={depth:a.depth};return has(a,"quoteStyle")&&(c.quoteStyle=a.quoteStyle),t(e,c,n+1,o)}return t(e,a,n+1,o)}if("function"==typeof e&&!isRegExp(e)){var y=nameOf(e),S=arrObjKeys(e,s);return"[Function"+(y?": "+y:" (anonymous)")+"]"+(S.length>0?" { "+$join.call(S,", ")+" }":"")}if(isSymbol(e)){var g=hasShammedSymbols?$replace.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):symToString.call(e);return"object"!=typeof e||hasShammedSymbols?g:markBoxed(g)}if(isElement(e)){for(var m="<"+$toLowerCase.call(String(e.nodeName)),b=e.attributes||[],h=0;h<b.length;h++)m+=" "+b[h].name+"="+wrapQuotes(quote(b[h].value),"double",a);return m+=">",e.childNodes&&e.childNodes.length&&(m+="..."),m+="</"+$toLowerCase.call(String(e.nodeName))+">"}if(isArray(e)){if(0===e.length)return"[]";var d=arrObjKeys(e,s);return f&&!singleLineValues(d)?"["+indentedJoin(d,f)+"]":"[ "+$join.call(d,", ")+" ]"}if(isError(e)){var j=arrObjKeys(e,s);return"cause"in Error.prototype||!("cause"in e)||isEnumerable.call(e,"cause")?0===j.length?"["+String(e)+"]":"{ ["+String(e)+"] "+$join.call(j,", ")+" }":"{ ["+String(e)+"] "+$join.call($concat.call("[cause]: "+s(e.cause),j),", ")+" }"}if("object"==typeof e&&i){if(inspectSymbol&&"function"==typeof e[inspectSymbol]&&utilInspect)return utilInspect(e,{depth:p-n});if("symbol"!==i&&"function"==typeof e.inspect)return e.inspect()}if(isMap(e)){var O=[];return mapForEach&&mapForEach.call(e,function(t,r){O.push(s(r,e,!0)+" => "+s(t,e))}),collectionOf("Map",mapSize.call(e),O,f)}if(isSet(e)){var $=[];return setForEach&&setForEach.call(e,function(t){$.push(s(t,e))}),collectionOf("Set",setSize.call(e),$,f)}if(isWeakMap(e))return weakCollectionOf("WeakMap");if(isWeakSet(e))return weakCollectionOf("WeakSet");if(isWeakRef(e))return weakCollectionOf("WeakRef");if(isNumber(e))return markBoxed(s(Number(e)));if(isBigInt(e))return markBoxed(s(bigIntValueOf.call(e)));if(isBoolean(e))return markBoxed(booleanValueOf.call(e));if(isString(e))return markBoxed(s(String(e)));if(!isDate(e)&&!isRegExp(e)){var k=arrObjKeys(e,s),v=gPO?gPO(e)===Object.prototype:e instanceof Object||e.constructor===Object,w=e instanceof Object?"":"null prototype",T=!v&&toStringTag&&Object(e)===e&&toStringTag in e?$slice.call(toStr(e),8,-1):w?"Object":"",E=(v||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(T||w?"["+$join.call($concat.call([],T||[],w||[]),": ")+"] ":"");return 0===k.length?E+"{}":f?E+"{"+indentedJoin(k,f)+"}":E+"{ "+$join.call(k,", ")+" }"}return String(e)};var hasOwn=Object.prototype.hasOwnProperty||function(t){return t in this};function has(t,e){return hasOwn.call(t,e)}function toStr(t){return objectToString.call(t)}function nameOf(t){if(t.name)return t.name;var e=$match.call(functionToString.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function indexOf(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}function isMap(t){if(!mapSize||!t||"object"!=typeof t)return!1;try{mapSize.call(t);try{setSize.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}function isWeakMap(t){if(!weakMapHas||!t||"object"!=typeof t)return!1;try{weakMapHas.call(t,weakMapHas);try{weakSetHas.call(t,weakSetHas)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}function isWeakRef(t){if(!weakRefDeref||!t||"object"!=typeof t)return!1;try{return weakRefDeref.call(t),!0}catch(t){}return!1}function isSet(t){if(!setSize||!t||"object"!=typeof t)return!1;try{setSize.call(t);try{mapSize.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}function isWeakSet(t){if(!weakSetHas||!t||"object"!=typeof t)return!1;try{weakSetHas.call(t,weakSetHas);try{weakMapHas.call(t,weakMapHas)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}function isElement(t){return!(!t||"object"!=typeof t)&&("undefined"!=typeof HTMLElement&&t instanceof HTMLElement||"string"==typeof t.nodeName&&"function"==typeof t.getAttribute)}function inspectString(t,e){if(t.length>e.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return inspectString($slice.call(t,0,e.maxStringLength),e)+n}return wrapQuotes($replace.call($replace.call(t,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte),"single",e)}function lowbyte(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+$toUpperCase.call(e.toString(16))}function markBoxed(t){return"Object("+t+")"}function weakCollectionOf(t){return t+" { ? }"}function collectionOf(t,e,r,n){return t+" ("+e+") {"+(n?indentedJoin(r,n):$join.call(r,", "))+"}"}function singleLineValues(t){for(var e=0;e<t.length;e++)if(indexOf(t[e],"\n")>=0)return!1;return!0}function getIndent(t,e){var r;if("\t"===t.indent)r="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;r=$join.call(Array(t.indent+1)," ")}return{base:r,prev:$join.call(Array(e+1),r)}}function indentedJoin(t,e){if(0===t.length)return"";var r="\n"+e.prev+e.base;return r+$join.call(t,","+r)+"\n"+e.prev}function arrObjKeys(t,e){var r=isArray(t),n=[];if(r){n.length=t.length;for(var o=0;o<t.length;o++)n[o]=has(t,o)?e(t[o],t):""}var a,i="function"==typeof gOPS?gOPS(t):[];if(hasShammedSymbols){a={};for(var c=0;c<i.length;c++)a["$"+i[c]]=i[c]}for(var l in t)has(t,l)&&(r&&String(Number(l))===l&&l<t.length||hasShammedSymbols&&a["$"+l]instanceof Symbol||($test.call(/[^\w$]/,l)?n.push(e(l,t)+": "+e(t[l],t)):n.push(l+": "+e(t[l],t))));if("function"==typeof gOPS)for(var u=0;u<i.length;u++)isEnumerable.call(t,i[u])&&n.push("["+e(i[u])+"]: "+e(t[i[u]],t));return n}
2884
+
2885
+ },{"./util.inspect":686}],699:[function(require,module,exports){
2854
2886
  (function (process){(function (){
2855
2887
  function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function basename(r){"string"!=typeof r&&(r+="");var t,e=0,n=-1,o=!0;for(t=r.length-1;t>=0;--t)if(47===r.charCodeAt(t)){if(!o){e=t+1;break}}else-1===n&&(o=!1,n=t+1);return-1===n?"":r.slice(e,n)}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n<r.length;n++)t(r[n],n,r)&&e.push(r[n]);return e}exports.resolve=function(){for(var r="",t=!1,e=arguments.length-1;e>=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return(t?"/":"")+(r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"))||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return(r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"))||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t<r.length&&""===r[t];t++);for(var e=r.length-1;e>=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),o=e(t.split("/")),s=Math.min(n.length,o.length),i=s,u=0;u<s;u++)if(n[u]!==o[u]){i=u;break}var l=[];for(u=i;u<n.length;u++)l.push("..");return(l=l.concat(o.slice(i))).join("/")},exports.sep="/",exports.delimiter=":",exports.dirname=function(r){if("string"!=typeof r&&(r+=""),0===r.length)return".";for(var t=r.charCodeAt(0),e=47===t,n=-1,o=!0,s=r.length-1;s>=1;--s)if(47===(t=r.charCodeAt(s))){if(!o){n=s;break}}else o=!1;return-1===n?e?"/":".":e&&1===n?"/":r.slice(0,n)},exports.basename=function(r,t){var e=basename(r);return t&&e.substr(-1*t.length)===t&&(e=e.substr(0,e.length-t.length)),e},exports.extname=function(r){"string"!=typeof r&&(r+="");for(var t=-1,e=0,n=-1,o=!0,s=0,i=r.length-1;i>=0;--i){var u=r.charCodeAt(i);if(47!==u)-1===n&&(o=!1,n=i+1),46===u?-1===t?t=i:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){e=i+1;break}}return-1===t||-1===n||0===s||1===s&&t===n-1&&t===e+1?"":r.slice(t,n)};var substr="b"==="ab".substr(-1)?function(r,t,e){return r.substr(t,e)}:function(r,t,e){return t<0&&(t=r.length+t),r.substr(t,e)};
2856
2888
 
2857
2889
  }).call(this)}).call(this,require('_process'))
2858
- },{"_process":689}],689:[function(require,module,exports){
2890
+ },{"_process":700}],700:[function(require,module,exports){
2859
2891
  var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(e){return[]},process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
2860
2892
 
2861
- },{}],690:[function(require,module,exports){
2893
+ },{}],701:[function(require,module,exports){
2862
2894
  (function (global){(function (){
2863
2895
  !function(e){var o="object"==typeof exports&&exports&&!exports.nodeType&&exports,n="object"==typeof module&&module&&!module.nodeType&&module,t="object"==typeof global&&global;t.global!==t&&t.window!==t&&t.self!==t||(e=t);var r,u,i=2147483647,f=36,c=1,l=26,s=38,d=700,p=72,a=128,h="-",v=/^xn--/,g=/[^\x20-\x7E]/,w=/[\x2E\u3002\uFF0E\uFF61]/g,x={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},b=f-c,y=Math.floor,C=String.fromCharCode;function m(e){throw new RangeError(x[e])}function j(e,o){for(var n=e.length,t=[];n--;)t[n]=o(e[n]);return t}function A(e,o){var n=e.split("@"),t="";return n.length>1&&(t=n[0]+"@",e=n[1]),t+j((e=e.replace(w,".")).split("."),o).join(".")}function I(e){for(var o,n,t=[],r=0,u=e.length;r<u;)(o=e.charCodeAt(r++))>=55296&&o<=56319&&r<u?56320==(64512&(n=e.charCodeAt(r++)))?t.push(((1023&o)<<10)+(1023&n)+65536):(t.push(o),r--):t.push(o);return t}function E(e){return j(e,function(e){var o="";return e>65535&&(o+=C((e-=65536)>>>10&1023|55296),e=56320|1023&e),o+=C(e)}).join("")}function F(e,o){return e+22+75*(e<26)-((0!=o)<<5)}function O(e,o,n){var t=0;for(e=n?y(e/d):e>>1,e+=y(e/o);e>b*l>>1;t+=f)e=y(e/b);return y(t+(b+1)*e/(e+s))}function S(e){var o,n,t,r,u,s,d,v,g,w,x,b=[],C=e.length,j=0,A=a,I=p;for((n=e.lastIndexOf(h))<0&&(n=0),t=0;t<n;++t)e.charCodeAt(t)>=128&&m("not-basic"),b.push(e.charCodeAt(t));for(r=n>0?n+1:0;r<C;){for(u=j,s=1,d=f;r>=C&&m("invalid-input"),((v=(x=e.charCodeAt(r++))-48<10?x-22:x-65<26?x-65:x-97<26?x-97:f)>=f||v>y((i-j)/s))&&m("overflow"),j+=v*s,!(v<(g=d<=I?c:d>=I+l?l:d-I));d+=f)s>y(i/(w=f-g))&&m("overflow"),s*=w;I=O(j-u,o=b.length+1,0==u),y(j/o)>i-A&&m("overflow"),A+=y(j/o),j%=o,b.splice(j++,0,A)}return E(b)}function T(e){var o,n,t,r,u,s,d,v,g,w,x,b,j,A,E,S=[];for(b=(e=I(e)).length,o=a,n=0,u=p,s=0;s<b;++s)(x=e[s])<128&&S.push(C(x));for(t=r=S.length,r&&S.push(h);t<b;){for(d=i,s=0;s<b;++s)(x=e[s])>=o&&x<d&&(d=x);for(d-o>y((i-n)/(j=t+1))&&m("overflow"),n+=(d-o)*j,o=d,s=0;s<b;++s)if((x=e[s])<o&&++n>i&&m("overflow"),x==o){for(v=n,g=f;!(v<(w=g<=u?c:g>=u+l?l:g-u));g+=f)E=v-w,A=f-w,S.push(C(F(w+E%A,0))),v=y(E/A);S.push(C(F(v,0))),u=O(n,j,t==r),n=0,++t}++n,++o}return S.join("")}if(r={version:"1.4.1",ucs2:{decode:I,encode:E},decode:S,encode:T,toASCII:function(e){return A(e,function(e){return g.test(e)?"xn--"+T(e):e})},toUnicode:function(e){return A(e,function(e){return v.test(e)?S(e.slice(4).toLowerCase()):e})}},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return r});else if(o&&n)if(module.exports==o)n.exports=r;else for(u in r)r.hasOwnProperty(u)&&(o[u]=r[u]);else e.punycode=r}(this);
2864
2896
 
2865
2897
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
2866
- },{}],691:[function(require,module,exports){
2867
- "use strict";function hasOwnProperty(r,e){return Object.prototype.hasOwnProperty.call(r,e)}module.exports=function(r,e,t,n){e=e||"&",t=t||"=";var o={};if("string"!=typeof r||0===r.length)return o;var a=/\+/g;r=r.split(e);var s=1e3;n&&"number"==typeof n.maxKeys&&(s=n.maxKeys);var p=r.length;s>0&&p>s&&(p=s);for(var y=0;y<p;++y){var u,c,i,l,f=r[y].replace(a,"%20"),v=f.indexOf(t);v>=0?(u=f.substr(0,v),c=f.substr(v+1)):(u=f,c=""),i=decodeURIComponent(u),l=decodeURIComponent(c),hasOwnProperty(o,i)?isArray(o[i])?o[i].push(l):o[i]=[o[i],l]:o[i]=l}return o};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)};
2898
+ },{}],702:[function(require,module,exports){
2899
+ "use strict";var replace=String.prototype.replace,percentTwenties=/%20/g,Format={RFC1738:"RFC1738",RFC3986:"RFC3986"};module.exports={default:Format.RFC3986,formatters:{RFC1738:function(e){return replace.call(e,percentTwenties,"+")},RFC3986:function(e){return String(e)}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986};
2868
2900
 
2869
- },{}],692:[function(require,module,exports){
2870
- "use strict";var stringifyPrimitive=function(r){switch(typeof r){case"string":return r;case"boolean":return r?"true":"false";case"number":return isFinite(r)?r:"";default:return""}};module.exports=function(r,e,t,n){return e=e||"&",t=t||"=",null===r&&(r=void 0),"object"==typeof r?map(objectKeys(r),function(n){var i=encodeURIComponent(stringifyPrimitive(n))+t;return isArray(r[n])?map(r[n],function(r){return i+encodeURIComponent(stringifyPrimitive(r))}).join(e):i+encodeURIComponent(stringifyPrimitive(r[n]))}).join(e):n?encodeURIComponent(stringifyPrimitive(n))+t+encodeURIComponent(stringifyPrimitive(r)):""};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)};function map(r,e){if(r.map)return r.map(e);for(var t=[],n=0;n<r.length;n++)t.push(e(r[n],n));return t}var objectKeys=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return e};
2901
+ },{}],703:[function(require,module,exports){
2902
+ "use strict";var stringify=require("./stringify"),parse=require("./parse"),formats=require("./formats");module.exports={formats:formats,parse:parse,stringify:stringify};
2871
2903
 
2872
- },{}],693:[function(require,module,exports){
2873
- "use strict";exports.decode=exports.parse=require("./decode"),exports.encode=exports.stringify=require("./encode");
2904
+ },{"./formats":702,"./parse":704,"./stringify":705}],704:[function(require,module,exports){
2905
+ "use strict";var utils=require("./utils"),has=Object.prototype.hasOwnProperty,isArray=Array.isArray,defaults={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:utils.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(parseInt(t,10))})},parseArrayValue=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function(e,t){var r,a={__proto__:null},i=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,l=t.parameterLimit===1/0?void 0:t.parameterLimit,s=i.split(t.delimiter,l),o=-1,n=t.charset;if(t.charsetSentinel)for(r=0;r<s.length;++r)0===s[r].indexOf("utf8=")&&(s[r]===charsetSentinel?n="utf-8":s[r]===isoSentinel&&(n="iso-8859-1"),o=r,r=s.length);for(r=0;r<s.length;++r)if(r!==o){var c,p,u=s[r],d=u.indexOf("]="),f=-1===d?u.indexOf("="):d+1;-1===f?(c=t.decoder(u,defaults.decoder,n,"key"),p=t.strictNullHandling?null:""):(c=t.decoder(u.slice(0,f),defaults.decoder,n,"key"),p=utils.maybeMap(parseArrayValue(u.slice(f+1),t),function(e){return t.decoder(e,defaults.decoder,n,"value")})),p&&t.interpretNumericEntities&&"iso-8859-1"===n&&(p=interpretNumericEntities(p)),u.indexOf("[]=")>-1&&(p=isArray(p)?[p]:p),has.call(a,c)?a[c]=utils.combine(a[c],p):a[c]=p}return a},parseObject=function(e,t,r,a){for(var i=a?t:parseArrayValue(t,r),l=e.length-1;l>=0;--l){var s,o=e[l];if("[]"===o&&r.parseArrays)s=[].concat(i);else{s=r.plainObjects?Object.create(null):{};var n="["===o.charAt(0)&&"]"===o.charAt(o.length-1)?o.slice(1,-1):o,c=parseInt(n,10);r.parseArrays||""!==n?!isNaN(c)&&o!==n&&String(c)===n&&c>=0&&r.parseArrays&&c<=r.arrayLimit?(s=[])[c]=i:"__proto__"!==n&&(s[n]=i):s={0:i}}i=s}return i},parseKeys=function(e,t,r,a){if(e){var i=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,l=/(\[[^[\]]*])/g,s=r.depth>0&&/(\[[^[\]]*])/.exec(i),o=s?i.slice(0,s.index):i,n=[];if(o){if(!r.plainObjects&&has.call(Object.prototype,o)&&!r.allowPrototypes)return;n.push(o)}for(var c=0;r.depth>0&&null!==(s=l.exec(i))&&c<r.depth;){if(c+=1,!r.plainObjects&&has.call(Object.prototype,s[1].slice(1,-1))&&!r.allowPrototypes)return;n.push(s[1])}return s&&n.push("["+i.slice(s.index)+"]"),parseObject(n,t,r,a)}},normalizeParseOptions=function(e){if(!e)return defaults;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?defaults.charset:e.charset;return{allowDots:void 0===e.allowDots?defaults.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:defaults.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:defaults.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:defaults.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:defaults.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:defaults.comma,decoder:"function"==typeof e.decoder?e.decoder:defaults.decoder,delimiter:"string"==typeof e.delimiter||utils.isRegExp(e.delimiter)?e.delimiter:defaults.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:defaults.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:defaults.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:defaults.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:defaults.strictNullHandling}};module.exports=function(e,t){var r=normalizeParseOptions(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var a="string"==typeof e?parseValues(e,r):e,i=r.plainObjects?Object.create(null):{},l=Object.keys(a),s=0;s<l.length;++s){var o=l[s],n=parseKeys(o,a[o],r,"string"==typeof e);i=utils.merge(i,n,r)}return!0===r.allowSparse?i:utils.compact(i)};
2874
2906
 
2875
- },{"./decode":691,"./encode":692}],694:[function(require,module,exports){
2876
- "use strict";var punycode=require("punycode"),util=require("./util");function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");function urlParse(t,s,e){if(t&&util.isObject(t)&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return util.isString(t)&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}Url.prototype.parse=function(t,s,e){if(!util.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var h=t.indexOf("?"),r=-1!==h&&h<t.indexOf("#")?"?":"#",a=t.split(r);a[0]=a[0].replace(/\\/g,"/");var o=t=a.join(r);if(o=o.trim(),!e&&1===t.split("#").length){var n=simplePathPattern.exec(o);if(n)return this.path=o,this.href=o,this.pathname=n[1],n[2]?(this.search=n[2],this.query=s?querystring.parse(this.search.substr(1)):this.search.substr(1)):s&&(this.search="",this.query={}),this}var i=protocolPattern.exec(o);if(i){var l=(i=i[0]).toLowerCase();this.protocol=l,o=o.substr(i.length)}if(e||i||o.match(/^\/\/[^@\/]+@[^@\/]+/)){var u="//"===o.substr(0,2);!u||i&&hostlessProtocol[i]||(o=o.substr(2),this.slashes=!0)}if(!hostlessProtocol[i]&&(u||i&&!slashedProtocol[i])){for(var p,c,f=-1,m=0;m<hostEndingChars.length;m++){-1!==(v=o.indexOf(hostEndingChars[m]))&&(-1===f||v<f)&&(f=v)}-1!==(c=-1===f?o.lastIndexOf("@"):o.lastIndexOf("@",f))&&(p=o.slice(0,c),o=o.slice(c+1),this.auth=decodeURIComponent(p)),f=-1;for(m=0;m<nonHostChars.length;m++){var v;-1!==(v=o.indexOf(nonHostChars[m]))&&(-1===f||v<f)&&(f=v)}-1===f&&(f=o.length),this.host=o.slice(0,f),o=o.slice(f),this.parseHost(),this.hostname=this.hostname||"";var g="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!g)for(var y=this.hostname.split(/\./),P=(m=0,y.length);m<P;m++){var d=y[m];if(d&&!d.match(hostnamePartPattern)){for(var b="",q=0,O=d.length;q<O;q++)d.charCodeAt(q)>127?b+="x":b+=d[q];if(!b.match(hostnamePartPattern)){var j=y.slice(0,m),x=y.slice(m+1),U=d.match(hostnamePartStart);U&&(j.push(U[1]),x.unshift(U[2])),x.length&&(o="/"+x.join(".")+o),this.hostname=j.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),g||(this.hostname=punycode.toASCII(this.hostname));var C=this.port?":"+this.port:"",A=this.hostname||"";this.host=A+C,this.href+=this.host,g&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==o[0]&&(o="/"+o))}if(!unsafeProtocol[l])for(m=0,P=autoEscape.length;m<P;m++){var w=autoEscape[m];if(-1!==o.indexOf(w)){var E=encodeURIComponent(w);E===w&&(E=escape(w)),o=o.split(w).join(E)}}var I=o.indexOf("#");-1!==I&&(this.hash=o.substr(I),o=o.slice(0,I));var R=o.indexOf("?");if(-1!==R?(this.search=o.substr(R),this.query=o.substr(R+1),s&&(this.query=querystring.parse(this.query)),o=o.slice(0,R)):s&&(this.search="",this.query={}),o&&(this.pathname=o),slashedProtocol[l]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){C=this.pathname||"";var S=this.search||"";this.path=C+S}return this.href=this.format(),this},Url.prototype.format=function(){var t=this.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":"),t+="@");var s=this.protocol||"",e=this.pathname||"",h=this.hash||"",r=!1,a="";this.host?r=t+this.host:this.hostname&&(r=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(a=querystring.stringify(this.query));var o=this.search||a&&"?"+a||"";return s&&":"!==s.substr(-1)&&(s+=":"),this.slashes||(!s||slashedProtocol[s])&&!1!==r?(r="//"+(r||""),e&&"/"!==e.charAt(0)&&(e="/"+e)):r||(r=""),h&&"#"!==h.charAt(0)&&(h="#"+h),o&&"?"!==o.charAt(0)&&(o="?"+o),s+r+(e=e.replace(/[?#]/g,function(t){return encodeURIComponent(t)}))+(o=o.replace("#","%23"))+h},Url.prototype.resolve=function(t){return this.resolveObject(urlParse(t,!1,!0)).format()},Url.prototype.resolveObject=function(t){if(util.isString(t)){var s=new Url;s.parse(t,!1,!0),t=s}for(var e=new Url,h=Object.keys(this),r=0;r<h.length;r++){var a=h[r];e[a]=this[a]}if(e.hash=t.hash,""===t.href)return e.href=e.format(),e;if(t.slashes&&!t.protocol){for(var o=Object.keys(t),n=0;n<o.length;n++){var i=o[n];"protocol"!==i&&(e[i]=t[i])}return slashedProtocol[e.protocol]&&e.hostname&&!e.pathname&&(e.path=e.pathname="/"),e.href=e.format(),e}if(t.protocol&&t.protocol!==e.protocol){if(!slashedProtocol[t.protocol]){for(var l=Object.keys(t),u=0;u<l.length;u++){var p=l[u];e[p]=t[p]}return e.href=e.format(),e}if(e.protocol=t.protocol,t.host||hostlessProtocol[t.protocol])e.pathname=t.pathname;else{for(var c=(t.pathname||"").split("/");c.length&&!(t.host=c.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==c[0]&&c.unshift(""),c.length<2&&c.unshift(""),e.pathname=c.join("/")}if(e.search=t.search,e.query=t.query,e.host=t.host||"",e.auth=t.auth,e.hostname=t.hostname||t.host,e.port=t.port,e.pathname||e.search){var f=e.pathname||"",m=e.search||"";e.path=f+m}return e.slashes=e.slashes||t.slashes,e.href=e.format(),e}var v=e.pathname&&"/"===e.pathname.charAt(0),g=t.host||t.pathname&&"/"===t.pathname.charAt(0),y=g||v||e.host&&t.pathname,P=y,d=e.pathname&&e.pathname.split("/")||[],b=(c=t.pathname&&t.pathname.split("/")||[],e.protocol&&!slashedProtocol[e.protocol]);if(b&&(e.hostname="",e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===c[0]?c[0]=t.host:c.unshift(t.host)),t.host=null),y=y&&(""===c[0]||""===d[0])),g)e.host=t.host||""===t.host?t.host:e.host,e.hostname=t.hostname||""===t.hostname?t.hostname:e.hostname,e.search=t.search,e.query=t.query,d=c;else if(c.length)d||(d=[]),d.pop(),d=d.concat(c),e.search=t.search,e.query=t.query;else if(!util.isNullOrUndefined(t.search)){if(b)e.hostname=e.host=d.shift(),(U=!!(e.host&&e.host.indexOf("@")>0)&&e.host.split("@"))&&(e.auth=U.shift(),e.host=e.hostname=U.shift());return e.search=t.search,e.query=t.query,util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!d.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var q=d.slice(-1)[0],O=(e.host||t.host||d.length>1)&&("."===q||".."===q)||""===q,j=0,x=d.length;x>=0;x--)"."===(q=d[x])?d.splice(x,1):".."===q?(d.splice(x,1),j++):j&&(d.splice(x,1),j--);if(!y&&!P)for(;j--;j)d.unshift("..");!y||""===d[0]||d[0]&&"/"===d[0].charAt(0)||d.unshift(""),O&&"/"!==d.join("/").substr(-1)&&d.push("");var U,C=""===d[0]||d[0]&&"/"===d[0].charAt(0);b&&(e.hostname=e.host=C?"":d.length?d.shift():"",(U=!!(e.host&&e.host.indexOf("@")>0)&&e.host.split("@"))&&(e.auth=U.shift(),e.host=e.hostname=U.shift()));return(y=y||e.host&&d.length)&&!C&&d.unshift(""),d.length?e.pathname=d.join("/"):(e.pathname=null,e.path=null),util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(":"!==(s=s[0])&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)};
2907
+ },{"./utils":706}],705:[function(require,module,exports){
2908
+ "use strict";var getSideChannel=require("side-channel"),utils=require("./utils"),formats=require("./formats"),has=Object.prototype.hasOwnProperty,arrayPrefixGenerators={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,r){return e+"["+r+"]"},repeat:function(e){return e}},isArray=Array.isArray,push=Array.prototype.push,pushToArray=function(e,r){push.apply(e,isArray(r)?r:[r])},toISO=Date.prototype.toISOString,defaultFormat=formats.default,defaults={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:utils.encode,encodeValuesOnly:!1,format:defaultFormat,formatter:formats.formatters[defaultFormat],indices:!1,serializeDate:function(e){return toISO.call(e)},skipNulls:!1,strictNullHandling:!1},isNonNullishPrimitive=function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||"symbol"==typeof e||"bigint"==typeof e},sentinel={},stringify=function e(r,t,o,i,a,n,l,s,f,u,d,c,y,m,p,h){for(var v=r,g=h,b=0,w=!1;void 0!==(g=g.get(sentinel))&&!w;){var N=g.get(r);if(b+=1,void 0!==N){if(N===b)throw new RangeError("Cyclic object value");w=!0}void 0===g.get(sentinel)&&(b=0)}if("function"==typeof s?v=s(t,v):v instanceof Date?v=d(v):"comma"===o&&isArray(v)&&(v=utils.maybeMap(v,function(e){return e instanceof Date?d(e):e})),null===v){if(a)return l&&!m?l(t,defaults.encoder,p,"key",c):t;v=""}if(isNonNullishPrimitive(v)||utils.isBuffer(v))return l?[y(m?t:l(t,defaults.encoder,p,"key",c))+"="+y(l(v,defaults.encoder,p,"value",c))]:[y(t)+"="+y(String(v))];var A,S=[];if(void 0===v)return S;if("comma"===o&&isArray(v))m&&l&&(v=utils.maybeMap(v,l)),A=[{value:v.length>0?v.join(",")||null:void 0}];else if(isArray(s))A=s;else{var D=Object.keys(v);A=f?D.sort(f):D}for(var O=i&&isArray(v)&&1===v.length?t+"[]":t,k=0;k<A.length;++k){var P=A[k],T="object"==typeof P&&void 0!==P.value?P.value:v[P];if(!n||null!==T){var x=isArray(v)?"function"==typeof o?o(O,P):O:O+(u?"."+P:"["+P+"]");h.set(r,b);var j=getSideChannel();j.set(sentinel,h),pushToArray(S,e(T,x,o,i,a,n,"comma"===o&&m&&isArray(v)?null:l,s,f,u,d,c,y,m,p,j))}}return S},normalizeStringifyOptions=function(e){if(!e)return defaults;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var r=e.charset||defaults.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=formats.default;if(void 0!==e.format){if(!has.call(formats.formatters,e.format))throw new TypeError("Unknown format option provided.");t=e.format}var o=formats.formatters[t],i=defaults.filter;return("function"==typeof e.filter||isArray(e.filter))&&(i=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:defaults.addQueryPrefix,allowDots:void 0===e.allowDots?defaults.allowDots:!!e.allowDots,charset:r,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:defaults.charsetSentinel,delimiter:void 0===e.delimiter?defaults.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:defaults.encode,encoder:"function"==typeof e.encoder?e.encoder:defaults.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:defaults.encodeValuesOnly,filter:i,format:t,formatter:o,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:defaults.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:defaults.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:defaults.strictNullHandling}};module.exports=function(e,r){var t,o=e,i=normalizeStringifyOptions(r);"function"==typeof i.filter?o=(0,i.filter)("",o):isArray(i.filter)&&(t=i.filter);var a,n=[];if("object"!=typeof o||null===o)return"";a=r&&r.arrayFormat in arrayPrefixGenerators?r.arrayFormat:r&&"indices"in r?r.indices?"indices":"repeat":"indices";var l=arrayPrefixGenerators[a];if(r&&"commaRoundTrip"in r&&"boolean"!=typeof r.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var s="comma"===l&&r&&r.commaRoundTrip;t||(t=Object.keys(o)),i.sort&&t.sort(i.sort);for(var f=getSideChannel(),u=0;u<t.length;++u){var d=t[u];i.skipNulls&&null===o[d]||pushToArray(n,stringify(o[d],d,l,s,i.strictNullHandling,i.skipNulls,i.encode?i.encoder:null,i.filter,i.sort,i.allowDots,i.serializeDate,i.format,i.formatter,i.encodeValuesOnly,i.charset,f))}var c=n.join(i.delimiter),y=!0===i.addQueryPrefix?"?":"";return i.charsetSentinel&&("iso-8859-1"===i.charset?y+="utf8=%26%2310003%3B&":y+="utf8=%E2%9C%93&"),c.length>0?y+c:""};
2877
2909
 
2878
- },{"./util":695,"punycode":690,"querystring":693}],695:[function(require,module,exports){
2879
- "use strict";module.exports={isString:function(n){return"string"==typeof n},isObject:function(n){return"object"==typeof n&&null!==n},isNull:function(n){return null===n},isNullOrUndefined:function(n){return null==n}};
2910
+ },{"./formats":702,"./utils":706,"side-channel":707}],706:[function(require,module,exports){
2911
+ "use strict";var formats=require("./formats"),has=Object.prototype.hasOwnProperty,isArray=Array.isArray,hexTable=function(){for(var e=[],r=0;r<256;++r)e.push("%"+((r<16?"0":"")+r.toString(16)).toUpperCase());return e}(),compactQueue=function(e){for(;e.length>1;){var r=e.pop(),t=r.obj[r.prop];if(isArray(t)){for(var o=[],a=0;a<t.length;++a)void 0!==t[a]&&o.push(t[a]);r.obj[r.prop]=o}}},arrayToObject=function(e,r){for(var t=r&&r.plainObjects?Object.create(null):{},o=0;o<e.length;++o)void 0!==e[o]&&(t[o]=e[o]);return t},merge=function e(r,t,o){if(!t)return r;if("object"!=typeof t){if(isArray(r))r.push(t);else{if(!r||"object"!=typeof r)return[r,t];(o&&(o.plainObjects||o.allowPrototypes)||!has.call(Object.prototype,t))&&(r[t]=!0)}return r}if(!r||"object"!=typeof r)return[r].concat(t);var a=r;return isArray(r)&&!isArray(t)&&(a=arrayToObject(r,o)),isArray(r)&&isArray(t)?(t.forEach(function(t,a){if(has.call(r,a)){var n=r[a];n&&"object"==typeof n&&t&&"object"==typeof t?r[a]=e(n,t,o):r.push(t)}else r[a]=t}),r):Object.keys(t).reduce(function(r,a){var n=t[a];return has.call(r,a)?r[a]=e(r[a],n,o):r[a]=n,r},a)},assign=function(e,r){return Object.keys(r).reduce(function(e,t){return e[t]=r[t],e},e)},decode=function(e,r,t){var o=e.replace(/\+/g," ");if("iso-8859-1"===t)return o.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(o)}catch(e){return o}},encode=function(e,r,t,o,a){if(0===e.length)return e;var n=e;if("symbol"==typeof e?n=Symbol.prototype.toString.call(e):"string"!=typeof e&&(n=String(e)),"iso-8859-1"===t)return escape(n).replace(/%u[0-9a-f]{4}/gi,function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"});for(var c="",i=0;i<n.length;++i){var u=n.charCodeAt(i);45===u||46===u||95===u||126===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||a===formats.RFC1738&&(40===u||41===u)?c+=n.charAt(i):u<128?c+=hexTable[u]:u<2048?c+=hexTable[192|u>>6]+hexTable[128|63&u]:u<55296||u>=57344?c+=hexTable[224|u>>12]+hexTable[128|u>>6&63]+hexTable[128|63&u]:(i+=1,u=65536+((1023&u)<<10|1023&n.charCodeAt(i)),c+=hexTable[240|u>>18]+hexTable[128|u>>12&63]+hexTable[128|u>>6&63]+hexTable[128|63&u])}return c},compact=function(e){for(var r=[{obj:{o:e},prop:"o"}],t=[],o=0;o<r.length;++o)for(var a=r[o],n=a.obj[a.prop],c=Object.keys(n),i=0;i<c.length;++i){var u=c[i],p=n[u];"object"==typeof p&&null!==p&&-1===t.indexOf(p)&&(r.push({obj:n,prop:u}),t.push(p))}return compactQueue(r),e},isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},isBuffer=function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},combine=function(e,r){return[].concat(e,r)},maybeMap=function(e,r){if(isArray(e)){for(var t=[],o=0;o<e.length;o+=1)t.push(r(e[o]));return t}return r(e)};module.exports={arrayToObject:arrayToObject,assign:assign,combine:combine,compact:compact,decode:decode,encode:encode,isBuffer:isBuffer,isRegExp:isRegExp,maybeMap:maybeMap,merge:merge};
2880
2912
 
2881
- },{}],696:[function(require,module,exports){
2913
+ },{"./formats":702}],707:[function(require,module,exports){
2914
+ "use strict";var GetIntrinsic=require("get-intrinsic"),callBound=require("call-bind/callBound"),inspect=require("object-inspect"),$TypeError=GetIntrinsic("%TypeError%"),$WeakMap=GetIntrinsic("%WeakMap%",!0),$Map=GetIntrinsic("%Map%",!0),$weakMapGet=callBound("WeakMap.prototype.get",!0),$weakMapSet=callBound("WeakMap.prototype.set",!0),$weakMapHas=callBound("WeakMap.prototype.has",!0),$mapGet=callBound("Map.prototype.get",!0),$mapSet=callBound("Map.prototype.set",!0),$mapHas=callBound("Map.prototype.has",!0),listGetNode=function(e,t){for(var n,a=e;null!==(n=a.next);a=n)if(n.key===t)return a.next=n.next,n.next=e.next,e.next=n,n},listGet=function(e,t){var n=listGetNode(e,t);return n&&n.value},listSet=function(e,t,n){var a=listGetNode(e,t);a?a.value=n:e.next={key:t,next:e.next,value:n}},listHas=function(e,t){return!!listGetNode(e,t)};module.exports=function(){var e,t,n,a={assert:function(e){if(!a.has(e))throw new $TypeError("Side channel does not contain "+inspect(e))},get:function(a){if($WeakMap&&a&&("object"==typeof a||"function"==typeof a)){if(e)return $weakMapGet(e,a)}else if($Map){if(t)return $mapGet(t,a)}else if(n)return listGet(n,a)},has:function(a){if($WeakMap&&a&&("object"==typeof a||"function"==typeof a)){if(e)return $weakMapHas(e,a)}else if($Map){if(t)return $mapHas(t,a)}else if(n)return listHas(n,a);return!1},set:function(a,r){$WeakMap&&a&&("object"==typeof a||"function"==typeof a)?(e||(e=new $WeakMap),$weakMapSet(e,a,r)):$Map?(t||(t=new $Map),$mapSet(t,a,r)):(n||(n={key:{},next:null}),listSet(n,a,r))}};return a};
2915
+
2916
+ },{"call-bind/callBound":688,"get-intrinsic":692,"object-inspect":698}],708:[function(require,module,exports){
2917
+ "use strict";var punycode=require("punycode");function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("qs");function urlParse(t,s,e){if(t&&"object"==typeof t&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return"string"==typeof t&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}Url.prototype.parse=function(t,s,e){if("string"!=typeof t)throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var h=t.indexOf("?"),r=-1!==h&&h<t.indexOf("#")?"?":"#",a=t.split(r);a[0]=a[0].replace(/\\/g,"/");var o=t=a.join(r);if(o=o.trim(),!e&&1===t.split("#").length){var n=simplePathPattern.exec(o);if(n)return this.path=o,this.href=o,this.pathname=n[1],n[2]?(this.search=n[2],this.query=s?querystring.parse(this.search.substr(1)):this.search.substr(1)):s&&(this.search="",this.query={}),this}var i=protocolPattern.exec(o);if(i){var l=(i=i[0]).toLowerCase();this.protocol=l,o=o.substr(i.length)}if(e||i||o.match(/^\/\/[^@/]+@[^@/]+/)){var p="//"===o.substr(0,2);!p||i&&hostlessProtocol[i]||(o=o.substr(2),this.slashes=!0)}if(!hostlessProtocol[i]&&(p||i&&!slashedProtocol[i])){for(var c,u,f=-1,m=0;m<hostEndingChars.length;m++){-1!==(v=o.indexOf(hostEndingChars[m]))&&(-1===f||v<f)&&(f=v)}-1!==(u=-1===f?o.lastIndexOf("@"):o.lastIndexOf("@",f))&&(c=o.slice(0,u),o=o.slice(u+1),this.auth=decodeURIComponent(c)),f=-1;for(m=0;m<nonHostChars.length;m++){var v;-1!==(v=o.indexOf(nonHostChars[m]))&&(-1===f||v<f)&&(f=v)}-1===f&&(f=o.length),this.host=o.slice(0,f),o=o.slice(f),this.parseHost(),this.hostname=this.hostname||"";var y="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!y)for(var g=this.hostname.split(/\./),P=(m=0,g.length);m<P;m++){var d=g[m];if(d&&!d.match(hostnamePartPattern)){for(var b="",q=0,j=d.length;q<j;q++)d.charCodeAt(q)>127?b+="x":b+=d[q];if(!b.match(hostnamePartPattern)){var x=g.slice(0,m),O=g.slice(m+1),U=d.match(hostnamePartStart);U&&(x.push(U[1]),O.unshift(U[2])),O.length&&(o="/"+O.join(".")+o),this.hostname=x.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),y||(this.hostname=punycode.toASCII(this.hostname));var C=this.port?":"+this.port:"",A=this.hostname||"";this.host=A+C,this.href+=this.host,y&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==o[0]&&(o="/"+o))}if(!unsafeProtocol[l])for(m=0,P=autoEscape.length;m<P;m++){var w=autoEscape[m];if(-1!==o.indexOf(w)){var E=encodeURIComponent(w);E===w&&(E=escape(w)),o=o.split(w).join(E)}}var I=o.indexOf("#");-1!==I&&(this.hash=o.substr(I),o=o.slice(0,I));var R=o.indexOf("?");if(-1!==R?(this.search=o.substr(R),this.query=o.substr(R+1),s&&(this.query=querystring.parse(this.query)),o=o.slice(0,R)):s&&(this.search="",this.query={}),o&&(this.pathname=o),slashedProtocol[l]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){C=this.pathname||"";var k=this.search||"";this.path=C+k}return this.href=this.format(),this},Url.prototype.format=function(){var t=this.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":"),t+="@");var s=this.protocol||"",e=this.pathname||"",h=this.hash||"",r=!1,a="";this.host?r=t+this.host:this.hostname&&(r=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&"object"==typeof this.query&&Object.keys(this.query).length&&(a=querystring.stringify(this.query));var o=this.search||a&&"?"+a||"";return s&&":"!==s.substr(-1)&&(s+=":"),this.slashes||(!s||slashedProtocol[s])&&!1!==r?(r="//"+(r||""),e&&"/"!==e.charAt(0)&&(e="/"+e)):r||(r=""),h&&"#"!==h.charAt(0)&&(h="#"+h),o&&"?"!==o.charAt(0)&&(o="?"+o),s+r+(e=e.replace(/[?#]/g,function(t){return encodeURIComponent(t)}))+(o=o.replace("#","%23"))+h},Url.prototype.resolve=function(t){return this.resolveObject(urlParse(t,!1,!0)).format()},Url.prototype.resolveObject=function(t){if("string"==typeof t){var s=new Url;s.parse(t,!1,!0),t=s}for(var e=new Url,h=Object.keys(this),r=0;r<h.length;r++){var a=h[r];e[a]=this[a]}if(e.hash=t.hash,""===t.href)return e.href=e.format(),e;if(t.slashes&&!t.protocol){for(var o=Object.keys(t),n=0;n<o.length;n++){var i=o[n];"protocol"!==i&&(e[i]=t[i])}return slashedProtocol[e.protocol]&&e.hostname&&!e.pathname&&(e.pathname="/",e.path=e.pathname),e.href=e.format(),e}if(t.protocol&&t.protocol!==e.protocol){if(!slashedProtocol[t.protocol]){for(var l=Object.keys(t),p=0;p<l.length;p++){var c=l[p];e[c]=t[c]}return e.href=e.format(),e}if(e.protocol=t.protocol,t.host||hostlessProtocol[t.protocol])e.pathname=t.pathname;else{for(var u=(t.pathname||"").split("/");u.length&&!(t.host=u.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==u[0]&&u.unshift(""),u.length<2&&u.unshift(""),e.pathname=u.join("/")}if(e.search=t.search,e.query=t.query,e.host=t.host||"",e.auth=t.auth,e.hostname=t.hostname||t.host,e.port=t.port,e.pathname||e.search){var f=e.pathname||"",m=e.search||"";e.path=f+m}return e.slashes=e.slashes||t.slashes,e.href=e.format(),e}var v=e.pathname&&"/"===e.pathname.charAt(0),y=t.host||t.pathname&&"/"===t.pathname.charAt(0),g=y||v||e.host&&t.pathname,P=g,d=e.pathname&&e.pathname.split("/")||[],b=(u=t.pathname&&t.pathname.split("/")||[],e.protocol&&!slashedProtocol[e.protocol]);if(b&&(e.hostname="",e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===u[0]?u[0]=t.host:u.unshift(t.host)),t.host=null),g=g&&(""===u[0]||""===d[0])),y)e.host=t.host||""===t.host?t.host:e.host,e.hostname=t.hostname||""===t.hostname?t.hostname:e.hostname,e.search=t.search,e.query=t.query,d=u;else if(u.length)d||(d=[]),d.pop(),d=d.concat(u),e.search=t.search,e.query=t.query;else if(null!=t.search){if(b)e.host=d.shift(),e.hostname=e.host,(U=!!(e.host&&e.host.indexOf("@")>0)&&e.host.split("@"))&&(e.auth=U.shift(),e.hostname=U.shift(),e.host=e.hostname);return e.search=t.search,e.query=t.query,null===e.pathname&&null===e.search||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!d.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var q=d.slice(-1)[0],j=(e.host||t.host||d.length>1)&&("."===q||".."===q)||""===q,x=0,O=d.length;O>=0;O--)"."===(q=d[O])?d.splice(O,1):".."===q?(d.splice(O,1),x++):x&&(d.splice(O,1),x--);if(!g&&!P)for(;x--;x)d.unshift("..");!g||""===d[0]||d[0]&&"/"===d[0].charAt(0)||d.unshift(""),j&&"/"!==d.join("/").substr(-1)&&d.push("");var U,C=""===d[0]||d[0]&&"/"===d[0].charAt(0);b&&(e.hostname=C?"":d.length?d.shift():"",e.host=e.hostname,(U=!!(e.host&&e.host.indexOf("@")>0)&&e.host.split("@"))&&(e.auth=U.shift(),e.hostname=U.shift(),e.host=e.hostname));return(g=g||e.host&&d.length)&&!C&&d.unshift(""),d.length>0?e.pathname=d.join("/"):(e.pathname=null,e.path=null),null===e.pathname&&null===e.search||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(":"!==(s=s[0])&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)},exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;
2918
+
2919
+ },{"punycode":701,"qs":703}],709:[function(require,module,exports){
2882
2920
  !function(t){"object"==typeof exports&&"object"==typeof module?t(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],t):t(CodeMirror)}(function(t){var e=t.Pos;function r(t,e){for(var r=0,n=t.length;r<n;++r)e(t[r])}function n(r,n,i,o){var s=r.getCursor(),a=i(r,s);if(!/\b(?:string|comment)\b/.test(a.type)){var l=t.innerMode(r.getMode(),a.state);if("json"!==l.mode.helperType){a.state=l.state,/^[\w$_]*$/.test(a.string)?a.end>s.ch&&(a.end=s.ch,a.string=a.string.slice(0,s.ch-a.start)):a={start:s.ch,end:s.ch,string:"",state:a.state,type:"."==a.string?"property":null};for(var f=a;"property"==f.type;){if("."!=(f=i(r,e(s.line,f.start))).string)return;if(f=i(r,e(s.line,f.start)),!p)var p=[];p.push(f)}return{list:c(a,p,n,o),from:e(s.line,a.start),to:e(s.line,a.end)}}}}function i(t,e){var r=t.getTokenAt(e);return e.ch==r.start+1&&"."==r.string.charAt(0)?(r.end=r.start,r.string=".",r.type="property"):/^\.[\w$_]*$/.test(r.string)&&(r.type="property",r.start++,r.string=r.string.replace(/\./,"")),r}t.registerHelper("hint","javascript",function(t,e){return n(t,l,function(t,e){return t.getTokenAt(e)},e)}),t.registerHelper("hint","coffeescript",function(t,e){return n(t,f,i,e)});var o="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),s="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),a="prototype apply call bind".split(" "),l="break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield".split(" "),f="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ");function c(t,e,n,i){var l=[],f=t.string,c=i&&i.globalScope||window;function p(t){0!=t.lastIndexOf(f,0)||function(t,e){if(!Array.prototype.indexOf){for(var r=t.length;r--;)if(t[r]===e)return!0;return!1}return-1!=t.indexOf(e)}(l,t)||l.push(t)}function u(t){"string"==typeof t?r(o,p):t instanceof Array?r(s,p):t instanceof Function&&r(a,p),function(t,e){if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var r=t;r;r=Object.getPrototypeOf(r))Object.getOwnPropertyNames(r).forEach(e);else for(var n in t)e(n)}(t,p)}if(e&&e.length){var d,g=e.pop();for(g.type&&0===g.type.indexOf("variable")?(i&&i.additionalContext&&(d=i.additionalContext[g.string]),i&&!1===i.useGlobalScope||(d=d||c[g.string])):"string"==g.type?d="":"atom"==g.type?d=1:"function"==g.type&&(null==c.jQuery||"$"!=g.string&&"jQuery"!=g.string||"function"!=typeof c.jQuery?null!=c._&&"_"==g.string&&"function"==typeof c._&&(d=c._()):d=c.jQuery());null!=d&&e.length;)d=d[e.pop().string];null!=d&&u(d)}else{for(var y=t.state.localVars;y;y=y.next)p(y.name);for(var h=t.state.context;h;h=h.prev)for(y=h.vars;y;y=y.next)p(y.name);for(y=t.state.globalVars;y;y=y.next)p(y.name);if(i&&null!=i.additionalContext)for(var v in i.additionalContext)p(v);i&&!1===i.useGlobalScope||u(c),r(n,p)}return l}});
2883
2921
 
2884
- },{"../../lib/codemirror":697}],697:[function(require,module,exports){
2922
+ },{"../../lib/codemirror":710}],710:[function(require,module,exports){
2885
2923
  !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).CodeMirror=t()}(this,function(){"use strict";var e=navigator.userAgent,t=navigator.platform,r=/gecko\/\d/i.test(e),n=/MSIE \d/.test(e),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),l=n||i||o,s=l&&(n?document.documentMode||6:+(o||i)[1]),a=!o&&/WebKit\//.test(e),u=a&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),h=/Opera\//.test(e),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),p=/PhantomJS/.test(e),g=f&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),v=/Android/.test(e),m=g||v||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=g||/Mac/.test(t),b=/\bCrOS\b/.test(e),w=/win/i.test(t),x=h&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(h=!1,a=!0);var C=y&&(u||h&&(null==x||x<12.11)),S=r||l&&s>=9;function L(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var k,T=function(e,t){var r=e.className,n=L(t).exec(r);if(n){var i=r.slice(n.index+n[0].length);e.className=r.slice(0,n.index)+(i?n[1]+i:"")}};function M(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function N(e,t){return M(e).appendChild(t)}function O(e,t,r,n){var i=document.createElement(e);if(r&&(i.className=r),n&&(i.style.cssText=n),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function A(e,t,r,n){var i=O(e,t,r,n);return i.setAttribute("role","presentation"),i}function D(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function W(){var e;try{e=document.activeElement}catch(t){e=document.body||null}for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function H(e,t){var r=e.className;L(t).test(r)||(e.className+=(r?" ":"")+t)}function F(e,t){for(var r=e.split(" "),n=0;n<r.length;n++)r[n]&&!L(r[n]).test(t)&&(t+=" "+r[n]);return t}k=document.createRange?function(e,t,r,n){var i=document.createRange();return i.setEnd(n||e,r),i.setStart(e,t),i}:function(e,t,r){var n=document.body.createTextRange();try{n.moveToElementText(e.parentNode)}catch(e){return n}return n.collapse(!0),n.moveEnd("character",r),n.moveStart("character",t),n};var P=function(e){e.select()};function E(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function I(e,t,r){for(var n in t||(t={}),e)!e.hasOwnProperty(n)||!1===r&&t.hasOwnProperty(n)||(t[n]=e[n]);return t}function R(e,t,r,n,i){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);for(var o=n||0,l=i||0;;){var s=e.indexOf("\t",o);if(s<0||s>=t)return l+(t-o);l+=s-o,l+=r-l%r,o=s+1}}g?P=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:l&&(P=function(e){try{e.select()}catch(e){}});var z=function(){this.id=null,this.f=null,this.time=0,this.handler=E(this.onTimeout,this)};function B(e,t){for(var r=0;r<e.length;++r)if(e[r]==t)return r;return-1}z.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},z.prototype.set=function(e,t){this.f=t;var r=+new Date+e;(!this.id||r<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=r)};var G=50,U={toString:function(){return"CodeMirror.Pass"}},V={scroll:!1},K={origin:"*mouse"},j={origin:"+move"};function X(e,t,r){for(var n=0,i=0;;){var o=e.indexOf("\t",n);-1==o&&(o=e.length);var l=o-n;if(o==e.length||i+l>=t)return n+Math.min(l,t-i);if(i+=o-n,n=o+1,(i+=r-i%r)>=t)return n}}var Y=[""];function $(e){for(;Y.length<=e;)Y.push(_(Y)+" ");return Y[e]}function _(e){return e[e.length-1]}function q(e,t){for(var r=[],n=0;n<e.length;n++)r[n]=t(e[n],n);return r}function Z(){}function Q(e,t){var r;return Object.create?r=Object.create(e):(Z.prototype=e,r=new Z),t&&I(t,r),r}var J=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function ee(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||J.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function re(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ie(e){return e.charCodeAt(0)>=768&&ne.test(e)}function oe(e,t,r){for(;(r<0?t>0:t<e.length)&&ie(e.charAt(t));)t+=r;return t}function le(e,t,r){for(var n=t>r?-1:1;;){if(t==r)return t;var i=(t+r)/2,o=n<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:r;e(o)?r=o:t=o+n}}var se=null;function ae(e,t,r){var n;se=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&"before"==r?n=i:se=i),o.from==t&&(o.from!=o.to&&"before"!=r?n=i:se=i)}return null!=n?n:se}var ue=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,n=/[stwN]/,i=/[LRr]/,o=/[Lb1n]/,l=/[1n]/;function s(e,t,r){this.level=e,this.from=t,this.to=r}return function(a,u){var c="ltr"==u?"L":"R";if(0==a.length||"ltr"==u&&!r.test(a))return!1;for(var h,f=a.length,d=[],p=0;p<f;++p)d.push((h=a.charCodeAt(p))<=247?e.charAt(h):1424<=h&&h<=1524?"R":1536<=h&&h<=1785?t.charAt(h-1536):1774<=h&&h<=2220?"r":8192<=h&&h<=8203?"w":8204==h?"b":"L");for(var g=0,v=c;g<f;++g){var m=d[g];"m"==m?d[g]=v:v=m}for(var y=0,b=c;y<f;++y){var w=d[y];"1"==w&&"r"==b?d[y]="n":i.test(w)&&(b=w,"r"==w&&(d[y]="R"))}for(var x=1,C=d[0];x<f-1;++x){var S=d[x];"+"==S&&"1"==C&&"1"==d[x+1]?d[x]="1":","!=S||C!=d[x+1]||"1"!=C&&"n"!=C||(d[x]=C),C=S}for(var L=0;L<f;++L){var k=d[L];if(","==k)d[L]="N";else if("%"==k){var T=void 0;for(T=L+1;T<f&&"%"==d[T];++T);for(var M=L&&"!"==d[L-1]||T<f&&"1"==d[T]?"1":"N",N=L;N<T;++N)d[N]=M;L=T-1}}for(var O=0,A=c;O<f;++O){var D=d[O];"L"==A&&"1"==D?d[O]="L":i.test(D)&&(A=D)}for(var W=0;W<f;++W)if(n.test(d[W])){var H=void 0;for(H=W+1;H<f&&n.test(d[H]);++H);for(var F="L"==(W?d[W-1]:c),P=F==("L"==(H<f?d[H]:c))?F?"L":"R":c,E=W;E<H;++E)d[E]=P;W=H-1}for(var I,R=[],z=0;z<f;)if(o.test(d[z])){var B=z;for(++z;z<f&&o.test(d[z]);++z);R.push(new s(0,B,z))}else{var G=z,U=R.length,V="rtl"==u?1:0;for(++z;z<f&&"L"!=d[z];++z);for(var K=G;K<z;)if(l.test(d[K])){G<K&&(R.splice(U,0,new s(1,G,K)),U+=V);var j=K;for(++K;K<z&&l.test(d[K]);++K);R.splice(U,0,new s(2,j,K)),U+=V,G=K}else++K;G<z&&R.splice(U,0,new s(1,G,z))}return"ltr"==u&&(1==R[0].level&&(I=a.match(/^\s+/))&&(R[0].from=I[0].length,R.unshift(new s(0,0,I[0].length))),1==_(R).level&&(I=a.match(/\s+$/))&&(_(R).to-=I[0].length,R.push(new s(0,f-I[0].length,f)))),"rtl"==u?R.reverse():R}}();function ce(e,t){var r=e.order;return null==r&&(r=e.order=ue(e.text,t)),r}var he=[],fe=function(e,t,r){if(e.addEventListener)e.addEventListener(t,r,!1);else if(e.attachEvent)e.attachEvent("on"+t,r);else{var n=e._handlers||(e._handlers={});n[t]=(n[t]||he).concat(r)}};function de(e,t){return e._handlers&&e._handlers[t]||he}function pe(e,t,r){if(e.removeEventListener)e.removeEventListener(t,r,!1);else if(e.detachEvent)e.detachEvent("on"+t,r);else{var n=e._handlers,i=n&&n[t];if(i){var o=B(i,r);o>-1&&(n[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function ge(e,t){var r=de(e,t);if(r.length)for(var n=Array.prototype.slice.call(arguments,2),i=0;i<r.length;++i)r[i].apply(null,n)}function ve(e,t,r){return"string"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),ge(e,r||t.type,e,t),Ce(t)||t.codemirrorIgnore}function me(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var r=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),n=0;n<t.length;++n)-1==B(r,t[n])&&r.push(t[n])}function ye(e,t){return de(e,t).length>0}function be(e){e.prototype.on=function(e,t){fe(this,e,t)},e.prototype.off=function(e,t){pe(this,e,t)}}function we(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ce(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Se(e){we(e),xe(e)}function Le(e){return e.target||e.srcElement}function ke(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var Te,Me,Ne=function(){if(l&&s<9)return!1;var e=O("div");return"draggable"in e||"dragDrop"in e}();function Oe(e){if(null==Te){var t=O("span","​");N(e,O("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Te=t.offsetWidth<=1&&t.offsetHeight>2&&!(l&&s<8))}var r=Te?O("span","​"):O("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return r.setAttribute("cm-text",""),r}function Ae(e){if(null!=Me)return Me;var t=N(e,document.createTextNode("AخA")),r=k(t,0,1).getBoundingClientRect(),n=k(t,1,2).getBoundingClientRect();return M(e),!(!r||r.left==r.right)&&(Me=n.right-r.right<3)}var De,We=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,r=[],n=e.length;t<=n;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),l=o.indexOf("\r");-1!=l?(r.push(o.slice(0,l)),t+=l+1):(r.push(o),t=i+1)}return r}:function(e){return e.split(/\r\n?|\n/)},He=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Fe="oncopy"in(De=O("div"))||(De.setAttribute("oncopy","return;"),"function"==typeof De.oncopy),Pe=null;var Ee={},Ie={};function Re(e){if("string"==typeof e&&Ie.hasOwnProperty(e))e=Ie[e];else if(e&&"string"==typeof e.name&&Ie.hasOwnProperty(e.name)){var t=Ie[e.name];"string"==typeof t&&(t={name:t}),(e=Q(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Re("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Re("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function ze(e,t){t=Re(t);var r=Ee[t.name];if(!r)return ze(e,"text/plain");var n=r(e,t);if(Be.hasOwnProperty(t.name)){var i=Be[t.name];for(var o in i)i.hasOwnProperty(o)&&(n.hasOwnProperty(o)&&(n["_"+o]=n[o]),n[o]=i[o])}if(n.name=t.name,t.helperType&&(n.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)n[l]=t.modeProps[l];return n}var Be={};function Ge(e,t){I(t,Be.hasOwnProperty(e)?Be[e]:Be[e]={})}function Ue(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var r={};for(var n in t){var i=t[n];i instanceof Array&&(i=i.concat([])),r[n]=i}return r}function Ve(e,t){for(var r;e.innerMode&&(r=e.innerMode(t))&&r.mode!=e;)t=r.state,e=r.mode;return r||{mode:e,state:t}}function Ke(e,t,r){return!e.startState||e.startState(t,r)}var je=function(e,t,r){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=r};function Xe(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var r=e;!r.lines;)for(var n=0;;++n){var i=r.children[n],o=i.chunkSize();if(t<o){r=i;break}t-=o}return r.lines[t]}function Ye(e,t,r){var n=[],i=t.line;return e.iter(t.line,r.line+1,function(e){var o=e.text;i==r.line&&(o=o.slice(0,r.ch)),i==t.line&&(o=o.slice(t.ch)),n.push(o),++i}),n}function $e(e,t,r){var n=[];return e.iter(t,r,function(e){n.push(e.text)}),n}function _e(e,t){var r=t-e.height;if(r)for(var n=e;n;n=n.parent)n.height+=r}function qe(e){if(null==e.parent)return null;for(var t=e.parent,r=B(t.lines,e),n=t.parent;n;t=n,n=n.parent)for(var i=0;n.children[i]!=t;++i)r+=n.children[i].chunkSize();return r+t.first}function Ze(e,t){var r=e.first;e:do{for(var n=0;n<e.children.length;++n){var i=e.children[n],o=i.height;if(t<o){e=i;continue e}t-=o,r+=i.chunkSize()}return r}while(!e.lines);for(var l=0;l<e.lines.length;++l){var s=e.lines[l].height;if(t<s)break;t-=s}return r+l}function Qe(e,t){return t>=e.first&&t<e.first+e.size}function Je(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function et(e,t,r){if(void 0===r&&(r=null),!(this instanceof et))return new et(e,t,r);this.line=e,this.ch=t,this.sticky=r}function tt(e,t){return e.line-t.line||e.ch-t.ch}function rt(e,t){return e.sticky==t.sticky&&0==tt(e,t)}function nt(e){return et(e.line,e.ch)}function it(e,t){return tt(e,t)<0?t:e}function ot(e,t){return tt(e,t)<0?e:t}function lt(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function st(e,t){if(t.line<e.first)return et(e.first,0);var r=e.first+e.size-1;return t.line>r?et(r,Xe(e,r).text.length):function(e,t){var r=e.ch;return null==r||r>t?et(e.line,t):r<0?et(e.line,0):e}(t,Xe(e,t.line).text.length)}function at(e,t){for(var r=[],n=0;n<t.length;n++)r[n]=st(e,t[n]);return r}je.prototype.eol=function(){return this.pos>=this.string.length},je.prototype.sol=function(){return this.pos==this.lineStart},je.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},je.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},je.prototype.eat=function(e){var t=this.string.charAt(this.pos);if("string"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},je.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},je.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},je.prototype.skipToEnd=function(){this.pos=this.string.length},je.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},je.prototype.backUp=function(e){this.pos-=e},je.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=R(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?R(this.string,this.lineStart,this.tabSize):0)},je.prototype.indentation=function(){return R(this.string,null,this.tabSize)-(this.lineStart?R(this.string,this.lineStart,this.tabSize):0)},je.prototype.match=function(e,t,r){if("string"!=typeof e){var n=this.string.slice(this.pos).match(e);return n&&n.index>0?null:(n&&!1!==t&&(this.pos+=n[0].length),n)}var i=function(e){return r?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},je.prototype.current=function(){return this.string.slice(this.start,this.pos)},je.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},je.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},je.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ut=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,r,n){this.state=t,this.doc=e,this.line=r,this.maxLookAhead=n||0,this.baseTokens=null,this.baseTokenPos=1};function ht(e,t,r,n){var i=[e.state.modeGen],o={};wt(e,t.text,e.doc.mode,r,function(e,t){return i.push(e,t)},o,n);for(var l=r.state,s=function(n){r.baseTokens=i;var s=e.state.overlays[n],a=1,u=0;r.state=!0,wt(e,t.text,s.mode,r,function(e,t){for(var r=a;u<e;){var n=i[a];n>e&&i.splice(a,1,e,i[a+1],n),a+=2,u=Math.min(e,n)}if(t)if(s.opaque)i.splice(r,a-r,e,"overlay "+t),a=r+2;else for(;r<a;r+=2){var o=i[r+1];i[r+1]=(o?o+" ":"")+"overlay "+t}},o),r.state=l,r.baseTokens=null,r.baseTokenPos=1},a=0;a<e.state.overlays.length;++a)s(a);return{styles:i,classes:o.bgClass||o.textClass?o:null}}function ft(e,t,r){if(!t.styles||t.styles[0]!=e.state.modeGen){var n=dt(e,qe(t)),i=t.text.length>e.options.maxHighlightLength&&Ue(e.doc.mode,n.state),o=ht(e,t,n);i&&(n.state=i),t.stateAfter=n.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),r===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function dt(e,t,r){var n=e.doc,i=e.display;if(!n.mode.startState)return new ct(n,!0,t);var o=function(e,t,r){for(var n,i,o=e.doc,l=r?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>l;--s){if(s<=o.first)return o.first;var a=Xe(o,s-1),u=a.stateAfter;if(u&&(!r||s+(u instanceof ut?u.lookAhead:0)<=o.modeFrontier))return s;var c=R(a.text,null,e.options.tabSize);(null==i||n>c)&&(i=s-1,n=c)}return i}(e,t,r),l=o>n.first&&Xe(n,o-1).stateAfter,s=l?ct.fromSaved(n,l,o):new ct(n,Ke(n.mode),o);return n.iter(o,t,function(r){pt(e,r.text,s);var n=s.line;r.stateAfter=n==t-1||n%5==0||n>=i.viewFrom&&n<i.viewTo?s.save():null,s.nextLine()}),r&&(n.modeFrontier=s.line),s}function pt(e,t,r,n){var i=e.doc.mode,o=new je(t,e.options.tabSize,r);for(o.start=o.pos=n||0,""==t&&gt(i,r.state);!o.eol();)vt(i,o,r.state),o.start=o.pos}function gt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var r=Ve(e,t);return r.mode.blankLine?r.mode.blankLine(r.state):void 0}}function vt(e,t,r,n){for(var i=0;i<10;i++){n&&(n[0]=Ve(e,r).mode);var o=e.token(t,r);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,r){return t instanceof ut?new ct(e,Ue(e.mode,t.state),r,t.lookAhead):new ct(e,Ue(e.mode,t),r)},ct.prototype.save=function(e){var t=!1!==e?Ue(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ut(t,this.maxLookAhead):t};var mt=function(e,t,r){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=r};function yt(e,t,r,n){var i,o,l=e.doc,s=l.mode,a=Xe(l,(t=st(l,t)).line),u=dt(e,t.line,r),c=new je(a.text,e.options.tabSize,u);for(n&&(o=[]);(n||c.pos<t.ch)&&!c.eol();)c.start=c.pos,i=vt(s,c,u.state),n&&o.push(new mt(c,i,Ue(l.mode,u.state)));return n?o:new mt(c,i,u.state)}function bt(e,t){if(e)for(;;){var r=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!r)break;e=e.slice(0,r.index)+e.slice(r.index+r[0].length);var n=r[1]?"bgClass":"textClass";null==t[n]?t[n]=r[2]:new RegExp("(?:^|\\s)"+r[2]+"(?:$|\\s)").test(t[n])||(t[n]+=" "+r[2])}return e}function wt(e,t,r,n,i,o,l){var s=r.flattenSpans;null==s&&(s=e.options.flattenSpans);var a,u=0,c=null,h=new je(t,e.options.tabSize,n),f=e.options.addModeClass&&[null];for(""==t&&bt(gt(r,n.state),o);!h.eol();){if(h.pos>e.options.maxHighlightLength?(s=!1,l&&pt(e,t,n,h.pos),h.pos=t.length,a=null):a=bt(vt(r,h,n.state,f),o),f){var d=f[0].name;d&&(a="m-"+(a?d+" "+a:d))}if(!s||c!=a){for(;u<h.start;)i(u=Math.min(h.start,u+5e3),c);c=a}h.start=h.pos}for(;u<h.pos;){var p=Math.min(h.pos,u+5e3);i(p,c),u=p}}var xt=!1,Ct=!1;function St(e,t,r){this.marker=e,this.from=t,this.to=r}function Lt(e,t){if(e)for(var r=0;r<e.length;++r){var n=e[r];if(n.marker==t)return n}}function kt(e,t){for(var r,n=0;n<e.length;++n)e[n]!=t&&(r||(r=[])).push(e[n]);return r}function Tt(e,t){if(t.full)return null;var r=Qe(e,t.from.line)&&Xe(e,t.from.line).markedSpans,n=Qe(e,t.to.line)&&Xe(e,t.to.line).markedSpans;if(!r&&!n)return null;var i=t.from.ch,o=t.to.ch,l=0==tt(t.from,t.to),s=function(e,t,r){var n;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker;if(null==o.from||(l.inclusiveLeft?o.from<=t:o.from<t)||o.from==t&&"bookmark"==l.type&&(!r||!o.marker.insertLeft)){var s=null==o.to||(l.inclusiveRight?o.to>=t:o.to>t);(n||(n=[])).push(new St(l,o.from,s?null:o.to))}}return n}(r,i,l),a=function(e,t,r){var n;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker;if(null==o.to||(l.inclusiveRight?o.to>=t:o.to>t)||o.from==t&&"bookmark"==l.type&&(!r||o.marker.insertLeft)){var s=null==o.from||(l.inclusiveLeft?o.from<=t:o.from<t);(n||(n=[])).push(new St(l,s?null:o.from-t,null==o.to?null:o.to-t))}}return n}(n,o,l),u=1==t.text.length,c=_(t.text).length+(u?i:0);if(s)for(var h=0;h<s.length;++h){var f=s[h];if(null==f.to){var d=Lt(a,f.marker);d?u&&(f.to=null==d.to?null:d.to+c):f.to=i}}if(a)for(var p=0;p<a.length;++p){var g=a[p];if(null!=g.to&&(g.to+=c),null==g.from)Lt(s,g.marker)||(g.from=c,u&&(s||(s=[])).push(g));else g.from+=c,u&&(s||(s=[])).push(g)}s&&(s=Mt(s)),a&&a!=s&&(a=Mt(a));var v=[s];if(!u){var m,y=t.text.length-2;if(y>0&&s)for(var b=0;b<s.length;++b)null==s[b].to&&(m||(m=[])).push(new St(s[b].marker,null,null));for(var w=0;w<y;++w)v.push(m);v.push(a)}return v}function Mt(e){for(var t=0;t<e.length;++t){var r=e[t];null!=r.from&&r.from==r.to&&!1!==r.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Nt(e){var t=e.markedSpans;if(t){for(var r=0;r<t.length;++r)t[r].marker.detachLine(e);e.markedSpans=null}}function Ot(e,t){if(t){for(var r=0;r<t.length;++r)t[r].marker.attachLine(e);e.markedSpans=t}}function At(e){return e.inclusiveLeft?-1:0}function Dt(e){return e.inclusiveRight?1:0}function Wt(e,t){var r=e.lines.length-t.lines.length;if(0!=r)return r;var n=e.find(),i=t.find(),o=tt(n.from,i.from)||At(e)-At(t);if(o)return-o;var l=tt(n.to,i.to)||Dt(e)-Dt(t);return l||t.id-e.id}function Ht(e,t){var r,n=Ct&&e.markedSpans;if(n)for(var i=void 0,o=0;o<n.length;++o)(i=n[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!r||Wt(r,i.marker)<0)&&(r=i.marker);return r}function Ft(e){return Ht(e,!0)}function Pt(e){return Ht(e,!1)}function Et(e,t){var r,n=Ct&&e.markedSpans;if(n)for(var i=0;i<n.length;++i){var o=n[i];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!r||Wt(r,o.marker)<0)&&(r=o.marker)}return r}function It(e,t,r,n,i){var o=Xe(e,t),l=Ct&&o.markedSpans;if(l)for(var s=0;s<l.length;++s){var a=l[s];if(a.marker.collapsed){var u=a.marker.find(0),c=tt(u.from,r)||At(a.marker)-At(i),h=tt(u.to,n)||Dt(a.marker)-Dt(i);if(!(c>=0&&h<=0||c<=0&&h>=0)&&(c<=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?tt(u.to,r)>=0:tt(u.to,r)>0)||c>=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?tt(u.from,n)<=0:tt(u.from,n)<0)))return!0}}}function Rt(e){for(var t;t=Ft(e);)e=t.find(-1,!0).line;return e}function zt(e,t){var r=Xe(e,t),n=Rt(r);return r==n?t:qe(n)}function Bt(e,t){if(t>e.lastLine())return t;var r,n=Xe(e,t);if(!Gt(e,n))return t;for(;r=Pt(n);)n=r.find(1,!0).line;return qe(n)+1}function Gt(e,t){var r=Ct&&t.markedSpans;if(r)for(var n=void 0,i=0;i<r.length;++i)if((n=r[i]).marker.collapsed){if(null==n.from)return!0;if(!n.marker.widgetNode&&0==n.from&&n.marker.inclusiveLeft&&Ut(e,t,n))return!0}}function Ut(e,t,r){if(null==r.to){var n=r.marker.find(1,!0);return Ut(e,n.line,Lt(n.line.markedSpans,r.marker))}if(r.marker.inclusiveRight&&r.to==t.text.length)return!0;for(var i=void 0,o=0;o<t.markedSpans.length;++o)if((i=t.markedSpans[o]).marker.collapsed&&!i.marker.widgetNode&&i.from==r.to&&(null==i.to||i.to!=r.from)&&(i.marker.inclusiveLeft||r.marker.inclusiveRight)&&Ut(e,t,i))return!0}function Vt(e){for(var t=0,r=(e=Rt(e)).parent,n=0;n<r.lines.length;++n){var i=r.lines[n];if(i==e)break;t+=i.height}for(var o=r.parent;o;o=(r=o).parent)for(var l=0;l<o.children.length;++l){var s=o.children[l];if(s==r)break;t+=s.height}return t}function Kt(e){if(0==e.height)return 0;for(var t,r=e.text.length,n=e;t=Ft(n);){var i=t.find(0,!0);n=i.from.line,r+=i.from.ch-i.to.ch}for(n=e;t=Pt(n);){var o=t.find(0,!0);r-=n.text.length-o.from.ch,r+=(n=o.to.line).text.length-o.to.ch}return r}function jt(e){var t=e.display,r=e.doc;t.maxLine=Xe(r,r.first),t.maxLineLength=Kt(t.maxLine),t.maxLineChanged=!0,r.iter(function(e){var r=Kt(e);r>t.maxLineLength&&(t.maxLineLength=r,t.maxLine=e)})}var Xt=function(e,t,r){this.text=e,Ot(this,t),this.height=r?r(this):1};function Yt(e){e.parent=null,Nt(e)}Xt.prototype.lineNo=function(){return qe(this)},be(Xt);var $t={},_t={};function qt(e,t){if(!e||/^\s*$/.test(e))return null;var r=t.addModeClass?_t:$t;return r[e]||(r[e]=e.replace(/\S+/g,"cm-$&"))}function Zt(e,t){var r=A("span",null,null,a?"padding-right: .1px":null),n={pre:A("pre",[r],"CodeMirror-line"),content:r,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,l=void 0;n.pos=0,n.addToken=Jt,Ae(e.display.measure)&&(l=ce(o,e.doc.direction))&&(n.addToken=er(n.addToken,l)),n.map=[],rr(o,n,ft(e,o,t!=e.display.externalMeasured&&qe(o))),o.styleClasses&&(o.styleClasses.bgClass&&(n.bgClass=F(o.styleClasses.bgClass,n.bgClass||"")),o.styleClasses.textClass&&(n.textClass=F(o.styleClasses.textClass,n.textClass||""))),0==n.map.length&&n.map.push(0,0,n.content.appendChild(Oe(e.display.measure))),0==i?(t.measure.map=n.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(n.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(a){var s=n.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(n.content.className="cm-tab-wrap-hack")}return ge(e,"renderLine",e,t.line,n.pre),n.pre.className&&(n.textClass=F(n.pre.className,n.textClass||"")),n}function Qt(e){var t=O("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Jt(e,t,r,n,i,o,a){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var r=t,n="",i=0;i<e.length;i++){var o=e.charAt(i);" "!=o||!r||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=" "),n+=o,r=" "==o}return n}(t,e.trailingSpace):t,h=e.cm.state.specialChars,f=!1;if(h.test(t)){u=document.createDocumentFragment();for(var d=0;;){h.lastIndex=d;var p=h.exec(t),g=p?p.index-d:t.length-d;if(g){var v=document.createTextNode(c.slice(d,d+g));l&&s<9?u.appendChild(O("span",[v])):u.appendChild(v),e.map.push(e.pos,e.pos+g,v),e.col+=g,e.pos+=g}if(!p)break;d+=g+1;var m=void 0;if("\t"==p[0]){var y=e.cm.options.tabSize,b=y-e.col%y;(m=u.appendChild(O("span",$(b),"cm-tab"))).setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),e.col+=b}else"\r"==p[0]||"\n"==p[0]?((m=u.appendChild(O("span","\r"==p[0]?"␍":"␤","cm-invalidchar"))).setAttribute("cm-text",p[0]),e.col+=1):((m=e.cm.options.specialCharPlaceholder(p[0])).setAttribute("cm-text",p[0]),l&&s<9?u.appendChild(O("span",[m])):u.appendChild(m),e.col+=1);e.map.push(e.pos,e.pos+1,m),e.pos++}}else e.col+=t.length,u=document.createTextNode(c),e.map.push(e.pos,e.pos+t.length,u),l&&s<9&&(f=!0),e.pos+=t.length;if(e.trailingSpace=32==c.charCodeAt(t.length-1),r||n||i||f||o||a){var w=r||"";n&&(w+=n),i&&(w+=i);var x=O("span",[u],w,o);if(a)for(var C in a)a.hasOwnProperty(C)&&"style"!=C&&"class"!=C&&x.setAttribute(C,a[C]);return e.content.appendChild(x)}e.content.appendChild(u)}}function er(e,t){return function(r,n,i,o,l,s,a){i=i?i+" cm-force-border":"cm-force-border";for(var u=r.pos,c=u+n.length;;){for(var h=void 0,f=0;f<t.length&&!((h=t[f]).to>u&&h.from<=u);f++);if(h.to>=c)return e(r,n,i,o,l,s,a);e(r,n.slice(0,h.to-u),i,o,null,s,a),o=null,n=n.slice(h.to-u),u=h.to}}}function tr(e,t,r,n){var i=!n&&r.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!n&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",r.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function rr(e,t,r){var n=e.markedSpans,i=e.text,o=0;if(n)for(var l,s,a,u,c,h,f,d=i.length,p=0,g=1,v="",m=0;;){if(m==p){a=u=c=s="",f=null,h=null,m=1/0;for(var y=[],b=void 0,w=0;w<n.length;++w){var x=n[w],C=x.marker;if("bookmark"==C.type&&x.from==p&&C.widgetNode)y.push(C);else if(x.from<=p&&(null==x.to||x.to>p||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&m>x.to&&(m=x.to,u=""),C.className&&(a+=" "+C.className),C.css&&(s=(s?s+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==m&&(b||(b=[])).push(C.endStyle,x.to),C.title&&((f||(f={})).title=C.title),C.attributes)for(var S in C.attributes)(f||(f={}))[S]=C.attributes[S];C.collapsed&&(!h||Wt(h.marker,C)<0)&&(h=x)}else x.from>p&&m>x.from&&(m=x.from)}if(b)for(var L=0;L<b.length;L+=2)b[L+1]==m&&(u+=" "+b[L]);if(!h||h.from==p)for(var k=0;k<y.length;++k)tr(t,0,y[k]);if(h&&(h.from||0)==p){if(tr(t,(null==h.to?d+1:h.to)-p,h.marker,null==h.from),null==h.to)return;h.to==p&&(h=!1)}}if(p>=d)break;for(var T=Math.min(d,m);;){if(v){var M=p+v.length;if(!h){var N=M>T?v.slice(0,T-p):v;t.addToken(t,N,l?l+a:a,c,p+N.length==m?u:"",s,f)}if(M>=T){v=v.slice(T-p),p=T;break}p=M,c=""}v=i.slice(o,o=r[g++]),l=qt(r[g++],t.cm.options)}}else for(var O=1;O<r.length;O+=2)t.addToken(t,i.slice(o,o=r[O]),qt(r[O+1],t.cm.options))}function nr(e,t,r){this.line=t,this.rest=function(e){for(var t,r;t=Pt(e);)e=t.find(1,!0).line,(r||(r=[])).push(e);return r}(t),this.size=this.rest?qe(_(this.rest))-r+1:1,this.node=this.text=null,this.hidden=Gt(e,t)}function ir(e,t,r){for(var n,i=[],o=t;o<r;o=n){var l=new nr(e.doc,Xe(e.doc,o),o);n=o+l.size,i.push(l)}return i}var or=null;var lr=null;function sr(e,t){var r=de(e,t);if(r.length){var n,i=Array.prototype.slice.call(arguments,2);or?n=or.delayedCallbacks:lr?n=lr:(n=lr=[],setTimeout(ar,0));for(var o=function(e){n.push(function(){return r[e].apply(null,i)})},l=0;l<r.length;++l)o(l)}}function ar(){var e=lr;lr=null;for(var t=0;t<e.length;++t)e[t]()}function ur(e,t,r,n){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];"text"==o?fr(e,t):"gutter"==o?pr(e,t,r,n):"class"==o?dr(e,t):"widget"==o&&gr(e,t,n)}t.changes=null}function cr(e){return e.node==e.text&&(e.node=O("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),l&&s<8&&(e.node.style.zIndex=2)),e.node}function hr(e,t){var r=e.display.externalMeasured;return r&&r.line==t.line?(e.display.externalMeasured=null,t.measure=r.measure,r.built):Zt(e,t)}function fr(e,t){var r=t.text.className,n=hr(e,t);t.text==t.node&&(t.node=n.pre),t.text.parentNode.replaceChild(n.pre,t.text),t.text=n.pre,n.bgClass!=t.bgClass||n.textClass!=t.textClass?(t.bgClass=n.bgClass,t.textClass=n.textClass,dr(e,t)):r&&(t.text.className=r)}function dr(e,t){!function(e,t){var r=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(r&&(r+=" CodeMirror-linebackground"),t.background)r?t.background.className=r:(t.background.parentNode.removeChild(t.background),t.background=null);else if(r){var n=cr(t);t.background=n.insertBefore(O("div",null,r),n.firstChild),e.display.input.setUneditable(t.background)}}(e,t),t.line.wrapClass?cr(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var r=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=r||""}function pr(e,t,r,n){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=cr(t);t.gutterBackground=O("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?n.fixedPos:-n.gutterTotalWidth)+"px; width: "+n.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var l=cr(t),s=t.gutter=O("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?n.fixedPos:-n.gutterTotalWidth)+"px");if(s.setAttribute("aria-hidden","true"),e.display.input.setUneditable(s),l.insertBefore(s,t.text),t.line.gutterClass&&(s.className+=" "+t.line.gutterClass),!e.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(t.lineNumber=s.appendChild(O("div",Je(e.options,r),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+n.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var a=0;a<e.display.gutterSpecs.length;++a){var u=e.display.gutterSpecs[a].className,c=o.hasOwnProperty(u)&&o[u];c&&s.appendChild(O("div",[c],"CodeMirror-gutter-elt","left: "+n.gutterLeft[u]+"px; width: "+n.gutterWidth[u]+"px"))}}}function gr(e,t,r){t.alignable&&(t.alignable=null);for(var n=L("CodeMirror-linewidget"),i=t.node.firstChild,o=void 0;i;i=o)o=i.nextSibling,n.test(i.className)&&t.node.removeChild(i);mr(e,t,r)}function vr(e,t,r,n){var i=hr(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),dr(e,t),pr(e,t,r,n),mr(e,t,n),t.node}function mr(e,t,r){if(yr(e,t.line,t,r,!0),t.rest)for(var n=0;n<t.rest.length;n++)yr(e,t.rest[n],t,r,!1)}function yr(e,t,r,n,i){if(t.widgets)for(var o=cr(r),l=0,s=t.widgets;l<s.length;++l){var a=s[l],u=O("div",[a.node],"CodeMirror-linewidget"+(a.className?" "+a.className:""));a.handleMouseEvents||u.setAttribute("cm-ignore-events","true"),br(a,u,r,n),e.display.input.setUneditable(u),i&&a.above?o.insertBefore(u,r.gutter||r.text):o.appendChild(u),sr(a,"redraw")}}function br(e,t,r,n){if(e.noHScroll){(r.alignable||(r.alignable=[])).push(t);var i=n.wrapperWidth;t.style.left=n.fixedPos+"px",e.coverGutter||(i-=n.gutterTotalWidth,t.style.paddingLeft=n.gutterTotalWidth+"px"),t.style.width=i+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-n.gutterTotalWidth+"px"))}function wr(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!D(document.body,e.node)){var r="position: relative;";e.coverGutter&&(r+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(r+="width: "+t.display.wrapper.clientWidth+"px;"),N(t.display.measure,O("div",[e.node],null,r))}return e.height=e.node.parentNode.offsetHeight}function xr(e,t){for(var r=Le(t);r!=e.wrapper;r=r.parentNode)if(!r||1==r.nodeType&&"true"==r.getAttribute("cm-ignore-events")||r.parentNode==e.sizer&&r!=e.mover)return!0}function Cr(e){return e.lineSpace.offsetTop}function Sr(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Lr(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=N(e.measure,O("pre","x","CodeMirror-line-like")),r=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,n={left:parseInt(r.paddingLeft),right:parseInt(r.paddingRight)};return isNaN(n.left)||isNaN(n.right)||(e.cachedPaddingH=n),n}function kr(e){return G-e.display.nativeBarWidth}function Tr(e){return e.display.scroller.clientWidth-kr(e)-e.display.barWidth}function Mr(e){return e.display.scroller.clientHeight-kr(e)-e.display.barHeight}function Nr(e,t,r){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var n=0;n<e.rest.length;n++)if(e.rest[n]==t)return{map:e.measure.maps[n],cache:e.measure.caches[n]};for(var i=0;i<e.rest.length;i++)if(qe(e.rest[i])>r)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function Or(e,t,r,n){return Wr(e,Dr(e,t),r,n)}function Ar(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[an(e,t)];var r=e.display.externalMeasured;return r&&t>=r.lineN&&t<r.lineN+r.size?r:void 0}function Dr(e,t){var r=qe(t),n=Ar(e,r);n&&!n.text?n=null:n&&n.changes&&(ur(e,n,r,rn(e)),e.curOp.forceUpdate=!0),n||(n=function(e,t){var r=qe(t=Rt(t)),n=e.display.externalMeasured=new nr(e.doc,t,r);n.lineN=r;var i=n.built=Zt(e,n);return n.text=i.pre,N(e.display.lineMeasure,i.pre),n}(e,t));var i=Nr(n,t,r);return{line:t,view:n,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function Wr(e,t,r,n,i){t.before&&(r=-1);var o,a=r+(n||"");return t.cache.hasOwnProperty(a)?o=t.cache[a]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(!function(e,t,r){var n=e.options.lineWrapping,i=n&&Tr(e);if(!t.measure.heights||n&&t.measure.width!=i){var o=t.measure.heights=[];if(n){t.measure.width=i;for(var l=t.text.firstChild.getClientRects(),s=0;s<l.length-1;s++){var a=l[s],u=l[s+1];Math.abs(a.bottom-u.bottom)>2&&o.push((a.bottom+u.top)/2-r.top)}}o.push(r.bottom-r.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,r,n){var i,o=Pr(t.map,r,n),a=o.node,u=o.start,c=o.end,h=o.collapse;if(3==a.nodeType){for(var f=0;f<4;f++){for(;u&&ie(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c<o.coverEnd&&ie(t.line.text.charAt(o.coverStart+c));)++c;if((i=l&&s<9&&0==u&&c==o.coverEnd-o.coverStart?a.parentNode.getBoundingClientRect():Er(k(a,u,c).getClientRects(),n)).left||i.right||0==u)break;c=u,u-=1,h="right"}l&&s<11&&(i=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=Pe)return Pe;var t=N(e,O("span","x")),r=t.getBoundingClientRect(),n=k(t,0,1).getBoundingClientRect();return Pe=Math.abs(r.left-n.left)>1}(e))return t;var r=screen.logicalXDPI/screen.deviceXDPI,n=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*r,right:t.right*r,top:t.top*n,bottom:t.bottom*n}}(e.display.measure,i))}else{var d;u>0&&(h=n="right"),i=e.options.lineWrapping&&(d=a.getClientRects()).length>1?d["right"==n?d.length-1:0]:a.getBoundingClientRect()}if(l&&s<9&&!u&&(!i||!i.left&&!i.right)){var p=a.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+tn(e.display),top:p.top,bottom:p.bottom}:Fr}for(var g=i.top-t.rect.top,v=i.bottom-t.rect.top,m=(g+v)/2,y=t.view.measure.heights,b=0;b<y.length-1&&!(m<y[b]);b++);var w=b?y[b-1]:0,x=y[b],C={left:("right"==h?i.right:i.left)-t.rect.left,right:("left"==h?i.left:i.right)-t.rect.left,top:w,bottom:x};i.left||i.right||(C.bogus=!0);e.options.singleCursorHeightPerLine||(C.rtop=g,C.rbottom=v);return C}(e,t,r,n)).bogus||(t.cache[a]=o)),{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}var Hr,Fr={left:0,right:0,top:0,bottom:0};function Pr(e,t,r){for(var n,i,o,l,s,a,u=0;u<e.length;u+=3)if(s=e[u],a=e[u+1],t<s?(i=0,o=1,l="left"):t<a?o=(i=t-s)+1:(u==e.length-3||t==a&&e[u+3]>t)&&(i=(o=a-s)-1,t>=a&&(l="right")),null!=i){if(n=e[u+2],s==a&&r==(n.insertLeft?"left":"right")&&(l=r),"left"==r&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)n=e[2+(u-=3)],l="left";if("right"==r&&i==a-s)for(;u<e.length-3&&e[u+3]==e[u+4]&&!e[u+5].insertLeft;)n=e[(u+=3)+2],l="right";break}return{node:n,start:i,end:o,collapse:l,coverStart:s,coverEnd:a}}function Er(e,t){var r=Fr;if("left"==t)for(var n=0;n<e.length&&(r=e[n]).left==r.right;n++);else for(var i=e.length-1;i>=0&&(r=e[i]).left==r.right;i--);return r}function Ir(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Rr(e){e.display.externalMeasure=null,M(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Ir(e.display.view[t])}function zr(e){Rr(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Br(){return c&&v?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Gr(){return c&&v?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Ur(e){var t=Rt(e).widgets,r=0;if(t)for(var n=0;n<t.length;++n)t[n].above&&(r+=wr(t[n]));return r}function Vr(e,t,r,n,i){if(!i){var o=Ur(t);r.top+=o,r.bottom+=o}if("line"==n)return r;n||(n="local");var l=Vt(t);if("local"==n?l+=Cr(e.display):l-=e.display.viewOffset,"page"==n||"window"==n){var s=e.display.lineSpace.getBoundingClientRect();l+=s.top+("window"==n?0:Gr());var a=s.left+("window"==n?0:Br());r.left+=a,r.right+=a}return r.top+=l,r.bottom+=l,r}function Kr(e,t,r){if("div"==r)return t;var n=t.left,i=t.top;if("page"==r)n-=Br(),i-=Gr();else if("local"==r||!r){var o=e.display.sizer.getBoundingClientRect();n+=o.left,i+=o.top}var l=e.display.lineSpace.getBoundingClientRect();return{left:n-l.left,top:i-l.top}}function jr(e,t,r,n,i){return n||(n=Xe(e.doc,t.line)),Vr(e,n,Or(e,n,t.ch,i),r)}function Xr(e,t,r,n,i,o){function l(t,l){var s=Wr(e,i,t,l?"right":"left",o);return l?s.left=s.right:s.right=s.left,Vr(e,n,s,r)}n=n||Xe(e.doc,t.line),i||(i=Dr(e,n));var s=ce(n,e.doc.direction),a=t.ch,u=t.sticky;if(a>=n.text.length?(a=n.text.length,u="before"):a<=0&&(a=0,u="after"),!s)return l("before"==u?a-1:a,"before"==u);function c(e,t,r){return l(r?e-1:e,1==s[t].level!=r)}var h=ae(s,a,u),f=se,d=c(a,h,"before"==u);return null!=f&&(d.other=c(a,f,"before"!=u)),d}function Yr(e,t){var r=0;t=st(e.doc,t),e.options.lineWrapping||(r=tn(e.display)*t.ch);var n=Xe(e.doc,t.line),i=Vt(n)+Cr(e.display);return{left:r,right:r,top:i,bottom:i+n.height}}function $r(e,t,r,n,i){var o=et(e,t,r);return o.xRel=i,n&&(o.outside=n),o}function _r(e,t,r){var n=e.doc;if((r+=e.display.viewOffset)<0)return $r(n.first,0,null,-1,-1);var i=Ze(n,r),o=n.first+n.size-1;if(i>o)return $r(n.first+n.size-1,Xe(n,o).text.length,null,1,1);t<0&&(t=0);for(var l=Xe(n,i);;){var s=Jr(e,l,i,t,r),a=Et(l,s.ch+(s.xRel>0||s.outside>0?1:0));if(!a)return s;var u=a.find(1);if(u.line==i)return u;l=Xe(n,i=u.line)}}function qr(e,t,r,n){n-=Ur(t);var i=t.text.length,o=le(function(t){return Wr(e,r,t-1).bottom<=n},i,0);return{begin:o,end:i=le(function(t){return Wr(e,r,t).top>n},o,i)}}function Zr(e,t,r,n){return r||(r=Dr(e,t)),qr(e,t,r,Vr(e,t,Wr(e,r,n),"line").top)}function Qr(e,t,r,n){return!(e.bottom<=r)&&(e.top>r||(n?e.left:e.right)>t)}function Jr(e,t,r,n,i){i-=Vt(t);var o=Dr(e,t),l=Ur(t),s=0,a=t.text.length,u=!0,c=ce(t,e.doc.direction);if(c){var h=(e.options.lineWrapping?function(e,t,r,n,i,o,l){var s=qr(e,t,n,l),a=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,h=null,f=0;f<i.length;f++){var d=i[f];if(!(d.from>=u||d.to<=a)){var p=1!=d.level,g=Wr(e,n,p?Math.min(u,d.to)-1:Math.max(a,d.from)).right,v=g<o?o-g+1e9:g-o;(!c||h>v)&&(c=d,h=v)}}c||(c=i[i.length-1]);c.from<a&&(c={from:a,to:c.to,level:c.level});c.to>u&&(c={from:c.from,to:u,level:c.level});return c}:function(e,t,r,n,i,o,l){var s=le(function(s){var a=i[s],u=1!=a.level;return Qr(Xr(e,et(r,u?a.to:a.from,u?"before":"after"),"line",t,n),o,l,!0)},0,i.length-1),a=i[s];if(s>0){var u=1!=a.level,c=Xr(e,et(r,u?a.from:a.to,u?"after":"before"),"line",t,n);Qr(c,o,l,!0)&&c.top>l&&(a=i[s-1])}return a})(e,t,r,o,c,n,i);s=(u=1!=h.level)?h.from:h.to-1,a=u?h.to:h.from-1}var f,d,p=null,g=null,v=le(function(t){var r=Wr(e,o,t);return r.top+=l,r.bottom+=l,!!Qr(r,n,i,!1)&&(r.top<=i&&r.left<=n&&(p=t,g=r),!0)},s,a),m=!1;if(g){var y=n-g.left<g.right-n,b=y==u;v=p+(b?0:1),d=b?"after":"before",f=y?g.left:g.right}else{u||v!=a&&v!=s||v++,d=0==v?"after":v==t.text.length?"before":Wr(e,o,v-(u?1:0)).bottom+l<=i==u?"after":"before";var w=Xr(e,et(r,v,d),"line",t,o);f=w.left,m=i<w.top?-1:i>=w.bottom?1:0}return $r(r,v=oe(t.text,v,1),d,m,n-f)}function en(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Hr){Hr=O("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Hr.appendChild(document.createTextNode("x")),Hr.appendChild(O("br"));Hr.appendChild(document.createTextNode("x"))}N(e.measure,Hr);var r=Hr.offsetHeight/50;return r>3&&(e.cachedTextHeight=r),M(e.measure),r||1}function tn(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=O("span","xxxxxxxxxx"),r=O("pre",[t],"CodeMirror-line-like");N(e.measure,r);var n=t.getBoundingClientRect(),i=(n.right-n.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function rn(e){for(var t=e.display,r={},n={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var s=e.display.gutterSpecs[l].className;r[s]=o.offsetLeft+o.clientLeft+i,n[s]=o.clientWidth}return{fixedPos:nn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:r,gutterWidth:n,wrapperWidth:t.wrapper.clientWidth}}function nn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function on(e){var t=en(e.display),r=e.options.lineWrapping,n=r&&Math.max(5,e.display.scroller.clientWidth/tn(e.display)-3);return function(i){if(Gt(e.doc,i))return 0;var o=0;if(i.widgets)for(var l=0;l<i.widgets.length;l++)i.widgets[l].height&&(o+=i.widgets[l].height);return r?o+(Math.ceil(i.text.length/n)||1)*t:o+t}}function ln(e){var t=e.doc,r=on(e);t.iter(function(e){var t=r(e);t!=e.height&&_e(e,t)})}function sn(e,t,r,n){var i=e.display;if(!r&&"true"==Le(t).getAttribute("cm-not-content"))return null;var o,l,s=i.lineSpace.getBoundingClientRect();try{o=t.clientX-s.left,l=t.clientY-s.top}catch(e){return null}var a,u=_r(e,o,l);if(n&&u.xRel>0&&(a=Xe(e.doc,u.line).text).length==u.ch){var c=R(a,a.length,e.options.tabSize)-a.length;u=et(u.line,Math.max(0,Math.round((o-Lr(e.display).left)/tn(e.display))-c))}return u}function an(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var r=e.display.view,n=0;n<r.length;n++)if((t-=r[n].size)<0)return n}function un(e,t,r,n){null==t&&(t=e.doc.first),null==r&&(r=e.doc.first+e.doc.size),n||(n=0);var i=e.display;if(n&&r<i.viewTo&&(null==i.updateLineNumbers||i.updateLineNumbers>t)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Ct&&zt(e.doc,t)<i.viewTo&&hn(e);else if(r<=i.viewFrom)Ct&&Bt(e.doc,r+n)>i.viewFrom?hn(e):(i.viewFrom+=n,i.viewTo+=n);else if(t<=i.viewFrom&&r>=i.viewTo)hn(e);else if(t<=i.viewFrom){var o=fn(e,r,r+n,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=n):hn(e)}else if(r>=i.viewTo){var l=fn(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):hn(e)}else{var s=fn(e,t,t,-1),a=fn(e,r,r+n,1);s&&a?(i.view=i.view.slice(0,s.index).concat(ir(e,s.lineN,a.lineN)).concat(i.view.slice(a.index)),i.viewTo+=n):hn(e)}var u=i.externalMeasured;u&&(r<u.lineN?u.lineN+=n:t<u.lineN+u.size&&(i.externalMeasured=null))}function cn(e,t,r){e.curOp.viewChanged=!0;var n=e.display,i=e.display.externalMeasured;if(i&&t>=i.lineN&&t<i.lineN+i.size&&(n.externalMeasured=null),!(t<n.viewFrom||t>=n.viewTo)){var o=n.view[an(e,t)];if(null!=o.node){var l=o.changes||(o.changes=[]);-1==B(l,r)&&l.push(r)}}}function hn(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function fn(e,t,r,n){var i,o=an(e,t),l=e.display.view;if(!Ct||r==e.doc.first+e.doc.size)return{index:o,lineN:r};for(var s=e.display.viewFrom,a=0;a<o;a++)s+=l[a].size;if(s!=t){if(n>0){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,r+=i}for(;zt(e.doc,r)!=r;){if(o==(n<0?0:l.length-1))return null;r+=n*l[o-(n<0?1:0)].size,o+=n}return{index:o,lineN:r}}function dn(e){for(var t=e.display.view,r=0,n=0;n<t.length;n++){var i=t[n];i.hidden||i.node&&!i.changes||++r}return r}function pn(e){e.display.input.showSelection(e.display.input.prepareSelection())}function gn(e,t){void 0===t&&(t=!0);var r=e.doc,n={},i=n.cursors=document.createDocumentFragment(),o=n.selection=document.createDocumentFragment(),l=e.options.$customCursor;l&&(t=!0);for(var s=0;s<r.sel.ranges.length;s++)if(t||s!=r.sel.primIndex){var a=r.sel.ranges[s];if(!(a.from().line>=e.display.viewTo||a.to().line<e.display.viewFrom)){var u=a.empty();if(l){var c=l(e,a);c&&vn(e,c,i)}else(u||e.options.showCursorWhenSelecting)&&vn(e,a.head,i);u||yn(e,a,o)}}return n}function vn(e,t,r){var n=Xr(e,t,"div",null,null,!e.options.singleCursorHeightPerLine),i=r.appendChild(O("div"," ","CodeMirror-cursor"));if(i.style.left=n.left+"px",i.style.top=n.top+"px",i.style.height=Math.max(0,n.bottom-n.top)*e.options.cursorHeight+"px",/\bcm-fat-cursor\b/.test(e.getWrapperElement().className)){var o=jr(e,t,"div",null,null),l=o.right-o.left;i.style.width=(l>0?l:e.defaultCharWidth())+"px"}if(n.other){var s=r.appendChild(O("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));s.style.display="",s.style.left=n.other.left+"px",s.style.top=n.other.top+"px",s.style.height=.85*(n.other.bottom-n.other.top)+"px"}}function mn(e,t){return e.top-t.top||e.left-t.left}function yn(e,t,r){var n=e.display,i=e.doc,o=document.createDocumentFragment(),l=Lr(e.display),s=l.left,a=Math.max(n.sizerWidth,Tr(e)-n.sizer.offsetLeft)-l.right,u="ltr"==i.direction;function c(e,t,r,n){t<0&&(t=0),t=Math.round(t),n=Math.round(n),o.appendChild(O("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==r?a-e:r)+"px;\n height: "+(n-t)+"px"))}function h(t,r,n){var o,l,h=Xe(i,t),f=h.text.length;function d(r,n){return jr(e,et(t,r),"div",h,n)}function p(t,r,n){var i=Zr(e,h,null,t),o="ltr"==r==("after"==n)?"left":"right";return d("after"==n?i.begin:i.end-(/\s/.test(h.text.charAt(i.end-1))?2:1),o)[o]}var g=ce(h,i.direction);return function(e,t,r,n){if(!e)return n(t,r,"ltr",0);for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<r&&l.to>t||t==r&&l.to==t)&&(n(Math.max(l.from,t),Math.min(l.to,r),1==l.level?"rtl":"ltr",o),i=!0)}i||n(t,r,"ltr")}(g,r||0,null==n?f:n,function(e,t,i,h){var v="ltr"==i,m=d(e,v?"left":"right"),y=d(t-1,v?"right":"left"),b=null==r&&0==e,w=null==n&&t==f,x=0==h,C=!g||h==g.length-1;if(y.top-m.top<=3){var S=(u?w:b)&&C,L=(u?b:w)&&x?s:(v?m:y).left,k=S?a:(v?y:m).right;c(L,m.top,k-L,m.bottom)}else{var T,M,N,O;v?(T=u&&b&&x?s:m.left,M=u?a:p(e,i,"before"),N=u?s:p(t,i,"after"),O=u&&w&&C?a:y.right):(T=u?p(e,i,"before"):s,M=!u&&b&&x?a:m.right,N=!u&&w&&C?s:y.left,O=u?p(t,i,"after"):a),c(T,m.top,M-T,m.bottom),m.bottom<y.top&&c(s,m.bottom,null,y.top),c(N,y.top,O-N,y.bottom)}(!o||mn(m,o)<0)&&(o=m),mn(y,o)<0&&(o=y),(!l||mn(m,l)<0)&&(l=m),mn(y,l)<0&&(l=y)}),{start:o,end:l}}var f=t.from(),d=t.to();if(f.line==d.line)h(f.line,f.ch,d.ch);else{var p=Xe(i,f.line),g=Xe(i,d.line),v=Rt(p)==Rt(g),m=h(f.line,f.ch,v?p.text.length+1:null).end,y=h(d.line,v?0:null,d.ch).start;v&&(m.top<y.top-2?(c(m.right,m.top,null,m.bottom),c(s,y.top,y.left,y.bottom)):c(m.right,m.top,y.left-m.right,m.bottom)),m.bottom<y.top&&c(s,m.bottom,null,y.top)}r.appendChild(o)}function bn(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var r=!0;t.cursorDiv.style.visibility="",e.options.cursorBlinkRate>0?t.blinker=setInterval(function(){e.hasFocus()||Sn(e),t.cursorDiv.style.visibility=(r=!r)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function wn(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Cn(e))}function xn(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Sn(e))},100)}function Cn(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(ge(e,"focus",e,t),e.state.focused=!0,H(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),a&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),bn(e))}function Sn(e,t){e.state.delayingBlurEvent||(e.state.focused&&(ge(e,"blur",e,t),e.state.focused=!1,T(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function Ln(e){for(var t=e.display,r=t.lineDiv.offsetTop,n=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,o=0,a=0;a<t.view.length;a++){var u=t.view[a],c=e.options.lineWrapping,h=void 0,f=0;if(!u.hidden){if(i+=u.line.height,l&&s<8){var d=u.node.offsetTop+u.node.offsetHeight;h=d-r,r=d}else{var p=u.node.getBoundingClientRect();h=p.bottom-p.top,!c&&u.text.firstChild&&(f=u.text.firstChild.getBoundingClientRect().right-p.left-1)}var g=u.line.height-h;if((g>.005||g<-.005)&&(i<n&&(o-=g),_e(u.line,h),kn(u.line),u.rest))for(var v=0;v<u.rest.length;v++)kn(u.rest[v]);if(f>e.display.sizerWidth){var m=Math.ceil(f/tn(e.display));m>e.display.maxLineLength&&(e.display.maxLineLength=m,e.display.maxLine=u.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}function kn(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var r=e.widgets[t],n=r.node.parentNode;n&&(r.height=n.offsetHeight)}}function Tn(e,t,r){var n=r&&null!=r.top?Math.max(0,r.top):e.scroller.scrollTop;n=Math.floor(n-Cr(e));var i=r&&null!=r.bottom?r.bottom:n+e.wrapper.clientHeight,o=Ze(t,n),l=Ze(t,i);if(r&&r.ensure){var s=r.ensure.from.line,a=r.ensure.to.line;s<o?(o=s,l=Ze(t,Vt(Xe(t,s))+e.wrapper.clientHeight)):Math.min(a,t.lastLine())>=l&&(o=Ze(t,Vt(Xe(t,a))-e.wrapper.clientHeight),l=a)}return{from:o,to:Math.max(l,o+1)}}function Mn(e,t){var r=e.display,n=en(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:r.scroller.scrollTop,o=Mr(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Sr(r),a=t.top<n,u=t.bottom>s-n;if(t.top<i)l.scrollTop=a?0:t.top;else if(t.bottom>i+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=i&&(l.scrollTop=c)}var h=e.options.fixedGutter?0:r.gutters.offsetWidth,f=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:r.scroller.scrollLeft-h,d=Tr(e)-r.gutters.offsetWidth,p=t.right-t.left>d;return p&&(t.right=t.left+d),t.left<10?l.scrollLeft=0:t.left<f?l.scrollLeft=Math.max(0,t.left+h-(p?0:10)):t.right>d+f-3&&(l.scrollLeft=t.right+(p?0:10)-d),l}function Nn(e,t){null!=t&&(Dn(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function On(e){Dn(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function An(e,t,r){null==t&&null==r||Dn(e),null!=t&&(e.curOp.scrollLeft=t),null!=r&&(e.curOp.scrollTop=r)}function Dn(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Wn(e,Yr(e,t.from),Yr(e,t.to),t.margin))}function Wn(e,t,r,n){var i=Mn(e,{left:Math.min(t.left,r.left),top:Math.min(t.top,r.top)-n,right:Math.max(t.right,r.right),bottom:Math.max(t.bottom,r.bottom)+n});An(e,i.scrollLeft,i.scrollTop)}function Hn(e,t){Math.abs(e.doc.scrollTop-t)<2||(r||oi(e,{top:t}),Fn(e,t,!0),r&&oi(e),ei(e,100))}function Fn(e,t,r){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||r)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Pn(e,t,r,n){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(r?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!n||(e.doc.scrollLeft=t,ai(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function En(e){var t=e.display,r=t.gutters.offsetWidth,n=Math.round(e.doc.height+Sr(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?r:0,docHeight:n,scrollHeight:n+kr(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:r}}var In=function(e,t,r){this.cm=r;var n=this.vert=O("div",[O("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=O("div",[O("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");n.tabIndex=i.tabIndex=-1,e(n),e(i),fe(n,"scroll",function(){n.clientHeight&&t(n.scrollTop,"vertical")}),fe(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,l&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};In.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,r=e.scrollHeight>e.clientHeight+1,n=e.nativeBarWidth;if(r){this.vert.style.display="block",this.vert.style.bottom=t?n+"px":"0";var i=e.viewHeight-(t?n:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=r?n+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(r?n:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==n&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:r?n:0,bottom:t?n:0}},In.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},In.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},In.prototype.zeroWidthHack=function(){var e=y&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new z,this.disableVert=new z},In.prototype.enableZeroWidthBar=function(e,t,r){e.style.pointerEvents="auto",t.set(1e3,function n(){var i=e.getBoundingClientRect();("vert"==r?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,n)})},In.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Rn=function(){};function zn(e,t){t||(t=En(e));var r=e.display.barWidth,n=e.display.barHeight;Bn(e,t);for(var i=0;i<4&&r!=e.display.barWidth||n!=e.display.barHeight;i++)r!=e.display.barWidth&&e.options.lineWrapping&&Ln(e),Bn(e,En(e)),r=e.display.barWidth,n=e.display.barHeight}function Bn(e,t){var r=e.display,n=r.scrollbars.update(t);r.sizer.style.paddingRight=(r.barWidth=n.right)+"px",r.sizer.style.paddingBottom=(r.barHeight=n.bottom)+"px",r.heightForcer.style.borderBottom=n.bottom+"px solid transparent",n.right&&n.bottom?(r.scrollbarFiller.style.display="block",r.scrollbarFiller.style.height=n.bottom+"px",r.scrollbarFiller.style.width=n.right+"px"):r.scrollbarFiller.style.display="",n.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(r.gutterFiller.style.display="block",r.gutterFiller.style.height=n.bottom+"px",r.gutterFiller.style.width=t.gutterWidth+"px"):r.gutterFiller.style.display=""}Rn.prototype.update=function(){return{bottom:0,right:0}},Rn.prototype.setScrollLeft=function(){},Rn.prototype.setScrollTop=function(){},Rn.prototype.clear=function(){};var Gn={native:In,null:Rn};function Un(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&T(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Gn[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),fe(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,r){"horizontal"==r?Pn(e,t):Hn(e,t)},e),e.display.scrollbars.addClass&&H(e.display.wrapper,e.display.scrollbars.addClass)}var Vn=0;function Kn(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Vn,markArrays:null},t=e.curOp,or?or.ops.push(t):t.ownsGroup=or={ops:[t],delayedCallbacks:[]}}function jn(e){var t=e.curOp;t&&function(e,t){var r=e.ownsGroup;if(r)try{!function(e){var t=e.delayedCallbacks,r=0;do{for(;r<t.length;r++)t[r].call(null);for(var n=0;n<e.ops.length;n++){var i=e.ops[n];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(r<t.length)}(r)}finally{or=null,t(r)}}(t,function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,r=0;r<t.length;r++)Xn(t[r]);for(var n=0;n<t.length;n++)(i=t[n]).updatedDisplay=i.mustUpdate&&ni(i.cm,i.update);var i;for(var o=0;o<t.length;o++)Yn(t[o]);for(var l=0;l<t.length;l++)$n(t[l]);for(var s=0;s<t.length;s++)_n(t[s])}(e)})}function Xn(e){var t=e.cm,r=t.display;!function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=kr(e)+"px",t.sizer.style.marginBottom=-t.nativeBarWidth+"px",t.sizer.style.borderRightWidth=kr(e)+"px",t.scrollbarsClipped=!0)}(t),e.updateMaxLine&&jt(t),e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<r.viewFrom||e.scrollToPos.to.line>=r.viewTo)||r.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ri(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Yn(e){var t=e.cm,r=t.display;e.updatedDisplay&&Ln(t),e.barMeasure=En(t),r.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Or(t,r.maxLine,r.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(r.scroller.clientWidth,r.sizer.offsetLeft+e.adjustWidthTo+kr(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,r.sizer.offsetLeft+e.adjustWidthTo-Tr(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=r.input.prepareSelection())}function $n(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<t.doc.scrollLeft&&Pn(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var r=e.focus&&e.focus==W();e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,r),(e.updatedDisplay||e.startHeight!=t.doc.height)&&zn(t,e.barMeasure),e.updatedDisplay&&si(t,e.barMeasure),e.selectionChanged&&bn(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),r&&wn(e.cm)}function _n(e){var t=e.cm,r=t.display,n=t.doc;(e.updatedDisplay&&ii(t,e.update),null==r.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(r.wheelStartX=r.wheelStartY=null),null!=e.scrollTop&&Fn(t,e.scrollTop,e.forceScroll),null!=e.scrollLeft&&Pn(t,e.scrollLeft,!0,!0),e.scrollToPos)&&function(e,t){if(!ve(e,"scrollCursorIntoView")){var r=e.display,n=r.sizer.getBoundingClientRect(),i=null;if(t.top+n.top<0?i=!0:t.bottom+n.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!p){var o=O("div","​",null,"position: absolute;\n top: "+(t.top-r.viewOffset-Cr(e.display))+"px;\n height: "+(t.bottom-t.top+kr(e)+r.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,r,n){var i;null==n&&(n=0),e.options.lineWrapping||t!=r||(r="before"==t.sticky?et(t.line,t.ch+1,"before"):t,t=t.ch?et(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var l=!1,s=Xr(e,t),a=r&&r!=t?Xr(e,r):s,u=Mn(e,i={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top)-n,right:Math.max(s.left,a.left),bottom:Math.max(s.bottom,a.bottom)+n}),c=e.doc.scrollTop,h=e.doc.scrollLeft;if(null!=u.scrollTop&&(Hn(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(l=!0)),null!=u.scrollLeft&&(Pn(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-h)>1&&(l=!0)),!l)break}return i}(t,st(n,e.scrollToPos.from),st(n,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var l=0;l<i.length;++l)i[l].lines.length||ge(i[l],"hide");if(o)for(var s=0;s<o.length;++s)o[s].lines.length&&ge(o[s],"unhide");r.wrapper.offsetHeight&&(n.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&ge(t,"changes",t,e.changeObjs),e.update&&e.update.finish()}function qn(e,t){if(e.curOp)return t();Kn(e);try{return t()}finally{jn(e)}}function Zn(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Kn(e);try{return t.apply(e,arguments)}finally{jn(e)}}}function Qn(e){return function(){if(this.curOp)return e.apply(this,arguments);Kn(this);try{return e.apply(this,arguments)}finally{jn(this)}}}function Jn(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Kn(t);try{return e.apply(this,arguments)}finally{jn(t)}}}function ei(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,E(ti,e))}function ti(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var r=+new Date+e.options.workTime,n=dt(e,t.highlightFrontier),i=[];t.iter(n.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(n.line>=e.display.viewFrom){var l=o.styles,s=o.text.length>e.options.maxHighlightLength?Ue(t.mode,n.state):null,a=ht(e,o,n,!0);s&&(n.state=s),o.styles=a.styles;var u=o.styleClasses,c=a.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var h=!l||l.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),f=0;!h&&f<l.length;++f)h=l[f]!=o.styles[f];h&&i.push(n.line),o.stateAfter=n.save(),n.nextLine()}else o.text.length<=e.options.maxHighlightLength&&pt(e,o.text,n),o.stateAfter=n.line%5==0?n.save():null,n.nextLine();if(+new Date>r)return ei(e,e.options.workDelay),!0}),t.highlightFrontier=n.line,t.modeFrontier=Math.max(t.modeFrontier,n.line),i.length&&qn(e,function(){for(var t=0;t<i.length;t++)cn(e,i[t],"text")})}}var ri=function(e,t,r){var n=e.display;this.viewport=t,this.visible=Tn(n,e.doc,t),this.editorIsHidden=!n.wrapper.offsetWidth,this.wrapperHeight=n.wrapper.clientHeight,this.wrapperWidth=n.wrapper.clientWidth,this.oldDisplayWidth=Tr(e),this.force=r,this.dims=rn(e),this.events=[]};function ni(e,t){var r=e.display,n=e.doc;if(t.editorIsHidden)return hn(e),!1;if(!t.force&&t.visible.from>=r.viewFrom&&t.visible.to<=r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo)&&r.renderedView==r.view&&0==dn(e))return!1;ui(e)&&(hn(e),t.dims=rn(e));var i=n.first+n.size,o=Math.max(t.visible.from-e.options.viewportMargin,n.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);r.viewFrom<o&&o-r.viewFrom<20&&(o=Math.max(n.first,r.viewFrom)),r.viewTo>l&&r.viewTo-l<20&&(l=Math.min(i,r.viewTo)),Ct&&(o=zt(e.doc,o),l=Bt(e.doc,l));var s=o!=r.viewFrom||l!=r.viewTo||r.lastWrapHeight!=t.wrapperHeight||r.lastWrapWidth!=t.wrapperWidth;!function(e,t,r){var n=e.display;0==n.view.length||t>=n.viewTo||r<=n.viewFrom?(n.view=ir(e,t,r),n.viewFrom=t):(n.viewFrom>t?n.view=ir(e,t,n.viewFrom).concat(n.view):n.viewFrom<t&&(n.view=n.view.slice(an(e,t))),n.viewFrom=t,n.viewTo<r?n.view=n.view.concat(ir(e,n.viewTo,r)):n.viewTo>r&&(n.view=n.view.slice(0,an(e,r)))),n.viewTo=r}(e,o,l),r.viewOffset=Vt(Xe(e.doc,r.viewFrom)),e.display.mover.style.top=r.viewOffset+"px";var u=dn(e);if(!s&&0==u&&!t.force&&r.renderedView==r.view&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=W();if(!t||!D(e.display.lineDiv,t))return null;var r={activeElt:t};if(window.getSelection){var n=window.getSelection();n.anchorNode&&n.extend&&D(e.display.lineDiv,n.anchorNode)&&(r.anchorNode=n.anchorNode,r.anchorOffset=n.anchorOffset,r.focusNode=n.focusNode,r.focusOffset=n.focusOffset)}return r}(e);return u>4&&(r.lineDiv.style.display="none"),function(e,t,r){var n=e.display,i=e.options.lineNumbers,o=n.lineDiv,l=o.firstChild;function s(t){var r=t.nextSibling;return a&&y&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),r}for(var u=n.view,c=n.viewFrom,h=0;h<u.length;h++){var f=u[h];if(f.hidden);else if(f.node&&f.node.parentNode==o){for(;l!=f.node;)l=s(l);var d=i&&null!=t&&t<=c&&f.lineNumber;f.changes&&(B(f.changes,"gutter")>-1&&(d=!1),ur(e,f,c,r)),d&&(M(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Je(e.options,c)))),l=f.node.nextSibling}else{var p=vr(e,f,c,r);o.insertBefore(p,l)}c+=f.size}for(;l;)l=s(l)}(e,r.updateLineNumbers,t.dims),u>4&&(r.lineDiv.style.display=""),r.renderedView=r.view,function(e){if(e&&e.activeElt&&e.activeElt!=W()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&D(document.body,e.anchorNode)&&D(document.body,e.focusNode))){var t=window.getSelection(),r=document.createRange();r.setEnd(e.anchorNode,e.anchorOffset),r.collapse(!1),t.removeAllRanges(),t.addRange(r),t.extend(e.focusNode,e.focusOffset)}}(c),M(r.cursorDiv),M(r.selectionDiv),r.gutters.style.height=r.sizer.style.minHeight=0,s&&(r.lastWrapHeight=t.wrapperHeight,r.lastWrapWidth=t.wrapperWidth,ei(e,400)),r.updateLineNumbers=null,!0}function ii(e,t){for(var r=t.viewport,n=!0;;n=!1){if(n&&e.options.lineWrapping&&t.oldDisplayWidth!=Tr(e))n&&(t.visible=Tn(e.display,e.doc,r));else if(r&&null!=r.top&&(r={top:Math.min(e.doc.height+Sr(e.display)-Mr(e),r.top)}),t.visible=Tn(e.display,e.doc,r),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!ni(e,t))break;Ln(e);var i=En(e);pn(e),zn(e,i),si(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function oi(e,t){var r=new ri(e,t);if(ni(e,r)){Ln(e),ii(e,r);var n=En(e);pn(e),zn(e,n),si(e,n),r.finish()}}function li(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",sr(e,"gutterChanged",e)}function si(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+kr(e)+"px"}function ai(e){var t=e.display,r=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var n=nn(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=n+"px",l=0;l<r.length;l++)if(!r[l].hidden){e.options.fixedGutter&&(r[l].gutter&&(r[l].gutter.style.left=o),r[l].gutterBackground&&(r[l].gutterBackground.style.left=o));var s=r[l].alignable;if(s)for(var a=0;a<s.length;a++)s[a].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=n+i+"px")}}function ui(e){if(!e.options.lineNumbers)return!1;var t=e.doc,r=Je(e.options,t.first+t.size-1),n=e.display;if(r.length!=n.lineNumChars){var i=n.measure.appendChild(O("div",[O("div",r)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=i.firstChild.offsetWidth,l=i.offsetWidth-o;return n.lineGutter.style.width="",n.lineNumInnerWidth=Math.max(o,n.lineGutter.offsetWidth-l)+1,n.lineNumWidth=n.lineNumInnerWidth+l,n.lineNumChars=n.lineNumInnerWidth?r.length:-1,n.lineGutter.style.width=n.lineNumWidth+"px",li(e.display),!0}return!1}function ci(e,t){for(var r=[],n=!1,i=0;i<e.length;i++){var o=e[i],l=null;if("string"!=typeof o&&(l=o.style,o=o.className),"CodeMirror-linenumbers"==o){if(!t)continue;n=!0}r.push({className:o,style:l})}return t&&!n&&r.push({className:"CodeMirror-linenumbers",style:null}),r}function hi(e){var t=e.gutters,r=e.gutterSpecs;M(t),e.lineGutter=null;for(var n=0;n<r.length;++n){var i=r[n],o=i.className,l=i.style,s=t.appendChild(O("div",null,"CodeMirror-gutter "+o));l&&(s.style.cssText=l),"CodeMirror-linenumbers"==o&&(e.lineGutter=s,s.style.width=(e.lineNumWidth||1)+"px")}t.style.display=r.length?"":"none",li(e)}function fi(e){hi(e.display),un(e),ai(e)}function di(e,t,n,i){var o=this;this.input=n,o.scrollbarFiller=O("div",null,"CodeMirror-scrollbar-filler"),o.scrollbarFiller.setAttribute("cm-not-content","true"),o.gutterFiller=O("div",null,"CodeMirror-gutter-filler"),o.gutterFiller.setAttribute("cm-not-content","true"),o.lineDiv=A("div",null,"CodeMirror-code"),o.selectionDiv=O("div",null,null,"position: relative; z-index: 1"),o.cursorDiv=O("div",null,"CodeMirror-cursors"),o.measure=O("div",null,"CodeMirror-measure"),o.lineMeasure=O("div",null,"CodeMirror-measure"),o.lineSpace=A("div",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,"position: relative; outline: none");var u=A("div",[o.lineSpace],"CodeMirror-lines");o.mover=O("div",[u],null,"position: relative"),o.sizer=O("div",[o.mover],"CodeMirror-sizer"),o.sizerWidth=null,o.heightForcer=O("div",null,null,"position: absolute; height: "+G+"px; width: 1px;"),o.gutters=O("div",null,"CodeMirror-gutters"),o.lineGutter=null,o.scroller=O("div",[o.sizer,o.heightForcer,o.gutters],"CodeMirror-scroll"),o.scroller.setAttribute("tabIndex","-1"),o.wrapper=O("div",[o.scrollbarFiller,o.gutterFiller,o.scroller],"CodeMirror"),o.wrapper.setAttribute("translate","no"),l&&s<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),a||r&&m||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=ci(i.gutters,i.lineNumbers),hi(o),n.init(o)}ri.prototype.signal=function(e,t){ye(e,t)&&this.events.push(arguments)},ri.prototype.finish=function(){for(var e=0;e<this.events.length;e++)ge.apply(null,this.events[e])};var pi=0,gi=null;function vi(e){var t=e.wheelDeltaX,r=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==r&&e.detail&&e.axis==e.VERTICAL_AXIS?r=e.detail:null==r&&(r=e.wheelDelta),{x:t,y:r}}function mi(e){var t=vi(e);return t.x*=gi,t.y*=gi,t}function yi(e,t){var n=vi(t),i=n.x,o=n.y,l=gi;0===t.deltaMode&&(i=t.deltaX,o=t.deltaY,l=1);var s=e.display,u=s.scroller,c=u.scrollWidth>u.clientWidth,f=u.scrollHeight>u.clientHeight;if(i&&c||o&&f){if(o&&y&&a)e:for(var d=t.target,p=s.view;d!=u;d=d.parentNode)for(var g=0;g<p.length;g++)if(p[g].node==d){e.display.currentWheelTarget=d;break e}if(i&&!r&&!h&&null!=l)return o&&f&&Hn(e,Math.max(0,u.scrollTop+o*l)),Pn(e,Math.max(0,u.scrollLeft+i*l)),(!o||o&&f)&&we(t),void(s.wheelStartX=null);if(o&&null!=l){var v=o*l,m=e.doc.scrollTop,b=m+s.wrapper.clientHeight;v<0?m=Math.max(0,m+v-50):b=Math.min(e.doc.height,b+v+50),oi(e,{top:m,bottom:b})}pi<20&&0!==t.deltaMode&&(null==s.wheelStartX?(s.wheelStartX=u.scrollLeft,s.wheelStartY=u.scrollTop,s.wheelDX=i,s.wheelDY=o,setTimeout(function(){if(null!=s.wheelStartX){var e=u.scrollLeft-s.wheelStartX,t=u.scrollTop-s.wheelStartY,r=t&&s.wheelDY&&t/s.wheelDY||e&&s.wheelDX&&e/s.wheelDX;s.wheelStartX=s.wheelStartY=null,r&&(gi=(gi*pi+r)/(pi+1),++pi)}},200)):(s.wheelDX+=i,s.wheelDY+=o))}}l?gi=-.53:r?gi=15:c?gi=-.7:f&&(gi=-1/3);var bi=function(e,t){this.ranges=e,this.primIndex=t};bi.prototype.primary=function(){return this.ranges[this.primIndex]},bi.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var r=this.ranges[t],n=e.ranges[t];if(!rt(r.anchor,n.anchor)||!rt(r.head,n.head))return!1}return!0},bi.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new wi(nt(this.ranges[t].anchor),nt(this.ranges[t].head));return new bi(e,this.primIndex)},bi.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},bi.prototype.contains=function(e,t){t||(t=e);for(var r=0;r<this.ranges.length;r++){var n=this.ranges[r];if(tt(t,n.from())>=0&&tt(e,n.to())<=0)return r}return-1};var wi=function(e,t){this.anchor=e,this.head=t};function xi(e,t,r){var n=e&&e.options.selectionsMayTouch,i=t[r];t.sort(function(e,t){return tt(e.from(),t.from())}),r=B(t,i);for(var o=1;o<t.length;o++){var l=t[o],s=t[o-1],a=tt(s.to(),l.from());if(n&&!l.empty()?a>0:a>=0){var u=ot(s.from(),l.from()),c=it(s.to(),l.to()),h=s.empty()?l.from()==l.head:s.from()==s.head;o<=r&&--r,t.splice(--o,2,new wi(h?c:u,h?u:c))}}return new bi(t,r)}function Ci(e,t){return new bi([new wi(e,t||e)],0)}function Si(e){return e.text?et(e.from.line+e.text.length-1,_(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Li(e,t){if(tt(e,t.from)<0)return e;if(tt(e,t.to)<=0)return Si(t);var r=e.line+t.text.length-(t.to.line-t.from.line)-1,n=e.ch;return e.line==t.to.line&&(n+=Si(t).ch-t.to.ch),et(r,n)}function ki(e,t){for(var r=[],n=0;n<e.sel.ranges.length;n++){var i=e.sel.ranges[n];r.push(new wi(Li(i.anchor,t),Li(i.head,t)))}return xi(e.cm,r,e.sel.primIndex)}function Ti(e,t,r){return e.line==t.line?et(r.line,e.ch-t.ch+r.ch):et(r.line+(e.line-t.line),e.ch)}function Mi(e){e.doc.mode=ze(e.options,e.doc.modeOption),Ni(e)}function Ni(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,ei(e,100),e.state.modeGen++,e.curOp&&un(e)}function Oi(e,t){return 0==t.from.ch&&0==t.to.ch&&""==_(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Ai(e,t,r,n){function i(e){return r?r[e]:null}function o(e,r,i){!function(e,t,r,n){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),Nt(e),Ot(e,r);var i=n?n(e):1;i!=e.height&&_e(e,i)}(e,r,i,n),sr(e,"change",e,t)}function l(e,t){for(var r=[],o=e;o<t;++o)r.push(new Xt(u[o],i(o),n));return r}var s=t.from,a=t.to,u=t.text,c=Xe(e,s.line),h=Xe(e,a.line),f=_(u),d=i(u.length-1),p=a.line-s.line;if(t.full)e.insert(0,l(0,u.length)),e.remove(u.length,e.size-u.length);else if(Oi(e,t)){var g=l(0,u.length-1);o(h,h.text,d),p&&e.remove(s.line,p),g.length&&e.insert(s.line,g)}else if(c==h)if(1==u.length)o(c,c.text.slice(0,s.ch)+f+c.text.slice(a.ch),d);else{var v=l(1,u.length-1);v.push(new Xt(f+c.text.slice(a.ch),d,n)),o(c,c.text.slice(0,s.ch)+u[0],i(0)),e.insert(s.line+1,v)}else if(1==u.length)o(c,c.text.slice(0,s.ch)+u[0]+h.text.slice(a.ch),i(0)),e.remove(s.line+1,p);else{o(c,c.text.slice(0,s.ch)+u[0],i(0)),o(h,f+h.text.slice(a.ch),d);var m=l(1,u.length-1);p>1&&e.remove(s.line+1,p-1),e.insert(s.line+1,m)}sr(e,"change",e,t)}function Di(e,t,r){!function e(n,i,o){if(n.linked)for(var l=0;l<n.linked.length;++l){var s=n.linked[l];if(s.doc!=i){var a=o&&s.sharedHist;r&&!a||(t(s.doc,a),e(s.doc,n,a))}}}(e,null,!0)}function Wi(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,ln(e),Mi(e),Hi(e),e.options.direction=t.direction,e.options.lineWrapping||jt(e),e.options.mode=t.modeOption,un(e)}function Hi(e){("rtl"==e.doc.direction?H:T)(e.display.lineDiv,"CodeMirror-rtl")}function Fi(e){this.done=[],this.undone=[],this.undoDepth=e?e.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e?e.maxGeneration:1}function Pi(e,t){var r={from:nt(t.from),to:Si(t),text:Ye(e,t.from,t.to)};return Bi(e,r,t.from.line,t.to.line+1),Di(e,function(e){return Bi(e,r,t.from.line,t.to.line+1)},!0),r}function Ei(e){for(;e.length;){if(!_(e).ranges)break;e.pop()}}function Ii(e,t,r,n){var i=e.history;i.undone.length=0;var o,l,s=+new Date;if((i.lastOp==n||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&i.lastModTime>s-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Ei(e.done),_(e.done)):e.done.length&&!_(e.done).ranges?_(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),_(e.done)):void 0}(i,i.lastOp==n)))l=_(o.changes),0==tt(t.from,t.to)&&0==tt(t.from,l.to)?l.to=Si(t):o.changes.push(Pi(e,t));else{var a=_(i.done);for(a&&a.ranges||zi(e.sel,i.done),o={changes:[Pi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(r),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=n,i.lastOrigin=i.lastSelOrigin=t.origin,l||ge(e,"historyAdded")}function Ri(e,t,r,n){var i=e.history,o=n&&n.origin;r==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,r,n){var i=t.charAt(0);return"*"==i||"+"==i&&r.ranges.length==n.ranges.length&&r.somethingSelected()==n.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,_(i.done),t))?i.done[i.done.length-1]=t:zi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=r,n&&!1!==n.clearRedo&&Ei(i.undone)}function zi(e,t){var r=_(t);r&&r.ranges&&r.equals(e)||t.push(e)}function Bi(e,t,r,n){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,r),Math.min(e.first+e.size,n),function(r){r.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=r.markedSpans),++o})}function Gi(e){if(!e)return null;for(var t,r=0;r<e.length;++r)e[r].marker.explicitlyCleared?t||(t=e.slice(0,r)):t&&t.push(e[r]);return t?t.length?t:null:e}function Ui(e,t){var r=function(e,t){var r=t["spans_"+e.id];if(!r)return null;for(var n=[],i=0;i<t.text.length;++i)n.push(Gi(r[i]));return n}(e,t),n=Tt(e,t);if(!r)return n;if(!n)return r;for(var i=0;i<r.length;++i){var o=r[i],l=n[i];if(o&&l)e:for(var s=0;s<l.length;++s){for(var a=l[s],u=0;u<o.length;++u)if(o[u].marker==a.marker)continue e;o.push(a)}else l&&(r[i]=l)}return r}function Vi(e,t,r){for(var n=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)n.push(r?bi.prototype.deepCopy.call(o):o);else{var l=o.changes,s=[];n.push({changes:s});for(var a=0;a<l.length;++a){var u=l[a],c=void 0;if(s.push({from:u.from,to:u.to,text:u.text}),t)for(var h in u)(c=h.match(/^spans_(\d+)$/))&&B(t,Number(c[1]))>-1&&(_(s)[h]=u[h],delete u[h])}}}return n}function Ki(e,t,r,n){if(n){var i=e.anchor;if(r){var o=tt(t,i)<0;o!=tt(r,i)<0?(i=t,t=r):o!=tt(t,r)<0&&(t=r)}return new wi(i,t)}return new wi(r||t,t)}function ji(e,t,r,n,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),qi(e,new bi([Ki(e.sel.primary(),t,r,i)],0),n)}function Xi(e,t,r){for(var n=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)n[o]=Ki(e.sel.ranges[o],t[o],null,i);qi(e,xi(e.cm,n,e.sel.primIndex),r)}function Yi(e,t,r,n){var i=e.sel.ranges.slice(0);i[t]=r,qi(e,xi(e.cm,i,e.sel.primIndex),n)}function $i(e,t,r,n){qi(e,Ci(t,r),n)}function _i(e,t,r){var n=e.history.done,i=_(n);i&&i.ranges?(n[n.length-1]=t,Zi(e,t,r)):qi(e,t,r)}function qi(e,t,r){Zi(e,t,r),Ri(e,e.sel,e.cm?e.cm.curOp.id:NaN,r)}function Zi(e,t,r){(ye(e,"beforeSelectionChange")||e.cm&&ye(e.cm,"beforeSelectionChange"))&&(t=function(e,t,r){var n={ranges:t.ranges,update:function(t){this.ranges=[];for(var r=0;r<t.length;r++)this.ranges[r]=new wi(st(e,t[r].anchor),st(e,t[r].head))},origin:r&&r.origin};return ge(e,"beforeSelectionChange",e,n),e.cm&&ge(e.cm,"beforeSelectionChange",e.cm,n),n.ranges!=t.ranges?xi(e.cm,n.ranges,n.ranges.length-1):t}(e,t,r));var n=r&&r.bias||(tt(t.primary().head,e.sel.primary().head)<0?-1:1);Qi(e,eo(e,t,n,!0)),r&&!1===r.scroll||!e.cm||"nocursor"==e.cm.getOption("readOnly")||On(e.cm)}function Qi(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,me(e.cm)),sr(e,"cursorActivity",e))}function Ji(e){Qi(e,eo(e,e.sel,null,!1))}function eo(e,t,r,n){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],s=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],a=ro(e,l.anchor,s&&s.anchor,r,n),u=ro(e,l.head,s&&s.head,r,n);(i||a!=l.anchor||u!=l.head)&&(i||(i=t.ranges.slice(0,o)),i[o]=new wi(a,u))}return i?xi(e.cm,i,t.primIndex):t}function to(e,t,r,n,i){var o=Xe(e,t.line);if(o.markedSpans)for(var l=0;l<o.markedSpans.length;++l){var s=o.markedSpans[l],a=s.marker,u="selectLeft"in a?!a.selectLeft:a.inclusiveLeft,c="selectRight"in a?!a.selectRight:a.inclusiveRight;if((null==s.from||(u?s.from<=t.ch:s.from<t.ch))&&(null==s.to||(c?s.to>=t.ch:s.to>t.ch))){if(i&&(ge(a,"beforeCursorEnter"),a.explicitlyCleared)){if(o.markedSpans){--l;continue}break}if(!a.atomic)continue;if(r){var h=a.find(n<0?1:-1),f=void 0;if((n<0?c:u)&&(h=no(e,h,-n,h&&h.line==t.line?o:null)),h&&h.line==t.line&&(f=tt(h,r))&&(n<0?f<0:f>0))return to(e,h,t,n,i)}var d=a.find(n<0?-1:1);return(n<0?u:c)&&(d=no(e,d,n,d.line==t.line?o:null)),d?to(e,d,t,n,i):null}}return t}function ro(e,t,r,n,i){var o=n||1,l=to(e,t,r,o,i)||!i&&to(e,t,r,o,!0)||to(e,t,r,-o,i)||!i&&to(e,t,r,-o,!0);return l||(e.cantEdit=!0,et(e.first,0))}function no(e,t,r,n){return r<0&&0==t.ch?t.line>e.first?st(e,et(t.line-1)):null:r>0&&t.ch==(n||Xe(e,t.line)).text.length?t.line<e.first+e.size-1?et(t.line+1,0):null:new et(t.line,t.ch+r)}function io(e){e.setSelection(et(e.firstLine(),0),et(e.lastLine()),V)}function oo(e,t,r){var n={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return n.canceled=!0}};return r&&(n.update=function(t,r,i,o){t&&(n.from=st(e,t)),r&&(n.to=st(e,r)),i&&(n.text=i),void 0!==o&&(n.origin=o)}),ge(e,"beforeChange",e,n),e.cm&&ge(e.cm,"beforeChange",e.cm,n),n.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:n.from,to:n.to,text:n.text,origin:n.origin}}function lo(e,t,r){if(e.cm){if(!e.cm.curOp)return Zn(e.cm,lo)(e,t,r);if(e.cm.state.suppressEdits)return}if(!(ye(e,"beforeChange")||e.cm&&ye(e.cm,"beforeChange"))||(t=oo(e,t,!0))){var n=xt&&!r&&function(e,t,r){var n=null;if(e.iter(t.line,r.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var r=e.markedSpans[t].marker;!r.readOnly||n&&-1!=B(n,r)||(n||(n=[])).push(r)}}),!n)return null;for(var i=[{from:t,to:r}],o=0;o<n.length;++o)for(var l=n[o],s=l.find(0),a=0;a<i.length;++a){var u=i[a];if(!(tt(u.to,s.from)<0||tt(u.from,s.to)>0)){var c=[a,1],h=tt(u.from,s.from),f=tt(u.to,s.to);(h<0||!l.inclusiveLeft&&!h)&&c.push({from:u.from,to:s.from}),(f>0||!l.inclusiveRight&&!f)&&c.push({from:s.to,to:u.to}),i.splice.apply(i,c),a+=c.length-3}}return i}(e,t.from,t.to);if(n)for(var i=n.length-1;i>=0;--i)so(e,{from:n[i].from,to:n[i].to,text:i?[""]:t.text,origin:t.origin});else so(e,t)}}function so(e,t){if(1!=t.text.length||""!=t.text[0]||0!=tt(t.from,t.to)){var r=ki(e,t);Ii(e,t,r,e.cm?e.cm.curOp.id:NaN),co(e,t,r,Tt(e,t));var n=[];Di(e,function(e,r){r||-1!=B(n,e.history)||(go(e.history,t),n.push(e.history)),co(e,t,null,Tt(e,t))})}}function ao(e,t,r){var n=e.cm&&e.cm.state.suppressEdits;if(!n||r){for(var i,o=e.history,l=e.sel,s="undo"==t?o.done:o.undone,a="undo"==t?o.undone:o.done,u=0;u<s.length&&(i=s[u],r?!i.ranges||i.equals(e.sel):i.ranges);u++);if(u!=s.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(i=s.pop()).ranges){if(n)return void s.push(i);break}if(zi(i,a),r&&!i.equals(e.sel))return void qi(e,i,{clearRedo:!1});l=i}var c=[];zi(l,a),a.push({changes:c,generation:o.generation}),o.generation=i.generation||++o.maxGeneration;for(var h=ye(e,"beforeChange")||e.cm&&ye(e.cm,"beforeChange"),f=function(r){var n=i.changes[r];if(n.origin=t,h&&!oo(e,n,!1))return s.length=0,{};c.push(Pi(e,n));var o=r?ki(e,n):_(s);co(e,n,o,Ui(e,n)),!r&&e.cm&&e.cm.scrollIntoView({from:n.from,to:Si(n)});var l=[];Di(e,function(e,t){t||-1!=B(l,e.history)||(go(e.history,n),l.push(e.history)),co(e,n,null,Ui(e,n))})},d=i.changes.length-1;d>=0;--d){var p=f(d);if(p)return p.v}}}}function uo(e,t){if(0!=t&&(e.first+=t,e.sel=new bi(q(e.sel.ranges,function(e){return new wi(et(e.anchor.line+t,e.anchor.ch),et(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){un(e.cm,e.first,e.first-t,t);for(var r=e.cm.display,n=r.viewFrom;n<r.viewTo;n++)cn(e.cm,n,"gutter")}}function co(e,t,r,n){if(e.cm&&!e.cm.curOp)return Zn(e.cm,co)(e,t,r,n);if(t.to.line<e.first)uo(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);uo(e,i),t={from:et(e.first,0),to:et(t.to.line+i,t.to.ch),text:[_(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:et(o,Xe(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ye(e,t.from,t.to),r||(r=ki(e,t)),e.cm?function(e,t,r){var n=e.doc,i=e.display,o=t.from,l=t.to,s=!1,a=o.line;e.options.lineWrapping||(a=qe(Rt(Xe(n,o.line))),n.iter(a,l.line+1,function(e){if(e==i.maxLine)return s=!0,!0}));n.sel.contains(t.from,t.to)>-1&&me(e);Ai(n,t,r,on(e)),e.options.lineWrapping||(n.iter(a,o.line+t.text.length,function(e){var t=Kt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0));(function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var r=e.first,n=t-1;n>r;n--){var i=Xe(e,n).stateAfter;if(i&&(!(i instanceof ut)||n+i.lookAhead<t)){r=n+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,r)}})(n,o.line),ei(e,400);var u=t.text.length-(l.line-o.line)-1;t.full?un(e):o.line!=l.line||1!=t.text.length||Oi(e.doc,t)?un(e,o.line,l.line+1,u):cn(e,o.line,"text");var c=ye(e,"changes"),h=ye(e,"change");if(h||c){var f={from:o,to:l,text:t.text,removed:t.removed,origin:t.origin};h&&sr(e,"change",e,f),c&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(f)}e.display.selForContextMenu=null}(e.cm,t,n):Ai(e,t,n),Zi(e,r,V),e.cantEdit&&ro(e,et(e.firstLine(),0))&&(e.cantEdit=!1)}}function ho(e,t,r,n,i){var o;n||(n=r),tt(n,r)<0&&(r=(o=[n,r])[0],n=o[1]),"string"==typeof t&&(t=e.splitLines(t)),lo(e,{from:r,to:n,text:t,origin:i})}function fo(e,t,r,n){r<e.line?e.line+=n:t<e.line&&(e.line=t,e.ch=0)}function po(e,t,r,n){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)fo(o.ranges[s].anchor,t,r,n),fo(o.ranges[s].head,t,r,n)}else{for(var a=0;a<o.changes.length;++a){var u=o.changes[a];if(r<u.from.line)u.from=et(u.from.line+n,u.from.ch),u.to=et(u.to.line+n,u.to.ch);else if(t<=u.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}}function go(e,t){var r=t.from.line,n=t.to.line,i=t.text.length-(n-r)-1;po(e.done,r,n,i),po(e.undone,r,n,i)}function vo(e,t,r,n){var i=t,o=t;return"number"==typeof t?o=Xe(e,lt(e,t)):i=qe(t),null==i?null:(n(o,i)&&e.cm&&cn(e.cm,i,r),o)}function mo(e){this.lines=e,this.parent=null;for(var t=0,r=0;r<e.length;++r)e[r].parent=this,t+=e[r].height;this.height=t}function yo(e){this.children=e;for(var t=0,r=0,n=0;n<e.length;++n){var i=e[n];t+=i.chunkSize(),r+=i.height,i.parent=this}this.size=t,this.height=r,this.parent=null}wi.prototype.from=function(){return ot(this.anchor,this.head)},wi.prototype.to=function(){return it(this.anchor,this.head)},wi.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},mo.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var r=e,n=e+t;r<n;++r){var i=this.lines[r];this.height-=i.height,Yt(i),sr(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,r){this.height+=r,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var n=0;n<t.length;++n)t[n].parent=this},iterN:function(e,t,r){for(var n=e+t;e<n;++e)if(r(this.lines[e]))return!0}},yo.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var r=0;r<this.children.length;++r){var n=this.children[r],i=n.chunkSize();if(e<i){var o=Math.min(t,i-e),l=n.height;if(n.removeInner(e,o),this.height-=l-n.height,i==o&&(this.children.splice(r--,1),n.parent=null),0==(t-=o))break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof mo))){var s=[];this.collapse(s),this.children=[new mo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,r){this.size+=t.length,this.height+=r;for(var n=0;n<this.children.length;++n){var i=this.children[n],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,r),i.lines&&i.lines.length>50){for(var l=i.lines.length%25+25,s=l;s<i.lines.length;){var a=new mo(i.lines.slice(s,s+=25));i.height-=a.height,this.children.splice(++n,0,a),a.parent=this}i.lines=i.lines.slice(0,l),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=new yo(e.children.splice(e.children.length-5,5));if(e.parent){e.size-=t.size,e.height-=t.height;var r=B(e.parent.children,e);e.parent.children.splice(r+1,0,t)}else{var n=new yo(e.children);n.parent=e,e.children=[n,t],e=n}t.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,r){for(var n=0;n<this.children.length;++n){var i=this.children[n],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e);if(i.iterN(e,l,r))return!0;if(0==(t-=l))break;e=0}else e-=o}}};var bo=function(e,t,r){if(r)for(var n in r)r.hasOwnProperty(n)&&(this[n]=r[n]);this.doc=e,this.node=t};function wo(e,t,r){Vt(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Nn(e,r)}bo.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,r=this.line,n=qe(r);if(null!=n&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(r.widgets=null);var o=wr(this);_e(r,Math.max(0,r.height-o)),e&&(qn(e,function(){wo(e,r,-o),cn(e,n,"widget")}),sr(e,"lineWidgetCleared",e,this,n))}},bo.prototype.changed=function(){var e=this,t=this.height,r=this.doc.cm,n=this.line;this.height=null;var i=wr(this)-t;i&&(Gt(this.doc,n)||_e(n,n.height+i),r&&qn(r,function(){r.curOp.forceUpdate=!0,wo(r,n,i),sr(r,"lineWidgetChanged",r,e,qe(n))}))},be(bo);var xo=0,Co=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++xo};function So(e,t,r,n,i){if(n&&n.shared)return function(e,t,r,n,i){(n=I(n)).shared=!1;var o=[So(e,t,r,n,i)],l=o[0],s=n.widgetNode;return Di(e,function(e){s&&(n.widgetNode=s.cloneNode(!0)),o.push(So(e,st(e,t),st(e,r),n,i));for(var a=0;a<e.linked.length;++a)if(e.linked[a].isParent)return;l=_(o)}),new Lo(o,l)}(e,t,r,n,i);if(e.cm&&!e.cm.curOp)return Zn(e.cm,So)(e,t,r,n,i);var o=new Co(e,i),l=tt(t,r);if(n&&I(n,o,!1),l>0||0==l&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=A("span",[o.replacedWith],"CodeMirror-widget"),n.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),n.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(It(e,t.line,t,r,o)||t.line!=r.line&&It(e,r.line,t,r,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ct=!0}o.addToHistory&&Ii(e,{from:t,to:r,origin:"markText"},e.sel,NaN);var s,a=t.line,u=e.cm;if(e.iter(a,r.line+1,function(n){u&&o.collapsed&&!u.options.lineWrapping&&Rt(n)==u.display.maxLine&&(s=!0),o.collapsed&&a!=t.line&&_e(n,0),function(e,t,r){var n=r&&window.WeakSet&&(r.markedSpans||(r.markedSpans=new WeakSet));n&&n.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],n&&n.add(e.markedSpans)),t.marker.attachLine(e)}(n,new St(o,a==t.line?t.ch:null,a==r.line?r.ch:null),e.cm&&e.cm.curOp),++a}),o.collapsed&&e.iter(t.line,r.line+1,function(t){Gt(e,t)&&_e(t,0)}),o.clearOnEnter&&fe(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(xt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++xo,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)un(u,t.line,r.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=r.line;c++)cn(u,c,"text");o.atomic&&Ji(u.doc),sr(u,"markerAdded",u,o)}return o}Co.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Kn(e),ye(this,"clear")){var r=this.find();r&&sr(this,"clear",r.from,r.to)}for(var n=null,i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],s=Lt(l.markedSpans,this);e&&!this.collapsed?cn(e,qe(l),"text"):e&&(null!=s.to&&(i=qe(l)),null!=s.from&&(n=qe(l))),l.markedSpans=kt(l.markedSpans,s),null==s.from&&this.collapsed&&!Gt(this.doc,l)&&e&&_e(l,en(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var a=0;a<this.lines.length;++a){var u=Rt(this.lines[a]),c=Kt(u);c>e.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=n&&e&&this.collapsed&&un(e,n,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Ji(e.doc)),e&&sr(e,"markerCleared",e,this,n,i),t&&jn(e),this.parent&&this.parent.clear()}},Co.prototype.find=function(e,t){var r,n;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i<this.lines.length;++i){var o=this.lines[i],l=Lt(o.markedSpans,this);if(null!=l.from&&(r=et(t?o:qe(o),l.from),-1==e))return r;if(null!=l.to&&(n=et(t?o:qe(o),l.to),1==e))return n}return r&&{from:r,to:n}},Co.prototype.changed=function(){var e=this,t=this.find(-1,!0),r=this,n=this.doc.cm;t&&n&&qn(n,function(){var i=t.line,o=qe(t.line),l=Ar(n,o);if(l&&(Ir(l),n.curOp.selectionChanged=n.curOp.forceUpdate=!0),n.curOp.updateMaxLine=!0,!Gt(r.doc,i)&&null!=r.height){var s=r.height;r.height=null;var a=wr(r)-s;a&&_e(i,i.height+a)}sr(n,"markerChanged",n,e)})},Co.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=B(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},Co.prototype.detachLine=function(e){if(this.lines.splice(B(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},be(Co);var Lo=function(e,t){this.markers=e,this.primary=t;for(var r=0;r<e.length;++r)e[r].parent=this};function ko(e){return e.findMarks(et(e.first,0),e.clipPos(et(e.lastLine())),function(e){return e.parent})}function To(e){for(var t=function(t){var r=e[t],n=[r.primary.doc];Di(r.primary.doc,function(e){return n.push(e)});for(var i=0;i<r.markers.length;i++){var o=r.markers[i];-1==B(n,o.doc)&&(o.parent=null,r.markers.splice(i--,1))}},r=0;r<e.length;r++)t(r)}Lo.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();sr(this,"clear")}},Lo.prototype.find=function(e,t){return this.primary.find(e,t)},be(Lo);var Mo=0,No=function(e,t,r,n,i){if(!(this instanceof No))return new No(e,t,r,n,i);null==r&&(r=0),yo.call(this,[new mo([new Xt("",null)])]),this.first=r,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=r;var o=et(r,0);this.sel=Ci(o),this.history=new Fi(null),this.id=++Mo,this.modeOption=t,this.lineSep=n,this.direction="rtl"==i?"rtl":"ltr",this.extend=!1,"string"==typeof e&&(e=this.splitLines(e)),Ai(this,{from:o,to:o,text:e}),qi(this,Ci(o),V)};No.prototype=Q(yo.prototype,{constructor:No,iter:function(e,t,r){r?this.iterN(e-this.first,t-e,r):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var r=0,n=0;n<t.length;++n)r+=t[n].height;this.insertInner(e-this.first,t,r)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=$e(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:Jn(function(e){var t=et(this.first,0),r=this.first+this.size-1;lo(this,{from:t,to:et(r,Xe(this,r).text.length),text:this.splitLines(e),origin:"setValue",full:!0},!0),this.cm&&An(this.cm,0,0),qi(this,Ci(t),V)}),replaceRange:function(e,t,r,n){ho(this,e,t=st(this,t),r=r?st(this,r):t,n)},getRange:function(e,t,r){var n=Ye(this,st(this,e),st(this,t));return!1===r?n:""===r?n.join(""):n.join(r||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(Qe(this,e))return Xe(this,e)},getLineNumber:function(e){return qe(e)},getLineHandleVisualStart:function(e){return"number"==typeof e&&(e=Xe(this,e)),Rt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return st(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||"to"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:Jn(function(e,t,r){$i(this,st(this,"number"==typeof e?et(e,t||0):e),null,r)}),setSelection:Jn(function(e,t,r){$i(this,st(this,e),st(this,t||e),r)}),extendSelection:Jn(function(e,t,r){ji(this,st(this,e),t&&st(this,t),r)}),extendSelections:Jn(function(e,t){Xi(this,at(this,e),t)}),extendSelectionsBy:Jn(function(e,t){Xi(this,at(this,q(this.sel.ranges,e)),t)}),setSelections:Jn(function(e,t,r){if(e.length){for(var n=[],i=0;i<e.length;i++)n[i]=new wi(st(this,e[i].anchor),st(this,e[i].head||e[i].anchor));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),qi(this,xi(this.cm,n,t),r)}}),addSelection:Jn(function(e,t,r){var n=this.sel.ranges.slice(0);n.push(new wi(st(this,e),st(this,t||e))),qi(this,xi(this.cm,n,n.length-1),r)}),getSelection:function(e){for(var t,r=this.sel.ranges,n=0;n<r.length;n++){var i=Ye(this,r[n].from(),r[n].to());t=t?t.concat(i):i}return!1===e?t:t.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],r=this.sel.ranges,n=0;n<r.length;n++){var i=Ye(this,r[n].from(),r[n].to());!1!==e&&(i=i.join(e||this.lineSeparator())),t[n]=i}return t},replaceSelection:function(e,t,r){for(var n=[],i=0;i<this.sel.ranges.length;i++)n[i]=e;this.replaceSelections(n,t,r||"+input")},replaceSelections:Jn(function(e,t,r){for(var n=[],i=this.sel,o=0;o<i.ranges.length;o++){var l=i.ranges[o];n[o]={from:l.from(),to:l.to(),text:this.splitLines(e[o]),origin:r}}for(var s=t&&"end"!=t&&function(e,t,r){for(var n=[],i=et(e.first,0),o=i,l=0;l<t.length;l++){var s=t[l],a=Ti(s.from,i,o),u=Ti(Si(s),i,o);if(i=s.to,o=u,"around"==r){var c=e.sel.ranges[l],h=tt(c.head,c.anchor)<0;n[l]=new wi(h?u:a,h?a:u)}else n[l]=new wi(a,a)}return new bi(n,e.sel.primIndex)}(this,n,t),a=n.length-1;a>=0;a--)lo(this,n[a]);s?_i(this,s):this.cm&&On(this.cm)}),undo:Jn(function(){ao(this,"undo")}),redo:Jn(function(){ao(this,"redo")}),undoSelection:Jn(function(){ao(this,"undo",!0)}),redoSelection:Jn(function(){ao(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,r=0,n=0;n<e.done.length;n++)e.done[n].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++r;return{undo:t,redo:r}},clearHistory:function(){var e=this;this.history=new Fi(this.history),Di(this,function(t){return t.history=e.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Vi(this.history.done),undone:Vi(this.history.undone)}},setHistory:function(e){var t=this.history=new Fi(this.history);t.done=Vi(e.done.slice(0),null,!0),t.undone=Vi(e.undone.slice(0),null,!0)},setGutterMarker:Jn(function(e,t,r){return vo(this,e,"gutter",function(e){var n=e.gutterMarkers||(e.gutterMarkers={});return n[t]=r,!r&&re(n)&&(e.gutterMarkers=null),!0})}),clearGutter:Jn(function(e){var t=this;this.iter(function(r){r.gutterMarkers&&r.gutterMarkers[e]&&vo(t,r,"gutter",function(){return r.gutterMarkers[e]=null,re(r.gutterMarkers)&&(r.gutterMarkers=null),!0})})}),lineInfo:function(e){var t;if("number"==typeof e){if(!Qe(this,e))return null;if(t=e,!(e=Xe(this,e)))return null}else if(null==(t=qe(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:Jn(function(e,t,r){return vo(this,e,"gutter"==t?"gutter":"class",function(e){var n="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass";if(e[n]){if(L(r).test(e[n]))return!1;e[n]+=" "+r}else e[n]=r;return!0})}),removeLineClass:Jn(function(e,t,r){return vo(this,e,"gutter"==t?"gutter":"class",function(e){var n="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass",i=e[n];if(!i)return!1;if(null==r)e[n]=null;else{var o=i.match(L(r));if(!o)return!1;var l=o.index+o[0].length;e[n]=i.slice(0,o.index)+(o.index&&l!=i.length?" ":"")+i.slice(l)||null}return!0})}),addLineWidget:Jn(function(e,t,r){return function(e,t,r,n){var i=new bo(e,r,n),o=e.cm;return o&&i.noHScroll&&(o.display.alignWidgets=!0),vo(e,t,"widget",function(t){var r=t.widgets||(t.widgets=[]);if(null==i.insertAt?r.push(i):r.splice(Math.min(r.length,Math.max(0,i.insertAt)),0,i),i.line=t,o&&!Gt(e,t)){var n=Vt(t)<e.scrollTop;_e(t,t.height+wr(i)),n&&Nn(o,i.height),o.curOp.forceUpdate=!0}return!0}),o&&sr(o,"lineWidgetAdded",o,i,"number"==typeof t?t:qe(t)),i}(this,e,t,r)}),removeLineWidget:function(e){e.clear()},markText:function(e,t,r){return So(this,st(this,e),st(this,t),r,r&&r.type||"range")},setBookmark:function(e,t){var r={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return So(this,e=st(this,e),e,r,"bookmark")},findMarksAt:function(e){var t=[],r=Xe(this,(e=st(this,e)).line).markedSpans;if(r)for(var n=0;n<r.length;++n){var i=r[n];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,r){e=st(this,e),t=st(this,t);var n=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var l=o.markedSpans;if(l)for(var s=0;s<l.length;s++){var a=l[s];null!=a.to&&i==e.line&&e.ch>=a.to||null==a.from&&i!=e.line||null!=a.from&&i==t.line&&a.from>=t.ch||r&&!r(a.marker)||n.push(a.marker.parent||a.marker)}++i}),n},getAllMarks:function(){var e=[];return this.iter(function(t){var r=t.markedSpans;if(r)for(var n=0;n<r.length;++n)null!=r[n].from&&e.push(r[n].marker)}),e},posFromIndex:function(e){var t,r=this.first,n=this.lineSeparator().length;return this.iter(function(i){var o=i.text.length+n;if(o>e)return t=e,!0;e-=o,++r}),st(this,et(r,t))},indexFromPos:function(e){var t=(e=st(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var r=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+r}),t},copy:function(e){var t=new No($e(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,r=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<r&&(r=e.to);var n=new No($e(this,t,r),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(n.history=this.history),(this.linked||(this.linked=[])).push({doc:n,sharedHist:e.sharedHist}),n.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=n.find(),o=e.clipPos(i.from),l=e.clipPos(i.to);if(tt(o,l)){var s=So(e,o,l,n.primary,n.primary.type);n.markers.push(s),s.parent=n}}}(n,ko(this)),n},unlinkDoc:function(e){if(e instanceof Ll&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t){if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),To(ko(this));break}}if(e.history==this.history){var r=[e.id];Di(e,function(e){return r.push(e.id)},!0),e.history=new Fi(null),e.history.done=Vi(this.history.done,r),e.history.undone=Vi(this.history.undone,r)}},iterLinkedDocs:function(e){Di(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):We(e)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:Jn(function(e){var t;("rtl"!=e&&(e="ltr"),e!=this.direction)&&(this.direction=e,this.iter(function(e){return e.order=null}),this.cm&&qn(t=this.cm,function(){Hi(t),un(t)}))})}),No.prototype.eachLine=No.prototype.iter;var Oo=0;function Ao(e){var t=this;if(Do(t),!ve(t,e)&&!xr(t.display,e)){we(e),l&&(Oo=+new Date);var r=sn(t,e,!0),n=e.dataTransfer.files;if(r&&!t.isReadOnly())if(n&&n.length&&window.FileReader&&window.File)for(var i=n.length,o=Array(i),s=0,a=function(){++s==i&&Zn(t,function(){var e={from:r=st(t.doc,r),to:r,text:t.doc.splitLines(o.filter(function(e){return null!=e}).join(t.doc.lineSeparator())),origin:"paste"};lo(t.doc,e),_i(t.doc,Ci(st(t.doc,r),st(t.doc,Si(e))))})()},u=function(e,r){if(t.options.allowDropFileTypes&&-1==B(t.options.allowDropFileTypes,e.type))a();else{var n=new FileReader;n.onerror=function(){return a()},n.onload=function(){var e=n.result;/[\x00-\x08\x0e-\x1f]{2}/.test(e)?a():(o[r]=e,a())},n.readAsText(e)}},c=0;c<n.length;c++)u(n[c],c);else{if(t.state.draggingText&&t.doc.sel.contains(r)>-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var h=e.dataTransfer.getData("Text");if(h){var f;if(t.state.draggingText&&!t.state.draggingText.copy&&(f=t.listSelections()),Zi(t.doc,Ci(r,r)),f)for(var d=0;d<f.length;++d)ho(t.doc,"",f[d].anchor,f[d].head,"drag");t.replaceSelection(h,"around","paste"),t.display.input.focus()}}catch(e){}}}}function Do(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function Wo(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),r=[],n=0;n<t.length;n++){var i=t[n].CodeMirror;i&&r.push(i)}r.length&&r[0].operation(function(){for(var t=0;t<r.length;t++)e(r[t])})}}var Ho=!1;function Fo(){var e;Ho||(fe(window,"resize",function(){null==e&&(e=setTimeout(function(){e=null,Wo(Po)},100))}),fe(window,"blur",function(){return Wo(Sn)}),Ho=!0)}function Po(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var Eo={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Io=0;Io<10;Io++)Eo[Io+48]=Eo[Io+96]=String(Io);for(var Ro=65;Ro<=90;Ro++)Eo[Ro]=String.fromCharCode(Ro);for(var zo=1;zo<=12;zo++)Eo[zo+111]=Eo[zo+63235]="F"+zo;var Bo={};function Go(e){var t,r,n,i,o=e.split(/-(?!$)/);e=o[o.length-1];for(var l=0;l<o.length-1;l++){var s=o[l];if(/^(cmd|meta|m)$/i.test(s))i=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))r=!0;else{if(!/^s(hift)?$/i.test(s))throw new Error("Unrecognized modifier name: "+s);n=!0}}return t&&(e="Alt-"+e),r&&(e="Ctrl-"+e),i&&(e="Cmd-"+e),n&&(e="Shift-"+e),e}function Uo(e){var t={};for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];if(/^(name|fallthrough|(de|at)tach)$/.test(r))continue;if("..."==n){delete e[r];continue}for(var i=q(r.split(" "),Go),o=0;o<i.length;o++){var l=void 0,s=void 0;o==i.length-1?(s=i.join(" "),l=n):(s=i.slice(0,o+1).join(" "),l="...");var a=t[s];if(a){if(a!=l)throw new Error("Inconsistent bindings for "+s)}else t[s]=l}delete e[r]}for(var u in t)e[u]=t[u];return e}function Vo(e,t,r,n){var i=(t=Yo(t)).call?t.call(e,n):t[e];if(!1===i)return"nothing";if("..."===i)return"multi";if(null!=i&&r(i))return"handled";if(t.fallthrough){if("[object Array]"!=Object.prototype.toString.call(t.fallthrough))return Vo(e,t.fallthrough,r,n);for(var o=0;o<t.fallthrough.length;o++){var l=Vo(e,t.fallthrough[o],r,n);if(l)return l}}}function Ko(e){var t="string"==typeof e?e:Eo[e.keyCode];return"Ctrl"==t||"Alt"==t||"Shift"==t||"Mod"==t}function jo(e,t,r){var n=e;return t.altKey&&"Alt"!=n&&(e="Alt-"+e),(C?t.metaKey:t.ctrlKey)&&"Ctrl"!=n&&(e="Ctrl-"+e),(C?t.ctrlKey:t.metaKey)&&"Mod"!=n&&(e="Cmd-"+e),!r&&t.shiftKey&&"Shift"!=n&&(e="Shift-"+e),e}function Xo(e,t){if(h&&34==e.keyCode&&e.char)return!1;var r=Eo[e.keyCode];return null!=r&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(r=e.code),jo(r,e,t))}function Yo(e){return"string"==typeof e?Bo[e]:e}function $o(e,t){for(var r=e.doc.sel.ranges,n=[],i=0;i<r.length;i++){for(var o=t(r[i]);n.length&&tt(o.from,_(n).to)<=0;){var l=n.pop();if(tt(l.from,o.from)<0){o.from=l.from;break}}n.push(o)}qn(e,function(){for(var t=n.length-1;t>=0;t--)ho(e.doc,"",n[t].from,n[t].to,"+delete");On(e)})}function _o(e,t,r){var n=oe(e.text,t+r,r);return n<0||n>e.text.length?null:n}function qo(e,t,r){var n=_o(e,t.ch,r);return null==n?null:new et(t.line,n,r<0?"after":"before")}function Zo(e,t,r,n,i){if(e){"rtl"==t.doc.direction&&(i=-i);var o=ce(r,t.doc.direction);if(o){var l,s=i<0?_(o):o[0],a=i<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=Dr(t,r);l=i<0?r.text.length-1:0;var c=Wr(t,u,l).top;l=le(function(e){return Wr(t,u,e).top==c},i<0==(1==s.level)?s.from:s.to-1,l),"before"==a&&(l=_o(r,l,1))}else l=i<0?s.to:s.from;return new et(n,l,a)}}return new et(n,i<0?r.text.length:0,i<0?"before":"after")}Bo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Bo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Bo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Bo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Bo.default=y?Bo.macDefault:Bo.pcDefault;var Qo={selectAll:io,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),V)},killLine:function(e){return $o(e,function(t){if(t.empty()){var r=Xe(e.doc,t.head.line).text.length;return t.head.ch==r&&t.head.line<e.lastLine()?{from:t.head,to:et(t.head.line+1,0)}:{from:t.head,to:et(t.head.line,r)}}return{from:t.from(),to:t.to()}})},deleteLine:function(e){return $o(e,function(t){return{from:et(t.from().line,0),to:st(e.doc,et(t.to().line+1,0))}})},delLineLeft:function(e){return $o(e,function(e){return{from:et(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(e){return $o(e,function(t){var r=e.charCoords(t.head,"div").top+5;return{from:e.coordsChar({left:0,top:r},"div"),to:t.from()}})},delWrappedLineRight:function(e){return $o(e,function(t){var r=e.charCoords(t.head,"div").top+5,n=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:r},"div");return{from:t.from(),to:n}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(et(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(et(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return Jo(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return el(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return function(e,t){var r=Xe(e.doc,t),n=function(e){for(var t;t=Pt(e);)e=t.find(1,!0).line;return e}(r);n!=r&&(t=qe(n));return Zo(!0,e,r,t,-1)}(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy(function(t){var r=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:r},"div")},j)},goLineLeft:function(e){return e.extendSelectionsBy(function(t){var r=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:0,top:r},"div")},j)},goLineLeftSmart:function(e){return e.extendSelectionsBy(function(t){var r=e.cursorCoords(t.head,"div").top+5,n=e.coordsChar({left:0,top:r},"div");return n.ch<e.getLine(n.line).search(/\S/)?el(e,t.head):n},j)},goLineUp:function(e){return e.moveV(-1,"line")},goLineDown:function(e){return e.moveV(1,"line")},goPageUp:function(e){return e.moveV(-1,"page")},goPageDown:function(e){return e.moveV(1,"page")},goCharLeft:function(e){return e.moveH(-1,"char")},goCharRight:function(e){return e.moveH(1,"char")},goColumnLeft:function(e){return e.moveH(-1,"column")},goColumnRight:function(e){return e.moveH(1,"column")},goWordLeft:function(e){return e.moveH(-1,"word")},goGroupRight:function(e){return e.moveH(1,"group")},goGroupLeft:function(e){return e.moveH(-1,"group")},goWordRight:function(e){return e.moveH(1,"word")},delCharBefore:function(e){return e.deleteH(-1,"codepoint")},delCharAfter:function(e){return e.deleteH(1,"char")},delWordBefore:function(e){return e.deleteH(-1,"word")},delWordAfter:function(e){return e.deleteH(1,"word")},delGroupBefore:function(e){return e.deleteH(-1,"group")},delGroupAfter:function(e){return e.deleteH(1,"group")},indentAuto:function(e){return e.indentSelection("smart")},indentMore:function(e){return e.indentSelection("add")},indentLess:function(e){return e.indentSelection("subtract")},insertTab:function(e){return e.replaceSelection("\t")},insertSoftTab:function(e){for(var t=[],r=e.listSelections(),n=e.options.tabSize,i=0;i<r.length;i++){var o=r[i].from(),l=R(e.getLine(o.line),o.ch,n);t.push($(n-l%n))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){return qn(e,function(){for(var t=e.listSelections(),r=[],n=0;n<t.length;n++)if(t[n].empty()){var i=t[n].head,o=Xe(e.doc,i.line).text;if(o)if(i.ch==o.length&&(i=new et(i.line,i.ch-1)),i.ch>0)i=new et(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),et(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=Xe(e.doc,i.line-1).text;l&&(i=new et(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),et(i.line-1,l.length-1),i,"+transpose"))}r.push(new wi(i,i))}e.setSelections(r)})},newlineAndIndent:function(e){return qn(e,function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange(e.doc.lineSeparator(),t[r].anchor,t[r].head,"+input");t=e.listSelections();for(var n=0;n<t.length;n++)e.indentLine(t[n].from().line,null,!0);On(e)})},openLine:function(e){return e.replaceSelection("\n","start")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function Jo(e,t){var r=Xe(e.doc,t),n=Rt(r);return n!=r&&(t=qe(n)),Zo(!0,e,n,t,1)}function el(e,t){var r=Jo(e,t.line),n=Xe(e.doc,r.line),i=ce(n,e.doc.direction);if(!i||0==i[0].level){var o=Math.max(r.ch,n.text.search(/\S/)),l=t.line==r.line&&t.ch<=o&&t.ch;return et(r.line,l?0:o,r.sticky)}return r}function tl(e,t,r){if("string"==typeof t&&!(t=Qo[t]))return!1;e.display.input.ensurePolled();var n=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),r&&(e.display.shift=!1),i=t(e)!=U}finally{e.display.shift=n,e.state.suppressEdits=!1}return i}var rl=new z;function nl(e,t,r,n){var i=e.state.keySeq;if(i){if(Ko(t))return"handled";if(/\'$/.test(t)?e.state.keySeq=null:rl.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),il(e,i+" "+t,r,n))return!0}return il(e,t,r,n)}function il(e,t,r,n){var i=function(e,t,r){for(var n=0;n<e.state.keyMaps.length;n++){var i=Vo(t,e.state.keyMaps[n],r,e);if(i)return i}return e.options.extraKeys&&Vo(t,e.options.extraKeys,r,e)||Vo(t,e.options.keyMap,r,e)}(e,t,n);return"multi"==i&&(e.state.keySeq=t),"handled"==i&&sr(e,"keyHandled",e,t,r),"handled"!=i&&"multi"!=i||(we(r),bn(e)),!!i}function ol(e,t){var r=Xo(t,!0);return!!r&&(t.shiftKey&&!e.state.keySeq?nl(e,"Shift-"+r,t,function(t){return tl(e,t,!0)})||nl(e,r,t,function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return tl(e,t)}):nl(e,r,t,function(t){return tl(e,t)}))}var ll=null;function sl(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||(t.curOp.focus=W(),ve(t,e)))){l&&s<11&&27==e.keyCode&&(e.returnValue=!1);var n=e.keyCode;t.display.shift=16==n||e.shiftKey;var i=ol(t,e);h&&(ll=i?n:null,!i&&88==n&&!Fe&&(y?e.metaKey:e.ctrlKey)&&t.replaceSelection("",null,"cut")),r&&!y&&!i&&46==n&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand("cut"),18!=n||/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)||function(e){var t=e.display.lineDiv;function r(e){18!=e.keyCode&&e.altKey||(T(t,"CodeMirror-crosshair"),pe(document,"keyup",r),pe(document,"mouseover",r))}H(t,"CodeMirror-crosshair"),fe(document,"keyup",r),fe(document,"mouseover",r)}(t)}}function al(e){16==e.keyCode&&(this.doc.sel.shift=!1),ve(this,e)}function ul(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||xr(t.display,e)||ve(t,e)||e.ctrlKey&&!e.altKey||y&&e.metaKey)){var r=e.keyCode,n=e.charCode;if(h&&r==ll)return ll=null,void we(e);if(!h||e.which&&!(e.which<10)||!ol(t,e)){var i=String.fromCharCode(null==n?r:n);"\b"!=i&&(function(e,t,r){return nl(e,"'"+r+"'",t,function(t){return tl(e,t,!0)})}(t,e,i)||t.display.input.onKeyPress(e))}}}var cl,hl,fl=function(e,t,r){this.time=e,this.pos=t,this.button=r};function dl(e){var t=this,r=t.display;if(!(ve(t,e)||r.activeTouch&&r.input.supportsTouch()))if(r.input.ensurePolled(),r.shift=e.shiftKey,xr(r,e))a||(r.scroller.draggable=!1,setTimeout(function(){return r.scroller.draggable=!0},100));else if(!vl(t,e)){var n=sn(t,e),i=ke(e),o=n?function(e,t){var r=+new Date;return hl&&hl.compare(r,e,t)?(cl=hl=null,"triple"):cl&&cl.compare(r,e,t)?(hl=new fl(r,e,t),cl=null,"double"):(cl=new fl(r,e,t),hl=null,"single")}(n,i):"single";window.focus(),1==i&&t.state.selectingText&&t.state.selectingText(e),n&&function(e,t,r,n,i){var o="Click";"double"==n?o="Double"+o:"triple"==n&&(o="Triple"+o);return nl(e,jo(o=(1==t?"Left":2==t?"Middle":"Right")+o,i),i,function(t){if("string"==typeof t&&(t=Qo[t]),!t)return!1;var n=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n=t(e,r)!=U}finally{e.state.suppressEdits=!1}return n})}(t,i,n,o,e)||(1==i?n?function(e,t,r,n){l?setTimeout(E(wn,e),0):e.curOp.focus=W();var i,o=function(e,t,r){var n=e.getOption("configureMouse"),i=n?n(e,t,r):{};if(null==i.unit){var o=b?r.shiftKey&&r.metaKey:r.altKey;i.unit=o?"rectangle":"single"==t?"char":"double"==t?"word":"line"}(null==i.extend||e.doc.extend)&&(i.extend=e.doc.extend||r.shiftKey);null==i.addNew&&(i.addNew=y?r.metaKey:r.ctrlKey);null==i.moveOnDrag&&(i.moveOnDrag=!(y?r.altKey:r.ctrlKey));return i}(e,r,n),u=e.doc.sel;e.options.dragDrop&&Ne&&!e.isReadOnly()&&"single"==r&&(i=u.contains(t))>-1&&(tt((i=u.ranges[i]).from(),t)<0||t.xRel>0)&&(tt(i.to(),t)>0||t.xRel<0)?function(e,t,r,n){var i=e.display,o=!1,u=Zn(e,function(t){a&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:xn(e)),pe(i.wrapper.ownerDocument,"mouseup",u),pe(i.wrapper.ownerDocument,"mousemove",c),pe(i.scroller,"dragstart",h),pe(i.scroller,"drop",u),o||(we(t),n.addNew||ji(e.doc,r,null,null,n.extend),a&&!f||l&&9==s?setTimeout(function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()},20):i.input.focus())}),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},h=function(){return o=!0};a&&(i.scroller.draggable=!0);e.state.draggingText=u,u.copy=!n.moveOnDrag,fe(i.wrapper.ownerDocument,"mouseup",u),fe(i.wrapper.ownerDocument,"mousemove",c),fe(i.scroller,"dragstart",h),fe(i.scroller,"drop",u),e.state.delayingBlurEvent=!0,setTimeout(function(){return i.input.focus()},20),i.scroller.dragDrop&&i.scroller.dragDrop()}(e,n,t,o):function(e,t,r,n){l&&xn(e);var i=e.display,o=e.doc;we(t);var s,a,u=o.sel,c=u.ranges;n.addNew&&!n.extend?(a=o.sel.contains(r),s=a>-1?c[a]:new wi(r,r)):(s=o.sel.primary(),a=o.sel.primIndex);if("rectangle"==n.unit)n.addNew||(s=new wi(r,r)),r=sn(e,t,!0,!0),a=-1;else{var h=pl(e,r,n.unit);s=n.extend?Ki(s,h.anchor,h.head,n.extend):h}n.addNew?-1==a?(a=c.length,qi(o,xi(e,c.concat([s]),a),{scroll:!1,origin:"*mouse"})):c.length>1&&c[a].empty()&&"char"==n.unit&&!n.extend?(qi(o,xi(e,c.slice(0,a).concat(c.slice(a+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):Yi(o,a,s,K):(a=0,qi(o,new bi([s],0),K),u=o.sel);var f=r;function d(t){if(0!=tt(f,t))if(f=t,"rectangle"==n.unit){for(var i=[],l=e.options.tabSize,c=R(Xe(o,r.line).text,r.ch,l),h=R(Xe(o,t.line).text,t.ch,l),d=Math.min(c,h),p=Math.max(c,h),g=Math.min(r.line,t.line),v=Math.min(e.lastLine(),Math.max(r.line,t.line));g<=v;g++){var m=Xe(o,g).text,y=X(m,d,l);d==p?i.push(new wi(et(g,y),et(g,y))):m.length>y&&i.push(new wi(et(g,y),et(g,X(m,p,l))))}i.length||i.push(new wi(r,r)),qi(o,xi(e,u.ranges.slice(0,a).concat(i),a),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,w=s,x=pl(e,t,n.unit),C=w.anchor;tt(x.anchor,C)>0?(b=x.head,C=ot(w.from(),x.anchor)):(b=x.anchor,C=it(w.to(),x.head));var S=u.ranges.slice(0);S[a]=function(e,t){var r=t.anchor,n=t.head,i=Xe(e.doc,r.line);if(0==tt(r,n)&&r.sticky==n.sticky)return t;var o=ce(i);if(!o)return t;var l=ae(o,r.ch,r.sticky),s=o[l];if(s.from!=r.ch&&s.to!=r.ch)return t;var a,u=l+(s.from==r.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(n.line!=r.line)a=(n.line-r.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=ae(o,n.ch,n.sticky),h=c-l||(n.ch-r.ch)*(1==s.level?-1:1);a=c==u-1||c==u?h<0:h>0}var f=o[u+(a?-1:0)],d=a==(1==f.level),p=d?f.from:f.to,g=d?"after":"before";return r.ch==p&&r.sticky==g?t:new wi(new et(r.line,p,g),n)}(e,new wi(st(o,C),b)),qi(o,xi(e,S,a),K)}}var p=i.wrapper.getBoundingClientRect(),g=0;function v(t){e.state.selectingText=!1,g=1/0,t&&(we(t),i.input.focus()),pe(i.wrapper.ownerDocument,"mousemove",m),pe(i.wrapper.ownerDocument,"mouseup",y),o.history.lastSelOrigin=null}var m=Zn(e,function(t){0!==t.buttons&&ke(t)?function t(r){var l=++g;var s=sn(e,r,!0,"rectangle"==n.unit);if(!s)return;if(0!=tt(s,f)){e.curOp.focus=W(),d(s);var a=Tn(i,o);(s.line>=a.to||s.line<a.from)&&setTimeout(Zn(e,function(){g==l&&t(r)}),150)}else{var u=r.clientY<p.top?-20:r.clientY>p.bottom?20:0;u&&setTimeout(Zn(e,function(){g==l&&(i.scroller.scrollTop+=u,t(r))}),50)}}(t):v(t)}),y=Zn(e,v);e.state.selectingText=y,fe(i.wrapper.ownerDocument,"mousemove",m),fe(i.wrapper.ownerDocument,"mouseup",y)}(e,n,t,o)}(t,n,o,e):Le(e)==r.scroller&&we(e):2==i?(n&&ji(t.doc,n),setTimeout(function(){return r.input.focus()},20)):3==i&&(S?t.display.input.onContextMenu(e):xn(t)))}}function pl(e,t,r){if("char"==r)return new wi(t,t);if("word"==r)return e.findWordAt(t);if("line"==r)return new wi(et(t.line,0),st(e.doc,et(t.line+1,0)));var n=r(e,t);return new wi(n.from,n.to)}function gl(e,t,r,n){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(e){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;n&&we(t);var l=e.display,s=l.lineDiv.getBoundingClientRect();if(o>s.bottom||!ye(e,r))return Ce(t);o-=s.top-l.viewOffset;for(var a=0;a<e.display.gutterSpecs.length;++a){var u=l.gutters.childNodes[a];if(u&&u.getBoundingClientRect().right>=i)return ge(e,r,e,Ze(e.doc,o),e.display.gutterSpecs[a].className,t),Ce(t)}}function vl(e,t){return gl(e,t,"gutterClick",!0)}function ml(e,t){xr(e.display,t)||function(e,t){if(!ye(e,"gutterContextMenu"))return!1;return gl(e,t,"gutterContextMenu",!1)}(e,t)||ve(e,t,"contextmenu")||S||e.display.input.onContextMenu(t)}function yl(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),zr(e)}fl.prototype.compare=function(e,t,r){return this.time+400>e&&0==tt(t,this.pos)&&r==this.button};var bl={toString:function(){return"CodeMirror.Init"}},wl={},xl={};function Cl(e,t,r){if(!t!=!(r&&r!=bl)){var n=e.display.dragFunctions,i=t?fe:pe;i(e.display.scroller,"dragstart",n.start),i(e.display.scroller,"dragenter",n.enter),i(e.display.scroller,"dragover",n.over),i(e.display.scroller,"dragleave",n.leave),i(e.display.scroller,"drop",n.drop)}}function Sl(e){e.options.lineWrapping?(H(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(T(e.display.wrapper,"CodeMirror-wrap"),jt(e)),ln(e),un(e),zr(e),setTimeout(function(){return zn(e)},100)}function Ll(e,t){var r=this;if(!(this instanceof Ll))return new Ll(e,t);this.options=t=t?I(t):{},I(wl,t,!1);var n=t.value;"string"==typeof n?n=new No(n,t.mode,null,t.lineSeparator,t.direction):t.mode&&(n.modeOption=t.mode),this.doc=n;var i=new Ll.inputStyles[t.inputStyle](this),o=this.display=new di(e,n,i,t);for(var u in o.wrapper.CodeMirror=this,yl(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Un(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new z,keySeq:null,specialChars:null},t.autofocus&&!m&&o.input.focus(),l&&s<11&&setTimeout(function(){return r.display.input.reset(!0)},20),function(e){var t=e.display;fe(t.scroller,"mousedown",Zn(e,dl)),fe(t.scroller,"dblclick",l&&s<11?Zn(e,function(t){if(!ve(e,t)){var r=sn(e,t);if(r&&!vl(e,t)&&!xr(e.display,t)){we(t);var n=e.findWordAt(r);ji(e.doc,n.anchor,n.head)}}}):function(t){return ve(e,t)||we(t)});fe(t.scroller,"contextmenu",function(t){return ml(e,t)}),fe(t.input.getField(),"contextmenu",function(r){t.scroller.contains(r.target)||ml(e,r)});var r,n={end:0};function i(){t.activeTouch&&(r=setTimeout(function(){return t.activeTouch=null},1e3),(n=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var r=t.left-e.left,n=t.top-e.top;return r*r+n*n>400}fe(t.scroller,"touchstart",function(i){if(!ve(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!vl(e,i)){t.input.ensurePolled(),clearTimeout(r);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-n.end<=300?n:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}}),fe(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),fe(t.scroller,"touchend",function(r){var n=t.activeTouch;if(n&&!xr(t,r)&&null!=n.left&&!n.moved&&new Date-n.start<300){var l,s=e.coordsChar(t.activeTouch,"page");l=!n.prev||o(n,n.prev)?new wi(s,s):!n.prev.prev||o(n,n.prev.prev)?e.findWordAt(s):new wi(et(s.line,0),st(e.doc,et(s.line+1,0))),e.setSelection(l.anchor,l.head),e.focus(),we(r)}i()}),fe(t.scroller,"touchcancel",i),fe(t.scroller,"scroll",function(){t.scroller.clientHeight&&(Hn(e,t.scroller.scrollTop),Pn(e,t.scroller.scrollLeft,!0),ge(e,"scroll",e))}),fe(t.scroller,"mousewheel",function(t){return yi(e,t)}),fe(t.scroller,"DOMMouseScroll",function(t){return yi(e,t)}),fe(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(t){ve(e,t)||Se(t)},over:function(t){ve(e,t)||(!function(e,t){var r=sn(e,t);if(r){var n=document.createDocumentFragment();vn(e,r,n),e.display.dragCursor||(e.display.dragCursor=O("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),N(e.display.dragCursor,n)}}(e,t),Se(t))},start:function(t){return function(e,t){if(l&&(!e.state.draggingText||+new Date-Oo<100))Se(t);else if(!ve(e,t)&&!xr(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!f)){var r=O("img",null,null,"position: fixed; left: 0; top: 0;");r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",h&&(r.width=r.height=1,e.display.wrapper.appendChild(r),r._top=r.offsetTop),t.dataTransfer.setDragImage(r,0,0),h&&r.parentNode.removeChild(r)}}(e,t)},drop:Zn(e,Ao),leave:function(t){ve(e,t)||Do(e)}};var a=t.input.getField();fe(a,"keyup",function(t){return al.call(e,t)}),fe(a,"keydown",Zn(e,sl)),fe(a,"keypress",Zn(e,ul)),fe(a,"focus",function(t){return Cn(e,t)}),fe(a,"blur",function(t){return Sn(e,t)})}(this),Fo(),Kn(this),this.curOp.forceUpdate=!0,Wi(this,n),t.autofocus&&!m||this.hasFocus()?setTimeout(function(){r.hasFocus()&&!r.state.focused&&Cn(r)},20):Sn(this),xl)xl.hasOwnProperty(u)&&xl[u](this,t[u],bl);ui(this),t.finishInit&&t.finishInit(this);for(var c=0;c<kl.length;++c)kl[c](this);jn(this),a&&t.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}Ll.defaults=wl,Ll.optionHandlers=xl;var kl=[];function Tl(e,t,r,n){var i,o=e.doc;null==r&&(r="add"),"smart"==r&&(o.mode.indent?i=dt(e,t).state:r="prev");var l=e.options.tabSize,s=Xe(o,t),a=R(s.text,null,l);s.stateAfter&&(s.stateAfter=null);var u,c=s.text.match(/^\s*/)[0];if(n||/\S/.test(s.text)){if("smart"==r&&((u=o.mode.indent(i,s.text.slice(c.length),s.text))==U||u>150)){if(!n)return;r="prev"}}else u=0,r="not";"prev"==r?u=t>o.first?R(Xe(o,t-1).text,null,l):0:"add"==r?u=a+e.options.indentUnit:"subtract"==r?u=a-e.options.indentUnit:"number"==typeof r&&(u=a+r),u=Math.max(0,u);var h="",f=0;if(e.options.indentWithTabs)for(var d=Math.floor(u/l);d;--d)f+=l,h+="\t";if(f<u&&(h+=$(u-f)),h!=c)return ho(o,h,et(t,0),et(t,c.length),"+input"),s.stateAfter=null,!0;for(var p=0;p<o.sel.ranges.length;p++){var g=o.sel.ranges[p];if(g.head.line==t&&g.head.ch<c.length){var v=et(t,c.length);Yi(o,p,new wi(v,v));break}}}Ll.defineInitHook=function(e){return kl.push(e)};var Ml=null;function Nl(e){Ml=e}function Ol(e,t,r,n,i){var o=e.doc;e.display.shift=!1,n||(n=o.sel);var l=+new Date-200,s="paste"==i||e.state.pasteIncoming>l,a=We(t),u=null;if(s&&n.ranges.length>1)if(Ml&&Ml.text.join("\n")==t){if(n.ranges.length%Ml.text.length==0){u=[];for(var c=0;c<Ml.text.length;c++)u.push(o.splitLines(Ml.text[c]))}}else a.length==n.ranges.length&&e.options.pasteLinesPerSelection&&(u=q(a,function(e){return[e]}));for(var h=e.curOp.updateInput,f=n.ranges.length-1;f>=0;f--){var d=n.ranges[f],p=d.from(),g=d.to();d.empty()&&(r&&r>0?p=et(p.line,p.ch-r):e.state.overwrite&&!s?g=et(g.line,Math.min(Xe(o,g.line).text.length,g.ch+_(a).length)):s&&Ml&&Ml.lineWise&&Ml.text.join("\n")==a.join("\n")&&(p=g=et(p.line,0)));var v={from:p,to:g,text:u?u[f%u.length]:a,origin:i||(s?"paste":e.state.cutIncoming>l?"cut":"+input")};lo(e.doc,v),sr(e,"inputRead",e,v)}t&&!s&&Dl(e,t),On(e),e.curOp.updateInput<2&&(e.curOp.updateInput=h),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Al(e,t){var r=e.clipboardData&&e.clipboardData.getData("Text");if(r)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||qn(t,function(){return Ol(t,r,0,null,"paste")}),!0}function Dl(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var r=e.doc.sel,n=r.ranges.length-1;n>=0;n--){var i=r.ranges[n];if(!(i.head.ch>100||n&&r.ranges[n-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var s=0;s<o.electricChars.length;s++)if(t.indexOf(o.electricChars.charAt(s))>-1){l=Tl(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Xe(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=Tl(e,i.head.line,"smart"));l&&sr(e,"electricInput",e,i.head.line)}}}function Wl(e){for(var t=[],r=[],n=0;n<e.doc.sel.ranges.length;n++){var i=e.doc.sel.ranges[n].head.line,o={anchor:et(i,0),head:et(i+1,0)};r.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:r}}function Hl(e,t,r,n){e.setAttribute("autocorrect",r?"":"off"),e.setAttribute("autocapitalize",n?"":"off"),e.setAttribute("spellcheck",!!t)}function Fl(){var e=O("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"),t=O("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return a?e.style.width="1000px":e.setAttribute("wrap","off"),g&&(e.style.border="1px solid black"),Hl(e),t}function Pl(e,t,r,n,i){var o=t,l=r,s=Xe(e,t.line),a=i&&"rtl"==e.direction?-r:r;function u(o){var l,u;if("codepoint"==n){var c=s.text.charCodeAt(t.ch+(r>0?0:-1));if(isNaN(c))l=null;else{var h=r>0?c>=55296&&c<56320:c>=56320&&c<57343;l=new et(t.line,Math.max(0,Math.min(s.text.length,t.ch+r*(h?2:1))),-r)}}else l=i?function(e,t,r,n){var i=ce(t,e.doc.direction);if(!i)return qo(t,r,n);r.ch>=t.text.length?(r.ch=t.text.length,r.sticky="before"):r.ch<=0&&(r.ch=0,r.sticky="after");var o=ae(i,r.ch,r.sticky),l=i[o];if("ltr"==e.doc.direction&&l.level%2==0&&(n>0?l.to>r.ch:l.from<r.ch))return qo(t,r,n);var s,a=function(e,r){return _o(t,e instanceof et?e.ch:e,r)},u=function(r){return e.options.lineWrapping?(s=s||Dr(e,t),Zr(e,t,s,r)):{begin:0,end:t.text.length}},c=u("before"==r.sticky?a(r,-1):r.ch);if("rtl"==e.doc.direction||1==l.level){var h=1==l.level==n<0,f=a(r,h?1:-1);if(null!=f&&(h?f<=l.to&&f<=c.end:f>=l.from&&f>=c.begin)){var d=h?"before":"after";return new et(r.line,f,d)}}var p=function(e,t,n){for(var o=function(e,t){return t?new et(r.line,a(e,1),"before"):new et(r.line,e,"after")};e>=0&&e<i.length;e+=t){var l=i[e],s=t>0==(1!=l.level),u=s?n.begin:a(n.end,-1);if(l.from<=u&&u<l.to)return o(u,s);if(u=s?l.from:a(l.to,-1),n.begin<=u&&u<n.end)return o(u,s)}},g=p(o+n,n,c);if(g)return g;var v=n>0?c.end:a(c.begin,-1);return null==v||n>0&&v==t.text.length||!(g=p(n>0?0:i.length-1,n,u(v)))?null:g}(e.cm,s,t,r):qo(s,t,r);if(null==l){if(o||(u=t.line+a)<e.first||u>=e.first+e.size||(t=new et(u,t.ch,t.sticky),!(s=Xe(e,u))))return!1;t=Zo(i,e.cm,s,t.line,a)}else t=l;return!0}if("char"==n||"codepoint"==n)u();else if("column"==n)u(!0);else if("word"==n||"group"==n)for(var c=null,h="group"==n,f=e.cm&&e.cm.getHelper(t,"wordChars"),d=!0;!(r<0)||u(!d);d=!1){var p=s.text.charAt(t.ch)||"\n",g=te(p,f)?"w":h&&"\n"==p?"n":!h||/\s/.test(p)?null:"p";if(!h||d||g||(g="s"),c&&c!=g){r<0&&(r=1,u(),t.sticky="after");break}if(g&&(c=g),r>0&&!u(!d))break}var v=ro(e,t,o,l,!0);return rt(o,v)&&(v.hitSide=!0),v}function El(e,t,r,n){var i,o,l=e.doc,s=t.left;if("page"==n){var a=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),u=Math.max(a-.5*en(e.display),3);i=(r>0?t.bottom:t.top)+r*u}else"line"==n&&(i=r>0?t.bottom+3:t.top-3);for(;(o=_r(e,s,i)).outside;){if(r<0?i<=0:i>=l.height){o.hitSide=!0;break}i+=5*r}return o}var Il=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new z,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Rl(e,t){var r=Ar(e,t.line);if(!r||r.hidden)return null;var n=Xe(e.doc,t.line),i=Nr(r,n,t.line),o=ce(n,e.doc.direction),l="left";o&&(l=ae(o,t.ch)%2?"right":"left");var s=Pr(i.map,t.ch,l);return s.offset="right"==s.collapse?s.end:s.start,s}function zl(e,t){return t&&(e.bad=!0),e}function Bl(e,t,r){var n;if(t==e.display.lineDiv){if(!(n=e.display.lineDiv.childNodes[r]))return zl(e.clipPos(et(e.display.viewTo-1)),!0);t=null,r=0}else for(n=t;;n=n.parentNode){if(!n||n==e.display.lineDiv)return null;if(n.parentNode&&n.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==n)return Gl(o,t,r)}}function Gl(e,t,r){var n=e.text.firstChild,i=!1;if(!t||!D(n,t))return zl(et(qe(e.line),0),!0);if(t==n&&(i=!0,t=n.childNodes[r],r=0,!t)){var o=e.rest?_(e.rest):e.line;return zl(et(qe(o),o.text.length),i)}var l=3==t.nodeType?t:null,s=t;for(l||1!=t.childNodes.length||3!=t.firstChild.nodeType||(l=t.firstChild,r&&(r=l.nodeValue.length));s.parentNode!=n;)s=s.parentNode;var a=e.measure,u=a.maps;function c(t,r,n){for(var i=-1;i<(u?u.length:0);i++)for(var o=i<0?a.map:u[i],l=0;l<o.length;l+=3){var s=o[l+2];if(s==t||s==r){var c=qe(i<0?e.line:e.rest[i]),h=o[l]+n;return(n<0||s!=t)&&(h=o[l+(n?1:0)]),et(c,h)}}}var h=c(l,s,r);if(h)return zl(h,i);for(var f=s.nextSibling,d=l?l.nodeValue.length-r:0;f;f=f.nextSibling){if(h=c(f,f.firstChild,0))return zl(et(h.line,h.ch-d),i);d+=f.textContent.length}for(var p=s.previousSibling,g=r;p;p=p.previousSibling){if(h=c(p,p.firstChild,-1))return zl(et(h.line,h.ch+g),i);g+=p.textContent.length}}Il.prototype.init=function(e){var t=this,r=this,n=r.cm,i=r.div=e.lineDiv;function o(e){for(var t=e.target;t;t=t.parentNode){if(t==i)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(t.className))break}return!1}function l(e){if(o(e)&&!ve(n,e)){if(n.somethingSelected())Nl({lineWise:!1,text:n.getSelections()}),"cut"==e.type&&n.replaceSelection("",null,"cut");else{if(!n.options.lineWiseCopyCut)return;var t=Wl(n);Nl({lineWise:!0,text:t.text}),"cut"==e.type&&n.operation(function(){n.setSelections(t.ranges,0,V),n.replaceSelection("",null,"cut")})}if(e.clipboardData){e.clipboardData.clearData();var l=Ml.text.join("\n");if(e.clipboardData.setData("Text",l),e.clipboardData.getData("Text")==l)return void e.preventDefault()}var s=Fl(),a=s.firstChild;n.display.lineSpace.insertBefore(s,n.display.lineSpace.firstChild),a.value=Ml.text.join("\n");var u=W();P(a),setTimeout(function(){n.display.lineSpace.removeChild(s),u.focus(),u==i&&r.showPrimarySelection()},50)}}i.contentEditable=!0,Hl(i,n.options.spellcheck,n.options.autocorrect,n.options.autocapitalize),fe(i,"paste",function(e){!o(e)||ve(n,e)||Al(e,n)||s<=11&&setTimeout(Zn(n,function(){return t.updateFromDOM()}),20)}),fe(i,"compositionstart",function(e){t.composing={data:e.data,done:!1}}),fe(i,"compositionupdate",function(e){t.composing||(t.composing={data:e.data,done:!1})}),fe(i,"compositionend",function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),fe(i,"touchstart",function(){return r.forceCompositionEnd()}),fe(i,"input",function(){t.composing||t.readFromDOMSoon()}),fe(i,"copy",l),fe(i,"cut",l)},Il.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},Il.prototype.prepareSelection=function(){var e=gn(this.cm,!1);return e.focus=W()==this.div,e},Il.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Il.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Il.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),i=n.from(),o=n.to();if(t.display.viewTo==t.display.viewFrom||i.line>=t.display.viewTo||o.line<t.display.viewFrom)e.removeAllRanges();else{var l=Bl(t,e.anchorNode,e.anchorOffset),s=Bl(t,e.focusNode,e.focusOffset);if(!l||l.bad||!s||s.bad||0!=tt(ot(l,s),i)||0!=tt(it(l,s),o)){var a=t.display.view,u=i.line>=t.display.viewFrom&&Rl(t,i)||{node:a[0].measure.map[2],offset:0},c=o.line<t.display.viewTo&&Rl(t,o);if(!c){var h=a[a.length-1].measure,f=h.maps?h.maps[h.maps.length-1]:h.map;c={node:f[f.length-1],offset:f[f.length-2]-f[f.length-3]}}if(u&&c){var d,p=e.rangeCount&&e.getRangeAt(0);try{d=k(u.node,u.offset,c.offset,c.node)}catch(e){}d&&(!r&&t.state.focused?(e.collapse(u.node,u.offset),d.collapsed||(e.removeAllRanges(),e.addRange(d))):(e.removeAllRanges(),e.addRange(d)),p&&null==e.anchorNode?e.addRange(p):r&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},Il.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},Il.prototype.showMultipleSelections=function(e){N(this.cm.display.cursorDiv,e.cursors),N(this.cm.display.selectionDiv,e.selection)},Il.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},Il.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return D(this.div,t)},Il.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()&&W()==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Il.prototype.blur=function(){this.div.blur()},Il.prototype.getField=function(){return this.div},Il.prototype.supportsTouch=function(){return!0},Il.prototype.receivedFocus=function(){var e=this,t=this;this.selectionInEditor()?setTimeout(function(){return e.pollSelection()},20):qn(this.cm,function(){return t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))})},Il.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},Il.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e=this.getSelection(),t=this.cm;if(v&&c&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(e.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var r=Bl(t,e.anchorNode,e.anchorOffset),n=Bl(t,e.focusNode,e.focusOffset);r&&n&&qn(t,function(){qi(t.doc,Ci(r,n),V),(r.bad||n.bad)&&(t.curOp.selectionChanged=!0)})}}},Il.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t,r,n=this.cm,i=n.display,o=n.doc.sel.primary(),l=o.from(),s=o.to();if(0==l.ch&&l.line>n.firstLine()&&(l=et(l.line-1,Xe(n.doc,l.line-1).length)),s.ch==Xe(n.doc,s.line).text.length&&s.line<n.lastLine()&&(s=et(s.line+1,0)),l.line<i.viewFrom||s.line>i.viewTo-1)return!1;l.line==i.viewFrom||0==(e=an(n,l.line))?(t=qe(i.view[0].line),r=i.view[0].node):(t=qe(i.view[e].line),r=i.view[e-1].node.nextSibling);var a,u,c=an(n,s.line);if(c==i.view.length-1?(a=i.viewTo-1,u=i.lineDiv.lastChild):(a=qe(i.view[c+1].line)-1,u=i.view[c+1].node.previousSibling),!r)return!1;for(var h=n.doc.splitLines(function(e,t,r,n,i){var o="",l=!1,s=e.doc.lineSeparator(),a=!1;function u(){l&&(o+=s,a&&(o+=s),l=a=!1)}function c(e){e&&(u(),o+=e)}function h(t){if(1==t.nodeType){var r=t.getAttribute("cm-text");if(r)return void c(r);var o,f=t.getAttribute("cm-marker");if(f){var d=e.findMarks(et(n,0),et(i+1,0),(v=+f,function(e){return e.id==v}));return void(d.length&&(o=d[0].find(0))&&c(Ye(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;p&&u();for(var g=0;g<t.childNodes.length;g++)h(t.childNodes[g]);/^(pre|p)$/i.test(t.nodeName)&&(a=!0),p&&(l=!0)}else 3==t.nodeType&&c(t.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "));var v}for(;h(t),t!=r;)t=t.nextSibling,a=!1;return o}(n,r,u,t,a)),f=Ye(n.doc,et(t,0),et(a,Xe(n.doc,a).text.length));h.length>1&&f.length>1;)if(_(h)==_(f))h.pop(),f.pop(),a--;else{if(h[0]!=f[0])break;h.shift(),f.shift(),t++}for(var d=0,p=0,g=h[0],v=f[0],m=Math.min(g.length,v.length);d<m&&g.charCodeAt(d)==v.charCodeAt(d);)++d;for(var y=_(h),b=_(f),w=Math.min(y.length-(1==h.length?d:0),b.length-(1==f.length?d:0));p<w&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)++p;if(1==h.length&&1==f.length&&t==l.line)for(;d&&d>l.ch&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)d--,p++;h[h.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),h[0]=h[0].slice(d).replace(/\u200b+$/,"");var x=et(t,d),C=et(a,f.length?_(f).length-p:0);return h.length>1||h[0]||tt(x,C)?(ho(n.doc,h,x,C,"+input"),!0):void 0},Il.prototype.ensurePolled=function(){this.forceCompositionEnd()},Il.prototype.reset=function(){this.forceCompositionEnd()},Il.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Il.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Il.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||qn(this.cm,function(){return un(e.cm)})},Il.prototype.setUneditable=function(e){e.contentEditable="false"},Il.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Zn(this.cm,Ol)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Il.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Il.prototype.onContextMenu=function(){},Il.prototype.resetPosition=function(){},Il.prototype.needsContentAttribute=!0;var Ul=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new z,this.hasSelection=!1,this.composing=null};Ul.prototype.init=function(e){var t=this,r=this,n=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!ve(n,e)){if(n.somethingSelected())Nl({lineWise:!1,text:n.getSelections()});else{if(!n.options.lineWiseCopyCut)return;var t=Wl(n);Nl({lineWise:!0,text:t.text}),"cut"==e.type?n.setSelections(t.ranges,null,V):(r.prevInput="",i.value=t.text.join("\n"),P(i))}"cut"==e.type&&(n.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),g&&(i.style.width="0px"),fe(i,"input",function(){l&&s>=9&&t.hasSelection&&(t.hasSelection=null),r.poll()}),fe(i,"paste",function(e){ve(n,e)||Al(e,n)||(n.state.pasteIncoming=+new Date,r.fastPoll())}),fe(i,"cut",o),fe(i,"copy",o),fe(e.scroller,"paste",function(t){if(!xr(e,t)&&!ve(n,t)){if(!i.dispatchEvent)return n.state.pasteIncoming=+new Date,void r.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}}),fe(e.lineSpace,"selectstart",function(t){xr(e,t)||we(t)}),fe(i,"compositionstart",function(){var e=n.getCursor("from");r.composing&&r.composing.range.clear(),r.composing={start:e,range:n.markText(e,n.getCursor("to"),{className:"CodeMirror-composing"})}}),fe(i,"compositionend",function(){r.composing&&(r.poll(),r.composing.range.clear(),r.composing=null)})},Ul.prototype.createField=function(e){this.wrapper=Fl(),this.textarea=this.wrapper.firstChild},Ul.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Ul.prototype.prepareSelection=function(){var e=this.cm,t=e.display,r=e.doc,n=gn(e);if(e.options.moveInputWithCursor){var i=Xr(e,r.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();n.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-o.top)),n.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-o.left))}return n},Ul.prototype.showSelection=function(e){var t=this.cm.display;N(t.cursorDiv,e.cursors),N(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ul.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var r=t.getSelection();this.textarea.value=r,t.state.focused&&P(this.textarea),l&&s>=9&&(this.hasSelection=r)}else e||(this.prevInput=this.textarea.value="",l&&s>=9&&(this.hasSelection=null))}},Ul.prototype.getField=function(){return this.textarea},Ul.prototype.supportsTouch=function(){return!1},Ul.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!m||W()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ul.prototype.blur=function(){this.textarea.blur()},Ul.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ul.prototype.receivedFocus=function(){this.slowPoll()},Ul.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Ul.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,function r(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,r))})},Ul.prototype.poll=function(){var e=this,t=this.cm,r=this.textarea,n=this.prevInput;if(this.contextMenuPending||!t.state.focused||He(r)&&!n&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=r.value;if(i==n&&!t.somethingSelected())return!1;if(l&&s>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||n||(n="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var a=0,u=Math.min(n.length,i.length);a<u&&n.charCodeAt(a)==i.charCodeAt(a);)++a;return qn(t,function(){Ol(t,i.slice(a),n.length-a,null,e.composing?"*compose":null),i.length>1e3||i.indexOf("\n")>-1?r.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ul.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ul.prototype.onKeyPress=function(){l&&s>=9&&(this.hasSelection=null),this.fastPoll()},Ul.prototype.onContextMenu=function(e){var t=this,r=t.cm,n=r.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=sn(r,e),u=n.scroller.scrollTop;if(o&&!h){r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(o)&&Zn(r,qi)(r.doc,Ci(o),V);var c,f=i.style.cssText,d=t.wrapper.style.cssText,p=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(l?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",a&&(c=window.scrollY),n.input.focus(),a&&window.scrollTo(null,c),n.input.reset(),r.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=m,n.selForContextMenu=r.doc.sel,clearTimeout(n.detectingSelectAll),l&&s>=9&&v(),S){Se(e);var g=function(){pe(window,"mouseup",g),setTimeout(m,20)};fe(window,"mouseup",g)}else setTimeout(m,50)}function v(){if(null!=i.selectionStart){var e=r.somethingSelected(),o="​"+(e?i.value:"");i.value="⇚",i.value=o,t.prevInput=e?"":"​",i.selectionStart=1,i.selectionEnd=o.length,n.selForContextMenu=r.doc.sel}}function m(){if(t.contextMenuPending==m&&(t.contextMenuPending=!1,t.wrapper.style.cssText=d,i.style.cssText=f,l&&s<9&&n.scrollbars.setScrollTop(n.scroller.scrollTop=u),null!=i.selectionStart)){(!l||l&&s<9)&&v();var e=0,o=function(){n.selForContextMenu==r.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==t.prevInput?Zn(r,io)(r):e++<10?n.detectingSelectAll=setTimeout(o,500):(n.selForContextMenu=null,n.input.reset())};n.detectingSelectAll=setTimeout(o,200)}}},Ul.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Ul.prototype.setUneditable=function(){},Ul.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function r(r,n,i,o){e.defaults[r]=n,i&&(t[r]=o?function(e,t,r){r!=bl&&i(e,t,r)}:i)}e.defineOption=r,e.Init=bl,r("value","",function(e,t){return e.setValue(t)},!0),r("mode",null,function(e,t){e.doc.modeOption=t,Mi(e)},!0),r("indentUnit",2,Mi,!0),r("indentWithTabs",!1),r("smartIndent",!0),r("tabSize",4,function(e){Ni(e),zr(e),un(e)},!0),r("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var r=[],n=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,r.push(et(n,o))}n++});for(var i=r.length-1;i>=0;i--)ho(e.doc,t,r[i],et(r[i].line,r[i].ch+t.length))}}),r("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(e,t,r){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),r!=bl&&e.refresh()}),r("specialCharPlaceholder",Qt,function(e){return e.refresh()},!0),r("electricChars",!0),r("inputStyle",m?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),r("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),r("autocorrect",!1,function(e,t){return e.getInputField().autocorrect=t},!0),r("autocapitalize",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),r("rtlMoveVisually",!w),r("wholeLineUpdateBefore",!0),r("theme","default",function(e){yl(e),fi(e)},!0),r("keyMap","default",function(e,t,r){var n=Yo(t),i=r!=bl&&Yo(r);i&&i.detach&&i.detach(e,n),n.attach&&n.attach(e,i||null)}),r("extraKeys",null),r("configureMouse",null),r("lineWrapping",!1,Sl,!0),r("gutters",[],function(e,t){e.display.gutterSpecs=ci(t,e.options.lineNumbers),fi(e)},!0),r("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?nn(e.display)+"px":"0",e.refresh()},!0),r("coverGutterNextToScrollbar",!1,function(e){return zn(e)},!0),r("scrollbarStyle","native",function(e){Un(e),zn(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),r("lineNumbers",!1,function(e,t){e.display.gutterSpecs=ci(e.options.gutters,t),fi(e)},!0),r("firstLineNumber",1,fi,!0),r("lineNumberFormatter",function(e){return e},fi,!0),r("showCursorWhenSelecting",!1,pn,!0),r("resetSelectionOnContextMenu",!0),r("lineWiseCopyCut",!0),r("pasteLinesPerSelection",!0),r("selectionsMayTouch",!1),r("readOnly",!1,function(e,t){"nocursor"==t&&(Sn(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),r("screenReaderLabel",null,function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)}),r("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),r("dragDrop",!0,Cl),r("allowDropFileTypes",null),r("cursorBlinkRate",530),r("cursorScrollMargin",0),r("cursorHeight",1,pn,!0),r("singleCursorHeightPerLine",!0,pn,!0),r("workTime",100),r("workDelay",100),r("flattenSpans",!0,Ni,!0),r("addModeClass",!1,Ni,!0),r("pollInterval",100),r("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),r("historyEventDelay",1250),r("viewportMargin",10,function(e){return e.refresh()},!0),r("maxHighlightLength",1e4,Ni,!0),r("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),r("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),r("autofocus",null),r("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0),r("phrases",null)}(Ll),function(e){var t=e.optionHandlers,r=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,r){var n=this.options,i=n[e];n[e]==r&&"mode"!=e||(n[e]=r,t.hasOwnProperty(e)&&Zn(this,t[e])(this,r,i),ge(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,r=0;r<t.length;++r)if(t[r]==e||t[r].name==e)return t.splice(r,1),!0},addOverlay:Qn(function(t,r){var n=t.token?t:e.getMode(this.options,t);if(n.startState)throw new Error("Overlays may not be stateful.");!function(e,t,r){for(var n=0,i=r(t);n<e.length&&r(e[n])<=i;)n++;e.splice(n,0,t)}(this.state.overlays,{mode:n,modeSpec:t,opaque:r&&r.opaque,priority:r&&r.priority||0},function(e){return e.priority}),this.state.modeGen++,un(this)}),removeOverlay:Qn(function(e){for(var t=this.state.overlays,r=0;r<t.length;++r){var n=t[r].modeSpec;if(n==e||"string"==typeof e&&n.name==e)return t.splice(r,1),this.state.modeGen++,void un(this)}}),indentLine:Qn(function(e,t,r){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),Qe(this.doc,e)&&Tl(this,e,t,r)}),indentSelection:Qn(function(e){for(var t=this.doc.sel.ranges,r=-1,n=0;n<t.length;n++){var i=t[n];if(i.empty())i.head.line>r&&(Tl(this,i.head.line,e,!0),r=i.head.line,n==this.doc.sel.primIndex&&On(this));else{var o=i.from(),l=i.to(),s=Math.max(r,o.line);r=Math.min(this.lastLine(),l.line-(l.ch?0:1))+1;for(var a=s;a<r;++a)Tl(this,a,e);var u=this.doc.sel.ranges;0==o.ch&&t.length==u.length&&u[n].from().ch>0&&Yi(this.doc,n,new wi(o,u[n].to()),V)}}}),getTokenAt:function(e,t){return yt(this,e,t)},getLineTokens:function(e,t){return yt(this,et(e),t,!0)},getTokenTypeAt:function(e){e=st(this.doc,e);var t,r=ft(this,Xe(this.doc,e.line)),n=0,i=(r.length-1)/2,o=e.ch;if(0==o)t=r[2];else for(;;){var l=n+i>>1;if((l?r[2*l-1]:0)>=o)i=l;else{if(!(r[2*l+1]<o)){t=r[2*l+2];break}n=l+1}}var s=t?t.indexOf("overlay "):-1;return s<0?t:0==s?null:t.slice(0,s-1)},getModeAt:function(t){var r=this.doc.mode;return r.innerMode?e.innerMode(r,this.getTokenAt(t).state).mode:r},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var n=[];if(!r.hasOwnProperty(t))return n;var i=r[t],o=this.getModeAt(e);if("string"==typeof o[t])i[o[t]]&&n.push(i[o[t]]);else if(o[t])for(var l=0;l<o[t].length;l++){var s=i[o[t][l]];s&&n.push(s)}else o.helperType&&i[o.helperType]?n.push(i[o.helperType]):i[o.name]&&n.push(i[o.name]);for(var a=0;a<i._global.length;a++){var u=i._global[a];u.pred(o,this)&&-1==B(n,u.val)&&n.push(u.val)}return n},getStateAfter:function(e,t){var r=this.doc;return dt(this,(e=lt(r,null==e?r.first+r.size-1:e))+1,t).state},cursorCoords:function(e,t){var r=this.doc.sel.primary();return Xr(this,null==e?r.head:"object"==typeof e?st(this.doc,e):e?r.from():r.to(),t||"page")},charCoords:function(e,t){return jr(this,st(this.doc,e),t||"page")},coordsChar:function(e,t){return _r(this,(e=Kr(this,e,t||"page")).left,e.top)},lineAtHeight:function(e,t){return e=Kr(this,{top:e,left:0},t||"page").top,Ze(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,r){var n,i=!1;if("number"==typeof e){var o=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>o&&(e=o,i=!0),n=Xe(this.doc,e)}else n=e;return Vr(this,n,{top:0,left:0},t||"page",r||i).top+(i?this.doc.height-Vt(n):0)},defaultTextHeight:function(){return en(this.display)},defaultCharWidth:function(){return tn(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,r,n,i){var o,l,s,a=this.display,u=(e=Xr(this,st(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),a.sizer.appendChild(t),"over"==n)u=e.top;else if("above"==n||"near"==n){var h=Math.max(a.wrapper.clientHeight,this.doc.height),f=Math.max(a.sizer.clientWidth,a.lineSpace.clientWidth);("above"==n||e.bottom+t.offsetHeight>h)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=h&&(u=e.bottom),c+t.offsetWidth>f&&(c=f-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==i?(c=a.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?c=0:"middle"==i&&(c=(a.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),r&&(o=this,l={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=Mn(o,l)).scrollTop&&Hn(o,s.scrollTop),null!=s.scrollLeft&&Pn(o,s.scrollLeft))},triggerOnKeyDown:Qn(sl),triggerOnKeyPress:Qn(ul),triggerOnKeyUp:al,triggerOnMouseDown:Qn(dl),execCommand:function(e){if(Qo.hasOwnProperty(e))return Qo[e].call(null,this)},triggerElectric:Qn(function(e){Dl(this,e)}),findPosH:function(e,t,r,n){var i=1;t<0&&(i=-1,t=-t);for(var o=st(this.doc,e),l=0;l<t&&!(o=Pl(this.doc,o,i,r,n)).hitSide;++l);return o},moveH:Qn(function(e,t){var r=this;this.extendSelectionsBy(function(n){return r.display.shift||r.doc.extend||n.empty()?Pl(r.doc,n.head,e,t,r.options.rtlMoveVisually):e<0?n.from():n.to()},j)}),deleteH:Qn(function(e,t){var r=this.doc.sel,n=this.doc;r.somethingSelected()?n.replaceSelection("",null,"+delete"):$o(this,function(r){var i=Pl(n,r.head,e,t,!1);return e<0?{from:i,to:r.head}:{from:r.head,to:i}})}),findPosV:function(e,t,r,n){var i=1,o=n;t<0&&(i=-1,t=-t);for(var l=st(this.doc,e),s=0;s<t;++s){var a=Xr(this,l,"div");if(null==o?o=a.left:a.left=o,(l=El(this,a,i,r)).hitSide)break}return l},moveV:Qn(function(e,t){var r=this,n=this.doc,i=[],o=!this.display.shift&&!n.extend&&n.sel.somethingSelected();if(n.extendSelectionsBy(function(l){if(o)return e<0?l.from():l.to();var s=Xr(r,l.head,"div");null!=l.goalColumn&&(s.left=l.goalColumn),i.push(s.left);var a=El(r,s,e,t);return"page"==t&&l==n.sel.primary()&&Nn(r,jr(r,a,"div").top-s.top),a},j),i.length)for(var l=0;l<n.sel.ranges.length;l++)n.sel.ranges[l].goalColumn=i[l]}),findWordAt:function(e){var t=Xe(this.doc,e.line).text,r=e.ch,n=e.ch;if(t){var i=this.getHelper(e,"wordChars");"before"!=e.sticky&&n!=t.length||!r?++n:--r;for(var o=t.charAt(r),l=te(o,i)?function(e){return te(e,i)}:/\s/.test(o)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!te(e)};r>0&&l(t.charAt(r-1));)--r;for(;n<t.length&&l(t.charAt(n));)++n}return new wi(et(e.line,r),et(e.line,n))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?H(this.display.cursorDiv,"CodeMirror-overwrite"):T(this.display.cursorDiv,"CodeMirror-overwrite"),ge(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==W()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:Qn(function(e,t){An(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-kr(this)-this.display.barHeight,width:e.scrollWidth-kr(this)-this.display.barWidth,clientHeight:Mr(this),clientWidth:Tr(this)}},scrollIntoView:Qn(function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):"number"==typeof e?e={from:et(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?function(e,t){Dn(e),e.curOp.scrollToPos=t}(this,e):Wn(this,e.from,e.to,e.margin)}),setSize:Qn(function(e,t){var r=this,n=function(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e};null!=e&&(this.display.wrapper.style.width=n(e)),null!=t&&(this.display.wrapper.style.height=n(t)),this.options.lineWrapping&&Rr(this);var i=this.display.viewFrom;this.doc.iter(i,this.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){cn(r,i,"widget");break}++i}),this.curOp.forceUpdate=!0,ge(this,"refresh",this)}),operation:function(e){return qn(this,e)},startOperation:function(){return Kn(this)},endOperation:function(){return jn(this)},refresh:Qn(function(){var e=this.display.cachedTextHeight;un(this),this.curOp.forceUpdate=!0,zr(this),An(this,this.doc.scrollLeft,this.doc.scrollTop),li(this.display),(null==e||Math.abs(e-en(this.display))>.5||this.options.lineWrapping)&&ln(this),ge(this,"refresh",this)}),swapDoc:Qn(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Wi(this,e),zr(this),this.display.input.reset(),An(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,sr(this,"swapDoc",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},be(e),e.registerHelper=function(t,n,i){r.hasOwnProperty(t)||(r[t]=e[t]={_global:[]}),r[t][n]=i},e.registerGlobalHelper=function(t,n,i,o){e.registerHelper(t,n,o),r[t]._global.push({pred:i,val:o})}}(Ll);var Vl="iter insert remove copy getEditor constructor".split(" ");for(var Kl in No.prototype)No.prototype.hasOwnProperty(Kl)&&B(Vl,Kl)<0&&(Ll.prototype[Kl]=function(e){return function(){return e.apply(this.doc,arguments)}}(No.prototype[Kl]));return be(No),Ll.inputStyles={textarea:Ul,contenteditable:Il},Ll.defineMode=function(e){Ll.defaults.mode||"null"==e||(Ll.defaults.mode=e),function(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Ee[e]=t}.apply(this,arguments)},Ll.defineMIME=function(e,t){Ie[e]=t},Ll.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Ll.defineMIME("text/plain","null"),Ll.defineExtension=function(e,t){Ll.prototype[e]=t},Ll.defineDocExtension=function(e,t){No.prototype[e]=t},Ll.fromTextArea=function(e,t){if((t=t?I(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var r=W();t.autofocus=r==e||null!=e.getAttribute("autofocus")&&r==document.body}function n(){e.value=s.getValue()}var i;if(e.form&&(fe(e.form,"submit",n),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var l=o.submit=function(){n(),o.submit=i,o.submit(),o.submit=l}}catch(e){}}t.finishInit=function(r){r.save=n,r.getTextArea=function(){return e},r.toTextArea=function(){r.toTextArea=isNaN,n(),e.parentNode.removeChild(r.getWrapperElement()),e.style.display="",e.form&&(pe(e.form,"submit",n),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display="none";var s=Ll(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return s},function(e){e.off=pe,e.on=fe,e.wheelEventPixels=mi,e.Doc=No,e.splitLines=We,e.countColumn=R,e.findColumn=X,e.isWordChar=ee,e.Pass=U,e.signal=ge,e.Line=Xt,e.changeEnd=Si,e.scrollbarModel=Gn,e.Pos=et,e.cmpPos=tt,e.modes=Ee,e.mimeModes=Ie,e.resolveMode=Re,e.getMode=ze,e.modeExtensions=Be,e.extendMode=Ge,e.copyState=Ue,e.startState=Ke,e.innerMode=Ve,e.commands=Qo,e.keyMap=Bo,e.keyName=Xo,e.isModifierKey=Ko,e.lookupKey=Vo,e.normalizeKeyMap=Uo,e.StringStream=je,e.SharedTextMarker=Lo,e.TextMarker=Co,e.LineWidget=bo,e.e_preventDefault=we,e.e_stopPropagation=xe,e.e_stop=Se,e.addClass=H,e.contains=D,e.rmClass=T,e.keyNames=Eo}(Ll),Ll.version="5.65.2",Ll});
2886
2924
 
2887
- },{}],698:[function(require,module,exports){
2925
+ },{}],711:[function(require,module,exports){
2888
2926
  !function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.defineMode("javascript",function(t,r){var n,a,i=t.indentUnit,o=r.statementIndent,c=r.jsonld,s=r.json||c,u=!1!==r.trackScope,f=r.typescript,l=r.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),r=e("keyword b"),n=e("keyword c"),a=e("keyword d"),i=e("operator"),o={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:r,do:r,try:r,finally:r,return:a,break:a,continue:a,new:e("new"),delete:n,void:n,throw:n,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:i,typeof:i,instanceof:i,true:o,false:o,null:o,undefined:o,NaN:o,Infinity:o,this:e("this"),class:e("class"),super:e("atom"),yield:n,export:e("export"),import:e("import"),extends:n,await:n}}(),p=/[+\-*&%=<>!?|~^@]/,m=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function v(e,t,r){return n=e,a=r,t}function k(e,t){var r,n=e.next();if('"'==n||"'"==n)return t.tokenize=(r=n,function(e,t){var n,a=!1;if(c&&"@"==e.peek()&&e.match(m))return t.tokenize=k,v("jsonld-keyword","meta");for(;null!=(n=e.next())&&(n!=r||a);)a=!a&&"\\"==n;return a||(t.tokenize=k),v("string","string")}),t.tokenize(e,t);if("."==n&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return v("number","number");if("."==n&&e.match(".."))return v("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return v(n);if("="==n&&e.eat(">"))return v("=>","operator");if("0"==n&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return v("number","number");if(/\d/.test(n))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),v("number","number");if("/"==n)return e.eat("*")?(t.tokenize=y,y(e,t)):e.eat("/")?(e.skipToEnd(),v("comment","comment")):Ze(e,t,1)?(function(e){for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if("/"==t&&!n)return;"["==t?n=!0:n&&"]"==t&&(n=!1)}r=!r&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),v("regexp","string-2")):(e.eat("="),v("operator","operator",e.current()));if("`"==n)return t.tokenize=w,w(e,t);if("#"==n&&"!"==e.peek())return e.skipToEnd(),v("meta","meta");if("#"==n&&e.eatWhile(l))return v("variable","property");if("<"==n&&e.match("!--")||"-"==n&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),v("comment","comment");if(p.test(n))return">"==n&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=n&&"="!=n||e.eat("="):/[<>*+\-|&?]/.test(n)&&(e.eat(n),">"==n&&e.eat(n))),"?"==n&&e.eat(".")?v("."):v("operator","operator",e.current());if(l.test(n)){e.eatWhile(l);var a=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(a)){var i=d[a];return v(i.type,i.style,a)}if("async"==a&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return v("async","keyword",a)}return v("variable","variable",a)}}function y(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=k;break}n="*"==r}return v("comment","comment")}function w(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=k;break}n=!n&&"\\"==r}return v("quasi","string-2",e.current())}var b="([{}])";function x(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(r<0)){if(f){var n=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,r));n&&(r=n.index)}for(var a=0,i=!1,o=r-1;o>=0;--o){var c=e.string.charAt(o),s=b.indexOf(c);if(s>=0&&s<3){if(!a){++o;break}if(0==--a){"("==c&&(i=!0);break}}else if(s>=3&&s<6)++a;else if(l.test(c))i=!0;else if(/["'\/`]/.test(c))for(;;--o){if(0==o)return;if(e.string.charAt(o-1)==c&&"\\"!=e.string.charAt(o-2)){o--;break}}else if(i&&!a){++o;break}}i&&!a&&(t.fatArrowAt=o)}}var h={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function g(e,t,r,n,a,i){this.indented=e,this.column=t,this.type=r,this.prev=a,this.info=i,null!=n&&(this.align=n)}function j(e,t){if(!u)return!1;for(var r=e.localVars;r;r=r.next)if(r.name==t)return!0;for(var n=e.context;n;n=n.prev)for(r=n.vars;r;r=r.next)if(r.name==t)return!0}function M(e,t,r,n,a){var i=e.cc;for(A.state=e,A.stream=a,A.marked=null,A.cc=i,A.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){if((i.length?i.pop():s?F:W)(r,n)){for(;i.length&&i[i.length-1].lex;)i.pop()();return A.marked?A.marked:"variable"==r&&j(e,n)?"variable-2":t}}}var A={state:null,column:null,marked:null,cc:null};function V(){for(var e=arguments.length-1;e>=0;e--)A.cc.push(arguments[e])}function E(){return V.apply(null,arguments),!0}function z(e,t){for(var r=t;r;r=r.next)if(r.name==e)return!0;return!1}function I(e){var t=A.state;if(A.marked="def",u){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var n=function e(t,r){if(r){if(r.block){var n=e(t,r.prev);return n?n==r.prev?r:new $(n,r.vars,!0):null}return z(t,r.vars)?r:new $(r.prev,new q(t,r.vars),!1)}return null}(e,t.context);if(null!=n)return void(t.context=n)}else if(!z(e,t.localVars))return void(t.localVars=new q(e,t.localVars));r.globalVars&&!z(e,t.globalVars)&&(t.globalVars=new q(e,t.globalVars))}}function T(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function $(e,t,r){this.prev=e,this.vars=t,this.block=r}function q(e,t){this.name=e,this.next=t}var C=new q("this",new q("arguments",null));function S(){A.state.context=new $(A.state.context,A.state.localVars,!1),A.state.localVars=C}function _(){A.state.context=new $(A.state.context,A.state.localVars,!0),A.state.localVars=null}function O(){A.state.localVars=A.state.context.vars,A.state.context=A.state.context.prev}function P(e,t){var r=function(){var r=A.state,n=r.indented;if("stat"==r.lexical.type)n=r.lexical.indented;else for(var a=r.lexical;a&&")"==a.type&&a.align;a=a.prev)n=a.indented;r.lexical=new g(n,A.stream.column(),e,null,r.lexical,t)};return r.lex=!0,r}function N(){var e=A.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function U(e){return function t(r){return r==e?E():";"==e||"}"==r||")"==r||"]"==r?V():E(t)}}function W(e,t){return"var"==e?E(P("vardef",t),Me,U(";"),N):"keyword a"==e?E(P("form"),D,W,N):"keyword b"==e?E(P("form"),W,N):"keyword d"==e?A.stream.match(/^\s*$/,!1)?E():E(P("stat"),J,U(";"),N):"debugger"==e?E(U(";")):"{"==e?E(P("}"),_,se,N,O):";"==e?E():"if"==e?("else"==A.state.lexical.info&&A.state.cc[A.state.cc.length-1]==N&&A.state.cc.pop()(),E(P("form"),D,W,N,Te)):"function"==e?E(Se):"for"==e?E(P("form"),_,$e,W,O,N):"class"==e||f&&"interface"==t?(A.marked="keyword",E(P("form","class"==e?e:t),Ue,N)):"variable"==e?f&&"declare"==t?(A.marked="keyword",E(W)):f&&("module"==t||"enum"==t||"type"==t)&&A.stream.match(/^\s*\w/,!1)?(A.marked="keyword","enum"==t?E(Xe):"type"==t?E(Oe,U("operator"),pe,U(";")):E(P("form"),Ae,U("{"),P("}"),se,N,N)):f&&"namespace"==t?(A.marked="keyword",E(P("form"),F,W,N)):f&&"abstract"==t?(A.marked="keyword",E(W)):E(P("stat"),te):"switch"==e?E(P("form"),D,U("{"),P("}","switch"),_,se,N,N,O):"case"==e?E(F,U(":")):"default"==e?E(U(":")):"catch"==e?E(P("form"),S,B,W,N,O):"export"==e?E(P("stat"),He,N):"import"==e?E(P("stat"),Ge,N):"async"==e?E(W):"@"==t?E(F,W):V(P("stat"),F,U(";"),N)}function B(e){if("("==e)return E(Pe,U(")"))}function F(e,t){return G(e,t,!1)}function H(e,t){return G(e,t,!0)}function D(e){return"("!=e?V():E(P(")"),J,U(")"),N)}function G(e,t,r){if(A.state.fatArrowAt==A.stream.start){var n=r?Y:X;if("("==e)return E(S,P(")"),oe(Pe,")"),N,U("=>"),n,O);if("variable"==e)return V(S,Ae,U("=>"),n,O)}var a=r?L:K;return h.hasOwnProperty(e)?E(a):"function"==e?E(Se,a):"class"==e||f&&"interface"==t?(A.marked="keyword",E(P("form"),Ne,N)):"keyword c"==e||"async"==e?E(r?H:F):"("==e?E(P(")"),J,U(")"),N,a):"operator"==e||"spread"==e?E(r?H:F):"["==e?E(P("]"),Re,N,a):"{"==e?ce(ne,"}",null,a):"quasi"==e?V(Q,a):"new"==e?E(function(e){return function(t){return"."==t?E(e?ee:Z):"variable"==t&&f?E(he,e?L:K):V(e?H:F)}}(r)):E()}function J(e){return e.match(/[;\}\)\],]/)?V():V(F)}function K(e,t){return","==e?E(J):L(e,t,!1)}function L(e,t,r){var n=0==r?K:L,a=0==r?F:H;return"=>"==e?E(S,r?Y:X,O):"operator"==e?/\+\+|--/.test(t)||f&&"!"==t?E(n):f&&"<"==t&&A.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?E(P(">"),oe(pe,">"),N,n):"?"==t?E(F,U(":"),a):E(a):"quasi"==e?V(Q,n):";"!=e?"("==e?ce(H,")","call",n):"."==e?E(re,n):"["==e?E(P("]"),J,U("]"),N,n):f&&"as"==t?(A.marked="keyword",E(pe,n)):"regexp"==e?(A.state.lastType=A.marked="operator",A.stream.backUp(A.stream.pos-A.stream.start-1),E(a)):void 0:void 0}function Q(e,t){return"quasi"!=e?V():"${"!=t.slice(t.length-2)?E(Q):E(J,R)}function R(e){if("}"==e)return A.marked="string-2",A.state.tokenize=w,E(Q)}function X(e){return x(A.stream,A.state),V("{"==e?W:F)}function Y(e){return x(A.stream,A.state),V("{"==e?W:H)}function Z(e,t){if("target"==t)return A.marked="keyword",E(K)}function ee(e,t){if("target"==t)return A.marked="keyword",E(L)}function te(e){return":"==e?E(N,W):V(K,U(";"),N)}function re(e){if("variable"==e)return A.marked="property",E()}function ne(e,t){return"async"==e?(A.marked="property",E(ne)):"variable"==e||"keyword"==A.style?(A.marked="property","get"==t||"set"==t?E(ae):(f&&A.state.fatArrowAt==A.stream.start&&(r=A.stream.match(/^\s*:\s*/,!1))&&(A.state.fatArrowAt=A.stream.pos+r[0].length),E(ie))):"number"==e||"string"==e?(A.marked=c?"property":A.style+" property",E(ie)):"jsonld-keyword"==e?E(ie):f&&T(t)?(A.marked="keyword",E(ne)):"["==e?E(F,ue,U("]"),ie):"spread"==e?E(H,ie):"*"==t?(A.marked="keyword",E(ne)):":"==e?V(ie):void 0;var r}function ae(e){return"variable"!=e?V(ie):(A.marked="property",E(Se))}function ie(e){return":"==e?E(H):"("==e?V(Se):void 0}function oe(e,t,r){function n(a,i){if(r?r.indexOf(a)>-1:","==a){var o=A.state.lexical;return"call"==o.info&&(o.pos=(o.pos||0)+1),E(function(r,n){return r==t||n==t?V():V(e)},n)}return a==t||i==t?E():r&&r.indexOf(";")>-1?V(e):E(U(t))}return function(r,a){return r==t||a==t?E():V(e,n)}}function ce(e,t,r){for(var n=3;n<arguments.length;n++)A.cc.push(arguments[n]);return E(P(t,r),oe(e,t),N)}function se(e){return"}"==e?E():V(W,se)}function ue(e,t){if(f){if(":"==e)return E(pe);if("?"==t)return E(ue)}}function fe(e,t){if(f&&(":"==e||"in"==t))return E(pe)}function le(e){if(f&&":"==e)return A.stream.match(/^\s*\w+\s+is\b/,!1)?E(F,de,pe):E(pe)}function de(e,t){if("is"==t)return A.marked="keyword",E()}function pe(e,t){return"keyof"==t||"typeof"==t||"infer"==t||"readonly"==t?(A.marked="keyword",E("typeof"==t?H:pe)):"variable"==e||"void"==t?(A.marked="type",E(xe)):"|"==t||"&"==t?E(pe):"string"==e||"number"==e||"atom"==e?E(xe):"["==e?E(P("]"),oe(pe,"]",","),N,xe):"{"==e?E(P("}"),ve,N,xe):"("==e?E(oe(be,")"),me,xe):"<"==e?E(oe(pe,">"),pe):"quasi"==e?V(ye,xe):void 0}function me(e){if("=>"==e)return E(pe)}function ve(e){return e.match(/[\}\)\]]/)?E():","==e||";"==e?E(ve):V(ke,ve)}function ke(e,t){return"variable"==e||"keyword"==A.style?(A.marked="property",E(ke)):"?"==t||"number"==e||"string"==e?E(ke):":"==e?E(pe):"["==e?E(U("variable"),fe,U("]"),ke):"("==e?V(_e,ke):e.match(/[;\}\)\],]/)?void 0:E()}function ye(e,t){return"quasi"!=e?V():"${"!=t.slice(t.length-2)?E(ye):E(pe,we)}function we(e){if("}"==e)return A.marked="string-2",A.state.tokenize=w,E(ye)}function be(e,t){return"variable"==e&&A.stream.match(/^\s*[?:]/,!1)||"?"==t?E(be):":"==e?E(pe):"spread"==e?E(be):V(pe)}function xe(e,t){return"<"==t?E(P(">"),oe(pe,">"),N,xe):"|"==t||"."==e||"&"==t?E(pe):"["==e?E(pe,U("]"),xe):"extends"==t||"implements"==t?(A.marked="keyword",E(pe)):"?"==t?E(pe,U(":"),pe):void 0}function he(e,t){if("<"==t)return E(P(">"),oe(pe,">"),N,xe)}function ge(){return V(pe,je)}function je(e,t){if("="==t)return E(pe)}function Me(e,t){return"enum"==t?(A.marked="keyword",E(Xe)):V(Ae,ue,ze,Ie)}function Ae(e,t){return f&&T(t)?(A.marked="keyword",E(Ae)):"variable"==e?(I(t),E()):"spread"==e?E(Ae):"["==e?ce(Ee,"]"):"{"==e?ce(Ve,"}"):void 0}function Ve(e,t){return"variable"!=e||A.stream.match(/^\s*:/,!1)?("variable"==e&&(A.marked="property"),"spread"==e?E(Ae):"}"==e?V():"["==e?E(F,U("]"),U(":"),Ve):E(U(":"),Ae,ze)):(I(t),E(ze))}function Ee(){return V(Ae,ze)}function ze(e,t){if("="==t)return E(H)}function Ie(e){if(","==e)return E(Me)}function Te(e,t){if("keyword b"==e&&"else"==t)return E(P("form","else"),W,N)}function $e(e,t){return"await"==t?E($e):"("==e?E(P(")"),qe,N):void 0}function qe(e){return"var"==e?E(Me,Ce):"variable"==e?E(Ce):V(Ce)}function Ce(e,t){return")"==e?E():";"==e?E(Ce):"in"==t||"of"==t?(A.marked="keyword",E(F,Ce)):V(F,Ce)}function Se(e,t){return"*"==t?(A.marked="keyword",E(Se)):"variable"==e?(I(t),E(Se)):"("==e?E(S,P(")"),oe(Pe,")"),N,le,W,O):f&&"<"==t?E(P(">"),oe(ge,">"),N,Se):void 0}function _e(e,t){return"*"==t?(A.marked="keyword",E(_e)):"variable"==e?(I(t),E(_e)):"("==e?E(S,P(")"),oe(Pe,")"),N,le,O):f&&"<"==t?E(P(">"),oe(ge,">"),N,_e):void 0}function Oe(e,t){return"keyword"==e||"variable"==e?(A.marked="type",E(Oe)):"<"==t?E(P(">"),oe(ge,">"),N):void 0}function Pe(e,t){return"@"==t&&E(F,Pe),"spread"==e?E(Pe):f&&T(t)?(A.marked="keyword",E(Pe)):f&&"this"==e?E(ue,ze):V(Ae,ue,ze)}function Ne(e,t){return"variable"==e?Ue(e,t):We(e,t)}function Ue(e,t){if("variable"==e)return I(t),E(We)}function We(e,t){return"<"==t?E(P(">"),oe(ge,">"),N,We):"extends"==t||"implements"==t||f&&","==e?("implements"==t&&(A.marked="keyword"),E(f?pe:F,We)):"{"==e?E(P("}"),Be,N):void 0}function Be(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||f&&T(t))&&A.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(A.marked="keyword",E(Be)):"variable"==e||"keyword"==A.style?(A.marked="property",E(Fe,Be)):"number"==e||"string"==e?E(Fe,Be):"["==e?E(F,ue,U("]"),Fe,Be):"*"==t?(A.marked="keyword",E(Be)):f&&"("==e?V(_e,Be):";"==e||","==e?E(Be):"}"==e?E():"@"==t?E(F,Be):void 0}function Fe(e,t){if("!"==t)return E(Fe);if("?"==t)return E(Fe);if(":"==e)return E(pe,ze);if("="==t)return E(H);var r=A.state.lexical.prev;return V(r&&"interface"==r.info?_e:Se)}function He(e,t){return"*"==t?(A.marked="keyword",E(Qe,U(";"))):"default"==t?(A.marked="keyword",E(F,U(";"))):"{"==e?E(oe(De,"}"),Qe,U(";")):V(W)}function De(e,t){return"as"==t?(A.marked="keyword",E(U("variable"))):"variable"==e?V(H,De):void 0}function Ge(e){return"string"==e?E():"("==e?V(F):"."==e?V(K):V(Je,Ke,Qe)}function Je(e,t){return"{"==e?ce(Je,"}"):("variable"==e&&I(t),"*"==t&&(A.marked="keyword"),E(Le))}function Ke(e){if(","==e)return E(Je,Ke)}function Le(e,t){if("as"==t)return A.marked="keyword",E(Je)}function Qe(e,t){if("from"==t)return A.marked="keyword",E(F)}function Re(e){return"]"==e?E():V(oe(H,"]"))}function Xe(){return V(P("form"),Ae,U("{"),P("}"),oe(Ye,"}"),N,N)}function Ye(){return V(Ae,ze)}function Ze(e,t,r){return t.tokenize==k&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(r||0)))}return S.lex=_.lex=!0,O.lex=!0,N.lex=!0,{startState:function(e){var t={tokenize:k,lastType:"sof",cc:[],lexical:new g((e||0)-i,0,"block",!1),localVars:r.localVars,context:r.localVars&&new $(null,null,!1),indented:e||0};return r.globalVars&&"object"==typeof r.globalVars&&(t.globalVars=r.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),x(e,t)),t.tokenize!=y&&e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"==n?r:(t.lastType="operator"!=n||"++"!=a&&"--"!=a?n:"incdec",M(t,r,n,a,e))},indent:function(t,n){if(t.tokenize==y||t.tokenize==w)return e.Pass;if(t.tokenize!=k)return 0;var a,c=n&&n.charAt(0),s=t.lexical;if(!/^\s*else\b/.test(n))for(var u=t.cc.length-1;u>=0;--u){var f=t.cc[u];if(f==N)s=s.prev;else if(f!=Te&&f!=O)break}for(;("stat"==s.type||"form"==s.type)&&("}"==c||(a=t.cc[t.cc.length-1])&&(a==K||a==L)&&!/^[,\.=+\-*:?[\(]/.test(n));)s=s.prev;o&&")"==s.type&&"stat"==s.prev.type&&(s=s.prev);var l=s.type,d=c==l;return"vardef"==l?s.indented+("operator"==t.lastType||","==t.lastType?s.info.length+1:0):"form"==l&&"{"==c?s.indented:"form"==l?s.indented+i:"stat"==l?s.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||p.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,n)?o||i:0):"switch"!=s.info||d||0==r.doubleIndentSwitch?s.align?s.column+(d?0:1):s.indented+(d?0:i):s.indented+(/^(?:case|default)\b/.test(n)?i:2*i)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:s?null:"/*",blockCommentEnd:s?null:"*/",blockCommentContinue:s?null:" * ",lineComment:s?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:s?"json":"javascript",jsonldMode:c,jsonMode:s,expressionAllowed:Ze,skipExpression:function(t){M(t,"atom","atom","true",new e.StringStream("",2,null))}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})});
2889
2927
 
2890
- },{"../../lib/codemirror":697}],699:[function(require,module,exports){
2928
+ },{"../../lib/codemirror":710}],712:[function(require,module,exports){
2891
2929
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_createClass=function(){function t(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(n,e,i){return e&&t(n.prototype,e),i&&t(n,i),n}}();function _toConsumableArray(t){if(Array.isArray(t)){for(var n=0,e=Array(t.length);n<t.length;n++)e[n]=t[n];return e}return Array.from(t)}function _classCallCheck(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var typeInfoRegex=/^:([a-z])(\(([^)]+)\))?/,formatOptionNumeric="numeric",formatOptionLong="long",formatOption2Digit="2-digit",typeString="string",typeNumber="number",typeDate="date",numberStyleDecimal="decimal",numberStyleCurrency="currency",numberStylePercent="percent",configD={weekday:void 0,era:void 0,year:formatOptionNumeric,month:formatOptionNumeric,day:formatOptionNumeric,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},configD_cap={weekday:formatOptionLong,era:void 0,year:formatOptionNumeric,month:formatOptionLong,day:formatOptionNumeric,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},configF={weekday:formatOptionLong,era:void 0,year:formatOptionNumeric,month:formatOptionLong,day:formatOptionNumeric,hour:formatOptionNumeric,minute:formatOption2Digit,second:void 0,timeZoneName:void 0},configF_cap={weekday:formatOptionLong,era:void 0,year:formatOptionNumeric,month:formatOptionLong,day:formatOptionNumeric,hour:formatOptionNumeric,minute:formatOption2Digit,second:formatOption2Digit,timeZoneName:void 0},configG={weekday:void 0,era:void 0,year:formatOptionNumeric,month:formatOptionNumeric,day:formatOptionNumeric,hour:formatOptionNumeric,minute:formatOption2Digit,second:void 0,timeZoneName:void 0},configG_cap={weekday:void 0,era:void 0,year:formatOptionNumeric,month:formatOptionNumeric,day:formatOptionNumeric,hour:formatOptionNumeric,minute:formatOption2Digit,second:formatOption2Digit,timeZoneName:void 0},configM={weekday:void 0,era:void 0,year:void 0,month:formatOptionLong,day:formatOptionNumeric,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},configT={weekday:void 0,era:void 0,year:void 0,month:void 0,day:void 0,hour:formatOptionNumeric,minute:formatOption2Digit,second:void 0,timeZoneName:void 0},configT_cap={weekday:void 0,era:void 0,year:void 0,month:void 0,day:void 0,hour:formatOptionNumeric,minute:formatOption2Digit,second:formatOption2Digit,timeZoneName:void 0},configY={weekday:void 0,era:void 0,year:formatOptionNumeric,month:formatOptionLong,day:void 0,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},standardFormatSettings={d:configD,D:configD_cap,f:configF,F:configF_cap,g:configG,G:configG_cap,m:configM,M:configM,t:configT,T:configT_cap,y:configY,Y:configY},Tag=function(){function t(){var n=this;_classCallCheck(this,t),this.defaultConfig={locales:void 0,translations:{},number:{currency:"USD"},date:{},string:{}},this.configs={"":this.defaultConfig},this.translationCache={},this.keyCache={},this.typeInfoCache={},this._localizers={s:function(t,e,i){var r=void 0;return i&&null!==(r=n._runCustomFormatters(t,typeString,i,e))?r:e?e.toLocaleString(t.locales):String(e)},n:function(t,e,i){if("number"!=typeof e)throw Error("value is not a number. type: "+(void 0===e?"undefined":_typeof(e)));if(i){var r=parseInt(i);if(!isNaN(r))return e.toLocaleString(t.locales,Object.assign({},t.number,{style:numberStyleDecimal,minimumFractionDigits:r,maximumFractionDigits:r}));var o;if(null!==(o=n._runCustomFormatters(t,typeNumber,i,e)))return o}return e.toLocaleString(t.locales,Object.assign({},t.number,{style:numberStyleDecimal,minimumFractionDigits:0,maximumFractionDigits:3}))},t:function(t,e,i){if(!(e instanceof Date))throw Error("value is not a Date. type: "+e.constructor.name);if(i){switch(i.toUpperCase()){case"R":return e.toUTCString();case"O":return e.toISOString()}var r=standardFormatSettings[i];if(r)return e.toLocaleString(t.locales,Object.assign({},t.date,r));var o=n._runCustomFormatters(t,typeDate,i,e);if(null!==o)return o}return e.toLocaleString(t.locales,Object.assign({},t.date))},c:function(t,n,e){if("number"!=typeof n)throw Error("value is not a number. type: "+(void 0===n?"undefined":_typeof(n)));return n.toLocaleString(t.locales,e?Object.assign({},t.number,{style:numberStyleCurrency,currency:e}):Object.assign({},t.number,{style:numberStyleCurrency}))},p:function(t,n,e){if("number"!=typeof n)throw Error("value is not a number. type: "+(void 0===n?"undefined":_typeof(n)));return n.toLocaleString(t.locales,e?Object.assign({},t.number,{style:numberStylePercent,minimumFractionDigits:e}):Object.assign({},t.number,{style:numberStylePercent}))}},this.i18n=this.i18n.bind(this),this.translate=this.translate.bind(this),this.i18nConfig=this.i18nConfig.bind(this),this._localize=this._localize.bind(this),this._extractTypeInfo=this._extractTypeInfo.bind(this)}return _createClass(t,[{key:"i18nConfig",value:function(t){var n=t.locales,e=t.translations,i=t.group,r=t.number,o=t.date,a=t.standardFormatters;this.translationCache={};var u=this.configs[i||""]||this.defaultConfig;this.configs[i||""]=Object.assign({},u,{locales:n||u.locales,translations:e||u.translations,number:r||u.number,date:o||u.date,standardFormatters:a||u.standardFormatters})}},{key:"i18n",value:function(t,n,e){for(var i=this,r=this._buildKey(e),o=this._getCachedTranslation(t,n,r),a=o.configGroup,u=o.translatedKey,c=e.slice(1).map(this._extractTypeInfo),s=arguments.length,f=Array(s>3?s-3:0),l=3;l<s;l++)f[l-3]=arguments[l];var m=f.map(function(t,n){return i._localize(a,t,c[n])});return this._buildMessage.apply(this,[u].concat(_toConsumableArray(m)))}},{key:"translate",value:function(t,n,e){var i=this;null==e?e="":"string"!=typeof e&&(e=String(e));for(var r=this._getCachedTranslation(t,n,e),o=r.configGroup,a=r.translatedKey,u=arguments.length,c=Array(u>3?u-3:0),s=3;s<u;s++)c[s-3]=arguments[s];var f=c.map(function(t){return t instanceof Object&&t.constructor===Object?i._localize(o,t.value||"",{type:t.formatter||"s",options:t.format}):i._localize(o,t,{type:"s",options:""})});return this._buildMessage.apply(this,[a].concat(_toConsumableArray(f)))}},{key:"_getCachedTranslation",value:function(t,n,e){var i=[t||"",n||"",e].join(),r=this.translationCache[i],o=this.configs[n||""]||this.defaultConfig;if(r)return{configGroup:o,translatedKey:r};var a=this._getTranslation(t,o,e);return this.translationCache[i]=a,{configGroup:o,translatedKey:a}}},{key:"_getTranslation",value:function(t,n,e){var i=n.translations,r=void 0,o=void 0;return(void 0===t?"undefined":_typeof(t))===typeString&&(o=t),o&&(r=i[o])instanceof Object&&(r=r[e]),r||(r="string"==typeof i[e]&&i[e]||e),r}},{key:"_runCustomFormatters",value:function(t,n,e,i){var r=null;if(t.standardFormatters){var o=t.standardFormatters[n];if(o){var a=o[e];a&&(r=a(t.locales,t[n],i))}}return r}},{key:"_extractTypeInfo",value:function(t){var n=this.typeInfoCache[t];if(n)return n;var e=typeInfoRegex.exec(t);return n=e?{type:e[1],options:e[3]}:{type:"s",options:""},this.typeInfoCache[t]=n,n}},{key:"_localize",value:function(t,n,e){var i=e.type,r=e.options,o=this._localizers[i];if(o)return o(t,n,r);throw new Error("Type '"+i+"' is not supported. Supported types are: "+Object.keys(this._localizers).join())}},{key:"_buildKey",value:function(t){var n=t.join(),e=this.keyCache[n];if(e)return e;var i=function(t){return t.replace(typeInfoRegex,"")},r=i(t[t.length-1]),o=t.slice(0,-1).reduceRight(function(t,n,e){return i(n)+"${"+e+"}"+t},r).replace(/\r\n/g,"\n");return this.keyCache[n]=o,o}},{key:"_buildMessage",value:function(t){for(var n=arguments.length,e=Array(n>1?n-1:0),i=1;i<n;i++)e[i-1]=arguments[i];return t.replace(/\${(\d)}/g,function(t,n){return e[Number(n)]})}}]),t}(),i18ntag=new Tag,i18nConfig=i18ntag.i18nConfig,i18n=function(t){for(var n=arguments.length,e=Array(n>1?n-1:0),i=1;i<n;i++)e[i-1]=arguments[i];if("string"==typeof t){if(e.length&&"string"==typeof e[0]){var r=function(n){for(var i=arguments.length,r=Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];return i18ntag.i18n.apply(i18ntag,[t,e[0],n].concat(r))};return r.translate=function(n){for(var i=arguments.length,r=Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];return i18ntag.translate.apply(i18ntag,[t,e[0],n].concat(r))},r}var o=function(n){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return i18ntag.i18n.apply(i18ntag,[t,null,n].concat(i))};return o.translate=function(n){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return i18ntag.translate.apply(i18ntag,[t,null,n].concat(i))},o}return i18ntag.i18n.apply(i18ntag,[null,null,t].concat(e))};i18n.translate=function(t){for(var n=arguments.length,e=Array(n>1?n-1:0),i=1;i<n;i++)e[i-1]=arguments[i];return i18ntag.translate.apply(i18ntag,[null,null,t].concat(e))};var i18nGroup=function(t,n){return function(e){return e.prototype.i18n=function(e){for(var i=arguments.length,r=Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];return i18n(t,n).apply(void 0,[e].concat(r))},e.prototype.i18n.translate=function(e){for(var i=arguments.length,r=Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];return i18ntag.translate.apply(i18ntag,[t,n,e].concat(r))},e}};"undefined"!=typeof window&&(window.i18n=i18n,window.i18nConfig=i18nConfig,window.i18nGroup=i18nGroup),exports.default=i18n,exports.i18nConfig=i18nConfig,exports.i18nGroup=i18nGroup;
2892
2930
 
2893
- },{}],700:[function(require,module,exports){
2931
+ },{}],713:[function(require,module,exports){
2894
2932
  (function (global){(function (){
2895
2933
  !function(e,t){"function"==typeof define&&define.amd?define([],t):"undefined"!=typeof exports?t():(t(),e.FileSaver={})}(this,function(){"use strict";function e(e,t,n){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){i(o.response,t,n)},o.onerror=function(){console.error("could not download file")},o.send()}function t(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function n(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,a=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),i=o.saveAs||("object"!=typeof window||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(a,i,r){var c=o.URL||o.webkitURL,l=document.createElement("a");i=i||a.name||"download",l.download=i,l.rel="noopener","string"==typeof a?(l.href=a,l.origin===location.origin?n(l):t(l.href)?e(a,i,r):n(l,l.target="_blank")):(l.href=c.createObjectURL(a),setTimeout(function(){c.revokeObjectURL(l.href)},4e4),setTimeout(function(){n(l)},0))}:"msSaveOrOpenBlob"in navigator?function(o,a,i){if(a=a||o.name||"download","string"!=typeof o)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(o,i),a);else if(t(o))e(o,a,i);else{var r=document.createElement("a");r.href=o,r.target="_blank",setTimeout(function(){n(r)})}}:function(t,n,i,r){if((r=r||open("","_blank"))&&(r.document.title=r.document.body.innerText="downloading..."),"string"==typeof t)return e(t,n,i);var c="application/octet-stream"===t.type,l=/constructor/i.test(o.HTMLElement)||o.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||c&&l||a)&&"undefined"!=typeof FileReader){var f=new FileReader;f.onloadend=function(){var e=f.result;e=s?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),r?r.location.href=e:location=e,r=null},f.readAsDataURL(t)}else{var u=o.URL||o.webkitURL,d=u.createObjectURL(t);r?r.location=d:location.href=d,r=null,setTimeout(function(){u.revokeObjectURL(d)},4e4)}});o.saveAs=i.saveAs=i,"undefined"!=typeof module&&(module.exports=i)});
2896
2934
 
2897
2935
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
2898
- },{}],701:[function(require,module,exports){
2936
+ },{}],714:[function(require,module,exports){
2899
2937
  (function (process){(function (){
2900
2938
  function isElectron(){return"undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||(!("undefined"==typeof process||"object"!=typeof process.versions||!process.versions.electron)||"object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent.indexOf("Electron")>=0)}module.exports=isElectron;
2901
2939
 
2902
2940
  }).call(this)}).call(this,require('_process'))
2903
- },{"_process":689}],702:[function(require,module,exports){
2941
+ },{"_process":700}],715:[function(require,module,exports){
2904
2942
  "use strict";var range,DOCUMENT_FRAGMENT_NODE=11;function morphAttrs(e,t){var n,r,o,a,i=t.attributes;if(t.nodeType!==DOCUMENT_FRAGMENT_NODE&&e.nodeType!==DOCUMENT_FRAGMENT_NODE){for(var d=i.length-1;d>=0;d--)r=(n=i[d]).name,o=n.namespaceURI,a=n.value,o?(r=n.localName||r,e.getAttributeNS(o,r)!==a&&("xmlns"===n.prefix&&(r=n.name),e.setAttributeNS(o,r,a))):e.getAttribute(r)!==a&&e.setAttribute(r,a);for(var l=e.attributes,c=l.length-1;c>=0;c--)r=(n=l[c]).name,(o=n.namespaceURI)?(r=n.localName||r,t.hasAttributeNS(o,r)||e.removeAttributeNS(o,r)):t.hasAttribute(r)||e.removeAttribute(r)}}var NS_XHTML="http://www.w3.org/1999/xhtml",doc="undefined"==typeof document?void 0:document,HAS_TEMPLATE_SUPPORT=!!doc&&"content"in doc.createElement("template"),HAS_RANGE_SUPPORT=!!doc&&doc.createRange&&"createContextualFragment"in doc.createRange();function createFragmentFromTemplate(e){var t=doc.createElement("template");return t.innerHTML=e,t.content.childNodes[0]}function createFragmentFromRange(e){return range||(range=doc.createRange()).selectNode(doc.body),range.createContextualFragment(e).childNodes[0]}function createFragmentFromWrap(e){var t=doc.createElement("body");return t.innerHTML=e,t.childNodes[0]}function toElement(e){return e=e.trim(),HAS_TEMPLATE_SUPPORT?createFragmentFromTemplate(e):HAS_RANGE_SUPPORT?createFragmentFromRange(e):createFragmentFromWrap(e)}function compareNodeNames(e,t){var n,r,o=e.nodeName,a=t.nodeName;return o===a||(n=o.charCodeAt(0),r=a.charCodeAt(0),n<=90&&r>=97?o===a.toUpperCase():r<=90&&n>=97&&a===o.toUpperCase())}function createElementNS(e,t){return t&&t!==NS_XHTML?doc.createElementNS(t,e):doc.createElement(e)}function moveChildren(e,t){for(var n=e.firstChild;n;){var r=n.nextSibling;t.appendChild(n),n=r}return t}function syncBooleanAttrProp(e,t,n){e[n]!==t[n]&&(e[n]=t[n],e[n]?e.setAttribute(n,""):e.removeAttribute(n))}var specialElHandlers={OPTION:function(e,t){var n=e.parentNode;if(n){var r=n.nodeName.toUpperCase();"OPTGROUP"===r&&(r=(n=n.parentNode)&&n.nodeName.toUpperCase()),"SELECT"!==r||n.hasAttribute("multiple")||(e.hasAttribute("selected")&&!t.selected&&(e.setAttribute("selected","selected"),e.removeAttribute("selected")),n.selectedIndex=-1)}syncBooleanAttrProp(e,t,"selected")},INPUT:function(e,t){syncBooleanAttrProp(e,t,"checked"),syncBooleanAttrProp(e,t,"disabled"),e.value!==t.value&&(e.value=t.value),t.hasAttribute("value")||e.removeAttribute("value")},TEXTAREA:function(e,t){var n=t.value;e.value!==n&&(e.value=n);var r=e.firstChild;if(r){var o=r.nodeValue;if(o==n||!n&&o==e.placeholder)return;r.nodeValue=n}},SELECT:function(e,t){if(!t.hasAttribute("multiple")){for(var n,r,o=-1,a=0,i=e.firstChild;i;)if("OPTGROUP"===(r=i.nodeName&&i.nodeName.toUpperCase()))i=(n=i).firstChild;else{if("OPTION"===r){if(i.hasAttribute("selected")){o=a;break}a++}!(i=i.nextSibling)&&n&&(i=n.nextSibling,n=null)}e.selectedIndex=o}}},ELEMENT_NODE=1,DOCUMENT_FRAGMENT_NODE$1=11,TEXT_NODE=3,COMMENT_NODE=8;function noop(){}function defaultGetNodeKey(e){if(e)return e.getAttribute&&e.getAttribute("id")||e.id}function morphdomFactory(e){return function(t,n,r){if(r||(r={}),"string"==typeof n)if("#document"===t.nodeName||"HTML"===t.nodeName||"BODY"===t.nodeName){var o=n;(n=doc.createElement("html")).innerHTML=o}else n=toElement(n);var a=r.getNodeKey||defaultGetNodeKey,i=r.onBeforeNodeAdded||noop,d=r.onNodeAdded||noop,l=r.onBeforeElUpdated||noop,c=r.onElUpdated||noop,u=r.onBeforeNodeDiscarded||noop,N=r.onNodeDiscarded||noop,m=r.onBeforeElChildrenUpdated||noop,f=!0===r.childrenOnly,E=Object.create(null),s=[];function p(e){s.push(e)}function T(e,t,n){!1!==u(e)&&(t&&t.removeChild(e),N(e),function e(t,n){if(t.nodeType===ELEMENT_NODE)for(var r=t.firstChild;r;){var o=void 0;n&&(o=a(r))?p(o):(N(r),r.firstChild&&e(r,n)),r=r.nextSibling}}(e,n))}function v(e){d(e);for(var t=e.firstChild;t;){var n=t.nextSibling,r=a(t);if(r){var o=E[r];o&&compareNodeNames(t,o)?(t.parentNode.replaceChild(o,t),A(o,t)):v(t)}else v(t);t=n}}function A(t,n,r){var o=a(n);if(o&&delete E[o],!r){if(!1===l(t,n))return;if(e(t,n),c(t),!1===m(t,n))return}"TEXTAREA"!==t.nodeName?function(e,t){var n,r,o,d,l,c=t.firstChild,u=e.firstChild;e:for(;c;){for(d=c.nextSibling,n=a(c);u;){if(o=u.nextSibling,c.isSameNode&&c.isSameNode(u)){c=d,u=o;continue e}r=a(u);var N=u.nodeType,m=void 0;if(N===c.nodeType&&(N===ELEMENT_NODE?(n?n!==r&&((l=E[n])?o===l?m=!1:(e.insertBefore(l,u),r?p(r):T(u,e,!0),u=l):m=!1):r&&(m=!1),(m=!1!==m&&compareNodeNames(u,c))&&A(u,c)):N!==TEXT_NODE&&N!=COMMENT_NODE||(m=!0,u.nodeValue!==c.nodeValue&&(u.nodeValue=c.nodeValue))),m){c=d,u=o;continue e}r?p(r):T(u,e,!0),u=o}if(n&&(l=E[n])&&compareNodeNames(l,c))e.appendChild(l),A(l,c);else{var f=i(c);!1!==f&&(f&&(c=f),c.actualize&&(c=c.actualize(e.ownerDocument||doc)),e.appendChild(c),v(c))}c=d,u=o}!function(e,t,n){for(;t;){var r=t.nextSibling;(n=a(t))?p(n):T(t,e,!0),t=r}}(e,u,r);var s=specialElHandlers[e.nodeName];s&&s(e,t)}(t,n):specialElHandlers.TEXTAREA(t,n)}!function e(t){if(t.nodeType===ELEMENT_NODE||t.nodeType===DOCUMENT_FRAGMENT_NODE$1)for(var n=t.firstChild;n;){var r=a(n);r&&(E[r]=n),e(n),n=n.nextSibling}}(t);var h=t,O=h.nodeType,C=n.nodeType;if(!f)if(O===ELEMENT_NODE)C===ELEMENT_NODE?compareNodeNames(t,n)||(N(t),h=moveChildren(t,createElementNS(n.nodeName,n.namespaceURI))):h=n;else if(O===TEXT_NODE||O===COMMENT_NODE){if(C===O)return h.nodeValue!==n.nodeValue&&(h.nodeValue=n.nodeValue),h;h=n}if(h===n)N(t);else{if(n.isSameNode&&n.isSameNode(h))return;if(A(h,n,f),s)for(var b=0,g=s.length;b<g;b++){var S=E[s[b]];S&&T(S,S.parentNode,!1)}}return!f&&h!==t&&t.parentNode&&(h.actualize&&(h=h.actualize(t.ownerDocument||doc)),t.parentNode.replaceChild(h,t)),h}}var morphdom=morphdomFactory(morphAttrs);module.exports=morphdom;
2905
2943
 
2906
- },{}],703:[function(require,module,exports){
2944
+ },{}],716:[function(require,module,exports){
2907
2945
  "use strict";var ProxyDisposable=function(){function s(s,i){this.source=s,this.sink=i,this.disposed=!1}return s.prototype.dispose=function(){if(!this.disposed)return this.disposed=!0,0===this.source.remove(this.sink)&&this.source._dispose()},s}();exports.ProxyDisposable=ProxyDisposable;
2908
2946
 
2909
- },{}],704:[function(require,module,exports){
2947
+ },{}],717:[function(require,module,exports){
2910
2948
  "use strict";var __extends=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])};return function(r,e){function o(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}}(),most_1=require("most"),multicast_1=require("@most/multicast"),ProxyDisposable_1=require("./ProxyDisposable"),neverSource=most_1.never().source,ProxySource=function(t){function r(){var r=t.call(this,neverSource)||this;return r.attached=!1,r.running=!1,r.sinks=[],r}return __extends(r,t),r.prototype.run=function(t,r){return this.add(t),this.attached&&!this.running?(this.running=!0,this._disposable=this.source.run(this,r),this._disposable):new ProxyDisposable_1.ProxyDisposable(this,t)},r.prototype.attach=function(t){if(this.attached)throw new Error("Can only proxy 1 stream");this.attached=!0,this.sinks.length?this._disposable=t.run(this,most_1.defaultScheduler):this.source=t},r.prototype.end=function(r,e){return this.attached=!1,this.running=!1,t.prototype.end.call(this,r,e)},r}(multicast_1.MulticastSource);exports.ProxySource=ProxySource;
2911
2949
 
2912
- },{"./ProxyDisposable":703,"@most/multicast":706,"most":744}],705:[function(require,module,exports){
2950
+ },{"./ProxyDisposable":716,"@most/multicast":719,"most":757}],718:[function(require,module,exports){
2913
2951
  "use strict";var most_1=require("most"),ProxySource_1=require("./ProxySource");function proxy(){var r=new ProxySource_1.ProxySource;return{attach:function(o){return r.attach(o.source),o},stream:new most_1.Stream(r)}}exports.proxy=proxy;
2914
2952
 
2915
- },{"./ProxySource":704,"most":744}],706:[function(require,module,exports){
2953
+ },{"./ProxySource":717,"most":757}],719:[function(require,module,exports){
2916
2954
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@most/prelude")):"function"==typeof define&&define.amd?define(["exports","@most/prelude"],e):e(t.mostMulticast=t.mostMulticast||{},t.mostPrelude)}(this,function(t,e){"use strict";var s=function(t,e){this.source=t,this.sink=e,this.disposed=!1};function i(t,e,s){try{s.event(t,e)}catch(e){s.error(t,e)}}function n(t,e,s){try{s.end(t,e)}catch(e){s.error(t,e)}}s.prototype.dispose=function(){if(!this.disposed)return this.disposed=!0,0===this.source.remove(this.sink)&&this.source._dispose()};var o=function(t){return t.dispose()},r={dispose:function(){}},u=function(t){this.source=t,this.sinks=[],this._disposable=r};u.prototype.run=function(t,e){return 1===this.add(t)&&(this._disposable=this.source.run(this,e)),new s(this,t)},u.prototype._dispose=function(){var t=this._disposable;return this._disposable=r,Promise.resolve(t).then(o)},u.prototype.add=function(t){return this.sinks=e.append(t,this.sinks),this.sinks.length},u.prototype.remove=function(t){var s=e.findIndex(t,this.sinks);return s>=0&&(this.sinks=e.remove(s,this.sinks)),this.sinks.length},u.prototype.event=function(t,e){var s=this.sinks;if(1===s.length)return s[0].event(t,e);for(var n=0;n<s.length;++n)i(t,e,s[n])},u.prototype.end=function(t,e){for(var s=this.sinks,i=0;i<s.length;++i)n(t,e,s[i])},u.prototype.error=function(t,e){for(var s=this.sinks,i=0;i<s.length;++i)s[i].error(t,e)},t.default=function(t){var e=t.source;return e instanceof u?t:new t.constructor(new u(e))},t.MulticastSource=u,Object.defineProperty(t,"__esModule",{value:!0})});
2917
2955
 
2918
- },{"@most/prelude":707}],707:[function(require,module,exports){
2956
+ },{"@most/prelude":720}],720:[function(require,module,exports){
2919
2957
  !function(r,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((r=r||self).mostPrelude={})}(this,function(r){"use strict";function n(r,n){if(r<0)throw new TypeError("n must be >= 0");var e=n.length;return 0===r||0===e?n:r>=e?[]:function(r,n,e){for(var t=new Array(e),u=0;u<e;++u)t[u]=n[r+u];return t}(r,n,e-r)}function e(r){return function n(e,t){switch(arguments.length){case 0:return n;case 1:return function(n){return r(e,n)};default:return r(e,t)}}}function t(r){return function n(t,u,o){switch(arguments.length){case 0:return n;case 1:return e(function(n,e){return r(t,n,e)});case 2:return function(n){return r(t,u,n)};default:return r(t,u,o)}}}r.append=function(r,n){for(var e=n.length,t=new Array(e+1),u=0;u<e;++u)t[u]=n[u];return t[e]=r,t},r.apply=function(r,n){return r(n)},r.compose=function(r,n){return function(e){return r(n(e))}},r.concat=function(r,n){var e=r.length,t=n.length,u=new Array(e+t),o=0;for(o=0;o<e;o++)u[o]=r[o];for(var f=0;f<t;f++)u[o++]=n[f];return u},r.cons=function(r,n){var e=n.length,t=new Array(e+1);t[0]=r;for(var u=0;u<e;++u)t[u+1]=n[u];return t},r.copy=function(r){for(var n=r.length,e=new Array(n),t=0;t<n;++t)e[t]=r[t];return e},r.curry2=e,r.curry3=t,r.curry4=function(r){return function n(u,o,f,c){switch(arguments.length){case 0:return n;case 1:return t(function(n,e,t){return r(u,n,e,t)});case 2:return e(function(n,e){return r(u,o,n,e)});case 3:return function(n){return r(u,o,f,n)};default:return r(u,o,f,c)}}},r.drop=n,r.findIndex=function(r,n){for(var e=0,t=n.length;e<t;++e)if(r===n[e])return e;return-1},r.id=function(r){return r},r.isArrayLike=function(r){return null!=r&&"number"==typeof r.length&&"function"!=typeof r},r.map=function(r,n){for(var e=n.length,t=new Array(e),u=0;u<e;++u)t[u]=r(n[u]);return t},r.reduce=function(r,n,e){for(var t=n,u=0,o=e.length;u<o;++u)t=r(t,e[u],u);return t},r.remove=function(r,n){if(r<0)throw new TypeError("i must be >= 0");var e=n.length;return 0===e||r>=e?n:1===e?[]:function(r,n,e){var t,u=new Array(e);for(t=0;t<r;++t)u[t]=n[t];for(t=r;t<e;++t)u[t]=n[t+1];return u}(r,n,e-1)},r.removeAll=function(r,n){for(var e=n.length,t=new Array(e),u=0,o=void 0,f=0;f<e;++f)r(o=n[f])||(t[u]=o,++u);return t.length=u,t},r.replace=function(r,n,e){if(n<0)throw new TypeError("i must be >= 0");for(var t=e.length,u=new Array(t),o=0;o<t;++o)u[o]=n===o?r:e[o];return u},r.tail=function(r){return n(1,r)},Object.defineProperty(r,"__esModule",{value:!0})});
2920
2958
 
2921
- },{}],708:[function(require,module,exports){
2959
+ },{}],721:[function(require,module,exports){
2922
2960
  "use strict";function LinkedList(){this.head=null,this.length=0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LinkedList,LinkedList.prototype.add=function(e){null!==this.head&&(this.head.prev=e,e.next=this.head),this.head=e,++this.length},LinkedList.prototype.remove=function(e){--this.length,e===this.head&&(this.head=this.head.next),null!==e.next&&(e.next.prev=e.prev,e.next=null),null!==e.prev&&(e.prev.next=e.next,e.prev=null)},LinkedList.prototype.isEmpty=function(){return 0===this.length},LinkedList.prototype.dispose=function(){if(this.isEmpty())return Promise.resolve();var e=[],t=this.head;for(this.head=null,this.length=0;null!==t;)e.push(t.dispose()),t=t.next;return Promise.all(e)};
2923
2961
 
2924
- },{}],709:[function(require,module,exports){
2962
+ },{}],722:[function(require,module,exports){
2925
2963
  "use strict";function isPromise(e){return null!==e&&"object"==typeof e&&"function"==typeof e.then}Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPromise=isPromise;
2926
2964
 
2927
- },{}],710:[function(require,module,exports){
2965
+ },{}],723:[function(require,module,exports){
2928
2966
  "use strict";function Queue(t){this._capacity=t||32,this._length=0,this._head=0}function copy(t,e,i,h,s){for(var a=0;a<s;++a)i[a+h]=t[a+e],t[a+e]=void 0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Queue,Queue.prototype.push=function(t){var e=this._length;this._checkCapacity(e+1),this[this._head+e&this._capacity-1]=t,this._length=e+1},Queue.prototype.shift=function(){var t=this._head,e=this[t];return this[t]=void 0,this._head=t+1&this._capacity-1,this._length--,e},Queue.prototype.isEmpty=function(){return 0===this._length},Queue.prototype.length=function(){return this._length},Queue.prototype._checkCapacity=function(t){this._capacity<t&&this._ensureCapacity(this._capacity<<1)},Queue.prototype._ensureCapacity=function(t){var e=this._capacity;this._capacity=t;var i=this._head+this._length;i>e&&copy(this,0,this,e,i&e-1)};
2929
2967
 
2930
- },{}],711:[function(require,module,exports){
2968
+ },{}],724:[function(require,module,exports){
2931
2969
  "use strict";function Stream(e){this.source=e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Stream,Stream.prototype.run=function(e,t){return this.source.run(e,t)};
2932
2970
 
2933
- },{}],712:[function(require,module,exports){
2971
+ },{}],725:[function(require,module,exports){
2934
2972
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.scan=scan,exports.reduce=reduce;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_runSource=require("../runSource"),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_PropagateTask=require("../scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function scan(e,t,r){return new _Stream2.default(new Scan(e,t,r.source))}function Scan(e,t,r){this.source=r,this.f=e,this.value=t}function ScanSink(e,t,r){this.f=e,this.value=t,this.sink=r}function reduce(e,t,r){return(0,_runSource.withDefaultScheduler)(new Reduce(e,t,r.source))}function Reduce(e,t,r){this.source=r,this.f=e,this.value=t}function ReduceSink(e,t,r){this.f=e,this.value=t,this.sink=r}Scan.prototype.run=function(e,t){var r=t.asap(_PropagateTask2.default.event(this.value,e)),i=this.source.run(new ScanSink(this.f,this.value,e),t);return dispose.all([r,i])},ScanSink.prototype.event=function(e,t){var r=this.f;this.value=r(this.value,t),this.sink.event(e,this.value)},ScanSink.prototype.error=_Pipe2.default.prototype.error,ScanSink.prototype.end=_Pipe2.default.prototype.end,Reduce.prototype.run=function(e,t){return this.source.run(new ReduceSink(this.f,this.value,e),t)},ReduceSink.prototype.event=function(e,t){var r=this.f;this.value=r(this.value,t),this.sink.event(e,this.value)},ReduceSink.prototype.error=_Pipe2.default.prototype.error,ReduceSink.prototype.end=function(e){this.sink.end(e,this.value)};
2935
2973
 
2936
- },{"../Stream":711,"../disposable/dispose":739,"../runSource":750,"../scheduler/PropagateTask":752,"../sink/Pipe":759}],713:[function(require,module,exports){
2974
+ },{"../Stream":724,"../disposable/dispose":752,"../runSource":763,"../scheduler/PropagateTask":765,"../sink/Pipe":772}],726:[function(require,module,exports){
2937
2975
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ap=ap;var _combine=require("./combine"),_prelude=require("@most/prelude");function ap(e,r){return(0,_combine.combine)(_prelude.apply,e,r)}
2938
2976
 
2939
- },{"./combine":715,"@most/prelude":775}],714:[function(require,module,exports){
2977
+ },{"./combine":728,"@most/prelude":788}],727:[function(require,module,exports){
2940
2978
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.cons=cons,exports.concat=concat;var _core=require("../source/core"),_continueWith=require("./continueWith");function cons(e,n){return concat((0,_core.of)(e),n)}function concat(e,n){return(0,_continueWith.continueWith)(function(){return n},e)}
2941
2979
 
2942
- },{"../source/core":763,"./continueWith":717}],715:[function(require,module,exports){
2980
+ },{"../source/core":776,"./continueWith":730}],728:[function(require,module,exports){
2943
2981
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.combine=combine,exports.combineArray=combineArray;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_transform=require("./transform"),transform=_interopRequireWildcard(_transform),_core=require("../source/core"),core=_interopRequireWildcard(_core),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_IndexSink=require("../sink/IndexSink"),_IndexSink2=_interopRequireDefault(_IndexSink),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude),_invoke=require("../invoke"),_invoke2=_interopRequireDefault(_invoke);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var i={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=e[r]);return i.default=e,i}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var map=base.map,tail=base.tail;function combine(e){return combineArray(e,tail(arguments))}function combineArray(e,i){var r=i.length;return 0===r?core.empty():1===r?transform.map(e,i[0]):new _Stream2.default(combineSources(e,i))}function combineSources(e,i){return new Combine(e,map(getSource,i))}function getSource(e){return e.source}function Combine(e,i){this.f=e,this.sources=i}function CombineSink(e,i,r,t){this.sink=r,this.disposables=e,this.sinks=i,this.f=t;var n=i.length;this.awaiting=n,this.values=new Array(n),this.hasValue=new Array(n);for(var o=0;o<n;++o)this.hasValue[o]=!1;this.activeCount=i.length}Combine.prototype.run=function(e,i){for(var r,t=this.sources.length,n=new Array(t),o=new Array(t),s=new CombineSink(n,o,e,this.f),a=0;a<t;++a)r=o[a]=new _IndexSink2.default(a,s),n[a]=this.sources[a].run(r,i);return dispose.all(n)},CombineSink.prototype.error=_Pipe2.default.prototype.error,CombineSink.prototype.event=function(e,i){var r=i.index,t=this._updateReady(r);this.values[r]=i.value,0===t&&this.sink.event(e,(0,_invoke2.default)(this.f,this.values))},CombineSink.prototype._updateReady=function(e){return this.awaiting>0&&(this.hasValue[e]||(this.hasValue[e]=!0,this.awaiting-=1)),this.awaiting},CombineSink.prototype.end=function(e,i){dispose.tryDispose(e,this.disposables[i.index],this.sink),0==--this.activeCount&&this.sink.end(e,i.value)};
2944
2982
 
2945
- },{"../Stream":711,"../disposable/dispose":739,"../invoke":745,"../sink/IndexSink":758,"../sink/Pipe":759,"../source/core":763,"./transform":735,"@most/prelude":775}],716:[function(require,module,exports){
2983
+ },{"../Stream":724,"../disposable/dispose":752,"../invoke":758,"../sink/IndexSink":771,"../sink/Pipe":772,"../source/core":776,"./transform":748,"@most/prelude":788}],729:[function(require,module,exports){
2946
2984
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.concatMap=concatMap;var _mergeConcurrently=require("./mergeConcurrently");function concatMap(e,r){return(0,_mergeConcurrently.mergeMapConcurrently)(e,1,r)}
2947
2985
 
2948
- },{"./mergeConcurrently":725}],717:[function(require,module,exports){
2986
+ },{"./mergeConcurrently":738}],730:[function(require,module,exports){
2949
2987
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.continueWith=continueWith;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose);function _interopRequireWildcard(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function continueWith(t,e){return new _Stream2.default(new ContinueWith(t,e.source))}function ContinueWith(t,e){this.f=t,this.source=e}function ContinueWithSink(t,e,i,n){this.f=t,this.sink=i,this.scheduler=n,this.active=!0,this.disposable=dispose.once(e.run(this,n))}ContinueWith.prototype.run=function(t,e){return new ContinueWithSink(this.f,this.source,t,e)},ContinueWithSink.prototype.error=_Pipe2.default.prototype.error,ContinueWithSink.prototype.event=function(t,e){this.active&&this.sink.event(t,e)},ContinueWithSink.prototype.end=function(t,e){this.active&&(dispose.tryDispose(t,this.disposable,this.sink),this._startNext(t,e,this.sink))},ContinueWithSink.prototype._startNext=function(t,e,i){try{this.disposable=this._continue(this.f,e,i)}catch(e){i.error(t,e)}},ContinueWithSink.prototype._continue=function(t,e,i){return t(e).source.run(i,this.scheduler)},ContinueWithSink.prototype.dispose=function(){return this.active=!1,this.disposable.dispose()};
2950
2988
 
2951
- },{"../Stream":711,"../disposable/dispose":739,"../sink/Pipe":759}],718:[function(require,module,exports){
2989
+ },{"../Stream":724,"../disposable/dispose":752,"../sink/Pipe":772}],731:[function(require,module,exports){
2952
2990
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.delay=delay;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_PropagateTask=require("../scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function delay(e,t){return e<=0?t:new _Stream2.default(new Delay(e,t.source))}function Delay(e,t){this.dt=e,this.source=t}function DelaySink(e,t,r){this.dt=e,this.sink=t,this.scheduler=r}Delay.prototype.run=function(e,t){var r=new DelaySink(this.dt,e,t);return dispose.all([r,this.source.run(r,t)])},DelaySink.prototype.dispose=function(){var e=this;this.scheduler.cancelAll(function(t){return t.task.sink===e.sink})},DelaySink.prototype.event=function(e,t){this.scheduler.delay(this.dt,_PropagateTask2.default.event(t,this.sink))},DelaySink.prototype.end=function(e,t){this.scheduler.delay(this.dt,_PropagateTask2.default.end(t,this.sink))},DelaySink.prototype.error=_Pipe2.default.prototype.error;
2953
2991
 
2954
- },{"../Stream":711,"../disposable/dispose":739,"../scheduler/PropagateTask":752,"../sink/Pipe":759}],719:[function(require,module,exports){
2992
+ },{"../Stream":724,"../disposable/dispose":752,"../scheduler/PropagateTask":765,"../sink/Pipe":772}],732:[function(require,module,exports){
2955
2993
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.flatMapError=void 0,exports.recoverWith=recoverWith,exports.throwError=throwError;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_SafeSink=require("../sink/SafeSink"),_SafeSink2=_interopRequireDefault(_SafeSink),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_tryEvent=require("../source/tryEvent"),tryEvent=_interopRequireWildcard(_tryEvent),_PropagateTask=require("../scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function recoverWith(e,r){return new _Stream2.default(new RecoverWith(e,r.source))}var flatMapError=exports.flatMapError=recoverWith;function throwError(e){return new _Stream2.default(new ErrorSource(e))}function ErrorSource(e){this.value=e}function runError(e,r,t){t.error(e,r)}function RecoverWith(e,r){this.f=e,this.source=r}function RecoverWithSink(e,r,t,i){this.f=e,this.sink=new _SafeSink2.default(t),this.scheduler=i,this.disposable=r.run(this,i)}ErrorSource.prototype.run=function(e,r){return r.asap(new _PropagateTask2.default(runError,this.value,e))},RecoverWith.prototype.run=function(e,r){return new RecoverWithSink(this.f,this.source,e,r)},RecoverWithSink.prototype.event=function(e,r){tryEvent.tryEvent(e,r,this.sink)},RecoverWithSink.prototype.end=function(e,r){tryEvent.tryEnd(e,r,this.sink)},RecoverWithSink.prototype.error=function(e,r){var t=this.sink.disable();dispose.tryDispose(e,this.disposable,this.sink),this._startNext(e,r,t)},RecoverWithSink.prototype._startNext=function(e,r,t){try{this.disposable=this._continue(this.f,r,t)}catch(r){t.error(e,r)}},RecoverWithSink.prototype._continue=function(e,r,t){return e(r).source.run(t,this.scheduler)},RecoverWithSink.prototype.dispose=function(){return this.disposable.dispose()};
2956
2994
 
2957
- },{"../Stream":711,"../disposable/dispose":739,"../scheduler/PropagateTask":752,"../sink/SafeSink":760,"../source/tryEvent":771}],720:[function(require,module,exports){
2995
+ },{"../Stream":724,"../disposable/dispose":752,"../scheduler/PropagateTask":765,"../sink/SafeSink":773,"../source/tryEvent":784}],733:[function(require,module,exports){
2958
2996
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.filter=filter,exports.skipRepeats=skipRepeats,exports.skipRepeatsWith=skipRepeatsWith;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_Filter=require("../fusion/Filter"),_Filter2=_interopRequireDefault(_Filter);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function filter(e,t){return new _Stream2.default(_Filter2.default.create(e,t.source))}function skipRepeats(e){return skipRepeatsWith(same,e)}function skipRepeatsWith(e,t){return new _Stream2.default(new SkipRepeats(e,t.source))}function SkipRepeats(e,t){this.equals=e,this.source=t}function SkipRepeatsSink(e,t){this.equals=e,this.sink=t,this.value=void 0,this.init=!0}function same(e,t){return e===t}SkipRepeats.prototype.run=function(e,t){return this.source.run(new SkipRepeatsSink(this.equals,e),t)},SkipRepeatsSink.prototype.end=_Pipe2.default.prototype.end,SkipRepeatsSink.prototype.error=_Pipe2.default.prototype.error,SkipRepeatsSink.prototype.event=function(e,t){this.init?(this.init=!1,this.value=t,this.sink.event(e,t)):this.equals(this.value,t)||(this.value=t,this.sink.event(e,t))};
2959
2997
 
2960
- },{"../Stream":711,"../fusion/Filter":741,"../sink/Pipe":759}],721:[function(require,module,exports){
2998
+ },{"../Stream":724,"../fusion/Filter":754,"../sink/Pipe":772}],734:[function(require,module,exports){
2961
2999
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.flatMap=flatMap,exports.join=join;var _mergeConcurrently=require("./mergeConcurrently");function flatMap(e,r){return(0,_mergeConcurrently.mergeMapConcurrently)(e,1/0,r)}function join(e){return(0,_mergeConcurrently.mergeConcurrently)(1/0,e)}
2962
3000
 
2963
- },{"./mergeConcurrently":725}],722:[function(require,module,exports){
3001
+ },{"./mergeConcurrently":738}],735:[function(require,module,exports){
2964
3002
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.throttle=throttle,exports.debounce=debounce;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_Map=require("../fusion/Map"),_Map2=_interopRequireDefault(_Map);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function throttle(e,t){return new _Stream2.default(throttleSource(e,t.source))}function throttleSource(e,t){return t instanceof _Map2.default?commuteMapThrottle(e,t):t instanceof Throttle?fuseThrottle(e,t):new Throttle(e,t)}function commuteMapThrottle(e,t){return _Map2.default.create(t.f,throttleSource(e,t.source))}function fuseThrottle(e,t){return new Throttle(Math.max(e,t.period),t.source)}function Throttle(e,t){this.period=e,this.source=t}function ThrottleSink(e,t){this.time=0,this.period=e,this.sink=t}function debounce(e,t){return new _Stream2.default(new Debounce(e,t.source))}function Debounce(e,t){this.dt=e,this.source=t}function DebounceSink(e,t,o,r){this.dt=e,this.sink=o,this.scheduler=r,this.value=void 0,this.timer=null,this.disposable=t.run(this,r)}function DebounceTask(e,t){this.debounce=e,this.value=t}Throttle.prototype.run=function(e,t){return this.source.run(new ThrottleSink(this.period,e),t)},ThrottleSink.prototype.event=function(e,t){e>=this.time&&(this.time=e+this.period,this.sink.event(e,t))},ThrottleSink.prototype.end=_Pipe2.default.prototype.end,ThrottleSink.prototype.error=_Pipe2.default.prototype.error,Debounce.prototype.run=function(e,t){return new DebounceSink(this.dt,this.source,e,t)},DebounceSink.prototype.event=function(e,t){this._clearTimer(),this.value=t,this.timer=this.scheduler.delay(this.dt,new DebounceTask(this,t))},DebounceSink.prototype._event=function(e,t){this._clearTimer(),this.sink.event(e,t)},DebounceSink.prototype.end=function(e,t){this._clearTimer()&&(this.sink.event(e,this.value),this.value=void 0),this.sink.end(e,t)},DebounceSink.prototype.error=function(e,t){this._clearTimer(),this.sink.error(e,t)},DebounceSink.prototype.dispose=function(){return this._clearTimer(),this.disposable.dispose()},DebounceSink.prototype._clearTimer=function(){return null!==this.timer&&(this.timer.dispose(),this.timer=null,!0)},DebounceTask.prototype.run=function(e){this.debounce._event(e,this.value)},DebounceTask.prototype.error=function(e,t){this.debounce.error(e,t)},DebounceTask.prototype.dispose=function(){};
2965
3003
 
2966
- },{"../Stream":711,"../fusion/Map":743,"../sink/Pipe":759}],723:[function(require,module,exports){
3004
+ },{"../Stream":724,"../fusion/Map":756,"../sink/Pipe":772}],736:[function(require,module,exports){
2967
3005
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.loop=loop;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function loop(e,t,o){return new _Stream2.default(new Loop(e,t,o.source))}function Loop(e,t,o){this.step=e,this.seed=t,this.source=o}function LoopSink(e,t,o){this.step=e,this.seed=t,this.sink=o}Loop.prototype.run=function(e,t){return this.source.run(new LoopSink(this.step,this.seed,e),t)},LoopSink.prototype.error=_Pipe2.default.prototype.error,LoopSink.prototype.event=function(e,t){var o=this.step(this.seed,t);this.seed=o.seed,this.sink.event(e,o.value)},LoopSink.prototype.end=function(e){this.sink.end(e,this.seed)};
2968
3006
 
2969
- },{"../Stream":711,"../sink/Pipe":759}],724:[function(require,module,exports){
3007
+ },{"../Stream":724,"../sink/Pipe":772}],737:[function(require,module,exports){
2970
3008
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.merge=merge,exports.mergeArray=mergeArray;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_IndexSink=require("../sink/IndexSink"),_IndexSink2=_interopRequireDefault(_IndexSink),_core=require("../source/core"),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var copy=base.copy,reduce=base.reduce;function merge(){return mergeArray(copy(arguments))}function mergeArray(e){var r=e.length;return 0===r?(0,_core.empty)():1===r?e[0]:new _Stream2.default(mergeSources(e))}function mergeSources(e){return new Merge(reduce(appendSources,[],e))}function appendSources(e,r){var t=r.source;return t instanceof Merge?e.concat(t.sources):e.concat(t)}function Merge(e){this.sources=e}function MergeSink(e,r,t){this.sink=t,this.disposables=e,this.activeCount=r.length}Merge.prototype.run=function(e,r){for(var t,n=this.sources.length,i=new Array(n),o=new Array(n),u=new MergeSink(i,o,e),s=0;s<n;++s)t=o[s]=new _IndexSink2.default(s,u),i[s]=this.sources[s].run(t,r);return dispose.all(i)},MergeSink.prototype.error=_Pipe2.default.prototype.error,MergeSink.prototype.event=function(e,r){this.sink.event(e,r.value)},MergeSink.prototype.end=function(e,r){dispose.tryDispose(e,this.disposables[r.index],this.sink),0==--this.activeCount&&this.sink.end(e,r.value)};
2971
3009
 
2972
- },{"../Stream":711,"../disposable/dispose":739,"../sink/IndexSink":758,"../sink/Pipe":759,"../source/core":763,"@most/prelude":775}],725:[function(require,module,exports){
3010
+ },{"../Stream":724,"../disposable/dispose":752,"../sink/IndexSink":771,"../sink/Pipe":772,"../source/core":776,"@most/prelude":788}],738:[function(require,module,exports){
2973
3011
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeConcurrently=mergeConcurrently,exports.mergeMapConcurrently=mergeMapConcurrently;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_LinkedList=require("../LinkedList"),_LinkedList2=_interopRequireDefault(_LinkedList),_prelude=require("@most/prelude");function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function mergeConcurrently(e,t){return mergeMapConcurrently(_prelude.id,e,t)}function mergeMapConcurrently(e,t,r){return new _Stream2.default(new MergeConcurrently(e,t,r.source))}function MergeConcurrently(e,t,r){this.f=e,this.concurrency=t,this.source=r}function Outer(e,t,r,n,i){this.f=e,this.concurrency=t,this.sink=n,this.scheduler=i,this.pending=[],this.current=new _LinkedList2.default,this.disposable=dispose.once(r.run(this,i)),this.active=!0}function mapAndRun(e,t,r,n){return e(t).source.run(r,n)}function Inner(e,t,r){this.prev=this.next=null,this.time=e,this.outer=t,this.sink=r,this.disposable=void 0}MergeConcurrently.prototype.run=function(e,t){return new Outer(this.f,this.concurrency,this.source,e,t)},Outer.prototype.event=function(e,t){this._addInner(e,t)},Outer.prototype._addInner=function(e,t){this.current.length<this.concurrency?this._startInner(e,t):this.pending.push(t)},Outer.prototype._startInner=function(e,t){try{this._initInner(e,t)}catch(t){this.error(e,t)}},Outer.prototype._initInner=function(e,t){var r=new Inner(e,this,this.sink);r.disposable=mapAndRun(this.f,t,r,this.scheduler),this.current.add(r)},Outer.prototype.end=function(e,t){this.active=!1,dispose.tryDispose(e,this.disposable,this.sink),this._checkEnd(e,t)},Outer.prototype.error=function(e,t){this.active=!1,this.sink.error(e,t)},Outer.prototype.dispose=function(){return this.active=!1,this.pending.length=0,Promise.all([this.disposable.dispose(),this.current.dispose()])},Outer.prototype._endInner=function(e,t,r){this.current.remove(r),dispose.tryDispose(e,r,this),0===this.pending.length?this._checkEnd(e,t):this._startInner(e,this.pending.shift())},Outer.prototype._checkEnd=function(e,t){!this.active&&this.current.isEmpty()&&this.sink.end(e,t)},Inner.prototype.event=function(e,t){this.sink.event(Math.max(e,this.time),t)},Inner.prototype.end=function(e,t){this.outer._endInner(Math.max(e,this.time),t,this)},Inner.prototype.error=function(e,t){this.outer.error(Math.max(e,this.time),t)},Inner.prototype.dispose=function(){return this.disposable.dispose()};
2974
3012
 
2975
- },{"../LinkedList":708,"../Stream":711,"../disposable/dispose":739,"@most/prelude":775}],726:[function(require,module,exports){
3013
+ },{"../LinkedList":721,"../Stream":724,"../disposable/dispose":752,"@most/prelude":788}],739:[function(require,module,exports){
2976
3014
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.observe=observe,exports.drain=drain;var _runSource=require("../runSource"),_transform=require("./transform");function observe(r,e){return drain((0,_transform.tap)(r,e))}function drain(r){return(0,_runSource.withDefaultScheduler)(r.source)}
2977
3015
 
2978
- },{"../runSource":750,"./transform":735}],727:[function(require,module,exports){
3016
+ },{"../runSource":763,"./transform":748}],740:[function(require,module,exports){
2979
3017
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromPromise=fromPromise,exports.awaitPromises=awaitPromises;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_fatalError=require("../fatalError"),_fatalError2=_interopRequireDefault(_fatalError),_core=require("../source/core");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function fromPromise(e){return awaitPromises((0,_core.of)(e))}function awaitPromises(e){return new _Stream2.default(new Await(e.source))}function Await(e){this.source=e}function AwaitSink(e,t){this.sink=e,this.scheduler=t,this.queue=Promise.resolve();var r=this;this._eventBound=function(e){r.sink.event(r.scheduler.now(),e)},this._endBound=function(e){r.sink.end(r.scheduler.now(),e)},this._errorBound=function(e){r.sink.error(r.scheduler.now(),e)}}Await.prototype.run=function(e,t){return this.source.run(new AwaitSink(e,t),t)},AwaitSink.prototype.event=function(e,t){var r=this;this.queue=this.queue.then(function(){return r._event(t)}).catch(this._errorBound)},AwaitSink.prototype.end=function(e,t){var r=this;this.queue=this.queue.then(function(){return r._end(t)}).catch(this._errorBound)},AwaitSink.prototype.error=function(e,t){var r=this;this.queue=this.queue.then(function(){return r._errorBound(t)}).catch(_fatalError2.default)},AwaitSink.prototype._event=function(e){return e.then(this._eventBound)},AwaitSink.prototype._end=function(e){return Promise.resolve(e).then(this._endBound)};
2980
3018
 
2981
- },{"../Stream":711,"../fatalError":740,"../source/core":763}],728:[function(require,module,exports){
3019
+ },{"../Stream":724,"../fatalError":753,"../source/core":776}],741:[function(require,module,exports){
2982
3020
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.sample=sample,exports.sampleWith=sampleWith,exports.sampleArray=sampleArray;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude),_invoke=require("../invoke"),_invoke2=_interopRequireDefault(_invoke);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sample(e,r){return sampleArray(e,r,base.drop(2,arguments))}function sampleWith(e,r){return new _Stream2.default(new Sampler(base.id,e.source,[r.source]))}function sampleArray(e,r,t){return new _Stream2.default(new Sampler(e,r.source,base.map(getSource,t)))}function getSource(e){return e.source}function Sampler(e,r,t){this.f=e,this.sampler=r,this.sources=t}function Hold(e){this.sink=e,this.hasValue=!1}function SampleSink(e,r,t){this.f=e,this.sinks=r,this.sink=t,this.active=!1}function hasValue(e){return e.hasValue}function getValue(e){return e.value}Sampler.prototype.run=function(e,r){for(var t,i=this.sources.length,n=new Array(i+1),o=new Array(i),s=new SampleSink(this.f,o,e),a=0;a<i;++a)t=o[a]=new Hold(s),n[a]=this.sources[a].run(t,r);return n[a]=this.sampler.run(s,r),dispose.all(n)},Hold.prototype.event=function(e,r){this.value=r,this.hasValue=!0,this.sink._notify(this)},Hold.prototype.end=function(){},Hold.prototype.error=_Pipe2.default.prototype.error,SampleSink.prototype._notify=function(){this.active||(this.active=this.sinks.every(hasValue))},SampleSink.prototype.event=function(e){this.active&&this.sink.event(e,(0,_invoke2.default)(this.f,base.map(getValue,this.sinks)))},SampleSink.prototype.end=_Pipe2.default.prototype.end,SampleSink.prototype.error=_Pipe2.default.prototype.error;
2983
3021
 
2984
- },{"../Stream":711,"../disposable/dispose":739,"../invoke":745,"../sink/Pipe":759,"@most/prelude":775}],729:[function(require,module,exports){
3022
+ },{"../Stream":724,"../disposable/dispose":752,"../invoke":758,"../sink/Pipe":772,"@most/prelude":788}],742:[function(require,module,exports){
2985
3023
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.take=take,exports.skip=skip,exports.slice=slice,exports.takeWhile=takeWhile,exports.skipWhile=skipWhile,exports.skipAfter=skipAfter;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_core=require("../source/core"),core=_interopRequireWildcard(_core),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_Map=require("../fusion/Map"),_Map2=_interopRequireDefault(_Map);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var i={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(i[t]=e[t]);return i.default=e,i}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function take(e,i){return slice(0,e,i)}function skip(e,i){return slice(e,1/0,i)}function slice(e,i,t){return i<=e?core.empty():new _Stream2.default(sliceSource(e,i,t.source))}function sliceSource(e,i,t){return t instanceof _Map2.default?commuteMapSlice(e,i,t):t instanceof Slice?fuseSlice(e,i,t):new Slice(e,i,t)}function commuteMapSlice(e,i,t){return _Map2.default.create(t.f,sliceSource(e,i,t.source))}function fuseSlice(e,i,t){return new Slice(e+=t.min,i=Math.min(i+t.min,t.max),t.source)}function Slice(e,i,t){this.source=t,this.min=e,this.max=i}function SliceSink(e,i,t,r){this.sink=t,this.skip=e,this.take=i,this.disposable=r}function takeWhile(e,i){return new _Stream2.default(new TakeWhile(e,i.source))}function TakeWhile(e,i){this.p=e,this.source=i}function TakeWhileSink(e,i,t){this.p=e,this.sink=i,this.active=!0,this.disposable=t}function skipWhile(e,i){return new _Stream2.default(new SkipWhile(e,i.source))}function SkipWhile(e,i){this.p=e,this.source=i}function SkipWhileSink(e,i){this.p=e,this.sink=i,this.skipping=!0}function skipAfter(e,i){return new _Stream2.default(new SkipAfter(e,i.source))}function SkipAfter(e,i){this.p=e,this.source=i}function SkipAfterSink(e,i){this.p=e,this.sink=i,this.skipping=!1}Slice.prototype.run=function(e,i){var t=dispose.settable(),r=new SliceSink(this.min,this.max-this.min,e,t);return t.setDisposable(this.source.run(r,i)),t},SliceSink.prototype.end=_Pipe2.default.prototype.end,SliceSink.prototype.error=_Pipe2.default.prototype.error,SliceSink.prototype.event=function(e,i){this.skip>0?this.skip-=1:0!==this.take&&(this.take-=1,this.sink.event(e,i),0===this.take&&(this.disposable.dispose(),this.sink.end(e,i)))},TakeWhile.prototype.run=function(e,i){var t=dispose.settable(),r=new TakeWhileSink(this.p,e,t);return t.setDisposable(this.source.run(r,i)),t},TakeWhileSink.prototype.end=_Pipe2.default.prototype.end,TakeWhileSink.prototype.error=_Pipe2.default.prototype.error,TakeWhileSink.prototype.event=function(e,i){if(this.active){var t=this.p;this.active=t(i),this.active?this.sink.event(e,i):(this.disposable.dispose(),this.sink.end(e,i))}},SkipWhile.prototype.run=function(e,i){return this.source.run(new SkipWhileSink(this.p,e),i)},SkipWhileSink.prototype.end=_Pipe2.default.prototype.end,SkipWhileSink.prototype.error=_Pipe2.default.prototype.error,SkipWhileSink.prototype.event=function(e,i){if(this.skipping){var t=this.p;if(this.skipping=t(i),this.skipping)return}this.sink.event(e,i)},SkipAfter.prototype.run=function(e,i){return this.source.run(new SkipAfterSink(this.p,e),i)},SkipAfterSink.prototype.event=function(e,i){if(!this.skipping){var t=this.p;this.skipping=t(i),this.sink.event(e,i),this.skipping&&this.sink.end(e,i)}},SkipAfterSink.prototype.end=_Pipe2.default.prototype.end,SkipAfterSink.prototype.error=_Pipe2.default.prototype.error;
2986
3024
 
2987
- },{"../Stream":711,"../disposable/dispose":739,"../fusion/Map":743,"../sink/Pipe":759,"../source/core":763}],730:[function(require,module,exports){
3025
+ },{"../Stream":724,"../disposable/dispose":752,"../fusion/Map":756,"../sink/Pipe":772,"../source/core":776}],743:[function(require,module,exports){
2988
3026
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.switch=void 0,exports.switchLatest=switchLatest;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose);function _interopRequireWildcard(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function switchLatest(t){return new _Stream2.default(new Switch(t.source))}function Switch(t){this.source=t}function SwitchSink(t,e){this.sink=t,this.scheduler=e,this.current=null,this.ended=!1}function Segment(t,e,i,n){this.min=t,this.max=e,this.outer=i,this.sink=n,this.disposable=dispose.empty()}exports.switch=switchLatest,Switch.prototype.run=function(t,e){var i=new SwitchSink(t,e);return dispose.all([i,this.source.run(i,e)])},SwitchSink.prototype.event=function(t,e){this._disposeCurrent(t),this.current=new Segment(t,1/0,this,this.sink),this.current.disposable=e.source.run(this.current,this.scheduler)},SwitchSink.prototype.end=function(t,e){this.ended=!0,this._checkEnd(t,e)},SwitchSink.prototype.error=function(t,e){this.ended=!0,this.sink.error(t,e)},SwitchSink.prototype.dispose=function(){return this._disposeCurrent(this.scheduler.now())},SwitchSink.prototype._disposeCurrent=function(t){if(null!==this.current)return this.current._dispose(t)},SwitchSink.prototype._disposeInner=function(t,e){e._dispose(t),e===this.current&&(this.current=null)},SwitchSink.prototype._checkEnd=function(t,e){this.ended&&null===this.current&&this.sink.end(t,e)},SwitchSink.prototype._endInner=function(t,e,i){this._disposeInner(t,i),this._checkEnd(t,e)},SwitchSink.prototype._errorInner=function(t,e,i){this._disposeInner(t,i),this.sink.error(t,e)},Segment.prototype.event=function(t,e){t<this.max&&this.sink.event(Math.max(t,this.min),e)},Segment.prototype.end=function(t,e){this.outer._endInner(Math.max(t,this.min),e,this)},Segment.prototype.error=function(t,e){this.outer._errorInner(Math.max(t,this.min),e,this)},Segment.prototype._dispose=function(t){this.max=t,dispose.tryDispose(t,this.disposable,this.sink)};
2989
3027
 
2990
- },{"../Stream":711,"../disposable/dispose":739}],731:[function(require,module,exports){
3028
+ },{"../Stream":724,"../disposable/dispose":752}],744:[function(require,module,exports){
2991
3029
  "use strict";function thru(e,t){return e(t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.thru=thru;
2992
3030
 
2993
- },{}],732:[function(require,module,exports){
3031
+ },{}],745:[function(require,module,exports){
2994
3032
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.takeUntil=takeUntil,exports.skipUntil=skipUntil,exports.during=during;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_flatMap=require("../combinator/flatMap");function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function takeUntil(e,t){return new _Stream2.default(new Until(e.source,t.source))}function skipUntil(e,t){return new _Stream2.default(new Since(e.source,t.source))}function during(e,t){return takeUntil((0,_flatMap.join)(e),skipUntil(e,t))}function Until(e,t){this.maxSignal=e,this.source=t}function Since(e,t){this.minSignal=e,this.source=t}function Bound(e,t){this.value=e,this.sink=t}function TimeWindowSink(e,t,o){this.min=e,this.max=t,this.sink=o}function LowerBound(e,t,o){this.value=1/0,this.sink=t,this.disposable=e.run(this,o)}function UpperBound(e,t,o){this.value=1/0,this.sink=t,this.disposable=e.run(this,o)}function noop(){}Until.prototype.run=function(e,t){var o=new Bound(-1/0,e),n=new UpperBound(this.maxSignal,e,t),i=this.source.run(new TimeWindowSink(o,n,e),t);return dispose.all([o,n,i])},Since.prototype.run=function(e,t){var o=new LowerBound(this.minSignal,e,t),n=new Bound(1/0,e),i=this.source.run(new TimeWindowSink(o,n,e),t);return dispose.all([o,n,i])},Bound.prototype.error=_Pipe2.default.prototype.error,Bound.prototype.event=noop,Bound.prototype.end=noop,Bound.prototype.dispose=noop,TimeWindowSink.prototype.event=function(e,t){e>=this.min.value&&e<this.max.value&&this.sink.event(e,t)},TimeWindowSink.prototype.error=_Pipe2.default.prototype.error,TimeWindowSink.prototype.end=_Pipe2.default.prototype.end,LowerBound.prototype.event=function(e){e<this.value&&(this.value=e)},LowerBound.prototype.end=noop,LowerBound.prototype.error=_Pipe2.default.prototype.error,LowerBound.prototype.dispose=function(){return this.disposable.dispose()},UpperBound.prototype.event=function(e,t){e<this.value&&(this.value=e,this.sink.end(e,t))},UpperBound.prototype.end=noop,UpperBound.prototype.error=_Pipe2.default.prototype.error,UpperBound.prototype.dispose=function(){return this.disposable.dispose()};
2995
3033
 
2996
- },{"../Stream":711,"../combinator/flatMap":721,"../disposable/dispose":739,"../sink/Pipe":759}],733:[function(require,module,exports){
3034
+ },{"../Stream":724,"../combinator/flatMap":734,"../disposable/dispose":752,"../sink/Pipe":772}],746:[function(require,module,exports){
2997
3035
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.timestamp=timestamp;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function timestamp(e){return new _Stream2.default(new Timestamp(e.source))}function Timestamp(e){this.source=e}function TimestampSink(e){this.sink=e}Timestamp.prototype.run=function(e,t){return this.source.run(new TimestampSink(e),t)},TimestampSink.prototype.end=_Pipe2.default.prototype.end,TimestampSink.prototype.error=_Pipe2.default.prototype.error,TimestampSink.prototype.event=function(e,t){this.sink.event(e,{time:e,value:t})};
2998
3036
 
2999
- },{"../Stream":711,"../sink/Pipe":759}],734:[function(require,module,exports){
3037
+ },{"../Stream":724,"../sink/Pipe":772}],747:[function(require,module,exports){
3000
3038
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.transduce=transduce;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream);function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function transduce(t,e){return new _Stream2.default(new Transduce(t,e.source))}function Transduce(t,e){this.transducer=t,this.source=e}function TransduceSink(t,e){this.xf=t,this.sink=e}function Transformer(t){this.time=-1/0,this.sink=t}function getTxHandler(t){return"function"==typeof t["@@transducer/step"]?new TxAdapter(t):new LegacyTxAdapter(t)}function TxAdapter(t){this.tx=t}function LegacyTxAdapter(t){this.tx=t}Transduce.prototype.run=function(t,e){var r=this.transducer(new Transformer(t));return this.source.run(new TransduceSink(getTxHandler(r),t),e)},TransduceSink.prototype.event=function(t,e){var r=this.xf.step(t,e);return this.xf.isReduced(r)?this.sink.end(t,this.xf.getResult(r)):r},TransduceSink.prototype.end=function(t,e){return this.xf.result(e)},TransduceSink.prototype.error=function(t,e){return this.sink.error(t,e)},Transformer.prototype["@@transducer/init"]=Transformer.prototype.init=function(){},Transformer.prototype["@@transducer/step"]=Transformer.prototype.step=function(t,e){return isNaN(t)||(this.time=Math.max(t,this.time)),this.sink.event(this.time,e)},Transformer.prototype["@@transducer/result"]=Transformer.prototype.result=function(t){return this.sink.end(this.time,t)},TxAdapter.prototype.step=function(t,e){return this.tx["@@transducer/step"](t,e)},TxAdapter.prototype.result=function(t){return this.tx["@@transducer/result"](t)},TxAdapter.prototype.isReduced=function(t){return null!=t&&t["@@transducer/reduced"]},TxAdapter.prototype.getResult=function(t){return t["@@transducer/value"]},LegacyTxAdapter.prototype.step=function(t,e){return this.tx.step(t,e)},LegacyTxAdapter.prototype.result=function(t){return this.tx.result(t)},LegacyTxAdapter.prototype.isReduced=function(t){return null!=t&&t.__transducers_reduced__},LegacyTxAdapter.prototype.getResult=function(t){return t.value};
3001
3039
 
3002
- },{"../Stream":711}],735:[function(require,module,exports){
3040
+ },{"../Stream":724}],748:[function(require,module,exports){
3003
3041
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.map=map,exports.constant=constant,exports.tap=tap;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_Map=require("../fusion/Map"),_Map2=_interopRequireDefault(_Map),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function map(e,t){return new _Stream2.default(_Map2.default.create(e,t.source))}function constant(e,t){return map(function(){return e},t)}function tap(e,t){return new _Stream2.default(new Tap(e,t.source))}function Tap(e,t){this.source=t,this.f=e}function TapSink(e,t){this.sink=t,this.f=e}Tap.prototype.run=function(e,t){return this.source.run(new TapSink(this.f,e),t)},TapSink.prototype.end=_Pipe2.default.prototype.end,TapSink.prototype.error=_Pipe2.default.prototype.error,TapSink.prototype.event=function(e,t){(0,this.f)(t),this.sink.event(e,t)};
3004
3042
 
3005
- },{"../Stream":711,"../fusion/Map":743,"../sink/Pipe":759}],736:[function(require,module,exports){
3043
+ },{"../Stream":724,"../fusion/Map":756,"../sink/Pipe":772}],749:[function(require,module,exports){
3006
3044
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.zip=zip,exports.zipArray=zipArray;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_transform=require("./transform"),transform=_interopRequireWildcard(_transform),_core=require("../source/core"),core=_interopRequireWildcard(_core),_Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_IndexSink=require("../sink/IndexSink"),_IndexSink2=_interopRequireDefault(_IndexSink),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude),_invoke=require("../invoke"),_invoke2=_interopRequireDefault(_invoke),_Queue=require("../Queue"),_Queue2=_interopRequireDefault(_Queue);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var map=base.map,tail=base.tail;function zip(e){return zipArray(e,tail(arguments))}function zipArray(e,r){return 0===r.length?core.empty():1===r.length?transform.map(e,r[0]):new _Stream2.default(new Zip(e,map(getSource,r)))}function getSource(e){return e.source}function Zip(e,r){this.f=e,this.sources=r}function ZipSink(e,r,i,t){this.f=e,this.sinks=i,this.sink=t,this.buffers=r}function emitZipped(e,r,i,t){t.event(r,(0,_invoke2.default)(e,map(head,i)))}function head(e){return e.shift()}function ended(e,r){for(var i=0,t=e.length;i<t;++i)if(e[i].isEmpty()&&!r[i].active)return!0;return!1}function ready(e){for(var r=0,i=e.length;r<i;++r)if(e[r].isEmpty())return!1;return!0}Zip.prototype.run=function(e,r){for(var i,t=this.sources.length,n=new Array(t),u=new Array(t),o=new Array(t),s=new ZipSink(this.f,o,u,e),p=0;p<t;++p)o[p]=new _Queue2.default,i=u[p]=new _IndexSink2.default(p,s),n[p]=this.sources[p].run(i,r);return dispose.all(n)},ZipSink.prototype.event=function(e,r){var i=this.buffers,t=i[r.index];if(t.push(r.value),1===t.length()){if(!ready(this.buffers))return;emitZipped(this.f,e,i,this.sink),ended(this.buffers,this.sinks)&&this.sink.end(e,void 0)}},ZipSink.prototype.end=function(e,r){this.buffers[r.index].isEmpty()&&this.sink.end(e,r.value)},ZipSink.prototype.error=_Pipe2.default.prototype.error;
3007
3045
 
3008
- },{"../Queue":710,"../Stream":711,"../disposable/dispose":739,"../invoke":745,"../sink/IndexSink":758,"../sink/Pipe":759,"../source/core":763,"./transform":735,"@most/prelude":775}],737:[function(require,module,exports){
3046
+ },{"../Queue":723,"../Stream":724,"../disposable/dispose":752,"../invoke":758,"../sink/IndexSink":771,"../sink/Pipe":772,"../source/core":776,"./transform":748,"@most/prelude":788}],750:[function(require,module,exports){
3009
3047
  "use strict";function Disposable(s,e){this._dispose=s,this._data=e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Disposable,Disposable.prototype.dispose=function(){return this._dispose(this._data)};
3010
3048
 
3011
- },{}],738:[function(require,module,exports){
3049
+ },{}],751:[function(require,module,exports){
3012
3050
  "use strict";function SettableDisposable(){this.disposable=void 0,this.disposed=!1,this._resolve=void 0;var s=this;this.result=new Promise(function(e){s._resolve=e})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SettableDisposable,SettableDisposable.prototype.setDisposable=function(s){if(void 0!==this.disposable)throw new Error("setDisposable called more than once");this.disposable=s,this.disposed&&this._resolve(s.dispose())},SettableDisposable.prototype.dispose=function(){return this.disposed?this.result:(this.disposed=!0,void 0!==this.disposable&&(this.result=this.disposable.dispose()),this.result)};
3013
3051
 
3014
- },{}],739:[function(require,module,exports){
3052
+ },{}],752:[function(require,module,exports){
3015
3053
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.tryDispose=tryDispose,exports.create=create,exports.empty=empty,exports.all=all,exports.promised=promised,exports.settable=settable,exports.once=once;var _Disposable=require("./Disposable"),_Disposable2=_interopRequireDefault(_Disposable),_SettableDisposable=require("./SettableDisposable"),_SettableDisposable2=_interopRequireDefault(_SettableDisposable),_Promise=require("../Promise"),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var s={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(s[r]=e[r]);return s.default=e,s}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var map=base.map,identity=base.id;function tryDispose(e,s,r){var t=disposeSafely(s);return(0,_Promise.isPromise)(t)?t.catch(function(s){r.error(e,s)}):t}function create(e,s){return once(new _Disposable2.default(e,s))}function empty(){return new _Disposable2.default(identity,void 0)}function all(e){return create(disposeAll,e)}function disposeAll(e){return Promise.all(map(disposeSafely,e))}function disposeSafely(e){try{return e.dispose()}catch(e){return Promise.reject(e)}}function promised(e){return create(disposePromise,e)}function disposePromise(e){return e.then(disposeOne)}function disposeOne(e){return e.dispose()}function settable(){return new _SettableDisposable2.default}function once(e){return new _Disposable2.default(disposeMemoized,memoized(e))}function disposeMemoized(e){return e.disposed||(e.disposed=!0,e.value=disposeSafely(e.disposable),e.disposable=void 0),e.value}function memoized(e){return{disposed:!1,disposable:e,value:void 0}}
3016
3054
 
3017
- },{"../Promise":709,"./Disposable":737,"./SettableDisposable":738,"@most/prelude":775}],740:[function(require,module,exports){
3055
+ },{"../Promise":722,"./Disposable":750,"./SettableDisposable":751,"@most/prelude":788}],753:[function(require,module,exports){
3018
3056
  "use strict";function fatalError(t){setTimeout(function(){throw t},0)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=fatalError;
3019
3057
 
3020
- },{}],741:[function(require,module,exports){
3058
+ },{}],754:[function(require,module,exports){
3021
3059
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Filter;var _Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function Filter(e,t){this.p=e,this.source=t}function FilterSink(e,t){this.p=e,this.sink=t}function and(e,t){return function(r){return e(r)&&t(r)}}Filter.create=function(e,t){return t instanceof Filter?new Filter(and(t.p,e),t.source):new Filter(e,t)},Filter.prototype.run=function(e,t){return this.source.run(new FilterSink(this.p,e),t)},FilterSink.prototype.end=_Pipe2.default.prototype.end,FilterSink.prototype.error=_Pipe2.default.prototype.error,FilterSink.prototype.event=function(e,t){(0,this.p)(t)&&this.sink.event(e,t)};
3022
3060
 
3023
- },{"../sink/Pipe":759}],742:[function(require,module,exports){
3061
+ },{"../sink/Pipe":772}],755:[function(require,module,exports){
3024
3062
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FilterMap;var _Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function FilterMap(e,t,i){this.p=e,this.f=t,this.source=i}function FilterMapSink(e,t,i){this.p=e,this.f=t,this.sink=i}FilterMap.prototype.run=function(e,t){return this.source.run(new FilterMapSink(this.p,this.f,e),t)},FilterMapSink.prototype.event=function(e,t){var i=this.f;(0,this.p)(t)&&this.sink.event(e,i(t))},FilterMapSink.prototype.end=_Pipe2.default.prototype.end,FilterMapSink.prototype.error=_Pipe2.default.prototype.error;
3025
3063
 
3026
- },{"../sink/Pipe":759}],743:[function(require,module,exports){
3064
+ },{"../sink/Pipe":772}],756:[function(require,module,exports){
3027
3065
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Map;var _Pipe=require("../sink/Pipe"),_Pipe2=_interopRequireDefault(_Pipe),_Filter=require("./Filter"),_Filter2=_interopRequireDefault(_Filter),_FilterMap=require("./FilterMap"),_FilterMap2=_interopRequireDefault(_FilterMap),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function Map(e,r){this.f=e,this.source=r}function MapSink(e,r){this.f=e,this.sink=r}Map.create=function(e,r){return r instanceof Map?new Map(base.compose(e,r.f),r.source):r instanceof _Filter2.default?new _FilterMap2.default(r.p,e,r.source):new Map(e,r)},Map.prototype.run=function(e,r){return this.source.run(new MapSink(this.f,e),r)},MapSink.prototype.end=_Pipe2.default.prototype.end,MapSink.prototype.error=_Pipe2.default.prototype.error,MapSink.prototype.event=function(e,r){var t=this.f;this.sink.event(e,t(r))};
3028
3066
 
3029
- },{"../sink/Pipe":759,"./Filter":741,"./FilterMap":742,"@most/prelude":775}],744:[function(require,module,exports){
3067
+ },{"../sink/Pipe":772,"./Filter":754,"./FilterMap":755,"@most/prelude":788}],757:[function(require,module,exports){
3030
3068
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PropagateTask=exports.defaultScheduler=exports.multicast=exports.throwError=exports.flatMapError=exports.recoverWith=exports.await=exports.awaitPromises=exports.fromPromise=exports.debounce=exports.throttle=exports.timestamp=exports.delay=exports.during=exports.since=exports.skipUntil=exports.until=exports.takeUntil=exports.skipAfter=exports.skipWhile=exports.takeWhile=exports.slice=exports.skip=exports.take=exports.distinctBy=exports.skipRepeatsWith=exports.distinct=exports.skipRepeats=exports.filter=exports.switch=exports.switchLatest=exports.zipArray=exports.zip=exports.sampleWith=exports.sampleArray=exports.sample=exports.combineArray=exports.combine=exports.mergeArray=exports.merge=exports.mergeConcurrently=exports.concatMap=exports.flatMapEnd=exports.continueWith=exports.join=exports.chain=exports.flatMap=exports.transduce=exports.ap=exports.tap=exports.constant=exports.map=exports.startWith=exports.concat=exports.generate=exports.iterate=exports.unfold=exports.reduce=exports.scan=exports.loop=exports.drain=exports.forEach=exports.observe=exports.fromEvent=exports.periodic=exports.from=exports.never=exports.empty=exports.just=exports.of=exports.Stream=void 0;var _fromEvent=require("./source/fromEvent");Object.defineProperty(exports,"fromEvent",{enumerable:!0,get:function(){return _fromEvent.fromEvent}});var _unfold=require("./source/unfold");Object.defineProperty(exports,"unfold",{enumerable:!0,get:function(){return _unfold.unfold}});var _iterate=require("./source/iterate");Object.defineProperty(exports,"iterate",{enumerable:!0,get:function(){return _iterate.iterate}});var _generate=require("./source/generate");Object.defineProperty(exports,"generate",{enumerable:!0,get:function(){return _generate.generate}});var _Stream=require("./Stream"),_Stream2=_interopRequireDefault(_Stream),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude),_core=require("./source/core"),_from=require("./source/from"),_periodic=require("./source/periodic"),_symbolObservable=require("symbol-observable"),_symbolObservable2=_interopRequireDefault(_symbolObservable),_subscribe=require("./observable/subscribe"),_thru=require("./combinator/thru"),_observe=require("./combinator/observe"),_loop=require("./combinator/loop"),_accumulate=require("./combinator/accumulate"),_build=require("./combinator/build"),_transform=require("./combinator/transform"),_applicative=require("./combinator/applicative"),_transduce=require("./combinator/transduce"),_flatMap=require("./combinator/flatMap"),_continueWith=require("./combinator/continueWith"),_concatMap=require("./combinator/concatMap"),_mergeConcurrently=require("./combinator/mergeConcurrently"),_merge=require("./combinator/merge"),_combine=require("./combinator/combine"),_sample=require("./combinator/sample"),_zip=require("./combinator/zip"),_switch=require("./combinator/switch"),_filter=require("./combinator/filter"),_slice=require("./combinator/slice"),_timeslice=require("./combinator/timeslice"),_delay=require("./combinator/delay"),_timestamp=require("./combinator/timestamp"),_limit=require("./combinator/limit"),_promises=require("./combinator/promises"),_errors=require("./combinator/errors"),_multicast=require("@most/multicast"),_multicast2=_interopRequireDefault(_multicast),_defaultScheduler=require("./scheduler/defaultScheduler"),_defaultScheduler2=_interopRequireDefault(_defaultScheduler),_PropagateTask=require("./scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}exports.Stream=_Stream2.default,_Stream2.default.of=_core.of,_Stream2.default.empty=_core.empty,_Stream2.default.from=_from.from,exports.of=_core.of,exports.just=_core.of,exports.empty=_core.empty,exports.never=_core.never,exports.from=_from.from,exports.periodic=_periodic.periodic,_Stream2.default.prototype.subscribe=function(e){return(0,_subscribe.subscribe)(e,this)},_Stream2.default.prototype[_symbolObservable2.default]=function(){return this},_Stream2.default.prototype.thru=function(e){return(0,_thru.thru)(e,this)},exports.observe=_observe.observe,exports.forEach=_observe.observe,exports.drain=_observe.drain,_Stream2.default.prototype.observe=_Stream2.default.prototype.forEach=function(e){return(0,_observe.observe)(e,this)},_Stream2.default.prototype.drain=function(){return(0,_observe.drain)(this)},exports.loop=_loop.loop,_Stream2.default.prototype.loop=function(e,t){return(0,_loop.loop)(e,t,this)},exports.scan=_accumulate.scan,exports.reduce=_accumulate.reduce,_Stream2.default.prototype.scan=function(e,t){return(0,_accumulate.scan)(e,t,this)},_Stream2.default.prototype.reduce=function(e,t){return(0,_accumulate.reduce)(e,t,this)},exports.concat=_build.concat,exports.startWith=_build.cons,_Stream2.default.prototype.concat=function(e){return(0,_build.concat)(this,e)},_Stream2.default.prototype.startWith=function(e){return(0,_build.cons)(e,this)},exports.map=_transform.map,exports.constant=_transform.constant,exports.tap=_transform.tap,exports.ap=_applicative.ap,_Stream2.default.prototype.map=function(e){return(0,_transform.map)(e,this)},_Stream2.default.prototype.ap=function(e){return(0,_applicative.ap)(this,e)},_Stream2.default.prototype.constant=function(e){return(0,_transform.constant)(e,this)},_Stream2.default.prototype.tap=function(e){return(0,_transform.tap)(e,this)},exports.transduce=_transduce.transduce,_Stream2.default.prototype.transduce=function(e){return(0,_transduce.transduce)(e,this)},exports.flatMap=_flatMap.flatMap,exports.chain=_flatMap.flatMap,exports.join=_flatMap.join,_Stream2.default.prototype.chain=function(e){return(0,_flatMap.flatMap)(e,this)},_Stream2.default.prototype.flatMap=_Stream2.default.prototype.chain,_Stream2.default.prototype.join=function(){return(0,_flatMap.join)(this)},exports.continueWith=_continueWith.continueWith,exports.flatMapEnd=_continueWith.continueWith,_Stream2.default.prototype.continueWith=function(e){return(0,_continueWith.continueWith)(e,this)},_Stream2.default.prototype.flatMapEnd=_Stream2.default.prototype.continueWith,exports.concatMap=_concatMap.concatMap,_Stream2.default.prototype.concatMap=function(e){return(0,_concatMap.concatMap)(e,this)},exports.mergeConcurrently=_mergeConcurrently.mergeConcurrently,_Stream2.default.prototype.mergeConcurrently=function(e){return(0,_mergeConcurrently.mergeConcurrently)(e,this)},exports.merge=_merge.merge,exports.mergeArray=_merge.mergeArray,_Stream2.default.prototype.merge=function(){return(0,_merge.mergeArray)(base.cons(this,arguments))},exports.combine=_combine.combine,exports.combineArray=_combine.combineArray,_Stream2.default.prototype.combine=function(e){return(0,_combine.combineArray)(e,base.replace(this,0,arguments))},exports.sample=_sample.sample,exports.sampleArray=_sample.sampleArray,exports.sampleWith=_sample.sampleWith,_Stream2.default.prototype.sampleWith=function(e){return(0,_sample.sampleWith)(e,this)},_Stream2.default.prototype.sample=function(e){return(0,_sample.sampleArray)(e,this,base.tail(arguments))},exports.zip=_zip.zip,exports.zipArray=_zip.zipArray,_Stream2.default.prototype.zip=function(e){return(0,_zip.zipArray)(e,base.replace(this,0,arguments))},exports.switchLatest=_switch.switchLatest,exports.switch=_switch.switchLatest,_Stream2.default.prototype.switchLatest=function(){return(0,_switch.switchLatest)(this)},_Stream2.default.prototype.switch=_Stream2.default.prototype.switchLatest,exports.filter=_filter.filter,exports.skipRepeats=_filter.skipRepeats,exports.distinct=_filter.skipRepeats,exports.skipRepeatsWith=_filter.skipRepeatsWith,exports.distinctBy=_filter.skipRepeatsWith,_Stream2.default.prototype.filter=function(e){return(0,_filter.filter)(e,this)},_Stream2.default.prototype.skipRepeats=function(){return(0,_filter.skipRepeats)(this)},_Stream2.default.prototype.skipRepeatsWith=function(e){return(0,_filter.skipRepeatsWith)(e,this)},exports.take=_slice.take,exports.skip=_slice.skip,exports.slice=_slice.slice,exports.takeWhile=_slice.takeWhile,exports.skipWhile=_slice.skipWhile,exports.skipAfter=_slice.skipAfter,_Stream2.default.prototype.take=function(e){return(0,_slice.take)(e,this)},_Stream2.default.prototype.skip=function(e){return(0,_slice.skip)(e,this)},_Stream2.default.prototype.slice=function(e,t){return(0,_slice.slice)(e,t,this)},_Stream2.default.prototype.takeWhile=function(e){return(0,_slice.takeWhile)(e,this)},_Stream2.default.prototype.skipWhile=function(e){return(0,_slice.skipWhile)(e,this)},_Stream2.default.prototype.skipAfter=function(e){return(0,_slice.skipAfter)(e,this)},exports.takeUntil=_timeslice.takeUntil,exports.until=_timeslice.takeUntil,exports.skipUntil=_timeslice.skipUntil,exports.since=_timeslice.skipUntil,exports.during=_timeslice.during,_Stream2.default.prototype.until=function(e){return(0,_timeslice.takeUntil)(e,this)},_Stream2.default.prototype.takeUntil=_Stream2.default.prototype.until,_Stream2.default.prototype.since=function(e){return(0,_timeslice.skipUntil)(e,this)},_Stream2.default.prototype.skipUntil=_Stream2.default.prototype.since,_Stream2.default.prototype.during=function(e){return(0,_timeslice.during)(e,this)},exports.delay=_delay.delay,_Stream2.default.prototype.delay=function(e){return(0,_delay.delay)(e,this)},exports.timestamp=_timestamp.timestamp,_Stream2.default.prototype.timestamp=function(){return(0,_timestamp.timestamp)(this)},exports.throttle=_limit.throttle,exports.debounce=_limit.debounce,_Stream2.default.prototype.throttle=function(e){return(0,_limit.throttle)(e,this)},_Stream2.default.prototype.debounce=function(e){return(0,_limit.debounce)(e,this)},exports.fromPromise=_promises.fromPromise,exports.awaitPromises=_promises.awaitPromises,exports.await=_promises.awaitPromises,_Stream2.default.prototype.awaitPromises=function(){return(0,_promises.awaitPromises)(this)},_Stream2.default.prototype.await=_Stream2.default.prototype.awaitPromises,exports.recoverWith=_errors.recoverWith,exports.flatMapError=_errors.flatMapError,exports.throwError=_errors.throwError,_Stream2.default.prototype.recoverWith=function(e){return(0,_errors.flatMapError)(e,this)},_Stream2.default.prototype.flatMapError=_Stream2.default.prototype.recoverWith,exports.multicast=_multicast2.default,_Stream2.default.prototype.multicast=function(){return(0,_multicast2.default)(this)},exports.defaultScheduler=_defaultScheduler2.default,exports.PropagateTask=_PropagateTask2.default;
3031
3069
 
3032
- },{"./Stream":711,"./combinator/accumulate":712,"./combinator/applicative":713,"./combinator/build":714,"./combinator/combine":715,"./combinator/concatMap":716,"./combinator/continueWith":717,"./combinator/delay":718,"./combinator/errors":719,"./combinator/filter":720,"./combinator/flatMap":721,"./combinator/limit":722,"./combinator/loop":723,"./combinator/merge":724,"./combinator/mergeConcurrently":725,"./combinator/observe":726,"./combinator/promises":727,"./combinator/sample":728,"./combinator/slice":729,"./combinator/switch":730,"./combinator/thru":731,"./combinator/timeslice":732,"./combinator/timestamp":733,"./combinator/transduce":734,"./combinator/transform":735,"./combinator/zip":736,"./observable/subscribe":749,"./scheduler/PropagateTask":752,"./scheduler/defaultScheduler":756,"./source/core":763,"./source/from":764,"./source/fromEvent":766,"./source/generate":768,"./source/iterate":769,"./source/periodic":770,"./source/unfold":772,"@most/multicast":774,"@most/prelude":775,"symbol-observable":776}],745:[function(require,module,exports){
3070
+ },{"./Stream":724,"./combinator/accumulate":725,"./combinator/applicative":726,"./combinator/build":727,"./combinator/combine":728,"./combinator/concatMap":729,"./combinator/continueWith":730,"./combinator/delay":731,"./combinator/errors":732,"./combinator/filter":733,"./combinator/flatMap":734,"./combinator/limit":735,"./combinator/loop":736,"./combinator/merge":737,"./combinator/mergeConcurrently":738,"./combinator/observe":739,"./combinator/promises":740,"./combinator/sample":741,"./combinator/slice":742,"./combinator/switch":743,"./combinator/thru":744,"./combinator/timeslice":745,"./combinator/timestamp":746,"./combinator/transduce":747,"./combinator/transform":748,"./combinator/zip":749,"./observable/subscribe":762,"./scheduler/PropagateTask":765,"./scheduler/defaultScheduler":769,"./source/core":776,"./source/from":777,"./source/fromEvent":779,"./source/generate":781,"./source/iterate":782,"./source/periodic":783,"./source/unfold":785,"@most/multicast":787,"@most/prelude":788,"symbol-observable":789}],758:[function(require,module,exports){
3033
3071
  "use strict";function invoke(e,r){switch(r.length){case 0:return e();case 1:return e(r[0]);case 2:return e(r[0],r[1]);case 3:return e(r[0],r[1],r[2]);case 4:return e(r[0],r[1],r[2],r[3]);case 5:return e(r[0],r[1],r[2],r[3],r[4]);default:return e.apply(void 0,r)}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=invoke;
3034
3072
 
3035
- },{}],746:[function(require,module,exports){
3073
+ },{}],759:[function(require,module,exports){
3036
3074
  "use strict";var iteratorSymbol;function isIterable(t){return"function"==typeof t[iteratorSymbol]}function getIterator(t){return t[iteratorSymbol]()}function makeIterable(t,e){return e[iteratorSymbol]=t,e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.isIterable=isIterable,exports.getIterator=getIterator,exports.makeIterable=makeIterable,iteratorSymbol="function"==typeof Set&&"function"==typeof(new Set)["@@iterator"]?"@@iterator":"function"==typeof Symbol?Symbol.iterator:"_es6shim_iterator_";
3037
3075
 
3038
- },{}],747:[function(require,module,exports){
3076
+ },{}],760:[function(require,module,exports){
3039
3077
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromObservable=fromObservable,exports.ObservableSource=ObservableSource,exports.SubscriberSink=SubscriberSink;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_tryEvent=require("../source/tryEvent");function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function fromObservable(e){return new _Stream2.default(new ObservableSource(e))}function ObservableSource(e){this.observable=e}function SubscriberSink(e,r){this.sink=e,this.scheduler=r}function unsubscribe(e){return e.unsubscribe()}ObservableSource.prototype.run=function(e,r){var t=this.observable.subscribe(new SubscriberSink(e,r));if("function"==typeof t)return dispose.create(t);if(t&&"function"==typeof t.unsubscribe)return dispose.create(unsubscribe,t);throw new TypeError("Observable returned invalid subscription "+String(t))},SubscriberSink.prototype.next=function(e){(0,_tryEvent.tryEvent)(this.scheduler.now(),e,this.sink)},SubscriberSink.prototype.complete=function(e){(0,_tryEvent.tryEnd)(this.scheduler.now(),e,this.sink)},SubscriberSink.prototype.error=function(e){this.sink.error(this.scheduler.now(),e)};
3040
3078
 
3041
- },{"../Stream":711,"../disposable/dispose":739,"../source/tryEvent":771}],748:[function(require,module,exports){
3079
+ },{"../Stream":724,"../disposable/dispose":752,"../source/tryEvent":784}],761:[function(require,module,exports){
3042
3080
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=getObservable;var _symbolObservable=require("symbol-observable"),_symbolObservable2=_interopRequireDefault(_symbolObservable);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getObservable(e){var r=null;if(e){var l=e[_symbolObservable2.default];if("function"==typeof l&&(!(r=l.call(e))||"function"!=typeof r.subscribe))throw new TypeError("invalid observable "+r)}return r}
3043
3081
 
3044
- },{"symbol-observable":776}],749:[function(require,module,exports){
3082
+ },{"symbol-observable":789}],762:[function(require,module,exports){
3045
3083
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.subscribe=subscribe,exports.SubscribeObserver=SubscribeObserver,exports.Subscription=Subscription;var _defaultScheduler=require("../scheduler/defaultScheduler"),_defaultScheduler2=_interopRequireDefault(_defaultScheduler),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_fatalError=require("../fatalError"),_fatalError2=_interopRequireDefault(_fatalError);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function subscribe(e,r){if(Object(e)!==e)throw new TypeError("subscriber must be an object");var s=dispose.settable(),t=new SubscribeObserver(_fatalError2.default,e,s);return s.setDisposable(r.source.run(t,_defaultScheduler2.default)),new Subscription(s)}function SubscribeObserver(e,r,s){this.fatalError=e,this.subscriber=r,this.disposable=s}function Subscription(e){this.disposable=e}function throwError(e,r,s){if("function"==typeof r.error)try{r.error(e)}catch(e){s(e)}else s(e)}SubscribeObserver.prototype.event=function(e,r){this.disposable.disposed||"function"!=typeof this.subscriber.next||this.subscriber.next(r)},SubscribeObserver.prototype.end=function(e,r){if(!this.disposable.disposed){var s=this.subscriber,t=this.fatalError;Promise.resolve(this.disposable.dispose()).then(function(){"function"==typeof s.complete&&s.complete(r)}).catch(function(e){throwError(e,s,t)})}},SubscribeObserver.prototype.error=function(e,r){var s=this.subscriber,t=this.fatalError;Promise.resolve(this.disposable.dispose()).then(function(){throwError(r,s,t)})},Subscription.prototype.unsubscribe=function(){this.disposable.dispose()};
3046
3084
 
3047
- },{"../disposable/dispose":739,"../fatalError":740,"../scheduler/defaultScheduler":756}],750:[function(require,module,exports){
3085
+ },{"../disposable/dispose":752,"../fatalError":753,"../scheduler/defaultScheduler":769}],763:[function(require,module,exports){
3048
3086
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.withDefaultScheduler=withDefaultScheduler,exports.withScheduler=withScheduler;var _dispose=require("./disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_defaultScheduler=require("./scheduler/defaultScheduler"),_defaultScheduler2=_interopRequireDefault(_defaultScheduler);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function withDefaultScheduler(e){return withScheduler(e,_defaultScheduler2.default)}function withScheduler(e,r){return new Promise(function(t,i){runSource(e,r,t,i)})}function runSource(e,r,t,i){var u=dispose.settable(),o=new Drain(t,i,u);u.setDisposable(e.run(o,r))}function Drain(e,r,t){this._end=e,this._error=r,this._disposable=t,this.active=!0}function disposeThen(e,r,t,i){Promise.resolve(t.dispose()).then(function(){e(i)},r)}Drain.prototype.event=function(e,r){},Drain.prototype.end=function(e,r){this.active&&(this.active=!1,disposeThen(this._end,this._error,this._disposable,r))},Drain.prototype.error=function(e,r){this.active=!1,disposeThen(this._error,this._error,this._disposable,r)};
3049
3087
 
3050
- },{"./disposable/dispose":739,"./scheduler/defaultScheduler":756}],751:[function(require,module,exports){
3088
+ },{"./disposable/dispose":752,"./scheduler/defaultScheduler":769}],764:[function(require,module,exports){
3051
3089
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ClockTimer;var _task=require("../task");function ClockTimer(){}function Asap(t){this.f=t,this.active=!0}function runAsap(t){var e=new Asap(t);return(0,_task.defer)(e),e}ClockTimer.prototype.now=Date.now,ClockTimer.prototype.setTimer=function(t,e){return e<=0?runAsap(t):setTimeout(t,e)},ClockTimer.prototype.clearTimer=function(t){return t instanceof Asap?t.cancel():clearTimeout(t)},Asap.prototype.run=function(){return this.active&&this.f()},Asap.prototype.error=function(t){throw t},Asap.prototype.cancel=function(){this.active=!1};
3052
3090
 
3053
- },{"../task":773}],752:[function(require,module,exports){
3091
+ },{"../task":786}],765:[function(require,module,exports){
3054
3092
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PropagateTask;var _fatalError=require("../fatalError"),_fatalError2=_interopRequireDefault(_fatalError);function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function PropagateTask(r,e,t){this._run=r,this.value=e,this.sink=t,this.active=!0}function error(r,e,t){t.error(r,e)}function emit(r,e,t){t.event(r,e)}function end(r,e,t){t.end(r,e)}PropagateTask.event=function(r,e){return new PropagateTask(emit,r,e)},PropagateTask.end=function(r,e){return new PropagateTask(end,r,e)},PropagateTask.error=function(r,e){return new PropagateTask(error,r,e)},PropagateTask.prototype.dispose=function(){this.active=!1},PropagateTask.prototype.run=function(r){this.active&&this._run(r,this.value,this.sink)},PropagateTask.prototype.error=function(r,e){if(!this.active)return(0,_fatalError2.default)(e);this.sink.error(r,e)};
3055
3093
 
3056
- },{"../fatalError":740}],753:[function(require,module,exports){
3094
+ },{"../fatalError":753}],766:[function(require,module,exports){
3057
3095
  "use strict";function ScheduledTask(e,t,s,i){this.time=e,this.period=t,this.task=s,this.scheduler=i,this.active=!0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ScheduledTask,ScheduledTask.prototype.run=function(){return this.task.run(this.time)},ScheduledTask.prototype.error=function(e){return this.task.error(this.time,e)},ScheduledTask.prototype.dispose=function(){return this.scheduler.cancel(this),this.task.dispose()};
3058
3096
 
3059
- },{}],754:[function(require,module,exports){
3097
+ },{}],767:[function(require,module,exports){
3060
3098
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Scheduler;var _ScheduledTask=require("./ScheduledTask"),_ScheduledTask2=_interopRequireDefault(_ScheduledTask),_task=require("../task");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function Scheduler(e,t){this.timer=e,this.timeline=t,this._timer=null,this._nextArrival=1/0;var i=this;this._runReadyTasksBound=function(){i._runReadyTasks(i.now())}}Scheduler.prototype.now=function(){return this.timer.now()},Scheduler.prototype.asap=function(e){return this.schedule(0,-1,e)},Scheduler.prototype.delay=function(e,t){return this.schedule(e,-1,t)},Scheduler.prototype.periodic=function(e,t){return this.schedule(0,e,t)},Scheduler.prototype.schedule=function(e,t,i){var r=this.now(),u=new _ScheduledTask2.default(r+Math.max(0,e),t,i,this);return this.timeline.add(u),this._scheduleNextRun(r),u},Scheduler.prototype.cancel=function(e){e.active=!1,this.timeline.remove(e)&&this._reschedule()},Scheduler.prototype.cancelAll=function(e){this.timeline.removeAll(e),this._reschedule()},Scheduler.prototype._reschedule=function(){this.timeline.isEmpty()?this._unschedule():this._scheduleNextRun(this.now())},Scheduler.prototype._unschedule=function(){this.timer.clearTimer(this._timer),this._timer=null},Scheduler.prototype._scheduleNextRun=function(e){if(!this.timeline.isEmpty()){var t=this.timeline.nextArrival();null===this._timer?this._scheduleNextArrival(t,e):t<this._nextArrival&&(this._unschedule(),this._scheduleNextArrival(t,e))}},Scheduler.prototype._scheduleNextArrival=function(e,t){this._nextArrival=e;var i=Math.max(0,e-t);this._timer=this.timer.setTimer(this._runReadyTasksBound,i)},Scheduler.prototype._runReadyTasks=function(e){this._timer=null,this.timeline.runTasks(e,_task.runTask),this._scheduleNextRun(this.now())};
3061
3099
 
3062
- },{"../task":773,"./ScheduledTask":753}],755:[function(require,module,exports){
3100
+ },{"../task":786,"./ScheduledTask":766}],768:[function(require,module,exports){
3063
3101
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Timeline;var _prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function Timeline(){this.tasks=[]}function runTasks(e,t,i){for(var r=t.events,s=0;s<r.length;++s){var n=r[s];n.active&&(e(n),n.period>=0&&n.active&&(n.time=n.time+n.period,insertByTime(n,i)))}return i}function insertByTime(e,t){var i=t.length;if(0!==i){var r=binarySearch(e.time,t);r>=i?t.push(newTimeslot(e.time,[e])):e.time===t[r].time?t[r].events.push(e):t.splice(r,0,newTimeslot(e.time,[e]))}else t.push(newTimeslot(e.time,[e]))}function removeAllFrom(e,t){t.events=base.removeAll(e,t.events)}function binarySearch(e,t){for(var i,r,s=0,n=t.length;s<n;){if(e===(r=t[i=Math.floor((s+n)/2)]).time)return i;e<r.time?n=i:s=i+1}return n}function newTimeslot(e,t){return{time:e,events:t}}Timeline.prototype.nextArrival=function(){return this.isEmpty()?1/0:this.tasks[0].time},Timeline.prototype.isEmpty=function(){return 0===this.tasks.length},Timeline.prototype.add=function(e){insertByTime(e,this.tasks)},Timeline.prototype.remove=function(e){var t=binarySearch(e.time,this.tasks);if(t>=0&&t<this.tasks.length){var i=base.findIndex(e,this.tasks[t].events);if(i>=0)return this.tasks[t].events.splice(i,1),!0}return!1},Timeline.prototype.removeAll=function(e){for(var t=0,i=this.tasks.length;t<i;++t)removeAllFrom(e,this.tasks[t])},Timeline.prototype.runTasks=function(e,t){for(var i=this.tasks,r=i.length,s=0;s<r&&i[s].time<=e;)++s;this.tasks=i.slice(s);for(var n=0;n<s;++n)this.tasks=runTasks(t,i[n],this.tasks)};
3064
3102
 
3065
- },{"@most/prelude":775}],756:[function(require,module,exports){
3103
+ },{"@most/prelude":788}],769:[function(require,module,exports){
3066
3104
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _Scheduler=require("./Scheduler"),_Scheduler2=_interopRequireDefault(_Scheduler),_ClockTimer=require("./ClockTimer"),_ClockTimer2=_interopRequireDefault(_ClockTimer),_Timeline=require("./Timeline"),_Timeline2=_interopRequireDefault(_Timeline);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var defaultScheduler=new _Scheduler2.default(new _ClockTimer2.default,new _Timeline2.default);exports.default=defaultScheduler;
3067
3105
 
3068
- },{"./ClockTimer":751,"./Scheduler":754,"./Timeline":755}],757:[function(require,module,exports){
3106
+ },{"./ClockTimer":764,"./Scheduler":767,"./Timeline":768}],770:[function(require,module,exports){
3069
3107
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DeferredSink;var _task=require("../task");function DeferredSink(t){this.sink=t,this.events=[],this.active=!0}function PropagateAllTask(t,e,i){this.sink=t,this.events=i,this.time=e}function EndTask(t,e,i){this.time=t,this.value=e,this.sink=i}function ErrorTask(t,e,i){this.time=t,this.value=e,this.sink=i}DeferredSink.prototype.event=function(t,e){this.active&&(0===this.events.length&&(0,_task.defer)(new PropagateAllTask(this.sink,t,this.events)),this.events.push({time:t,value:e}))},DeferredSink.prototype.end=function(t,e){this.active&&this._end(new EndTask(t,e,this.sink))},DeferredSink.prototype.error=function(t,e){this._end(new ErrorTask(t,e,this.sink))},DeferredSink.prototype._end=function(t){this.active=!1,(0,_task.defer)(t)},PropagateAllTask.prototype.run=function(){for(var t,e=this.events,i=this.sink,s=0,r=e.length;s<r;++s)t=e[s],this.time=t.time,i.event(t.time,t.value);e.length=0},PropagateAllTask.prototype.error=function(t){this.sink.error(this.time,t)},EndTask.prototype.run=function(){this.sink.end(this.time,this.value)},EndTask.prototype.error=function(t){this.sink.error(this.time,t)},ErrorTask.prototype.run=function(){this.sink.error(this.time,this.value)},ErrorTask.prototype.error=function(t){throw t};
3070
3108
 
3071
- },{"../task":773}],758:[function(require,module,exports){
3109
+ },{"../task":786}],771:[function(require,module,exports){
3072
3110
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=IndexSink;var _Pipe=require("./Pipe"),_Pipe2=_interopRequireDefault(_Pipe);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function IndexSink(e,i){this.sink=i,this.index=e,this.active=!0,this.value=void 0}IndexSink.prototype.event=function(e,i){this.active&&(this.value=i,this.sink.event(e,this))},IndexSink.prototype.end=function(e,i){this.active&&(this.active=!1,this.sink.end(e,{index:this.index,value:i}))},IndexSink.prototype.error=_Pipe2.default.prototype.error;
3073
3111
 
3074
- },{"./Pipe":759}],759:[function(require,module,exports){
3112
+ },{"./Pipe":772}],772:[function(require,module,exports){
3075
3113
  "use strict";function Pipe(e){this.sink=e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Pipe,Pipe.prototype.event=function(e,t){return this.sink.event(e,t)},Pipe.prototype.end=function(e,t){return this.sink.end(e,t)},Pipe.prototype.error=function(e,t){return this.sink.error(e,t)};
3076
3114
 
3077
- },{}],760:[function(require,module,exports){
3115
+ },{}],773:[function(require,module,exports){
3078
3116
  "use strict";function SafeSink(t){this.sink=t,this.active=!0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SafeSink,SafeSink.prototype.event=function(t,e){this.active&&this.sink.event(t,e)},SafeSink.prototype.end=function(t,e){this.active&&(this.disable(),this.sink.end(t,e))},SafeSink.prototype.error=function(t,e){this.disable(),this.sink.error(t,e)},SafeSink.prototype.disable=function(){return this.active=!1,this.sink};
3079
3117
 
3080
- },{}],761:[function(require,module,exports){
3118
+ },{}],774:[function(require,module,exports){
3081
3119
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=EventEmitterSource;var _DeferredSink=require("../sink/DeferredSink"),_DeferredSink2=_interopRequireDefault(_DeferredSink),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_tryEvent=require("./tryEvent"),tryEvent=_interopRequireWildcard(_tryEvent);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function EventEmitterSource(e,r){this.event=e,this.source=r}function disposeEventEmitter(e){var r=e.target;r.source.removeListener(r.event,e.addEvent)}EventEmitterSource.prototype.run=function(e,r){var t=new _DeferredSink2.default(e);function n(e){var n=arguments,i=arguments.length;if(i>1){for(var o=new Array(i),u=0;u<i;++u)o[u]=n[u];tryEvent.tryEvent(r.now(),o,t)}else tryEvent.tryEvent(r.now(),e,t)}return this.source.addListener(this.event,n),dispose.create(disposeEventEmitter,{target:this,addEvent:n})};
3082
3120
 
3083
- },{"../disposable/dispose":739,"../sink/DeferredSink":757,"./tryEvent":771}],762:[function(require,module,exports){
3121
+ },{"../disposable/dispose":752,"../sink/DeferredSink":770,"./tryEvent":784}],775:[function(require,module,exports){
3084
3122
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=EventTargetSource;var _dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_tryEvent=require("./tryEvent"),tryEvent=_interopRequireWildcard(_tryEvent);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function EventTargetSource(e,t,r){this.event=e,this.source=t,this.capture=r}function disposeEventTarget(e){var t=e.target;t.source.removeEventListener(t.event,e.addEvent,t.capture)}EventTargetSource.prototype.run=function(e,t){function r(r){tryEvent.tryEvent(t.now(),r,e)}return this.source.addEventListener(this.event,r,this.capture),dispose.create(disposeEventTarget,{target:this,addEvent:r})};
3085
3123
 
3086
- },{"../disposable/dispose":739,"./tryEvent":771}],763:[function(require,module,exports){
3124
+ },{"../disposable/dispose":752,"./tryEvent":784}],776:[function(require,module,exports){
3087
3125
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.of=of,exports.empty=empty,exports.never=never;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_dispose=require("../disposable/dispose"),dispose=_interopRequireWildcard(_dispose),_PropagateTask=require("../scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function of(e){return new _Stream2.default(new Just(e))}function Just(e){this.value=e}function runJust(e,r,t){t.event(e,r),t.end(e,void 0)}function empty(){return EMPTY}function EmptySource(){}function disposeEmpty(e){return e.dispose()}Just.prototype.run=function(e,r){return r.asap(new _PropagateTask2.default(runJust,this.value,e))},EmptySource.prototype.run=function(e,r){var t=_PropagateTask2.default.end(void 0,e);return r.asap(t),dispose.create(disposeEmpty,t)};var EMPTY=new _Stream2.default(new EmptySource);function never(){return NEVER}function NeverSource(){}NeverSource.prototype.run=function(){return dispose.empty()};var NEVER=new _Stream2.default(new NeverSource);
3088
3126
 
3089
- },{"../Stream":711,"../disposable/dispose":739,"../scheduler/PropagateTask":752}],764:[function(require,module,exports){
3127
+ },{"../Stream":724,"../disposable/dispose":752,"../scheduler/PropagateTask":765}],777:[function(require,module,exports){
3090
3128
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.from=from;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_fromArray=require("./fromArray"),_iterable=require("../iterable"),_fromIterable=require("./fromIterable"),_getObservable=require("../observable/getObservable"),_getObservable2=_interopRequireDefault(_getObservable),_fromObservable=require("../observable/fromObservable"),_prelude=require("@most/prelude");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function from(e){if(e instanceof _Stream2.default)return e;var r=(0,_getObservable2.default)(e);if(null!=r)return(0,_fromObservable.fromObservable)(r);if(Array.isArray(e)||(0,_prelude.isArrayLike)(e))return(0,_fromArray.fromArray)(e);if((0,_iterable.isIterable)(e))return(0,_fromIterable.fromIterable)(e);throw new TypeError("from(x) must be observable, iterable, or array-like: "+e)}
3091
3129
 
3092
- },{"../Stream":711,"../iterable":746,"../observable/fromObservable":747,"../observable/getObservable":748,"./fromArray":765,"./fromIterable":767,"@most/prelude":775}],765:[function(require,module,exports){
3130
+ },{"../Stream":724,"../iterable":759,"../observable/fromObservable":760,"../observable/getObservable":761,"./fromArray":778,"./fromIterable":780,"@most/prelude":788}],778:[function(require,module,exports){
3093
3131
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromArray=fromArray;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_PropagateTask=require("../scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function fromArray(r){return new _Stream2.default(new ArraySource(r))}function ArraySource(r){this.array=r}function runProducer(r,e,a){for(var t=0,u=e.length;t<u&&this.active;++t)a.event(r,e[t]);this.active&&a.end(r)}ArraySource.prototype.run=function(r,e){return e.asap(new _PropagateTask2.default(runProducer,this.array,r))};
3094
3132
 
3095
- },{"../Stream":711,"../scheduler/PropagateTask":752}],766:[function(require,module,exports){
3133
+ },{"../Stream":724,"../scheduler/PropagateTask":765}],779:[function(require,module,exports){
3096
3134
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromEvent=fromEvent;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_EventTargetSource=require("./EventTargetSource"),_EventTargetSource2=_interopRequireDefault(_EventTargetSource),_EventEmitterSource=require("./EventEmitterSource"),_EventEmitterSource2=_interopRequireDefault(_EventEmitterSource);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function fromEvent(e,t,r){var n;if("function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener)arguments.length<3&&(r=!1),n=new _EventTargetSource2.default(e,t,r);else{if("function"!=typeof t.addListener||"function"!=typeof t.removeListener)throw new Error("source must support addEventListener/removeEventListener or addListener/removeListener");n=new _EventEmitterSource2.default(e,t)}return new _Stream2.default(n)}
3097
3135
 
3098
- },{"../Stream":711,"./EventEmitterSource":761,"./EventTargetSource":762}],767:[function(require,module,exports){
3136
+ },{"../Stream":724,"./EventEmitterSource":774,"./EventTargetSource":775}],780:[function(require,module,exports){
3099
3137
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromIterable=fromIterable;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_iterable=require("../iterable"),_PropagateTask=require("../scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function fromIterable(e){return new _Stream2.default(new IterableSource(e))}function IterableSource(e){this.iterable=e}function runProducer(e,r,t){for(var a=r.next();!a.done&&this.active;)t.event(e,a.value),a=r.next();t.end(e,a.value)}IterableSource.prototype.run=function(e,r){return r.asap(new _PropagateTask2.default(runProducer,(0,_iterable.getIterator)(this.iterable),e))};
3100
3138
 
3101
- },{"../Stream":711,"../iterable":746,"../scheduler/PropagateTask":752}],768:[function(require,module,exports){
3139
+ },{"../Stream":724,"../iterable":759,"../scheduler/PropagateTask":765}],781:[function(require,module,exports){
3102
3140
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generate=generate;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_prelude=require("@most/prelude"),base=_interopRequireWildcard(_prelude);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function generate(e){return new _Stream2.default(new GenerateSource(e,base.tail(arguments)))}function GenerateSource(e,r){this.f=e,this.args=r}function Generate(e,r,t){this.iterator=e,this.sink=r,this.scheduler=t,this.active=!0;var n=this;Promise.resolve(this).then(next).catch(function(e){n.sink.error(n.scheduler.now(),e)})}function next(e,r){return e.active?handle(e,e.iterator.next(r)):r}function handle(e,r){return r.done?e.sink.end(e.scheduler.now(),r.value):Promise.resolve(r.value).then(function(r){return emit(e,r)},function(r){return error(e,r)})}function emit(e,r){return e.sink.event(e.scheduler.now(),r),next(e,r)}function error(e,r){return handle(e,e.iterator.throw(r))}GenerateSource.prototype.run=function(e,r){return new Generate(this.f.apply(void 0,this.args),e,r)},Generate.prototype.dispose=function(){this.active=!1};
3103
3141
 
3104
- },{"../Stream":711,"@most/prelude":775}],769:[function(require,module,exports){
3142
+ },{"../Stream":724,"@most/prelude":788}],782:[function(require,module,exports){
3105
3143
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.iterate=iterate;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function iterate(e,t){return new _Stream2.default(new IterateSource(e,t))}function IterateSource(e,t){this.f=e,this.value=t}function Iterate(e,t,r,n){this.f=e,this.sink=r,this.scheduler=n,this.active=!0;var i=t,u=this;Promise.resolve(this).then(function(e){return stepIterate(e,i)}).catch(function(e){u.sink.error(u.scheduler.now(),e)})}function stepIterate(e,t){if(e.sink.event(e.scheduler.now(),t),!e.active)return t;var r=e.f;return Promise.resolve(r(t)).then(function(t){return continueIterate(e,t)})}function continueIterate(e,t){return e.active?stepIterate(e,t):e.value}IterateSource.prototype.run=function(e,t){return new Iterate(this.f,this.value,e,t)},Iterate.prototype.dispose=function(){this.active=!1};
3106
3144
 
3107
- },{"../Stream":711}],770:[function(require,module,exports){
3145
+ },{"../Stream":724}],783:[function(require,module,exports){
3108
3146
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.periodic=periodic;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream),_PropagateTask=require("../scheduler/PropagateTask"),_PropagateTask2=_interopRequireDefault(_PropagateTask);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function periodic(e,r){return new _Stream2.default(new Periodic(e,r))}function Periodic(e,r){this.period=e,this.value=r}Periodic.prototype.run=function(e,r){return r.periodic(this.period,_PropagateTask2.default.event(this.value,e))};
3109
3147
 
3110
- },{"../Stream":711,"../scheduler/PropagateTask":752}],771:[function(require,module,exports){
3148
+ },{"../Stream":724,"../scheduler/PropagateTask":765}],784:[function(require,module,exports){
3111
3149
  "use strict";function tryEvent(t,r,e){try{e.event(t,r)}catch(r){e.error(t,r)}}function tryEnd(t,r,e){try{e.end(t,r)}catch(r){e.error(t,r)}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.tryEvent=tryEvent,exports.tryEnd=tryEnd;
3112
3150
 
3113
- },{}],772:[function(require,module,exports){
3151
+ },{}],785:[function(require,module,exports){
3114
3152
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.unfold=unfold;var _Stream=require("../Stream"),_Stream2=_interopRequireDefault(_Stream);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function unfold(e,n){return new _Stream2.default(new UnfoldSource(e,n))}function UnfoldSource(e,n){this.f=e,this.value=n}function Unfold(e,n,t,o){this.f=e,this.sink=t,this.scheduler=o,this.active=!0;var r=this;Promise.resolve(this).then(function(e){return stepUnfold(e,n)}).catch(function(e){r.sink.error(r.scheduler.now(),e)})}function stepUnfold(e,n){var t=e.f;return Promise.resolve(t(n)).then(function(n){return continueUnfold(e,n)})}function continueUnfold(e,n){return n.done?(e.sink.end(e.scheduler.now(),n.value),n.value):(e.sink.event(e.scheduler.now(),n.value),e.active?stepUnfold(e,n.seed):n.value)}UnfoldSource.prototype.run=function(e,n){return new Unfold(this.f,this.value,e,n)},Unfold.prototype.dispose=function(){this.active=!1};
3115
3153
 
3116
- },{"../Stream":711}],773:[function(require,module,exports){
3154
+ },{"../Stream":724}],786:[function(require,module,exports){
3117
3155
  "use strict";function defer(r){return Promise.resolve(r).then(runTask)}function runTask(r){try{return r.run()}catch(e){return r.error(e)}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.defer=defer,exports.runTask=runTask;
3118
3156
 
3119
- },{}],774:[function(require,module,exports){
3157
+ },{}],787:[function(require,module,exports){
3120
3158
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@most/prelude")):"function"==typeof define&&define.amd?define(["exports","@most/prelude"],e):e(t.mostMulticast=t.mostMulticast||{},t.mostPrelude)}(this,function(t,e){"use strict";var s=function(t,e){this.source=t,this.sink=e,this.disposed=!1};function i(t,e,s){try{s.event(t,e)}catch(e){s.error(t,e)}}function n(t,e,s){try{s.end(t,e)}catch(e){s.error(t,e)}}s.prototype.dispose=function(){if(!this.disposed)return this.disposed=!0,0===this.source.remove(this.sink)&&this.source._dispose()};var o=function(t){return t.dispose()},r={dispose:function(){}},u=function(t){this.source=t,this.sinks=[],this._disposable=r};u.prototype.run=function(t,e){return 1===this.add(t)&&(this._disposable=this.source.run(this,e)),new s(this,t)},u.prototype._dispose=function(){var t=this._disposable;return this._disposable=r,Promise.resolve(t).then(o)},u.prototype.add=function(t){return this.sinks=e.append(t,this.sinks),this.sinks.length},u.prototype.remove=function(t){var s=e.findIndex(t,this.sinks);return s>=0&&(this.sinks=e.remove(s,this.sinks)),this.sinks.length},u.prototype.event=function(t,e){var s=this.sinks;if(1===s.length)return s[0].event(t,e);for(var n=0;n<s.length;++n)i(t,e,s[n])},u.prototype.end=function(t,e){for(var s=this.sinks,i=0;i<s.length;++i)n(t,e,s[i])},u.prototype.error=function(t,e){for(var s=this.sinks,i=0;i<s.length;++i)s[i].error(t,e)},t.default=function(t){var e=t.source;return e instanceof u?t:new t.constructor(new u(e))},t.MulticastSource=u,Object.defineProperty(t,"__esModule",{value:!0})});
3121
3159
 
3122
- },{"@most/prelude":775}],775:[function(require,module,exports){
3160
+ },{"@most/prelude":788}],788:[function(require,module,exports){
3123
3161
  !function(r,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((r=r||self).mostPrelude={})}(this,function(r){"use strict";function n(r,n){if(r<0)throw new TypeError("n must be >= 0");var e=n.length;return 0===r||0===e?n:r>=e?[]:function(r,n,e){for(var t=new Array(e),u=0;u<e;++u)t[u]=n[r+u];return t}(r,n,e-r)}function e(r){return function n(e,t){switch(arguments.length){case 0:return n;case 1:return function(n){return r(e,n)};default:return r(e,t)}}}function t(r){return function n(t,u,o){switch(arguments.length){case 0:return n;case 1:return e(function(n,e){return r(t,n,e)});case 2:return function(n){return r(t,u,n)};default:return r(t,u,o)}}}r.append=function(r,n){for(var e=n.length,t=new Array(e+1),u=0;u<e;++u)t[u]=n[u];return t[e]=r,t},r.apply=function(r,n){return r(n)},r.compose=function(r,n){return function(e){return r(n(e))}},r.concat=function(r,n){var e=r.length,t=n.length,u=new Array(e+t),o=0;for(o=0;o<e;o++)u[o]=r[o];for(var f=0;f<t;f++)u[o++]=n[f];return u},r.cons=function(r,n){var e=n.length,t=new Array(e+1);t[0]=r;for(var u=0;u<e;++u)t[u+1]=n[u];return t},r.copy=function(r){for(var n=r.length,e=new Array(n),t=0;t<n;++t)e[t]=r[t];return e},r.curry2=e,r.curry3=t,r.curry4=function(r){return function n(u,o,f,c){switch(arguments.length){case 0:return n;case 1:return t(function(n,e,t){return r(u,n,e,t)});case 2:return e(function(n,e){return r(u,o,n,e)});case 3:return function(n){return r(u,o,f,n)};default:return r(u,o,f,c)}}},r.drop=n,r.findIndex=function(r,n){for(var e=0,t=n.length;e<t;++e)if(r===n[e])return e;return-1},r.id=function(r){return r},r.isArrayLike=function(r){return null!=r&&"number"==typeof r.length&&"function"!=typeof r},r.map=function(r,n){for(var e=n.length,t=new Array(e),u=0;u<e;++u)t[u]=r(n[u]);return t},r.reduce=function(r,n,e){for(var t=n,u=0,o=e.length;u<o;++u)t=r(t,e[u],u);return t},r.remove=function(r,n){if(r<0)throw new TypeError("i must be >= 0");var e=n.length;return 0===e||r>=e?n:1===e?[]:function(r,n,e){var t,u=new Array(e);for(t=0;t<r;++t)u[t]=n[t];for(t=r;t<e;++t)u[t]=n[t+1];return u}(r,n,e-1)},r.removeAll=function(r,n){for(var e=n.length,t=new Array(e),u=0,o=void 0,f=0;f<e;++f)r(o=n[f])||(t[u]=o,++u);return t.length=u,t},r.replace=function(r,n,e){if(n<0)throw new TypeError("i must be >= 0");for(var t=e.length,u=new Array(t),o=0;o<t;++o)u[o]=n===o?r:e[o];return u},r.tail=function(r){return n(1,r)},Object.defineProperty(r,"__esModule",{value:!0})});
3124
3162
 
3125
- },{}],776:[function(require,module,exports){
3163
+ },{}],789:[function(require,module,exports){
3126
3164
  (function (global){(function (){
3127
3165
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var root,_ponyfill=require("./ponyfill.js"),_ponyfill2=_interopRequireDefault(_ponyfill);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}root="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof module?module:Function("return this")();var result=(0,_ponyfill2.default)(root);exports.default=result;
3128
3166
 
3129
3167
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
3130
- },{"./ponyfill.js":777}],777:[function(require,module,exports){
3168
+ },{"./ponyfill.js":790}],790:[function(require,module,exports){
3131
3169
  "use strict";function symbolObservablePonyfill(e){var b,l=e.Symbol;return"function"==typeof l?l.observable?b=l.observable:(b=l("observable"),l.observable=b):b="@@observable",b}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=symbolObservablePonyfill;
3132
3170
 
3133
- },{}],778:[function(require,module,exports){
3171
+ },{}],791:[function(require,module,exports){
3134
3172
  "use strict";var trailingNewlineRegex=/\n[\s]+$/,leadingNewlineRegex=/^\n[\s]+/,trailingSpaceRegex=/[\s]+$/,leadingSpaceRegex=/^[\s]+/,multiSpaceRegex=/[\n\s]+/g,TEXT_TAGS=["a","abbr","b","bdi","bdo","br","cite","data","dfn","em","i","kbd","mark","q","rp","rt","rtc","ruby","s","amp","small","span","strong","sub","sup","time","u","var","wbr"],VERBATIM_TAGS=["code","pre","textarea"];module.exports=function e(a,l){if(Array.isArray(l))for(var n,i,r=a.nodeName.toLowerCase(),d=!1,t=0,g=l.length;t<g;t++){var p=l[t];if(Array.isArray(p))e(a,p);else{("number"==typeof p||"boolean"==typeof p||"function"==typeof p||p instanceof Date||p instanceof RegExp)&&(p=p.toString());var o=a.childNodes[a.childNodes.length-1];if("string"==typeof p)d=!0,o&&"#text"===o.nodeName?o.nodeValue+=p:(p=a.ownerDocument.createTextNode(p),a.appendChild(p),o=p),t===g-1&&(d=!1,-1===TEXT_TAGS.indexOf(r)&&-1===VERBATIM_TAGS.indexOf(r)?""===(n=o.nodeValue.replace(leadingNewlineRegex,"").replace(trailingSpaceRegex,"").replace(trailingNewlineRegex,"").replace(multiSpaceRegex," "))?a.removeChild(o):o.nodeValue=n:-1===VERBATIM_TAGS.indexOf(r)&&(i=0===t?"":" ",n=o.nodeValue.replace(leadingNewlineRegex,i).replace(leadingSpaceRegex," ").replace(trailingSpaceRegex,"").replace(trailingNewlineRegex,"").replace(multiSpaceRegex," "),o.nodeValue=n));else if(p&&p.nodeType){d&&(d=!1,-1===TEXT_TAGS.indexOf(r)&&-1===VERBATIM_TAGS.indexOf(r)?""===(n=o.nodeValue.replace(leadingNewlineRegex,"").replace(trailingNewlineRegex," ").replace(multiSpaceRegex," "))?a.removeChild(o):o.nodeValue=n:-1===VERBATIM_TAGS.indexOf(r)&&(n=o.nodeValue.replace(leadingSpaceRegex," ").replace(leadingNewlineRegex,"").replace(trailingNewlineRegex," ").replace(multiSpaceRegex," "),o.nodeValue=n));var c=p.nodeName;c&&(r=c.toLowerCase()),a.appendChild(p)}}}};
3135
3173
 
3136
- },{}],779:[function(require,module,exports){
3174
+ },{}],792:[function(require,module,exports){
3137
3175
  "use strict";module.exports=["async","autofocus","autoplay","checked","controls","default","defaultchecked","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","novalidate","open","playsinline","readonly","required","reversed","selected"];
3138
3176
 
3139
- },{}],780:[function(require,module,exports){
3177
+ },{}],793:[function(require,module,exports){
3140
3178
  module.exports=require("./dom")(document);
3141
3179
 
3142
- },{"./dom":782}],781:[function(require,module,exports){
3180
+ },{"./dom":795}],794:[function(require,module,exports){
3143
3181
  "use strict";module.exports=["indeterminate"];
3144
3182
 
3145
- },{}],782:[function(require,module,exports){
3183
+ },{}],795:[function(require,module,exports){
3146
3184
  "use strict";var hyperx=require("hyperx"),appendChild=require("./append-child"),SVG_TAGS=require("./svg-tags"),BOOL_PROPS=require("./bool-props"),DIRECT_PROPS=require("./direct-props"),SVGNS="http://www.w3.org/2000/svg",XLINKNS="http://www.w3.org/1999/xlink",COMMENT_TAG="!--";module.exports=function(e){function r(r,t,n){var a;-1!==SVG_TAGS.indexOf(r)&&(t.namespace=SVGNS);var i=!1;t.namespace&&(i=t.namespace,delete t.namespace);var s=!1;if(t.is&&(s=t.is,delete t.is),i)a=s?e.createElementNS(i,r,{is:s}):e.createElementNS(i,r);else{if(r===COMMENT_TAG)return e.createComment(t.comment);a=s?e.createElement(r,{is:s}):e.createElement(r)}for(var l in t)if(t.hasOwnProperty(l)){var c=l.toLowerCase(),o=t[l];if("classname"===c&&(c="class",l="class"),"htmlFor"===l&&(l="for"),-1!==BOOL_PROPS.indexOf(c))if("true"===String(o))o=c;else if("false"===String(o))continue;"on"===c.slice(0,2)||-1!==DIRECT_PROPS.indexOf(c)?a[l]=o:i?"xlink:href"===l?a.setAttributeNS(XLINKNS,l,o):/^xmlns($|:)/i.test(l)||a.setAttributeNS(null,l,o):a.setAttribute(l,o)}return appendChild(a,n),a}var t=hyperx(r,{comments:!0,createFragment:function r(t){for(var n=e.createDocumentFragment(),a=0;a<t.length;a++)null!=t[a]&&(Array.isArray(t[a])?n.appendChild(r(t[a])):("string"==typeof t[a]&&(t[a]=e.createTextNode(t[a])),n.appendChild(t[a])));return n}});return t.default=t,t.createComment=r,t};
3147
3185
 
3148
- },{"./append-child":778,"./bool-props":779,"./direct-props":781,"./svg-tags":783,"hyperx":785}],783:[function(require,module,exports){
3186
+ },{"./append-child":791,"./bool-props":792,"./direct-props":794,"./svg-tags":796,"hyperx":798}],796:[function(require,module,exports){
3149
3187
  "use strict";module.exports=["svg","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"];
3150
3188
 
3151
- },{}],784:[function(require,module,exports){
3189
+ },{}],797:[function(require,module,exports){
3152
3190
  module.exports=attributeToProperty;var transform={class:"className",for:"htmlFor","http-equiv":"httpEquiv"};function attributeToProperty(r){return function(t,o,e){for(var n in o)n in transform&&(o[transform[n]]=o[n],delete o[n]);return r(t,o,e)}}
3153
3191
 
3154
- },{}],785:[function(require,module,exports){
3192
+ },{}],798:[function(require,module,exports){
3155
3193
  var attrToProp=require("hyperscript-attribute-to-property"),VAR=0,TEXT=1,OPEN=2,CLOSE=3,ATTR=4,ATTR_KEY=5,ATTR_KEY_W=6,ATTR_VALUE_W=7,ATTR_VALUE=8,ATTR_VALUE_SQ=9,ATTR_VALUE_DQ=10,ATTR_EQ=11,ATTR_BREAK=12,COMMENT=13;function quot(T){return T===ATTR_VALUE_SQ||T===ATTR_VALUE_DQ}module.exports=function(T,e){e||(e={});var A=e.concat||function(T,e){return String(T)+String(e)};return!1!==e.attrToProp&&(T=attrToProp(T)),function(E){for(var n=TEXT,r="",R=arguments.length,s=[],_=0;_<E.length;_++)if(_<R-1){var o=arguments[_+1],l=U(E[_]),h=n;h===ATTR_VALUE_DQ&&(h=ATTR_VALUE),h===ATTR_VALUE_SQ&&(h=ATTR_VALUE),h===ATTR_VALUE_W&&(h=ATTR_VALUE),h===ATTR&&(h=ATTR_KEY),h===OPEN?"/"===r?(l.push([OPEN,"/",o]),r=""):l.push([OPEN,o]):h===COMMENT&&e.comments?r+=String(o):h!==COMMENT&&l.push([VAR,h,o]),s.push.apply(s,l)}else s.push.apply(s,U(E[_]));var i=[null,{},[]],f=[[i,-1]];for(_=0;_<s.length;_++){var p=f[f.length-1][0],u=(l=s[_])[0];if(u===OPEN&&/^\//.test(l[1])){var a=f[f.length-1][1];f.length>1&&(f.pop(),f[f.length-1][0][2][a]=T(p[0],p[1],p[2].length?p[2]:void 0))}else if(u===OPEN){var g=[l[1],{},[]];p[2].push(g),f.push([g,p[2].length-1])}else if(u===ATTR_KEY||u===VAR&&l[1]===ATTR_KEY){for(var L,V="";_<s.length;_++)if(s[_][0]===ATTR_KEY)V=A(V,s[_][1]);else{if(s[_][0]!==VAR||s[_][1]!==ATTR_KEY)break;if("object"!=typeof s[_][2]||V)V=A(V,s[_][2]);else for(L in s[_][2])s[_][2].hasOwnProperty(L)&&!p[1][L]&&(p[1][L]=s[_][2][L])}s[_][0]===ATTR_EQ&&_++;for(var c=_;_<s.length;_++)if(s[_][0]===ATTR_VALUE||s[_][0]===ATTR_KEY)p[1][V]?""===s[_][1]||(p[1][V]=A(p[1][V],s[_][1])):p[1][V]=t(s[_][1]);else{if(s[_][0]!==VAR||s[_][1]!==ATTR_VALUE&&s[_][1]!==ATTR_KEY){!V.length||p[1][V]||_!==c||s[_][0]!==CLOSE&&s[_][0]!==ATTR_BREAK||(p[1][V]=V.toLowerCase()),s[_][0]===CLOSE&&_--;break}p[1][V]?""===s[_][2]||(p[1][V]=A(p[1][V],s[_][2])):p[1][V]=t(s[_][2])}}else if(u===ATTR_KEY)p[1][l[1]]=!0;else if(u===VAR&&l[1]===ATTR_KEY)p[1][l[2]]=!0;else if(u===CLOSE){if(selfClosing(p[0])&&f.length){a=f[f.length-1][1];f.pop(),f[f.length-1][0][2][a]=T(p[0],p[1],p[2].length?p[2]:void 0)}}else if(u===VAR&&l[1]===TEXT)void 0===l[2]||null===l[2]?l[2]="":l[2]||(l[2]=A("",l[2])),Array.isArray(l[2][0])?p[2].push.apply(p[2],l[2]):p[2].push(l[2]);else if(u===TEXT)p[2].push(l[1]);else if(u!==ATTR_EQ&&u!==ATTR_BREAK)throw new Error("unhandled: "+u)}if(i[2].length>1&&/^\s*$/.test(i[2][0])&&i[2].shift(),i[2].length>2||2===i[2].length&&/\S/.test(i[2][1])){if(e.createFragment)return e.createFragment(i[2]);throw new Error("multiple root elements must be wrapped in an enclosing tag")}return Array.isArray(i[2][0])&&"string"==typeof i[2][0][0]&&Array.isArray(i[2][0][2])&&(i[2][0]=T(i[2][0][0],i[2][0][1],i[2][0][2])),i[2][0];function U(T){var A=[];n===ATTR_VALUE_W&&(n=ATTR);for(var t=0;t<T.length;t++){var E=T.charAt(t);n===TEXT&&"<"===E?(r.length&&A.push([TEXT,r]),r="",n=OPEN):">"!==E||quot(n)||n===COMMENT?n===COMMENT&&/-$/.test(r)&&"-"===E?(e.comments&&A.push([ATTR_VALUE,r.substr(0,r.length-1)]),r="",n=TEXT):n===OPEN&&/^!--$/.test(r)?(e.comments&&A.push([OPEN,r],[ATTR_KEY,"comment"],[ATTR_EQ]),r=E,n=COMMENT):n===TEXT||n===COMMENT?r+=E:n===OPEN&&"/"===E&&r.length||(n===OPEN&&/\s/.test(E)?(r.length&&A.push([OPEN,r]),r="",n=ATTR):n===OPEN?r+=E:n===ATTR&&/[^\s"'=/]/.test(E)?(n=ATTR_KEY,r=E):n===ATTR&&/\s/.test(E)?(r.length&&A.push([ATTR_KEY,r]),A.push([ATTR_BREAK])):n===ATTR_KEY&&/\s/.test(E)?(A.push([ATTR_KEY,r]),r="",n=ATTR_KEY_W):n===ATTR_KEY&&"="===E?(A.push([ATTR_KEY,r],[ATTR_EQ]),r="",n=ATTR_VALUE_W):n===ATTR_KEY?r+=E:n!==ATTR_KEY_W&&n!==ATTR||"="!==E?n!==ATTR_KEY_W&&n!==ATTR||/\s/.test(E)?n===ATTR_VALUE_W&&'"'===E?n=ATTR_VALUE_DQ:n===ATTR_VALUE_W&&"'"===E?n=ATTR_VALUE_SQ:n===ATTR_VALUE_DQ&&'"'===E?(A.push([ATTR_VALUE,r],[ATTR_BREAK]),r="",n=ATTR):n===ATTR_VALUE_SQ&&"'"===E?(A.push([ATTR_VALUE,r],[ATTR_BREAK]),r="",n=ATTR):n!==ATTR_VALUE_W||/\s/.test(E)?n===ATTR_VALUE&&/\s/.test(E)?(A.push([ATTR_VALUE,r],[ATTR_BREAK]),r="",n=ATTR):n!==ATTR_VALUE&&n!==ATTR_VALUE_SQ&&n!==ATTR_VALUE_DQ||(r+=E):(n=ATTR_VALUE,t--):(A.push([ATTR_BREAK]),/[\w-]/.test(E)?(r+=E,n=ATTR_KEY):n=ATTR):(A.push([ATTR_EQ]),n=ATTR_VALUE_W)):(n===OPEN&&r.length?A.push([OPEN,r]):n===ATTR_KEY?A.push([ATTR_KEY,r]):n===ATTR_VALUE&&r.length&&A.push([ATTR_VALUE,r]),A.push([CLOSE]),r="",n=TEXT)}return n===TEXT&&r.length?(A.push([TEXT,r]),r=""):n===ATTR_VALUE&&r.length?(A.push([ATTR_VALUE,r]),r=""):n===ATTR_VALUE_DQ&&r.length?(A.push([ATTR_VALUE,r]),r=""):n===ATTR_VALUE_SQ&&r.length?(A.push([ATTR_VALUE,r]),r=""):n===ATTR_KEY&&(A.push([ATTR_KEY,r]),r=""),A}};function t(T){return"function"==typeof T?T:"string"==typeof T?T:T&&"object"==typeof T?T:null==T?T:A("",T)}};var closeRE=RegExp("^("+["area","base","basefont","bgsound","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr","!--","animate","animateTransform","circle","cursor","desc","ellipse","feBlend","feColorMatrix","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","font-face-format","font-face-name","font-face-uri","glyph","glyphRef","hkern","image","line","missing-glyph","mpath","path","polygon","polyline","rect","set","stop","tref","use","view","vkern"].join("|")+")(?:[.#][a-zA-Z0-9-￿_:-]+)*$");function selfClosing(T){return closeRE.test(T)}
3156
3194
 
3157
- },{"hyperscript-attribute-to-property":784}],786:[function(require,module,exports){
3195
+ },{"hyperscript-attribute-to-property":797}],799:[function(require,module,exports){
3158
3196
  var bundleFn=arguments[3],sources=arguments[4],cache=arguments[5],stringify=JSON.stringify;module.exports=function(r,e){for(var t,o=Object.keys(cache),n=0,a=o.length;n<a;n++){var i=o[n],s=cache[i].exports;if(s===r||s&&s.default===r){t=i;break}}if(!t){t=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var u={};for(n=0,a=o.length;n<a;n++){u[i=o[n]]=i}sources[t]=["function(require,module,exports){"+r+"(self); }",u]}var f=Math.floor(Math.pow(16,8)*Math.random()).toString(16),c={};c[t]=t,sources[f]=["function(require,module,exports){var f = require("+stringify(t)+");(f.default ? f.default : f)(self);}",c];var l={};!function r(e){l[e]=!0;for(var t in sources[e][1]){var o=sources[e][1][t];l[o]||r(o)}}(f);var d="("+bundleFn+")({"+Object.keys(l).map(function(r){return stringify(r)+":["+sources[r][0]+","+stringify(sources[r][1])+"]"}).join(",")+"},{},["+stringify(f)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,w=new Blob([d],{type:"text/javascript"});if(e&&e.bare)return w;var v=g.createObjectURL(w),h=new Worker(v);return h.objectURL=v,h};
3159
3197
 
3160
- },{}],787:[function(require,module,exports){
3198
+ },{}],800:[function(require,module,exports){
3161
3199
  module.exports={
3162
3200
  "name": "@jscad/web",
3163
- "version": "2.6.4",
3201
+ "version": "2.6.5",
3164
3202
  "description": "Web Application for JSCAD",
3165
3203
  "homepage": "https://openjscad.xyz/",
3166
3204
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -3196,11 +3234,11 @@ module.exports={
3196
3234
  "license": "MIT",
3197
3235
  "dependencies": {
3198
3236
  "@jscad/array-utils": "2.1.4",
3199
- "@jscad/core": "2.6.6",
3237
+ "@jscad/core": "2.6.7",
3200
3238
  "@jscad/examples": "2.4.2",
3201
- "@jscad/io": "2.4.5",
3202
- "@jscad/modeling": "2.11.1",
3203
- "@jscad/regl-renderer": "2.6.6",
3239
+ "@jscad/io": "2.4.6",
3240
+ "@jscad/modeling": "2.12.0",
3241
+ "@jscad/regl-renderer": "2.6.7",
3204
3242
  "@most/create": "2.0.1",
3205
3243
  "brace": "0.11.1",
3206
3244
  "codemirror": "5.65.2",
@@ -3230,118 +3268,118 @@ module.exports={
3230
3268
  "gitHead": "a90b9bad95a417661c619dc733e62c587dc71a4a"
3231
3269
  }
3232
3270
 
3233
- },{}],788:[function(require,module,exports){
3271
+ },{}],801:[function(require,module,exports){
3234
3272
  const path=require("path"),{head:head}=require("@jscad/array-utils"),{formats:formats,supportedFormatsForObjects:supportedFormatsForObjects}=require("@jscad/io/formats"),availableExportFormatsFromSolids=a=>{const r=["jscad","js"],o=supportedFormatsForObjects(a).filter(a=>!r.includes(a)).map(a=>({name:a,displayName:formats[a].displayName}));return{exportFormat:head(o)?head(o).name:void 0,availableExportFormats:o}},exportFilePathFromFormatAndDesign=(a,r)=>{const o=r?formats[r].extension:"",t=`${a.name}.${o}`;return{exportFilePath:path.join(a.path,t)}};module.exports={availableExportFormatsFromSolids:availableExportFormatsFromSolids,exportFilePathFromFormatAndDesign:exportFilePathFromFormatAndDesign};
3235
3273
 
3236
- },{"@jscad/array-utils":524,"@jscad/io/formats":68,"path":688}],789:[function(require,module,exports){
3274
+ },{"@jscad/array-utils":524,"@jscad/io/formats":68,"path":699}],802:[function(require,module,exports){
3237
3275
  const html=require("nanohtml"),{evaluation:evaluation}=require("@jscad/core"),callbackToObservable=require("./most-utils/callbackToObservable"),packageMetadata=require("../package.json"),keyBindings=require("../data/keybindings.json");let instances=0;const makeJscad=async(e,s)=>{const{name:a,logging:r}=Object.assign({},{name:"jscad",logging:!1},s),i=html`<div class='jscad' key=${a} tabindex=${instances}></div>`;e.appendChild(i);const t=require("./sideEffects/localStorage")({name:a,logging:r}),o=require("./sideEffects/titleBar")({logging:r}),l=require("./sideEffects/dragDrop")({targetEl:i,logging:r}),n=require("./sideEffects/fileDialog")({targetEl:i,logging:r}),c=require("./sideEffects/dom")({targetEl:i},r),g=require("./sideEffects/state/index")({logging:r,packageMetadata:packageMetadata,keyBindings:keyBindings}),u=await require("./sideEffects/localFs")({logging:r}),d=require("./sideEffects/http")({logging:r}),k=await require("./sideEffects/dat")({logging:r}),f=require("./sideEffects/i18n")({translations:{en:require("../locales/en.json"),fr:require("../locales/fr.json"),de:require("../locales/de.json"),ja:require("../locales/ja.json"),hr:require("../locales/hr.json"),zh:require("../locales/zh.json")},logging:r}),m=require("./sideEffects/worker")(evaluation.rebuildGeometryWorker),q=callbackToObservable(),b=callbackToObservable(),p={paramChanges:q.stream,editor:b.stream,state:g.source(),store:t.source(),fs:u.source(),http:d.source(),https:d.source(),drops:l.source(),dom:c.source(),solidWorker:m.source(),i18n:f.source(),titleBar:o.source(),fileDialog:n.source(),dat:await k.source()},E={store:t.sink,fs:u.sink,http:d.sink,https:d.sink,i18n:f.sink,dom:c.sink,solidWorker:m.sink,state:g.sink,fileDialog:n.sink,dat:k.sink},j=require("./ui/flow/flowIn")(p),h={jscadEl:i,paramsCallbacktoStream:q,editorCallbackToStream:b};require("./ui/flow/flowOut")({sinks:E,sources:p,outputs$:j,extras:h}),instances+=1,setTimeout(()=>{document.getElementById("toggleAxes").click()},100),setTimeout(()=>{document.getElementById("toggleAxes").click()},200);const v=callbackToObservable();return e=>{v.callback(e)}};module.exports=makeJscad;
3238
3276
 
3239
- },{"../data/keybindings.json":632,"../locales/de.json":676,"../locales/en.json":677,"../locales/fr.json":678,"../locales/hr.json":679,"../locales/ja.json":680,"../locales/zh.json":681,"../package.json":787,"./most-utils/callbackToObservable":796,"./sideEffects/dat":801,"./sideEffects/dom":802,"./sideEffects/dragDrop":803,"./sideEffects/fileDialog":804,"./sideEffects/http":805,"./sideEffects/i18n":806,"./sideEffects/localFs":807,"./sideEffects/localStorage":809,"./sideEffects/state/index":810,"./sideEffects/titleBar":811,"./sideEffects/worker":812,"./ui/flow/flowIn":817,"./ui/flow/flowOut":818,"@jscad/core":19,"nanohtml":780}],790:[function(require,module,exports){
3277
+ },{"../data/keybindings.json":632,"../locales/de.json":676,"../locales/en.json":677,"../locales/fr.json":678,"../locales/hr.json":679,"../locales/ja.json":680,"../locales/zh.json":681,"../package.json":800,"./most-utils/callbackToObservable":809,"./sideEffects/dat":814,"./sideEffects/dom":815,"./sideEffects/dragDrop":816,"./sideEffects/fileDialog":817,"./sideEffects/http":818,"./sideEffects/i18n":819,"./sideEffects/localFs":820,"./sideEffects/localStorage":822,"./sideEffects/state/index":823,"./sideEffects/titleBar":824,"./sideEffects/worker":825,"./ui/flow/flowIn":830,"./ui/flow/flowOut":831,"@jscad/core":19,"nanohtml":793}],803:[function(require,module,exports){
3240
3278
  const{merge:merge}=require("most");let isPinching=!1;"undefined"!=typeof window&&(window.addEventListener("pinchStarted",e=>{isPinching=!0}),window.addEventListener("pinchEnded",e=>{isPinching=!1}));const mouseDrags=(e,t,s,o)=>{const{pixelRatio:n}=o;return e.flatMap(e=>{const o=e.pageX*n,a=e.pageY*n;let r=o,i=a;return s.map(e=>{const t=e.pageX*n,s=e.pageY*n,u={left:t-o,top:s-a,x:r-t,y:s-i};return r=t,i=s,{originalEvents:[e],delta:u,normalized:{x:t,y:s},type:"mouse"}}).takeUntil(t)})},touchDrags=(e,t,s,o)=>{const{pixelRatio:n}=o;return e.filter(e=>1===e.touches.length||3===e.touches.length).flatMap(e=>{const o=e.touches[0].pageX*n,a=e.touches[0].pageY*n;let r=o,i=a;return s.takeWhile(e=>!1===isPinching).map(e=>{const t=e.touches[0].pageX*n,s=e.touches[0].pageY*n,u={left:t-o,top:s-a,x:r-t,y:s-i};return r=t,i=s,{originalEvents:[e],delta:u,normalized:{x:t,y:s},type:"touch"}}).takeUntil(t)})},drags=({mouseDowns$:e,mouseUps$:t,mouseMoves$:s,touchStarts$:o,touchEnds$:n,longTaps$:a,touchMoves$:r},i)=>{return merge(mouseDrags(e,t,s,i),touchDrags(o,n,r,i))};module.exports={mouseDrags:mouseDrags,touchDrags:touchDrags,drags:drags};
3241
3279
 
3242
- },{"most":744}],791:[function(require,module,exports){
3280
+ },{"most":757}],804:[function(require,module,exports){
3243
3281
  const{fromEvent:fromEvent,merge:merge}=require("most"),{normalizeWheel:normalizeWheel,preventDefault:preventDefault}=require("./utils"),{presses:presses}=require("./presses"),{taps:taps}=require("./taps"),{drags:drags}=require("./drags"),{zooms:zooms}=require("./zooms"),baseInteractionsFromEvents=(e,s)=>{s=Object.assign({},{passiveEventsHandlers:!0,preventScroll:!0,preventMenu:!0},s);const{passiveEventsHandlers:t,preventScroll:r,preventMenu:o}=s,a=fromEvent("mousedown",e,{passive:t,capture:!1}),n=fromEvent("mouseup",e,{passive:t,capture:!1}),p=fromEvent("mousemove",e,{passive:t,capture:!1}),i=fromEvent("contextmenu",e,{passive:!s.preventMenu,capture:!1}),u=fromEvent("touchstart",e,{passive:t,capture:!1}),v=fromEvent("touchmove",e,{passive:t,capture:!1}),m=fromEvent("touchend",e,{passive:t,capture:!1}),l=merge(a,u),c=merge(n,m),f=merge(p,v.filter(e=>1===e.touches.length));return r&&(e=>{fromEvent("mousewheel",e,{passive:!1,capture:!1}).forEach(preventDefault),fromEvent("DOMMouseScroll",e,{passive:!1,capture:!1}).forEach(preventDefault),fromEvent("wheel",e,{passive:!1,capture:!1}).forEach(preventDefault),fromEvent("touchmove",e,{passive:!1,capture:!1}).forEach(preventDefault)})(e),o&&i.forEach(preventDefault),{mouseDowns$:a,mouseUps$:n,mouseMoves$:p,rightClicks$:i,wheel$:merge(fromEvent("wheel",e,{passive:t,capture:!1}),fromEvent("DOMMouseScroll",e,{passive:t,capture:!1}),fromEvent("mousewheel",e,{passive:t,capture:!1})).map(normalizeWheel),touchStarts$:u,touchMoves$:v,touchEnds$:m,pointerDowns$:l,pointerUps$:c,pointerMoves$:f}},pointerGestures=(e,s)=>{const t="addEventListener"in e?baseInteractionsFromEvents(e,s):e,r={multiTapDelay:250,longPressDelay:250,maxStaticDeltaSqr:100,zoomMultiplier:200,pinchThreshold:4e3,pixelRatio:"undefined"!=typeof window&&window.devicePixelRatio?window.devicePixelRatio:1},o=Object.assign({},r,s),a=presses(t,o),n=a.filter(e=>e.timeDelta>o.longPressDelay).filter(e=>e.moveDelta.sqrd<o.maxStaticDeltaSqr);return{press:a,holds:n,taps:taps(a,o),drags:drags(t,o),zooms:zooms(t,o)}};module.exports={baseInteractionsFromEvents:baseInteractionsFromEvents,pointerGestures:pointerGestures};
3244
3282
 
3245
- },{"./drags":790,"./presses":792,"./taps":793,"./utils":794,"./zooms":795,"most":744}],792:[function(require,module,exports){
3283
+ },{"./drags":803,"./presses":805,"./taps":806,"./utils":807,"./zooms":808,"most":757}],805:[function(require,module,exports){
3246
3284
  const{just:just,merge:merge}=require("most"),{exists:exists}=require("./utils"),basePresses=({mouseDowns$:e,mouseUps$:s,mouseMoves$:t,touchStarts$:u,touchEnds$:a,touchMoves$:l},o)=>{l=l.filter(e=>1===e.touches.length);const r=merge(e,u),i=merge(s,a);return r.timestamp().flatMap(e=>merge(just(e),i.take(1).timestamp())).loop((e,s)=>{let t;if(1===e.length){const u=s.time-e[0].time,a="touches"in s.value?s.value.changedTouches[0].pageX:s.value.pageX,l="touches"in s.value?s.value.changedTouches[0].pageY:s.value.pageY,o="touches"in e[0].value?e[0].value.touches[0].pageX:e[0].value.pageX,r="touches"in e[0].value?e[0].value.touches[0].pageY:e[0].value.pageY;let i=[a-o,l-r];const v={x:o-a,y:l-r,sqrd:i=i[0]*i[0]+i[1]*i[1]};t={value:s.value,originalEvent:s.value,timeDelta:u,moveDelta:v,x:a,y:l},e=[]}else e.push(s);return{seed:e,value:t}},[]).filter(exists).filter(e=>void 0!==e.value).multicast()},presses=(e,s)=>{return basePresses(e)};module.exports={presses:presses};
3247
3285
 
3248
- },{"./utils":794,"most":744}],793:[function(require,module,exports){
3286
+ },{"./utils":807,"most":757}],806:[function(require,module,exports){
3249
3287
  const{exists:exists}=require("./utils"),taps=(t,e)=>{const{longPressDelay:a,maxStaticDeltaSqr:s,multiTapDelay:l}=e;return t.filter(t=>t.timeDelta<=a).filter(t=>t.moveDelta.sqrd<s).map(t=>({type:"data",data:t})).merge(t.debounce(l).map(t=>({type:"reset"}))).loop((t,{type:e,data:a})=>{let s;return"data"===e?t.push(a):(s=t,t=[]),{seed:t,value:s}},[]).filter(exists).map(t=>({list:t,nb:t.length})).multicast()};module.exports={taps:taps};
3250
3288
 
3251
- },{"./utils":794}],794:[function(require,module,exports){
3289
+ },{"./utils":807}],807:[function(require,module,exports){
3252
3290
  const{empty:empty,continueWith:continueWith}=require("most"),repeat=(e,t)=>0===e?empty():1===e?t:continueWith(()=>repeat(e-1,t),t),preventDefault=e=>(e.preventDefault(),e),isMoving=(e,t)=>!0,normalizeWheel=e=>{let t={x:0,y:0};return e.wheelDelta?t=e.wheelDelta:e.detail?t=-e.detail:e.deltaY&&(t=-e.deltaY),t=t>=0?1:-1},exists=e=>null!=e;module.exports={repeat:repeat,preventDefault:preventDefault,isMoving:isMoving,normalizeWheel:normalizeWheel,exists:exists};
3253
3291
 
3254
- },{"most":744}],795:[function(require,module,exports){
3292
+ },{"most":757}],808:[function(require,module,exports){
3255
3293
  const{merge:merge}=require("most"),pinchZooms=({touchStarts$:e,touchMoves$:t,touchEnds$:o},s)=>{const{pixelRatio:n,pinchThreshold:u}=s;return e.filter(e=>2===e.touches.length).flatMap(e=>{const s=e.touches[0].pageX*n,c=e.touches[0].pageY*n,h=e.touches[1].pageX*n,a=e.touches[1].pageY*n,p=(s-h)*(s-h)+(c-a)*(c-a);return t.tap(e=>e.preventDefault()).filter(e=>2===e.touches.length).tap(e=>{if("undefined"!=typeof CustomEvent){const e=new CustomEvent("pinchStarted",{detail:!0});window.dispatchEvent(e)}}).map(e=>{const t=e.touches[0].pageX*n,o=e.touches[0].pageY*n,s=e.touches[1].pageX*n,u=e.touches[1].pageY*n;return(t-s)*(t-s)+(o-u)*(o-u)}).loop((e,t)=>e?Math.abs(t-e)<u?{seed:t,value:void 0}:{seed:t,value:t-e}:{seed:t,value:t-p},void 0).filter(e=>void 0!==e).map(e=>3e-6*e).takeUntil(o.tap(e=>{if("undefined"!=typeof CustomEvent){const e=new CustomEvent("pinchEnded",{detail:!0});window.dispatchEvent(e)}}))})},zooms=({touchStarts$:e,touchMoves$:t,touchEnds$:o,wheel$:s},n)=>{return merge(pinchZooms({touchStarts$:e,touchMoves$:t,touchEnds$:o},n),s).map(e=>e*n.zoomMultiplier)};module.exports={pinchZooms:pinchZooms,zooms:zooms};
3256
3294
 
3257
- },{"most":744}],796:[function(require,module,exports){
3295
+ },{"most":757}],809:[function(require,module,exports){
3258
3296
  const{create:create}=require("@most/create"),callBackToStream=()=>{let e=function(){};const t=t=>{e(t)};return{stream:create((t,a,c)=>{e=t}),callback:t}};module.exports=callBackToStream;
3259
3297
 
3260
- },{"@most/create":682}],797:[function(require,module,exports){
3298
+ },{"@most/create":682}],810:[function(require,module,exports){
3261
3299
  const most=require("most"),delayFromObservable=(e,s)=>{const t=(e,s)=>most.just(s).delay(e),o=s.map(e);return e=>most.combine(t,o,e).switchLatest()};module.exports=delayFromObservable;
3262
3300
 
3263
- },{"most":744}],798:[function(require,module,exports){
3301
+ },{"most":757}],811:[function(require,module,exports){
3264
3302
  const withLatestFrom=require("./withLatestFrom"),holdUntil=t=>{return e=>e.skipUntil(t).merge(t.take(1).thru(withLatestFrom(t=>t,e)))};module.exports=holdUntil;
3265
3303
 
3266
- },{"./withLatestFrom":800}],799:[function(require,module,exports){
3304
+ },{"./withLatestFrom":813}],812:[function(require,module,exports){
3267
3305
  module.exports={callbackToObservable:require("./callbackToObservable"),delayFromObservable:require("./delayFromObservable"),holdUntil:require("./holdUntil"),withLatestFrom:require("./withLatestFrom")};
3268
3306
 
3269
- },{"./callbackToObservable":796,"./delayFromObservable":797,"./holdUntil":798,"./withLatestFrom":800}],800:[function(require,module,exports){
3307
+ },{"./callbackToObservable":809,"./delayFromObservable":810,"./holdUntil":811,"./withLatestFrom":813}],813:[function(require,module,exports){
3270
3308
  const most=require("most"),withLatestFrom=(t,o)=>s=>most.sample(t,s,o,s);module.exports=withLatestFrom;
3271
3309
 
3272
- },{"most":744}],801:[function(require,module,exports){
3310
+ },{"most":757}],814:[function(require,module,exports){
3273
3311
  const{getFileExtensionFromString:getFileExtensionFromString}=require("@jscad/core").utils,callbackToObservable=require("../../most-utils/callbackToObservable"),makeLogger=require("../../utils/logger"),makeDatSideEffect=async e=>{const a=callbackToObservable(),{logging:t}=Object.assign({},{logging:!1},e),n=makeLogger({enabled:t});let r=!0;const i=window.DatArchive;i||(n.error("Dat archives not supported in this environment!"),r=!1);return{source:()=>a.stream.multicast(),sink:e=>{let t,l,o,s=[];e.forEach(e=>{const{type:c,id:d,urls:m,path:u}=e;if(!r)return void a.callback({type:c,id:d,error:new Error("Dat archives not supported in this environment!")});const h={unhandled:()=>{a.callback({type:c,id:d,error:new Error(`Dat: no handler found for command ${c}`)})},read:()=>{m.map(async e=>{e=e.replace(" ","+"),l=e,t=new i(e,{});const n=await t.readdir(u,{recursive:!0,stat:!0}),r=await Promise.all(n.map(async e=>{const a=`${u}/${e.name}`;if(e.stat.isFile()&&e.name.includes("js"))return{content:await t.readFile(a),name:e.name,fullPath:e.name,isFile:!0}})),m=await t.getInfo();o=m.title||"unnamed";const h=r.filter(e=>void 0!==e).map(e=>({name:e.name,ext:getFileExtensionFromString(e.name),source:e.content,fullPath:`/${o}/`+e.fullPath}));s=[{children:h,fullPath:`/${o}`,name:o}],a.callback({type:c,id:d,url:e,data:s}),await t.history()})},write:()=>{n.warning("writing to dat archives is not implemented yet")},watch:()=>{t.watch().addEventListener("changed",async({path:e})=>{const n=await t.readFile(e),r={name:require("path").basename(e),ext:"js",source:n,fullPath:`/${o}`+e},i=s[0].children.findIndex(e=>e.fullPath===r.fullPath);(s=JSON.parse(JSON.stringify(s)))[0].children[i]=r,a.callback({type:"read",id:"loadRemote",url:l,data:s})})}};(h[c]||h.unhandled)()})}}};module.exports=makeDatSideEffect;
3274
3312
 
3275
- },{"../../most-utils/callbackToObservable":796,"../../utils/logger":839,"@jscad/core":19,"path":688}],802:[function(require,module,exports){
3313
+ },{"../../most-utils/callbackToObservable":809,"../../utils/logger":852,"@jscad/core":19,"path":699}],815:[function(require,module,exports){
3276
3314
  const most=require("most"),morph=require("morphdom"),{proxy:proxy}=require("most-proxy"),makeDomSideEffect=({targetEl:e})=>{const{attach:t,stream:r}=proxy(),o=r,s={};return{source:()=>{const t=t=>Array.from(e.querySelectorAll(t));return o.forEach(()=>{Object.keys(s).forEach(e=>{const[r]=e.split("@@"),o=t(r);if(o&&o.length>0){const t=s[e];if(!1===t.live){t.live=!0;const e=o.map(e=>most.fromEvent(t.events,e)),r=most.mergeArray(e);t.observable.attach(r)}}})}),{select:e=>{const r=t(e);let o;return{events:function(t){if(!r||r&&0===r.length){const r=proxy();o=r.stream,s[e+"@@"+t]={observable:r,live:!1}}return s[e+"@@"+t].events=t,o.multicast()}}},element:e}},sink:((e,r)=>{let o;const s=r.take(1).map(t=>{o=t,e.appendChild(o)}),m=r.skip(1).map(e=>{morph(o,e)}),n=most.mergeArray([s,m]).multicast();t(n),n.forEach(e=>e)}).bind(null,e)}};module.exports=makeDomSideEffect;
3277
3315
 
3278
- },{"morphdom":702,"most":744,"most-proxy":705}],803:[function(require,module,exports){
3316
+ },{"morphdom":715,"most":757,"most-proxy":718}],816:[function(require,module,exports){
3279
3317
  const{fromEvent:fromEvent}=require("most"),preventDefault=t=>(t.preventDefault(),t),isTextNotEmpty=t=>""!==t,exists=t=>null!=t,itemListToArray=t=>{const e=[];for(let r=0;r<t.length;r++){const a=t[r];e.push(a.webkitGetAsEntry?a.webkitGetAsEntry():a)}return e},extractData=t=>{if(isTextNotEmpty(t.dataTransfer.getData("url")))return{type:"url",data:t.dataTransfer.getData("url")};if(t.dataTransfer.types.includes("text/plain")){const e=t.dataTransfer.getData("text");try{return{type:"url",data:new URL(e).href}}catch{return{type:"text",data:e}}}return t.dataTransfer.items&&t.dataTransfer.items.length>0?{type:"fileOrFolder",data:itemListToArray(t.dataTransfer.items)}:void 0},makeDragAndDropSideEffect=({targetEl:t})=>{return{source:()=>{const{dragOvers$:e,drops$:r}=(t=>({dragOvers$:fromEvent("dragover",t),drops$:fromEvent("drop",t)}))(t);return r.multicast(),r.forEach(preventDefault),e.forEach(preventDefault),r.map(t=>extractData(t)).filter(exists).multicast()}}};module.exports=makeDragAndDropSideEffect;
3280
3318
 
3281
- },{"most":744}],804:[function(require,module,exports){
3319
+ },{"most":757}],817:[function(require,module,exports){
3282
3320
  const callbackToObservable=require("../../most-utils/callbackToObservable"),makeFileDialog=e=>{const a=callbackToObservable();return{source:()=>{},sink:e=>{e.forEach(e=>{a.callback(e);const l=document.createElement("input");l.id="foo",l.name="gna",l.setAttribute("type","file"),l.click(),l.addEventListener("change",()=>{})})}}};module.exports=makeFileDialog;
3283
3321
 
3284
- },{"../../most-utils/callbackToObservable":796}],805:[function(require,module,exports){
3322
+ },{"../../most-utils/callbackToObservable":809}],818:[function(require,module,exports){
3285
3323
  const path=require("path"),{getFileExtensionFromString:getFileExtensionFromString}=require("@jscad/core").utils,{formats:formats}=require("@jscad/io/formats"),callbackToObservable=require("../../most-utils/callbackToObservable"),makeLogger=require("../../utils/logger"),proxyUrl="./remote.pl?url=",binaryMimetypes={stl:"application/sla"},makeHttpSideEffect=e=>{const{logging:t}=Object.assign({},{logging:!1},e),r=callbackToObservable(),a=makeLogger({enabled:t});return{source:()=>r.stream.multicast(),sink:e=>{e.forEach(e=>{const{type:t,id:o,urls:n,origin:i,proxy:l}=e,s={read:()=>{let e=[];n.forEach(n=>{const s=e=>{r.callback({type:t,id:o,url:n,error:e}),a.error(e)},c=a=>{e=e.concat(a),r.callback({type:t,id:o,url:n,data:e})};l?readProxy(n,s,e=>{if(e.file){const t=new URL(i),r=new URL(e.file,t);readFile(r.toString(),s,c)}}):readFile(n,s,c)})},write:()=>{a.warning("writing to http is not implemented yet")},watch:()=>{a.warning("watching http is not implemented yet")},unhandled:()=>{r.callback({type:t,id:o,error:new Error(`http: no handler found for command ${t}`)})}};(s[t]||s.unhandled)()})}}},readFile=(e,t,r)=>{const a=getFileExtensionFromString(e),o=void 0!==binaryMimetypes[a];fetch(e).then(e=>{if(e.ok)return o?e.arrayBuffer():e.text();t(new Error(`fetch error: ${e.status} ${e.statusText}`))}).then(t=>{const o=path.basename(e),n=`/${o}`,i=formats[a]?formats[a].mimetype:"";r({name:o,ext:a,mimetype:i,source:t,fullPath:n})}).catch(e=>{t(e)})},readProxy=(e,t,r)=>{fetch(proxyUrl+e).then(e=>{if(e.ok)return e.json();t(new Error(`fetch error: ${e.status} ${e.statusText}`))}).then(e=>{r(e)}).catch(e=>{t(e)})};module.exports=makeHttpSideEffect;
3286
3324
 
3287
- },{"../../most-utils/callbackToObservable":796,"../../utils/logger":839,"@jscad/core":19,"@jscad/io/formats":68,"path":688}],806:[function(require,module,exports){
3325
+ },{"../../most-utils/callbackToObservable":809,"../../utils/logger":852,"@jscad/core":19,"@jscad/io/formats":68,"path":699}],819:[function(require,module,exports){
3288
3326
  const isElectron=require("is-electron"),callBackToStream=require("../../most-utils/callbackToObservable"),longNames={en:"english",de:"german",fr:"french",ja:"japanese",hr:"croatian",zh:"chinese"},getDefaultLocale=()=>{let a;return isElectron()||(a=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language),a?a.split("-")[0]:""},initTranslations=a=>{const{translations:e}=Object.assign({},{translations:{}},a);return e},i18nImport=require("es2015-i18n-tag"),i18n=i18nImport.default,{i18nConfig:i18nConfig}=i18nImport,makei18nSideEffect=a=>{const e=callBackToStream();let t=initTranslations(a);const n={setAvailableTranslations:a=>{t=a.data},getDefaultLocale:a=>{e.callback({data:getDefaultLocale(),type:a.type})},changeSettings:a=>{const n=a.data;i18nConfig({locales:n,translations:t[n]}),e.callback({data:i18n,type:"changeSettings"})},getAvailableLanguages:a=>{const n=Object.keys(t).map(a=>{let e=longNames[a]?longNames[a]:"placeholder";const n=t[a];return n&&"language"in n&&(e=n.language),{code:a,fullName:e}});e.callback({data:n,type:"getAvailableLanguages"})}};return{sink:a=>{a.forEach(a=>{const e=n[a.type];e&&e(a)})},source:()=>e.stream.multicast()}};module.exports=makei18nSideEffect;
3289
3327
 
3290
- },{"../../most-utils/callbackToObservable":796,"es2015-i18n-tag":699,"is-electron":701}],807:[function(require,module,exports){
3328
+ },{"../../most-utils/callbackToObservable":809,"es2015-i18n-tag":712,"is-electron":714}],820:[function(require,module,exports){
3291
3329
  const{walkFileTree:walkFileTree}=require("@jscad/core").web,callbackToObservable=require("../../most-utils/callbackToObservable"),{changedFiles:changedFiles,flattenFiles:flattenFiles}=require("./utils"),localFsOptions=require("../../../data/localFsOptions.json"),makeLocalFsSideEffect=async e=>{const l=callbackToObservable();let o=null,a=0;const t=e=>o.send(JSON.stringify(e));return{source:()=>l.stream.multicast(),sink:e=>{let n,c,r,s=5e3;e.forEach(e=>{const{type:i,id:d,data:f,options:m,path:u}=e,h={unhandled:()=>{l.callback({type:i,id:d,error:new Error(`LocalFs: no handler found for command ${i}`)})},read:async()=>{n=void 0,c=void 0,r&&(clearInterval(r),r=0,o&&o.close()),f.length&&f[0]instanceof File||(c=f),n=await walkFileTree(f),l.callback({type:i,id:d,data:n})},watch:()=>{if(void 0===c)return;const{enabled:e}=m;e?(o||((o=new WebSocket(localFsOptions.livereloadUrl)).onopen=function(e){t({command:"hello",protocols:["http://livereload.com/protocols/official-6","http://livereload.com/protocols/official-7"],ver:"2.0.8",ext:"Chrome",extver:"2.1.0"})},o.onmessage=function(e){const l=JSON.parse(e.data);"hello"===l.command&&t({command:"info",plugins:{less:{disable:!1,version:"1.0"}},url:document.location}),"reload"===l.command&&(a=0)},o.onerror=function(e){console.warn("websocket error",e)},o.onclose=function(e){o=null}),r=setInterval(()=>{const e=Date.now();!c||o&&a||e-a<s||(a=e,walkFileTree(c).catch(e=>{console.error("failed to read files",e)}).then(o=>{const a=flattenFiles(n),t=flattenFiles(o),c=changedFiles(a,t);c.length>0&&(n=o,l.callback({type:"read",id:"loadRemote",data:n,path:u,changed:c}));const r=Date.now();s=Math.max(2*(r-e),1e3)}))},50)):r&&(clearInterval(r),r=0)},write:()=>{}};(h[i]||h.unhandled)()})}}};module.exports=makeLocalFsSideEffect;
3292
3330
 
3293
- },{"../../../data/localFsOptions.json":633,"../../most-utils/callbackToObservable":796,"./utils":808,"@jscad/core":19}],808:[function(require,module,exports){
3331
+ },{"../../../data/localFsOptions.json":633,"../../most-utils/callbackToObservable":809,"./utils":821,"@jscad/core":19}],821:[function(require,module,exports){
3294
3332
  const sameFile=(e,t)=>{if(e.fullPath===t.fullPath&&typeof e.source==typeof t.source){if(e.source.byteLength){const n=new Uint8Array(e.source),r=new Uint8Array(t.source);return n.length===r.length&&n.every((e,t)=>e===r[t])}return e.length===t.length&&e.source===t.source}return!1},changedFiles=(e,t)=>{const n=e.slice();return t.filter(e=>{const t=n.findIndex((t,n)=>sameFile(t,e));return t<0||(n.splice(t,1),!1)})},flattenFiles=e=>{let t=[];return e.forEach(e=>{e.children?t=t.concat(flattenFiles(e.children)):t.push(e)}),t};module.exports={changedFiles:changedFiles,flattenFiles:flattenFiles};
3295
3333
 
3296
- },{}],809:[function(require,module,exports){
3334
+ },{}],822:[function(require,module,exports){
3297
3335
  const callbackToObservable=require("../../most-utils/callbackToObservable"),makeStorageSideEffect=({name:e})=>{const a=callbackToObservable();return{sink:t=>{let r=!0;try{localStorage.getItem("jscad:")}catch(e){r=!1}r?t&&t.forEach(t=>{const{type:r,key:c,data:o}=t;if("write"===r)localStorage.setItem(`jscad:${e}-${c}`,JSON.stringify(o));else if("read"===r){const t=localStorage.getItem(`jscad:${e}-${c}`),o=JSON.parse(t)||{};a.callback({type:r,key:c,data:o})}}):callbackToObservable().callback({type:void 0,id:void 0,error:new Error("Local storage not supported in this environment!")})},source:()=>{return a.stream.multicast()}}};module.exports=makeStorageSideEffect;
3298
3336
 
3299
- },{"../../most-utils/callbackToObservable":796}],810:[function(require,module,exports){
3337
+ },{"../../most-utils/callbackToObservable":809}],823:[function(require,module,exports){
3300
3338
  const most=require("most"),callbackToObservable=require("../../most-utils/callbackToObservable"),makeState=t=>{const{packageMetadata:s,keyBindings:a}=t,e=callbackToObservable(),r={appTitle:`jscad v ${s.version}`,activeTool:void 0,status:{message:"",error:void 0,busy:!1},shortcuts:a,storage:{path:""},version:s.version};return{source:()=>{const t=e.stream.multicast();return most.scan((t,s)=>Object.assign({},t,s.state),r,t).startWith(r).skipRepeatsWith((t,s)=>JSON.stringify(t)===JSON.stringify(s)).multicast()},sink:t=>{t.forEach(t=>{e.callback(t)})}}};module.exports=makeState;
3301
3339
 
3302
- },{"../../most-utils/callbackToObservable":796,"most":744}],811:[function(require,module,exports){
3340
+ },{"../../most-utils/callbackToObservable":809,"most":757}],824:[function(require,module,exports){
3303
3341
  const most=require("most"),makeTitleBarSideEffect=()=>{return{sink:e=>{e.forEach(e=>{document.title=e})},source:()=>{const e=window.location.href;return most.just(e).filter(e=>void 0!==e).multicast().skipRepeats()}}};module.exports=makeTitleBarSideEffect;
3304
3342
 
3305
- },{"most":744}],812:[function(require,module,exports){
3343
+ },{"most":757}],825:[function(require,module,exports){
3306
3344
  const WebWorkify=require("webworkify"),callBackToStream=require("../../most-utils/callbackToObservable"),makeWorkerEffect=e=>{const r=callBackToStream();let a=WebWorkify(e,{});a.onerror=(e=>r.callback({error:e})),a.onmessage=(e=>r.callback(e));return{sink:c=>{c.filter(({cmd:e})=>"cancel"===e).forEach(c=>{a.terminate(),(a=WebWorkify(e)).onerror=(e=>r.callback({error:e})),a.onmessage=(e=>r.callback(e))}),c.filter(({cmd:e})=>"cancel"!==e).forEach(e=>{a.postMessage(e)})},source:function(){return r.stream.multicast()}}};module.exports=makeWorkerEffect;
3307
3345
 
3308
- },{"../../most-utils/callbackToObservable":796,"webworkify":786}],813:[function(require,module,exports){
3346
+ },{"../../most-utils/callbackToObservable":809,"webworkify":799}],826:[function(require,module,exports){
3309
3347
  const most=require("most"),{delayFromObservable:delayFromObservable,holdUntil:holdUntil,withLatestFrom:withLatestFrom}=require("../../most-utils"),{getParameterValuesFromUIControls:getParameterValuesFromUIControls}=require("@jscad/core").parameters,{fetchUriParams:fetchUriParams,getAllUriParams:getAllUriParams}=require("../../utils/urlUtils"),reducers=require("./reducers"),jsonCompare=(e,t)=>JSON.stringify(e)===JSON.stringify(t),actions=({sources:e})=>{const t=most.just({}).thru(withLatestFrom(reducers.initialize,e.state)).map(e=>({type:"initializeDesign",state:e,sink:"state"})).multicast(),r=t.map(e=>({sink:"store",key:"design",type:"read"})),s=e.state.filter(reducers.isDesignValid).skipRepeatsWith(reducers.isDesignTheSameForSerialization).thru(holdUntil(e.store.filter(e=>"design"===e.key&&"read"===e.type))).map(reducers.requestSaveSettings).map(e=>Object.assign({},{data:e},{sink:"store",key:"design",type:"write"})).multicast(),a=e.store.filter(e=>"design"===e.key&&"read"===e.type&&void 0!==e.data).thru(withLatestFrom(reducers.setSettings,e.state)).map(e=>({type:"setDesignSettings",state:e,sink:"state"})).multicast(),i=most.mergeArray([e.drops.filter(e=>"fileOrFolder"===e.type).tap(e=>console.log("dropped file",e)).map(({data:e})=>({sink:"fs",data:e,path:"realFs",urls:[]})),e.drops.filter(e=>"url"===e.type).tap(e=>console.log("dropped url",e)).map(e=>{const t=window.location.href,r=e.data,s=new URL(r),a=r?[r]:[],{protocol:i,pathname:o}=s;return{sink:i.replace(":",""),urls:a,origin:t,path:o,proxy:!0}}),e.dom.select(".example").events("click").map(e=>e.target.dataset.path).map(e=>{const t=new URL(e),r=e?[e]:[],{protocol:s,origin:a}=t;return{sink:s.replace(":",""),urls:r,origin:a}}).tap(e=>console.log("load example",e)),e.dom.select("#fileLoader").events("change").tap(e=>console.log("selected directory",e)).filter(e=>e.target.files.length>0).map(e=>{const t=e.target.files,r=[];for(let e=0;e<t.length;e++)r.push(t.item(e));return{sink:"fs",data:r,path:"realFs",urls:[]}}),e.titleBar.filter(e=>void 0!==e).tap(e=>console.log("window href processing",e)).map(e=>{const t=e;let r=fetchUriParams(e,"uri",void 0);if(!r){const t=new URL(e);if(0===t.hash.length)return;r=t.hash.slice(1)}const s=new URL(r),a=[r],{protocol:i,pathname:o}=s;return{sink:i.replace(":",""),urls:a,origin:t,path:o,proxy:!0}})]).filter(e=>void 0!==e).thru(holdUntil(a)).map(e=>({type:"read",id:"loadRemote",urls:e.urls,sink:e.sink,origin:e.origin,path:e.path,data:e.data,proxy:e.proxy})).multicast().skipRepeats(),o=most.mergeArray(Object.values(e).filter(e=>void 0!==e&&"source"in e)).filter(e=>!("loadRemote"!==e.id||"read"!==e.type||"error"in e||"sink"in e)).map(({data:e})=>({filesAndFolders:e})).thru(withLatestFrom(reducers.setDesignContent,e.state)).map(e=>({type:"setDesignContent",state:e,sink:"state"})).multicast(),n=most.mergeArray([e.state.filter(reducers.isDesignValid).map(({design:e})=>{return{id:"watchScript",path:e.mainPath,origin:e.origin,options:{enabled:e.autoReload}}}).skipRepeatsWith(jsonCompare)]).map(e=>Object.assign({},{type:"watch",sink:e.origin},e)).multicast(),l=most.mergeArray([e.state.filter(reducers.isDesignValid).filter(e=>void 0!==e.design.solids).map(e=>e.design.solids).skipRepeatsWith(jsonCompare)]).thru(withLatestFrom(reducers.requestWriteCachedGeometry,e.state)).map(e=>Object.assign({},{type:"write",id:"cachedGeometry",sink:e.origin},e)).multicast(),m=most.mergeArray([i.map(({sink:e})=>e)]).thru(withLatestFrom(reducers.resetDesign,e.state)).map(e=>({type:"resetDesign",state:e,sink:"state"})).multicast(),d=most.mergeArray([e.solidWorker.filter(e=>!("error"in e)&&e.data instanceof Object&&"solids"===e.data.type).map(e=>{const{lookupCounts:t,lookup:r,solids:s}=e.data;return{solids:s,lookup:r,lookupCounts:t}}).multicast(),e.fs.filter(e=>"read"===e.type&&"loadCachedGeometry"===e.id&&e.data).map(e=>{return{solids:void 0,lookupCounts:void 0,lookup:void e.data}}).multicast()]).thru(withLatestFrom(reducers.setDesignSolids,e.state)).map(e=>({type:"setDesignSolids",state:e,sink:"state"})).multicast(),p=e.state.skipRepeatsWith(reducers.isDesignTheSame).filter(reducers.isDesignValid).map(reducers.requestGeometryRecompute).map(e=>Object.assign({},e,{sink:"geometryWorker",cmd:"generate"})).multicast(),u=p.thru(delayFromObservable(e=>e.design.solidsTimeOut,e.state.filter(reducers.isDesignValid))).thru(withLatestFrom(reducers.timeoutGeometryRecompute,e.state)).map(e=>Object.assign({},{state:e},{sink:"state",type:"timeOutDesignGeneration"})).multicast(),c=u.filter(({state:e})=>void 0!==e.status.error).map(e=>Object.assign({},{sink:"geometryWorker",cmd:"cancel"})).multicast(),g=e.solidWorker.filter(e=>!("error"in e)&&e.data instanceof Object&&"params"===e.data.type).map(({data:e})=>({parameterDefaults:e.parameterDefaults,parameterDefinitions:e.parameterDefinitions,origin:"worker"})),h=most.mergeArray([g]).skipRepeatsWith(jsonCompare).thru(holdUntil(e.state.filter(reducers.isDesignValid))).thru(withLatestFrom(reducers.setDesignParameterDefinitions,e.state)).map(e=>({type:"setDesignParameterDefinitions",state:e,sink:"state"})).multicast(),y=()=>Array.from(document.getElementById("paramsTable").getElementsByTagName("input")).concat(Array.from(document.getElementById("paramsTable").getElementsByTagName("select"))).concat(Array.from(document.getElementById("paramsTable").getElementsByClassName("groupTitle"))),k=most.mergeArray([e.dom.select("#updateDesignFromParams").events("click").map(()=>{const e=y();return{parameterValues:getParameterValuesFromUIControls(e),origin:"uiManualUpdate"}}),e.paramChanges.filter(e=>(()=>document.getElementById("instantUpdate").checked)()).map(()=>{try{const e=y();return{parameterValues:getParameterValuesFromUIControls(e),origin:"uiInstantUpdate"}}catch(e){return{error:e,origin:"instantUpdate"}}})]).multicast().debounce(10),f=e.store.filter(e=>"design"===e.key&&"read"===e.type&&void 0!==e.data.parameterValues).map(({data:e})=>({parameterValues:e.parameterValues,origin:"store"})).multicast(),D=e.titleBar.map(e=>getAllUriParams(e)).filter(e=>Object.keys(e).length>0).map(e=>({parameterValues:e,origin:"titleBar"})).multicast(),F=e.state.filter(reducers.isDesignValid).multicast(),w=most.mergeArray([k,f,D,e.dom.select("#resetDesignToParameterDefaults").events("click").thru(withLatestFrom((e,t)=>({parameterValues:e.design.parameterDefaults,origin:"reset"}),e.state))]).skipRepeatsWith(jsonCompare).thru(holdUntil(e.state.filter(reducers.isDesignValid))).thru(holdUntil(F.filter(e=>{return e.design&&Object.keys(e.design.parameterDefinitions).length>0}))).thru(withLatestFrom(reducers.setDesignParameterValues,e.state)).map(e=>({type:"setDesignParameterValues",state:e,sink:"state"})).multicast().delay(10),U=e.solidWorker.filter(e=>e.data instanceof Object&&"errors"===e.data.type).map(({data:e})=>({error:e,origin:"worker"}));return{initialize$:t,requestLoadDesignContent$:i,requestWatchDesign$:n,requestWriteCachedGeometry$:l,resetDesign$:m,setDesignContent$:o,setDesignSolids$:d,setDesignParameterDefinitions$:h,setDesignParameterValues$:w,reportErrorsFromWorker$:most.mergeArray([U]).skipRepeatsWith(jsonCompare).tap(e=>console.log("errors",e)),requestGeometryRecompute$:p,timeoutGeometryRecompute$:u,cancelGeometryRecompute$:c,requestLoadSettings$:r,requestSaveSettings$:s,setDesignSettings$:a,toggleAutoReload$:most.mergeArray([e.dom.select("#toggleAutoReload").events("click").map(e=>e.target.checked)]).thru(withLatestFrom(reducers.toggleAutoReload,e.state)).map(e=>({type:"toggleAutoReload",state:e,sink:"state"})),toggleInstantUpdate$:most.mergeArray([e.dom.select("#instantUpdate").events("click").map(e=>e.target.checked)]).thru(withLatestFrom(reducers.toggleInstantUpdate,e.state)).map(e=>({type:"toggleInstantUpdate",state:e,sink:"state"})),toggleVTreeMode$:most.mergeArray([e.dom.select("#toggleVtreeMode").events("click").map(e=>e.target.checked)]).thru(withLatestFrom(reducers.toggleVtreeMode,e.state)).map(e=>({type:"toggleVtreeMode",state:e,sink:"state"})),setSolidsTimeout$:most.mergeArray([e.dom.select("#solidsTimeout").events("change").map(e=>e.target.value).map(e=>parseFloat(e))]).thru(withLatestFrom(reducers.setSolidsTimeout,e.state)).map(e=>({type:"setSolidsTimeout",state:e,sink:"state"}))}};module.exports=actions;
3310
3348
 
3311
- },{"../../most-utils":799,"../../utils/urlUtils":841,"./reducers":820,"@jscad/core":19,"most":744}],814:[function(require,module,exports){
3349
+ },{"../../most-utils":812,"../../utils/urlUtils":854,"./reducers":833,"@jscad/core":19,"most":757}],827:[function(require,module,exports){
3312
3350
  const makeOutput=({sources:e,extras:t})=>e.state.filter(e=>e.design&&e.languages&&e.viewer).skipRepeatsWith((e,t)=>JSON.stringify(e)===JSON.stringify(t)).combine((e,a)=>require("../views/main")(e,a,t.paramsCallbacktoStream,t.editorCallbackToStream),e.i18n.filter(e=>"changeSettings"===e.type).map(e=>e.data));module.exports=makeOutput;
3313
3351
 
3314
- },{"../views/main":830}],815:[function(require,module,exports){
3352
+ },{"../views/main":843}],828:[function(require,module,exports){
3315
3353
  const most=require("most"),{withLatestFrom:withLatestFrom}=require("../../most-utils"),reducers={setErrors:(r,t)=>{const{error:s}=t;return{status:Object.assign({},r.status,{error:s,busy:!1})}},clearErrors:(r,t)=>{return{status:Object.assign({},r.status,{error:void 0,busy:!1})}}},actions=({sources:r})=>{return{setErrors$:most.mergeArray(Object.values(r).filter(r=>void 0!==r&&"source"in r)).filter(r=>{try{return"error"in r}catch(r){return!1}}).thru(withLatestFrom(reducers.setErrors,r.state)).map(r=>Object.assign({},{type:"setErrors",sink:"state"},{state:r})),clearErrors$:most.never().thru(withLatestFrom(reducers.clearErrors,r.state)).map(r=>Object.assign({},{type:"clearErrors",sink:"state"},{state:r}))}};module.exports=actions;
3316
3354
 
3317
- },{"../../most-utils":799,"most":744}],816:[function(require,module,exports){
3355
+ },{"../../most-utils":812,"most":757}],829:[function(require,module,exports){
3318
3356
  const most=require("most"),{solidsAsBlob:solidsAsBlob}=require("@jscad/io"),{withLatestFrom:withLatestFrom}=require("../../most-utils"),{exportFilePathFromFormatAndDesign:exportFilePathFromFormatAndDesign}=require("../../core/io/exportUtils"),reducers={initialize:t=>{return{io:{exportFormat:"",exportFilePath:"",availableExportFormats:[]}}},setExportFormat:(t,e)=>{return{io:Object.assign({},t.io,exportFilePathFromFormatAndDesign(t.design,e),{exportFormat:e})}},requestExport:t=>{const{exportFilePath:e,exportFormat:r}=t.io,{solids:s}=t.design,{saveAs:o}=require("file-saver");o(solidsAsBlob(s,{format:r}),e)}},actions=({sources:t})=>{const e=most.just({}).thru(withLatestFrom(reducers.initialize,t.state)).map(t=>Object.assign({},{type:"initializeExports",sink:"state"},{state:t})),r=t.dom.select("#exportFormats").events("change").map(t=>t.target.value).thru(withLatestFrom(reducers.setExportFormat,t.state)).map(t=>Object.assign({},{type:"changeExportFormat",sink:"state"},{state:t})).multicast();return{initializeExports$:e,requestExport$:t.dom.select("#exportBtn").events("click").thru(withLatestFrom(reducers.requestExport,t.state)).map(t=>({type:"exportRequested",data:t})),changeExportFormat$:r}};module.exports=actions;
3319
3357
 
3320
- },{"../../core/io/exportUtils":788,"../../most-utils":799,"@jscad/io":69,"file-saver":700,"most":744}],817:[function(require,module,exports){
3358
+ },{"../../core/io/exportUtils":801,"../../most-utils":812,"@jscad/io":69,"file-saver":713,"most":757}],830:[function(require,module,exports){
3321
3359
  const most=require("most"),{flatten:flatten}=require("@jscad/array-utils"),{proxy:proxy}=require("most-proxy"),makeActions=e=>{const{attach:r,stream:s}=proxy();e.actions=s.skipRepeatsWith((e,r)=>JSON.stringify(e)===JSON.stringify(r)).multicast();const t=require("./tools")({sources:e}),i=require("./viewer")({sources:e}),o=require("./themes")({sources:e}),u=require("./languages")({sources:e}),a=require("./shortcuts")({sources:e}),c=require("./errors")({sources:e}),n=require("./exports")({sources:e}),m=[c,require("./design")({sources:e}),n,t,o,i,u,a],l=most.mergeArray(flatten(m.map(e=>Object.values(e)))).skipRepeatsWith((e,r)=>JSON.stringify(e)===JSON.stringify(r)).multicast().filter(e=>void 0!==e);return r(l),l};module.exports=makeActions;
3322
3360
 
3323
- },{"./design":813,"./errors":815,"./exports":816,"./languages":819,"./shortcuts":821,"./themes":822,"./tools":823,"./viewer":824,"@jscad/array-utils":524,"most":744,"most-proxy":705}],818:[function(require,module,exports){
3361
+ },{"./design":826,"./errors":828,"./exports":829,"./languages":832,"./shortcuts":834,"./themes":835,"./tools":836,"./viewer":837,"@jscad/array-utils":524,"most":757,"most-proxy":718}],831:[function(require,module,exports){
3324
3362
  const makeReactions=i=>{const{sinks:s,outputs$:t}=i,{store:n,fs:e,http:k,https:r,i18n:o,dom:f,solidWorker:l,state:a,dat:d}=s;f(require("./dom")(i)),o(t.filter(i=>"sink"in i&&"i18n"===i.sink)),n(t.filter(i=>"sink"in i&&"store"===i.sink)),k(t.filter(i=>"sink"in i&&"http"===i.sink)),r(t.filter(i=>"sink"in i&&"https"===i.sink)),e(t.filter(i=>"sink"in i&&"fs"===i.sink)),l(t.filter(i=>"sink"in i&&"geometryWorker"===i.sink)),a(t.filter(i=>"sink"in i&&"state"===i.sink)),d(t.filter(i=>"sink"in i&&"dat"===i.sink))};module.exports=makeReactions;
3325
3363
 
3326
- },{"./dom":814}],819:[function(require,module,exports){
3364
+ },{"./dom":827}],832:[function(require,module,exports){
3327
3365
  const most=require("most"),{holdUntil:holdUntil,withLatestFrom:withLatestFrom}=require("../../most-utils"),reducers={initialize:e=>{return{languages:{active:void 0,available:[]}}},setLanguage:(e,a)=>{return{languages:Object.assign({},e.languages,{active:a})}},setAvailableLanguages:(e,a)=>{return{languages:Object.assign({},e.languages,{available:a})}},requestSaveSettings:e=>({active:e.active})},actions=({sources:e})=>{const a=most.just({}).thru(withLatestFrom(reducers.initialize,e.state)).map(e=>Object.assign({},{type:"initializeLanguages",sink:"state"},{state:e})),t=a.map(e=>({type:"getAvailableLanguages",sink:"i18n"})),s=t.map(e=>({type:"getDefaultLocale",sink:"i18n"})),i=e.state.filter(e=>e.languages&&void 0!==e.languages.active).map(e=>e.languages.active).skipRepeatsWith((e,a)=>JSON.stringify(e)===JSON.stringify(a)).map(e=>({type:"changeSettings",data:e,sink:"i18n"})),g=most.mergeArray([e.i18n.filter(e=>"getAvailableLanguages"===e.type).map(e=>e.data)]).thru(withLatestFrom(reducers.setAvailableLanguages,e.state)).map(e=>Object.assign({},{type:"setAvailableLanguages",sink:"state"},{state:e})).multicast(),n=a.map(e=>({sink:"store",key:"languages",type:"read"})),l=e.i18n.thru(holdUntil(g)).filter(e=>"getDefaultLocale"===e.type).map(e=>e.data).multicast().delay(1),r=e.store.filter(e=>"languages"===e.key&&"read"===e.type).thru(holdUntil(l)).map(e=>e.data.active).filter(e=>void 0!==e);return{initialize$:a,requestGetAvailableLanguages$:t,requestGetDefaultLanguage$:s,requestGetLanguageData$:i,setLanguage$:most.mergeArray([l,e.dom.select("#languageSwitcher").events("change").map(e=>e.target.value),r]).thru(withLatestFrom(reducers.setLanguage,e.state)).map(e=>Object.assign({},{type:"setLanguage",sink:"state"},{state:e})),setAvailableLanguages$:g,requestLoadSettings$:n,requestSaveSettings$:e.state.filter(e=>e.languages).map(e=>e.languages).thru(holdUntil(e.store.filter(e=>"languages"===e.key&&"read"===e.type))).map(reducers.requestSaveSettings).map(e=>Object.assign({},{data:e},{sink:"store",key:"languages",type:"write"})).multicast()}};module.exports=actions;
3328
3366
 
3329
- },{"../../most-utils":799,"most":744}],820:[function(require,module,exports){
3367
+ },{"../../most-utils":812,"most":757}],833:[function(require,module,exports){
3330
3368
  const path=require("path"),{applyParameterDefinitions:applyParameterDefinitions}=require("@jscad/core").parameters,{makeFakeFs:makeFakeFs}=require("@jscad/core").loading,{getDesignEntryPoint:getDesignEntryPoint,getDesignName:getDesignName}=require("@jscad/core").loading.requireDesignUtilsFs,{keep:keep}=require("../../utils/object"),packageMetadata=require("../../../package.json"),{availableExportFormatsFromSolids:availableExportFormatsFromSolids,exportFilePathFromFormatAndDesign:exportFilePathFromFormatAndDesign}=require("../../core/io/exportUtils"),designEqualityFields=["parameterDefinitions","parameterValues","mainPath","filesAndFolders","vtreeMode"],serializableFields=["name","mainPath","origin","parameterValues","vtreeMode","autoReload","instantUpdate","solidsTimeOut"],reducers={initialize:()=>{return{design:{name:"",path:"",mainPath:"",origin:void 0,filesAndFolders:[],instantUpdate:!1,autoReload:!1,parameterDefinitions:[],parameterValues:{},parameterDefaults:{},solidsTimeOut:8e4,solids:[],vtreeMode:!1,lookup:{},lookupCounts:{},debug:{startTime:0,endTime:0,totalTime:0}}}},resetDesign:(e,t)=>{const i=Object.assign({},e.design,keep(["name","path","mainPath","origin","filesAndFolders","parameterDefinitions","parameterValues","parameterDefaults","lookup","lookupCounts","debug","solids"],reducers.initialize().design));return i.origin=t,{design:i}},setDesignContent:(e,t)=>{const{filesAndFolders:i}=t,s=makeFakeFs(i),a=i[0].fullPath,n=getDesignEntryPoint(s,a),r=getDesignName(s,a),o=path.dirname(a);let d=e.design;const g=Object.assign({},e.design.debug,{startTime:new Date});return{design:d=Object.assign({},d,{name:r,path:o,mainPath:n,filesAndFolders:i,debug:g}),appTitle:`jscad v ${packageMetadata.version}: ${e.design.name}`,status:Object.assign({},e.status,{busy:!0,error:void 0})}},setDesignSolids:(e,{solids:t,lookup:i,lookupCounts:s})=>{t=t||[],i=i||{},s=s||{};const a=new Date,n=a-e.design.debug.startTime,r=Object.assign({},e.design.debug,{endTime:a,totalTime:n});console.warn("total time for design regeneration",n,(new Date).getSeconds());const o=Object.assign({},e.design,{solids:t,lookup:i,lookupCounts:s,debug:r}),{exportFormat:d,availableExportFormats:g}=availableExportFormatsFromSolids(t),l={exportFormat:d,exportFilePath:exportFilePathFromFormatAndDesign(o,d).exportFilePath,availableExportFormats:g};return{design:o,status:Object.assign({},e.status,{busy:!1}),io:l}},setDesignParameterDefinitions:(e,t)=>{const i=t.parameterDefaults||e.design.parameterDefaults,s=t.parameterDefinitions||e.design.parameterDefinitions;return{design:Object.assign({},e.design,{parameterDefaults:i,parameterDefinitions:s,parametersOrigin:t.origin})}},setDesignParameterValues:(e,t)=>{let i=t.parameterValues;"instantUpdate"!==t.origin||e.design.instantUpdate||(i=e.design.parameterValues),i=i?applyParameterDefinitions(i,e.design.parameterDefinitions):i,i=Object.assign({},e.design.parameterValues,i);let s=Object.assign({},e.design,{parameterValues:i,parametersOrigin:t.origin});const a=Object.assign({},e.design.debug,{startTime:new Date});return{design:s=Object.assign({},s,{debug:a}),status:Object.assign({},e.status,{busy:!0,error:void 0})}},setSettings:(e,{data:t})=>{const{vtreeMode:i,autoReload:s,instantUpdate:a,solidsTimeOut:n}=t;return void 0===i?{design:e.design}:{design:Object.assign({},e.design,{vtreeMode:i,autoReload:s,instantUpdate:a,solidsTimeOut:n})}},requestGeometryRecompute:({design:e},t)=>keep(["mainPath","parameterValues","filesAndFolders","vtreeMode","lookup","lookupCounts"],e),timeoutGeometryRecompute:({status:e},t)=>e.isBusy?Object.assign({},e,{busy:!1,error:new Error("Failed to generate design within an acceptable time, bailing out")}):{status:e},requestWriteCachedGeometry:({design:e},t)=>{const i={};return Object.keys(t).forEach(e=>{i[e]=t[e]}),{path:".solidsCache",options:{isRawData:!0},origin:e.origin}},requestSaveSettings:({design:e})=>keep(serializableFields,e),isDesignValid:e=>e.design&&e.design.name&&""!==e.design.path,isDesignTheSame:(e,t)=>{if(!e.design)return!1;const i=JSON.stringify(keep(designEqualityFields,t.design));return JSON.stringify(keep(designEqualityFields,e.design))===i},isDesignTheSameForSerialization:(e,t)=>{if(!e.design)return!1;const i=JSON.stringify(keep(serializableFields,t.design));return JSON.stringify(keep(serializableFields,e.design))===i},toggleAutoReload:(e,t)=>{return{design:Object.assign({},e.design,{autoReload:t})}},toggleInstantUpdate:(e,t)=>{return{design:Object.assign({},e.design,{instantUpdate:t})}},toggleVtreeMode:(e,t)=>{return{design:Object.assign({},e.design,{vtreeMode:t})}},setSolidsTimeout:(e,t)=>{return{design:Object.assign({},e.design,{solidsTimeOut:t})}}};module.exports=reducers;
3331
3369
 
3332
- },{"../../../package.json":787,"../../core/io/exportUtils":788,"../../utils/object":840,"@jscad/core":19,"path":688}],821:[function(require,module,exports){
3370
+ },{"../../../package.json":800,"../../core/io/exportUtils":801,"../../utils/object":853,"@jscad/core":19,"path":699}],834:[function(require,module,exports){
3333
3371
  const most=require("most"),{head:head}=require("@jscad/array-utils"),{holdUntil:holdUntil,withLatestFrom:withLatestFrom}=require("../../most-utils"),{getKeyCombos:getKeyCombos,isKeyEventScopeValid:isKeyEventScopeValid,simpleKey:simpleKey}=require("../../utils/keys"),{merge:merge}=require("../../utils/utils"),reducers={initialize:e=>e,setShortcuts:(e,t)=>{return{shortcuts:merge([],e.shortcuts,t)}},setShortcut:(e,t)=>{const s=t=>e.shortcuts.filter(e=>e.key===t).length>0;return{shortcuts:e.shortcuts.map(e=>{if(e.command===t.command&&e.args===t.args){if("inProgress"in t){const{inProgress:r,tmpKey:o}=t;if(r){const t=s(o)?"shortcut already exists":void 0;return Object.assign({},e,{inProgress:r,tmpKey:o,error:t})}return Object.assign({},e,{inProgress:r,tmpKey:o})}if(t.done&&!s(t.key)){const{command:s,args:r}=e;return{key:t.key,command:s,args:r}}return e}return e})}},triggerShortcut:(e,{event:t,compositeKey:s})=>{const r=head(e.shortcuts.filter(e=>e.key.toLowerCase()===s));if(r){const{command:e,args:t}=r;return{type:e,data:t}}},requestSaveSettings:e=>e},actions=({sources:e})=>{const t=most.just({}).thru(withLatestFrom(reducers.initialize,e.state)).map(e=>Object.assign({},{type:"initializeShortcuts",sink:"state"},{state:e})),s=most.mergeArray([e.store.filter(e=>"shortcuts"===e.key&&"read"===e.type&&e.data&&e.data.shortcuts).map(e=>e.data.shortcuts)]).thru(withLatestFrom(reducers.setShortcuts,e.state)).map(e=>Object.assign({},{type:"setShortcuts",sink:"state"},{state:e})),r=e.dom.select(".shortcutCommand").events("keyup").multicast(),o=e.dom.select(".shortcutCommand").events("keydown").multicast(),a=getKeyCombos({dropRepeats:!0,endKeys:["enter","escape"]},r,o);r.forEach(e=>(e.preventDefault(),e.stopPropagation(),!1)),o.forEach(e=>(e.preventDefault(),e.stopPropagation(),!1));const i=most.mergeArray([a.map(({event:e,compositeKey:t})=>({event:e,compositeKey:t,inProgress:!0})).merge(e.dom.select(".shortcutCommand").events("focus").map(e=>({event:e,compositeKey:"",inProgress:!0}))).merge(e.dom.select(".shortcutCommand").events("blur").map(e=>({event:e,compositeKey:"",inProgress:!1}))).merge(r.filter(e=>"escape"===simpleKey(e)).map(e=>({event:e,compositeKey:"",inProgress:!1}))).merge(r.filter(e=>"enter"===simpleKey(e)).map(e=>({event:e,done:!0}))).scan((e,t)=>{const{event:s,compositeKey:r,inProgress:o,done:a}=t,i=s.target.dataset.command,n=s.target.dataset.args,m=Object.assign({},e,{command:i,args:n,inProgress:o,done:a});return void 0!==r&&""!==r&&(m.key=r,m.tmpKey=r),"done"in m&&m.done&&(delete m.inProgress,delete m.tmpKey),m},{}).filter(e=>void 0!==e)]).thru(withLatestFrom(reducers.setShortcut,e.state)).map(e=>({type:"setShortcut",state:e,sink:"state"})).multicast(),n=e.dom.element.getAttribute("key"),m=most.fromEvent("keyup",e.dom.element).filter(e=>isKeyEventScopeValid(n,e.target)).multicast(),c=most.fromEvent("keydown",e.dom.element).filter(e=>isKeyEventScopeValid(n,e.target)).multicast(),u=getKeyCombos({dropRepeats:!1},m,c).thru(withLatestFrom(reducers.triggerShortcut,e.state)).filter(e=>void 0!==e),d=t.map(e=>({sink:"store",key:"shortcuts",type:"read"}));return{initialize$:t,setShortcut$:i,setShortcuts$:s,triggerFromShortcut$:u,requestLoadSettings$:d,requestSaveSettings$:e.state.filter(e=>e.shortcuts).map(e=>e.shortcuts).thru(holdUntil(e.store.filter(e=>"shortcuts"===e.key&&"read"===e.type))).map(reducers.requestSaveSettings).map(e=>Object.assign({},{data:e},{sink:"store",key:"shortcuts",type:"write"})).multicast()}};module.exports=actions;
3334
3372
 
3335
- },{"../../most-utils":799,"../../utils/keys":838,"../../utils/utils":842,"@jscad/array-utils":524,"most":744}],822:[function(require,module,exports){
3373
+ },{"../../most-utils":812,"../../utils/keys":851,"../../utils/utils":855,"@jscad/array-utils":524,"most":757}],835:[function(require,module,exports){
3336
3374
  const most=require("most"),{holdUntil:holdUntil,withLatestFrom:withLatestFrom}=require("../../most-utils"),{merge:merge}=require("../../utils/utils"),reducers={initialize:e=>{return{themes:{active:"light",themeSettings:{mainTextColor:"#FFF"}}}},setTheme:(e,t)=>{const s=require("../../../data/themes"),i=s[t]?s[t]:s.light;return{viewer:e.viewer?merge({},e.viewer,i.viewer):i.viewer,themes:Object.assign({},e.themes,{available:s,active:t,themeSettings:i})}},requestSaveSettings:e=>({active:e.active})},actions=({sources:e})=>{const t=most.just({}).thru(withLatestFrom(reducers.initialize,e.state)).map(e=>Object.assign({},{type:"initializeThemes",sink:"state"},{state:e})),s=most.mergeArray([e.dom.select("#themeSwitcher").events("change").map(e=>e.target.value),e.store.filter(e=>"themes"===e.key&&"read"===e.type&&e.data&&e.data.active).map(e=>e.data.active)]).startWith("light").thru(withLatestFrom(reducers.setTheme,e.state)).map(e=>Object.assign({},{type:"setTheme",sink:"state"},{state:e})),i=t.map(e=>({sink:"store",key:"themes",type:"read"}));return{initialize$:t,setTheme$:s,requestLoadSettings$:i,requestSaveSettings$:e.state.filter(e=>e.themes).map(e=>e.themes).thru(holdUntil(e.store.filter(e=>"themes"===e.key&&"read"===e.type))).map(reducers.requestSaveSettings).map(e=>Object.assign({},{data:e},{sink:"store",key:"themes",type:"write"})).multicast()}};module.exports=actions;
3337
3375
 
3338
- },{"../../../data/themes":674,"../../most-utils":799,"../../utils/utils":842,"most":744}],823:[function(require,module,exports){
3376
+ },{"../../../data/themes":674,"../../most-utils":812,"../../utils/utils":855,"most":757}],836:[function(require,module,exports){
3339
3377
  const most=require("most"),{withLatestFrom:withLatestFrom}=require("../../most-utils"),actions=({sources:e})=>{return{setActiveTool$:most.mergeArray([e.dom.select("#toggleOptions").events("click").map(e=>"options"),e.dom.select("#toggleEditor").events("click").map(e=>"editor"),e.dom.select("#toggleHelp").events("click").map(e=>"help"),e.dom.select(".example").events("mouseup").map(e=>void 0)]).thru(withLatestFrom((e,t)=>{return{activeTool:e.activeTool===t?void 0:t}},e.state)).map(e=>Object.assign({},{type:"setActiveTool",sink:"state"},{state:e}))}};module.exports=actions;
3340
3378
 
3341
- },{"../../most-utils":799,"most":744}],824:[function(require,module,exports){
3379
+ },{"../../most-utils":812,"most":757}],837:[function(require,module,exports){
3342
3380
  const most=require("most"),{withLatestFrom:withLatestFrom}=require("../../most-utils"),reducers={initialize:e=>{return{viewer:{rendering:{background:[1,1,1,1],meshColor:[0,.6,1,1],autoRotate:!1,autoZoom:!1},grid:{show:!1,color:[1,1,1,.1]},axes:{show:!0},camera:{position:""}}}},toggleAutoRotate:(e,t)=>{const r=Object.assign({},e.viewer.rendering,{autoRotate:t});return{viewer:Object.assign({},e.viewer,{rendering:r})}},toggleAutoZoom:(e,t)=>{const r=Object.assign({},e.viewer.rendering,{autoZoom:t});return{viewer:Object.assign({},e.viewer,{rendering:r})}},toggleGrid:(e,t)=>{const r=Object.assign({},e.viewer.grid,{show:t});return{viewer:Object.assign({},e.viewer,{grid:r})}},toggleAxes:(e,t)=>{const r=Object.assign({},e.viewer.axes,{show:t});return{viewer:Object.assign({},e.viewer,{axes:r})}},toPresetView:(e,t)=>{const r=Object.assign({},e.viewer.camera,{position:t});return{viewer:Object.assign({},e.viewer,{camera:r})}},setProjectionType:(e,t)=>{return{viewer:Object.assign({},e.viewer,{camera:{projectionType:t}})}}},actions=({sources:e})=>{const t=most.just({}).thru(withLatestFrom(reducers.initialize,e.state)).map(e=>Object.assign({},{type:"initializeViewer",sink:"state"},{state:e})),r=most.mergeArray([e.dom.select("#toggleGrid").events("click").map(e=>e.target.checked)]).thru(withLatestFrom(reducers.toggleGrid,e.state)).map(e=>({type:"toggleGrid",state:e,sink:"state"})),s=most.mergeArray([e.dom.select("#toggleAxes").events("click").map(e=>e.target.checked)]).thru(withLatestFrom(reducers.toggleAxes,e.state)).map(e=>({type:"toggleAxes",state:e,sink:"state"})),o=most.mergeArray([e.dom.select("#toggleAutoRotate").events("click").map(e=>e.target.checked)]).thru(withLatestFrom(reducers.toggleAutoRotate,e.state)).map(e=>({type:"toggleAutoRotate",state:e,sink:"state"})),i=most.mergeArray([e.dom.select("#toggleAutoZoom").events("click").map(e=>e.target.checked)]).thru(withLatestFrom(reducers.toggleAutoZoom,e.state)).map(e=>({type:"toggleAutoZoom",state:e,sink:"state"})),a=["toPresetView"];return{initializeViewer$:t,toggleGrid$:r,toggleAxes$:s,toggleAutoRotate$:o,toggleAutoZoom$:i,otherViewerActions$:e.actions.filter(e=>a.includes(e.type)).thru(withLatestFrom((e,t)=>reducers[t.type](e,t.data),e.state)).map(e=>({type:"otherActions",state:e,sink:"state"}))}};module.exports=actions;
3343
3381
 
3344
- },{"../../most-utils":799,"most":744}],825:[function(require,module,exports){
3382
+ },{"../../most-utils":812,"most":757}],838:[function(require,module,exports){
3345
3383
  const html=require("nanohtml"),{createParamControls:createParamControls}=require("./parameterControls"),designParameters=(e,t,a)=>{const{parameterValues:s,parameterDefinitions:r,parameterDefaults:n}=e.design;try{const{controls:i}=createParamControls(Object.assign({},n,s),r,t.callback);return html`
3346
3384
  <section id='params' style='visibility:${0===e.design.parameterDefinitions.length?"hidden":"visible"};color:${e.themes.themeSettings.secondaryTextColor}'>
3347
3385
  <span id='paramsTable'>
@@ -3358,7 +3396,7 @@ const html=require("nanohtml"),{createParamControls:createParamControls}=require
3358
3396
  </section>
3359
3397
  `}catch(t){t.stack=void 0,e.status.error=t}};module.exports=designParameters;
3360
3398
 
3361
- },{"./parameterControls":832,"nanohtml":780}],826:[function(require,module,exports){
3399
+ },{"./parameterControls":845,"nanohtml":793}],839:[function(require,module,exports){
3362
3400
  const html=require("nanohtml"),CodeMirror=require("codemirror");require("codemirror/mode/javascript/javascript"),require("codemirror/addon/hint/javascript-hint");const editorOptions={mode:"javascript",indentUnit:2,smartIndent:!1,indentWithTabs:!1,lineNumbers:!0,autofocus:!0};let editor,wrapper;const createFileTree=e=>{const r=e.getValue();return r&&r.length>0?[{ext:"js",fullPath:"/changes.js",mimetype:"javascript",name:"changes.js",source:r}]:null},createWrapper=(e,r)=>{if(!wrapper){(wrapper=html`
3363
3401
  <section class='popup-menu' id='editor' key='editor' style='visibility:${"editor"===e.activeTool?"visible":"hidden"}'>
3364
3402
  <textarea>
@@ -3369,12 +3407,12 @@ const html=require("nanohtml"),CodeMirror=require("codemirror");require("codemir
3369
3407
  </section>
3370
3408
  `).onkeydown=(e=>e.stopPropagation()),wrapper.onkeyup=(e=>e.stopPropagation()),(editor=CodeMirror.fromTextArea(wrapper.firstChild,editorOptions)).setOption("extraKeys",{Tab:e=>{const r=Array(e.getOption("indentUnit")+1).join(" ");e.replaceSelection(r)}});const r=document.getElementsByTagName("HEAD")[0],t=document.createElement("LINK");t.rel="stylesheet",t.href="./css/codemirror.css",r.appendChild(t)}return wrapper},editorWrapper=(e,r)=>{const t=createWrapper(e);if("editor"===e.activeTool){t.style.visibility="visible",t.focus();let i=e.shortcuts.find(e=>"reevaluate"===e.args);i||(i={args:"Shift-Enter"});let o=i.key.toUpperCase();const s={Tab:e=>{const r=Array(e.getOption("indentUnit")+1).join(" ");e.replaceSelection(r)}};s[o=(o=(o=(o=(o=o.replace(/enter/i,"Enter")).replace(/alt[+-]/i,"Alt-")).replace(/cmd[+-]/i,"Cmd-")).replace(/control[+-]/i,"Ctrl-")).replace(/shift[+-]/i,"Shift-")]=(e=>{const t=createFileTree(e);t&&r.callback({type:"read",id:"loadRemote",data:t})}),editor.setOption("extraKeys",s),editor.focus(),editor.scrollIntoView({line:0,ch:0}),setTimeout(()=>editor.refresh(),0)}else t.style.visibility="hidden";if(e.design&&e.design.filesAndFolders&&1===e.design.filesAndFolders.length){const r=e.design.filesAndFolders[0];let t=r.source?r.source:"";r.mimetype?r.mimetype.indexOf("javascript")<0&&(t="// imported from external format"):t="// imported from project",t!==editor.getValue()&&(editor.focus(),editor.setValue(t),editor.setCursor(0,0),editor.refresh())}return t};module.exports={editorWrapper:editorWrapper};
3371
3409
 
3372
- },{"codemirror":697,"codemirror/addon/hint/javascript-hint":696,"codemirror/mode/javascript/javascript":698,"nanohtml":780}],827:[function(require,module,exports){
3410
+ },{"codemirror":710,"codemirror/addon/hint/javascript-hint":709,"codemirror/mode/javascript/javascript":711,"nanohtml":793}],840:[function(require,module,exports){
3373
3411
  const html=require("nanohtml"),path=require("path"),examplesData=require("../../../examples/examples.json"),examples=(e,a)=>{const l=new URL(window.location.href);let t=("null"===l.origin?"file://":l.origin)+path.dirname(l.pathname);t=t.endsWith("/")?t:t+path.sep;const s=[];for(const e in examplesData){if(!Object.prototype.hasOwnProperty.call(examplesData,e))continue;const a=examplesData[e].map(e=>html`<li>
3374
3412
  <a class="example" title="${e.description}" data-path="${t}${e.filePath}" href="#"> ${e.title} </a>
3375
3413
  </li>`);s.push(html`<li>${e}<ul class="examples-list">${a}</ul></li>`)}return html`<ul class="examples-group">${s}</ul>`};module.exports=examples;
3376
3414
 
3377
- },{"../../../examples/examples.json":675,"nanohtml":780,"path":688}],828:[function(require,module,exports){
3415
+ },{"../../../examples/examples.json":675,"nanohtml":793,"path":699}],841:[function(require,module,exports){
3378
3416
  const html=require("nanohtml"),help=(l,e)=>{const n=require("./examples")(l,e);return html`
3379
3417
  <section id='help' class="popup-menu" style='visibility:${"help"===l.activeTool?"visible":"hidden"};' >
3380
3418
  <div>
@@ -3401,7 +3439,7 @@ const html=require("nanohtml"),help=(l,e)=>{const n=require("./examples")(l,e);r
3401
3439
  </section>
3402
3440
  `};module.exports=help;
3403
3441
 
3404
- },{"./examples":827,"nanohtml":780}],829:[function(require,module,exports){
3442
+ },{"./examples":840,"nanohtml":793}],842:[function(require,module,exports){
3405
3443
  const html=require("nanohtml"),io=(e,o)=>{const t=e.io.availableExportFormats.map(({name:t,displayName:l})=>{l=o.translate(l);const a=e.io.exportFormat?e.io.exportFormat.toLowerCase()===t.toLowerCase():void 0;return html`<option value=${t} selected='${a}'>
3406
3444
  ${l}
3407
3445
  </option>`}),l=e.io.availableExportFormats.length>0;return html`
@@ -3420,7 +3458,7 @@ const html=require("nanohtml"),io=(e,o)=>{const t=e.io.availableExportFormats.ma
3420
3458
  </span>
3421
3459
  `};module.exports=io;
3422
3460
 
3423
- },{"nanohtml":780}],830:[function(require,module,exports){
3461
+ },{"nanohtml":793}],843:[function(require,module,exports){
3424
3462
  const html=require("nanohtml"),dom=(e,r,t,o)=>{const i=e=>e;i.translate=(e=>e),r=r||i;const s=require("./options")(e,r),n=require("./designParameters")(e,t,r),a=require("./status")(e,r),d=require("./help")(e,r),m=require("./io")(e,r),p=require("./editor").editorWrapper(e,o,r),u=require("./toolbar")(e,r),l=require("./viewer")(e,r),h=require("./viewerControls")(e,r);if(e.themes&&e.themes.themeSettings){const{mainTextColor:r,secondaryTextColor:t}=e.themes.themeSettings,o=document.body;o.style.setProperty("--main-text-color",`${r}`),o.style.setProperty("--secondary-text-color",`${t}`)}return html`
3425
3463
  <div id='container'>
3426
3464
  <div id='header'>
@@ -3455,7 +3493,7 @@ const html=require("nanohtml"),dom=(e,r,t,o)=>{const i=e=>e;i.translate=(e=>e),r
3455
3493
  </div>
3456
3494
  `};module.exports=dom;
3457
3495
 
3458
- },{"./designParameters":825,"./editor":826,"./help":828,"./io":829,"./options":831,"./status":834,"./toolbar":835,"./viewer":836,"./viewerControls":837,"nanohtml":780}],831:[function(require,module,exports){
3496
+ },{"./designParameters":838,"./editor":839,"./help":841,"./io":842,"./options":844,"./status":847,"./toolbar":848,"./viewer":849,"./viewerControls":850,"nanohtml":793}],844:[function(require,module,exports){
3459
3497
  const html=require("nanohtml"),options=(e,t)=>{const l=e.languages.available.map(l=>{const i=e.languages.active===l.code;return html`<option value='${l.code}' selected=${i}>${t.translate(l.fullName)}</option>`}),i=Object.entries(e.themes.available).map(t=>{const l=t[0],i=t[1].name,s=e.themes.active===l;return html`<option value='${l}' selected=${s}>${i}</option>`}),s=require("./shortcuts")(e,t);return html`
3460
3498
  <section class="popup-menu" id='options' style='visibility:${"options"===e.activeTool?"visible":"hidden"}; color:${e.themes.themeSettings.secondaryTextColor}'>
3461
3499
 
@@ -3484,7 +3522,7 @@ const html=require("nanohtml"),options=(e,t)=>{const l=e.languages.available.map
3484
3522
 
3485
3523
  </section>`};module.exports=options;
3486
3524
 
3487
- },{"./shortcuts":833,"nanohtml":780}],832:[function(require,module,exports){
3525
+ },{"./shortcuts":846,"nanohtml":793}],845:[function(require,module,exports){
3488
3526
  const html=require("nanohtml");let paramControls,currentGroupName,currentGroupIsExpanded;const createParamControls=(e={},t,r)=>{return paramControls=[],currentGroupName="",currentGroupIsExpanded=!0,{controls:t.map(t=>createParamRowFromDefinition(t,e,r))}},createParamRowFromDefinition=(e,t,r)=>{const n=e.type.toLowerCase();return"group"===n?createGroupRowFromDefinition(e,t):createInputRowFromDefinition(n,e,t,r)},createGroupRowFromDefinition=(e,t)=>{let r=e.name+":",n="";"caption"in e&&(r=e.caption,n="caption"),currentGroupIsExpanded=e.name in t?"closed"!==t[e.name]:"closed"!==e.initial,currentGroupName=e.name;const o=html`<tr class=${"groupTitle "+(currentGroupIsExpanded?"open":"closed")} data-groupname=${currentGroupName} >
3489
3527
  <td class=${n} colspan="2">
3490
3528
  <h1>
@@ -3511,7 +3549,7 @@ const html=require("nanohtml");let paramControls,currentGroupName,currentGroupIs
3511
3549
  checked=${"checked"in e?a:""}
3512
3550
  />`;i.paramName=e.name,i.paramType=e.type;for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.indexOf(t)<0&&i.setAttribute(t,e[t]);return[i]};module.exports={createParamControls:createParamControls};
3513
3551
 
3514
- },{"nanohtml":780}],833:[function(require,module,exports){
3552
+ },{"nanohtml":793}],846:[function(require,module,exports){
3515
3553
  const html=require("nanohtml"),shortcuts=(t,r)=>{const e=t.shortcuts.map((t,e)=>{const{command:a,key:s,args:n,tmpKey:o,error:h}=t,d=o&&o.length>0?o:r.translate("type and hit enter"),l=t.inProgress?"":s,c=n||"";return html`
3516
3554
  <tr>
3517
3555
  <td>${r.translate(a)}: ${r.translate(c)}</td>
@@ -3544,7 +3582,7 @@ const html=require("nanohtml"),shortcuts=(t,r)=>{const e=t.shortcuts.map((t,e)=>
3544
3582
  </table>
3545
3583
  </section>`};module.exports=shortcuts;
3546
3584
 
3547
- },{"nanohtml":780}],834:[function(require,module,exports){
3585
+ },{"nanohtml":793}],847:[function(require,module,exports){
3548
3586
  const html=require("nanohtml"),status=(r,e)=>{const s=r.status;let t="",a="",o="";s.error&&(s.error.fileName&&!s.error.fileName.startsWith("blob")&&(t=`${s.error.fileName}:${s.error.lineNumber}:${s.error.columnNumber}`),a=`${s.error.name}: ${s.error.message}`,s.error.stack&&(o=s.error.stack.trim().split("\n").map(r=>html`<ul>${r}</ul>`)));const i=void 0!==s.error?html`<span>
3549
3587
  <div id='errormessage'>
3550
3588
  <p>
@@ -3564,7 +3602,7 @@ const html=require("nanohtml"),status=(r,e)=>{const s=r.status;let t="",a="",o="
3564
3602
  </span>
3565
3603
  `};module.exports=status;
3566
3604
 
3567
- },{"nanohtml":780}],835:[function(require,module,exports){
3605
+ },{"nanohtml":793}],848:[function(require,module,exports){
3568
3606
  const html=require("nanohtml"),toolbar=(t,e)=>{const o=html`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-settings"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>`,l=html`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-3"><polygon points="14 2 18 6 7 17 3 17 3 13 14 2"/><line x1="3" y1="22" x2="21" y2="22"/></svg>`,r=html`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12" y2="17"/></svg>`;return html`<span id='toolbar'>
3569
3607
  <button id='toggleOptions' aria-label='options'>
3570
3608
  ${o}
@@ -3577,10 +3615,10 @@ const html=require("nanohtml"),toolbar=(t,e)=>{const o=html`<svg xmlns="http://w
3577
3615
  </button>
3578
3616
  </span>`};module.exports=toolbar;
3579
3617
 
3580
- },{"nanohtml":780}],836:[function(require,module,exports){
3618
+ },{"nanohtml":793}],849:[function(require,module,exports){
3581
3619
  const html=require("nanohtml"),rendererStuff=require("@jscad/regl-renderer"),{pointerGestures:pointerGestures}=require("../../most-gestures"),{prepareRender:prepareRender,drawCommands:drawCommands,cameras:cameras,entitiesFromSolids:entitiesFromSolids}=rendererStuff,perspectiveCamera=cameras.perspective,orbitControls=rendererStuff.controls.orbit,rotateSpeed=.002,panSpeed=1,zoomSpeed=.08;let render,viewerOptions,camera=perspectiveCamera.defaults,controls=orbitControls.defaults,rotateDelta=[0,0],panDelta=[0,0],zoomDelta=0,zoomToFit=!1,updateView=!0;const grid={visuals:{drawCmd:"drawGrid",show:!0,color:[0,0,0,1],subColor:[0,0,1,.5],fadeOut:!1,transparent:!0},size:[200,200],ticks:[10,1]},axes={visuals:{drawCmd:"drawAxis",show:!0}};let prevSolids,prevEntities=[],prevColor=[];const viewer=(e,r)=>{const t=html`<canvas id='renderTarget'> </canvas>`;if(render){const r=e.design.solids.filter(e=>e&&e instanceof Object);if(prevSolids){const t=e.themes.themeSettings.viewer.rendering.meshColor,o=prevColor===t;compareSolids(r,prevSolids)&&o||(prevEntities=entitiesFromSolids({color:t},r),prevColor=t,zoomToFit=e.viewer.rendering.autoZoom)}if(prevSolids=r,e.themes&&e.themes.themeSettings){const r=e.themes.themeSettings.viewer;grid.visuals.color=r.grid.color,grid.visuals.subColor=r.grid.subColor,viewerOptions.rendering&&(viewerOptions.rendering.background=r.rendering.background,viewerOptions.rendering.meshColor=r.rendering.meshColor,updateView=!0)}if(viewerOptions.entities=[e.viewer.grid.show?grid:void 0,e.viewer.axes.show?axes:void 0,...prevEntities].filter(e=>void 0!==e),""!==e.viewer.camera.position){const r=cameras.camera.toPresetView(e.viewer.camera.position,{camera:camera});camera.position=r.position,perspectiveCamera.update(camera),e.viewer.camera.position=""}e.viewer.rendering&&(controls.autoRotate.enabled=e.viewer.rendering.autoRotate)}else{const e=setup(t);if(e.error)return html`<b style="color:red; background:white; position:fixed; z-index:10; top:50%">${e.error}</b>`;viewerOptions=e.viewerOptions,camera=e.camera,render=prepareRender(viewerOptions);const r=pointerGestures(t);window.addEventListener("resize",e=>{updateView=!0}),r.drags.forEach(e=>{const r=e.originalEvents[0],{x:t,y:o}=e.delta;!0===r.shiftKey||r.touches&&r.touches.length>2?(panDelta[0]+=t,panDelta[1]+=o):(rotateDelta[0]-=t,rotateDelta[1]-=o)}),r.zooms.forEach(e=>{zoomDelta-=e}),r.taps.filter(e=>2===e.nb).forEach(e=>{zoomToFit=!0});const o=()=>{if(rotateDelta[0]||rotateDelta[1]){const e=orbitControls.rotate({controls:controls,camera:camera,speed:.002},rotateDelta);rotateDelta=[0,0],controls={...controls,...e.controls},updateView=!0}if(panDelta[0]||panDelta[1]){const e=orbitControls.pan({controls:controls,camera:camera,speed:1},panDelta);panDelta=[0,0],camera.position=e.camera.position,camera.target=e.camera.target,updateView=!0}if(zoomDelta){const e=orbitControls.zoom({controls:controls,camera:camera,speed:.08},zoomDelta);controls={...controls,...e.controls},zoomDelta=0,updateView=!0}if(zoomToFit){controls.zoomToFit.tightness=1.5;const e=orbitControls.zoomToFit({controls:controls,camera:camera,entities:prevEntities});controls={...controls,...e.controls},zoomToFit=!1,updateView=!0}},a=e=>{if(o(),updateView){const e=orbitControls.update({controls:controls,camera:camera});controls={...controls,...e.controls},updateView=controls.changed,camera.position=e.camera.position,perspectiveCamera.update(camera),resize(t),render(viewerOptions)}window.requestAnimationFrame(a)};window.requestAnimationFrame(a)}return t},createContext=(e,r)=>{const t=r=>{try{const t=e.getContext(r);return t?{gl:t,type:r}:null}catch(e){return null}};return t("webgl2")||t("webgl")||t("experimental-webgl")||t("webgl-experimental")},setup=e=>{const r=Object.assign({},perspectiveCamera.defaults);r.position=[150,-180,233];const{gl:t,type:o}=createContext(e),a={glOptions:{gl:t},camera:r,drawCommands:{drawAxis:drawCommands.drawAxis,drawGrid:drawCommands.drawGrid,drawLines:drawCommands.drawLines,drawMesh:drawCommands.drawMesh},entities:[]};return"webgl"===o&&t.getExtension("OES_element_index_uint")&&(a.glOptions.optionalExtensions=["oes_element_index_uint"]),{viewerOptions:a,camera:r,error:void 0}},resize=e=>{const r=window.devicePixelRatio||1,t=e.getBoundingClientRect(),o=(t.right-t.left)*r,a=(t.bottom-t.top)*r,i=e.width,n=e.height;i===o&&n===a||(e.width=o,e.height=a,perspectiveCamera.setProjection(camera,camera,{width:o,height:a}),perspectiveCamera.update(camera,camera))};let idCounter=Date.now();const compareSolids=(e,r)=>(e=e.map(e=>(e.id||(e.id=++idCounter),e)),!!r&&(e.length===r.length&&e.reduce((t,o,a)=>t&&e[a].id===r[a].id,!0)));module.exports=viewer;
3582
3620
 
3583
- },{"../../most-gestures":791,"@jscad/regl-renderer":618,"nanohtml":780}],837:[function(require,module,exports){
3621
+ },{"../../most-gestures":804,"@jscad/regl-renderer":618,"nanohtml":793}],850:[function(require,module,exports){
3584
3622
  const html=require("nanohtml"),viewerControls=(e,o)=>html`
3585
3623
  <div id='controls'>
3586
3624
  <label for="toggleGrid">${o`grid`}</label>
@@ -3593,20 +3631,20 @@ const html=require("nanohtml"),viewerControls=(e,o)=>html`
3593
3631
  <input type="checkbox" id="toggleAutoZoom" checked=${e.viewer.rendering.autoZoom}/>
3594
3632
  </div>`;module.exports=viewerControls;
3595
3633
 
3596
- },{"nanohtml":780}],838:[function(require,module,exports){
3634
+ },{"nanohtml":793}],851:[function(require,module,exports){
3597
3635
  const compositeKeyFromKeyEvent=e=>{const t=e.ctrlKey?"ctrl+":"",o=e.shiftKey?"shift+":"",s=e.metaKey?"command+":"";let i=e.key.toLowerCase();return t&&"control"===i&&(i=""),o&&"shift"===i&&(i=""),s&&"meta"===i&&(i=""),`${t}${o}${s}${i}`},simpleKey=e=>e.key?e.key.toLowerCase():void 0,getKeyCombos=(e,t,o)=>{const{dropRepeats:s,endKeys:i}=Object.assign({},{dropRepeats:!1,endKeys:[]},e);o=o.multicast().debounce(10),s&&(o=o.skipRepeatsWith((e,t)=>simpleKey(e)===simpleKey(t)));const m=o.throttle(1e3).delay(2e3);return o.merge(t.map(e=>"end")).merge(m.map(e=>"end")).loop((e,t)=>{if("end"===t||i.includes(simpleKey(t))){return{seed:[],value:{event:e.length>0?e[0].event:void 0,compositeKey:e.map(e=>e.compositeKey).join("+")}}}{const o=simpleKey(t);e.push({event:t,compositeKey:o})}return{seed:e}},[]).filter(e=>void 0!==e).filter(e=>void 0!==e.event).multicast()},isKeyEventScopeValid=(e,t)=>!(!t.className||"jscad"!==t.className||t.getAttribute("key")!==e);module.exports={compositeKeyFromKeyEvent:compositeKeyFromKeyEvent,getKeyCombos:getKeyCombos,simpleKey:simpleKey,isKeyEventScopeValid:isKeyEventScopeValid};
3598
3636
 
3599
- },{}],839:[function(require,module,exports){
3637
+ },{}],852:[function(require,module,exports){
3600
3638
  const makeLogger=e=>{const{enabled:o}=Object.assign({},{enabled:!1},e);return{debug:(...e)=>{o&&console.debug(...e)},info:o?console.info.bind(window.console):()=>{},warning:(...e)=>{o&&console.warn(...e)},error:(...e)=>{o&&console.error(...e)}}};module.exports=makeLogger;
3601
3639
 
3602
- },{}],840:[function(require,module,exports){
3640
+ },{}],853:[function(require,module,exports){
3603
3641
  const omit=(e,t)=>Object.keys(t).reduce((c,i)=>(e.includes(i)||(c[i]=t[i]),c),{}),keep=(e,t)=>Object.keys(t).reduce((c,i)=>(e.includes(i)&&(c[i]=t[i]),c),{}),atKey=(e,t)=>e in t?e:{};module.exports={omit:omit,keep:keep,atKey:atKey};
3604
3642
 
3605
- },{}],841:[function(require,module,exports){
3643
+ },{}],854:[function(require,module,exports){
3606
3644
  const url=require("url"),fetchUriParams=(r,a,e)=>{const s=new URL(r);return s.searchParams.get(a)?s.searchParams.get(a):e},getAllUriParams=r=>url.parse(r,!0).query;module.exports={fetchUriParams:fetchUriParams,getAllUriParams:getAllUriParams};
3607
3645
 
3608
- },{"url":694}],842:[function(require,module,exports){
3646
+ },{"url":708}],855:[function(require,module,exports){
3609
3647
  const merge=(e={},s,o)=>(e=s,Object.keys(o).forEach(t=>{const r=o[t],c="object"==typeof r,f="function"==typeof r,n=Array.isArray(r);if(f)e[t]=o[t];else if(n){const r=s[t]||[];e[t]=Object.assign([],r,o[t])}else if(c){const o=s[t]||{};e[t]=merge({},o,r)}else e[t]=o[t]}),e);module.exports={merge:merge};
3610
3648
 
3611
- },{}]},{},[789])(789)
3649
+ },{}]},{},[802])(802)
3612
3650
  });