From 5f275795cae3e8d3b957b34df27acc42185656e6 Mon Sep 17 00:00:00 2001 From: Yuri Sulyma <> Date: Sun, 13 Mar 2022 00:05:39 -0500 Subject: [PATCH] Upgrade for Liqvid 2.1 --- .eslintrc.json | 1 + .gitignore | 3 + bundle.js | 1 - lib/HelpControl.tsx | 2 +- lib/Link.tsx | 5 +- lib/LoadingScreen.tsx | 2 - lib/ShowMarkerName.tsx | 29 +- lib/remember-volume.ts | 14 +- lib/seekonload.ts | 4 +- liqvid.config.ts | 33 + package-lock.json | 9291 ------------------------------- package.json | 50 +- recordings.js | 7 - rp-master.config.js | 18 - server.js | 30 - src/@development/controls.tsx | 28 +- src/@development/prompts.tsx | 4 +- src/AnimationSlide.tsx | 36 - src/CodeMirror.tsx | 14 +- src/Cursor.tsx | 12 +- src/Intro.tsx | 12 +- src/Paint.tsx | 14 +- src/PlaybackSlide.tsx | 2 - src/PlayerSlide.tsx | 2 - src/RecordingSlide.tsx | 15 +- src/ScriptSlide.tsx | 2 - src/UtilsSlide.tsx | 33 +- src/index.tsx | 68 +- src/markers.ts | 31 +- src/types.ts | 16 + static/bundle.js | 2457 ++++++++ index.html => static/index.html | 27 +- static/parent.html | 80 + static/recordings.json | 5 + style.css => static/style.css | 149 +- styl/style.styl | 36 +- tsconfig.json | 2 +- webpack.config.js | 5 +- yarn.lock | 3695 ++++++++++++ 39 files changed, 6625 insertions(+), 9610 deletions(-) delete mode 100644 bundle.js create mode 100644 liqvid.config.ts delete mode 100644 package-lock.json delete mode 100644 recordings.js delete mode 100644 rp-master.config.js delete mode 100644 server.js delete mode 100644 src/AnimationSlide.tsx create mode 100644 src/types.ts create mode 100644 static/bundle.js rename index.html => static/index.html (61%) create mode 100644 static/parent.html create mode 100644 static/recordings.json rename style.css => static/style.css (55%) create mode 100644 yarn.lock diff --git a/.eslintrc.json b/.eslintrc.json index 12f250a..8369f6c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -52,6 +52,7 @@ } }], + "react/react-in-jsx-scope": "off", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "off", diff --git a/.gitignore b/.gitignore index 9150e45..7e00248 100644 --- a/.gitignore +++ b/.gitignore @@ -10,5 +10,8 @@ node_modules *.png *.svg +# generated files +dist + # certificate /ssl diff --git a/bundle.js b/bundle.js deleted file mode 100644 index bc19b72..0000000 --- a/bundle.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e={534:e=>{var t=.1,r="function"==typeof Float32Array;function n(e,t){return 1-3*t+3*e}function s(e,t){return 3*t-6*e}function o(e){return 3*e}function i(e,t,r){return((n(t,r)*e+s(t,r))*e+o(t))*e}function a(e,t,r){return 3*n(t,r)*e*e+2*s(t,r)*e+o(t)}function c(e){return e}e.exports=function(e,n,s,o){if(!(0<=e&&e<=1&&0<=s&&s<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===n&&s===o)return c;for(var l=r?new Float32Array(11):new Array(11),u=0;u<11;++u)l[u]=i(u*t,e,s);function p(r){for(var n=0,o=1;10!==o&&l[o]<=r;++o)n+=t;--o;var c=n+(r-l[o])/(l[o+1]-l[o])*t,u=a(c,e,s);return u>=.001?function(e,t,r,n){for(var s=0;s<4;++s){var o=a(t,r,n);if(0===o)return t;t-=(i(t,r,n)-e)/o}return t}(r,c,e,s):0===u?c:function(e,t,r,n,s){var o,a,c=0;do{(o=i(a=t+(r-t)/2,n,s)-e)>0?r=a:t=a}while(Math.abs(o)>1e-7&&++c<10);return a}(r,n,n+t,e,s)}return function(e){return 0===e?0:1===e?1:i(p(e),n,o)}}},212:(e,t,r)=>{var n,s,o;self,e.exports=(n=r(363),s=r(881),o=r(341),(()=>{var e={926:e=>{function t(e,t,r,n,s,o,i){try{var a=e[o](i),c=a.value}catch(l){return void r(l)}a.done?t(c):Promise.resolve(c).then(n,s)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(s,o){var i=e.apply(r,n);function a(e){t(i,s,o,a,c,"next",e)}function c(e){t(i,s,o,a,c,"throw",e)}a(void 0)}))}}},154:e=>{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t{e.exports=r(666)},666:e=>{var t=function(e){var t,r=Object.prototype,n=r.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},o=s.iterator||"@@iterator",i=s.asyncIterator||"@@asyncIterator",a=s.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(U){c=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var s=t&&t.prototype instanceof y?t:y,o=Object.create(s.prototype),i=new P(n||[]);return o._invoke=function(e,t,r){var n=p;return function(s,o){if(n===d)throw new Error("Generator is already running");if(n===m){if("throw"===s)throw o;return M()}for(r.method=s,r.arg=o;;){var i=r.delegate;if(i){var a=C(i,r);if(a){if(a===f)continue;return a}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===p)throw n=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var c=u(e,t,r);if("normal"===c.type){if(n=r.done?m:h,c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=m,r.method="throw",r.arg=c.arg)}}}(e,r,i),o}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(U){return{type:"throw",arg:U}}}e.wrap=l;var p="suspendedStart",h="suspendedYield",d="executing",m="completed",f={};function y(){}function g(){}function v(){}var b={};b[o]=function(){return this};var E=Object.getPrototypeOf,w=E&&E(E(R([])));w&&w!==r&&n.call(w,o)&&(b=w);var x=v.prototype=y.prototype=Object.create(b);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function r(s,o,i,a){var c=u(e[s],e,o);if("throw"!==c.type){var l=c.arg,p=l.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){r("next",e,i,a)}),(function(e){r("throw",e,i,a)})):t.resolve(p).then((function(e){l.value=e,i(l)}),(function(e){return r("throw",e,i,a)}))}a(c.arg)}var s;this._invoke=function(e,n){function o(){return new t((function(t,s){r(e,n,t,s)}))}return s=s?s.then(o,o):o()}}function C(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=t,C(e,r),"throw"===r.method))return f;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var s=u(n,e.iterator,r.arg);if("throw"===s.type)return r.method="throw",r.arg=s.arg,r.delegate=null,f;var o=s.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,f):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,f)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function R(e){if(e){var r=e[o];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,i=function r(){for(;++s=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return s("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),l=n.call(i,"finallyLoc");if(c&&l){if(this.prev=0;--r){var s=this.tryEntries[r];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var s=n.arg;S(r)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:R(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=t}catch(o){Function("r","regeneratorRuntime = r")(t)}},916:function(e,t,r){var n,s;"undefined"!=typeof self&&self,e.exports=(n=r(888),s=r(576),(()=>{var e={281:(e,t,r)=>{r.r(t),r.d(t,{CodeEditor:()=>o,CodeReplay:()=>c});var n=r(888),s=r(576);{const e=document.createElement("style");e.type="text/css",document.head.appendChild(e),e.sheet.insertRule(".CodeMirror [contenteditable]{-webkit-user-select: text;user-select: text;}",0)}class o extends n.Component{constructor(e,t){super(e,t),this.player=t,this.ready=new Promise((e=>{this.setReady=e}))}async componentDidMount(){const e=Object.assign({indentUnit:4,lineNumbers:!0,tabSize:4},(t=this.props,["mode","readOnly","theme"].map((e=>e in t?{[e]:t[e]}:{})).reduce(((e,t)=>Object.assign(e,t)),{})));var t;this.editor=window.CodeMirror((e=>{this.placeholder.parentNode.replaceChild(e,this.placeholder)}),e);const r=this.editor.getWrapperElement();Object.assign(r.style,this.props.style);const n=this.props.className?this.props.className.split(" "):[];for(const s of n)r.classList.add(s);r.addEventListener("mouseup",s.Player.preventCanvasClick),this.editor.on("keydown",((e,t)=>{t.key.match(/^[A-Z]$/i)&&this.props.hint&&this.editor.showHint({hint:this.props.hint,completeSingle:!1,customKeys:{Down:(e,t)=>t.moveFocus(1),Up:(e,t)=>t.moveFocus(-1),Tab:(e,t)=>t.pick()}})})),this.editor.on("focus",(()=>{this.props.readOnly||this.player.suspendKeyCapture()})),this.editor.on("blur",(()=>{this.props.readOnly||this.player.resumeKeyCapture()})),this.editor.addKeyMap({Tab(e){const t=Array(e.getOption("indentUnit")+1).join(" ");e.getDoc().replaceSelection(t)}}),this.editor.addKeyMap(this.props.keyMap),this.setReady()}shouldComponentUpdate(e){if(!this.editor)return;const t=this.editor.getWrapperElement().style;for(const r in this.props.style)e.hasOwnProperty(r)||t.removeProperty(r.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`)));return Object.assign(t,e.style),!1}render(){return n.createElement("div",{ref:e=>this.placeholder=e})}}o.contextType=s.Player.Context,o.defaultProps={keyMap:{},readOnly:!1,style:{}};const{bind:i}=s.Utils.misc,{parseTime:a}=s.Utils.time;class c extends n.Component{constructor(e,t){super(e,t),this.player=t,i(this,["blinkCursor","onTimeUpdate","poll"]),"string"==typeof e.start?e.start.match(/^(?:(?:(\d+):)?(\d+):)?(\d+)(?:\.(\d+))?$/)?this.start=a(e.start):this.start=this.player.script.markerByName(e.start)[1]:this.start=e.start,this.i=0,this.lastTime=0,this.cursorState={line:0,ch:0},this.broadcast=e.broadcast,this.replay=this.props.replay,this.times=this.replay.map((e=>e[0]));for(let r=1;r{const e=this.codeEditor.editor,t=e.getWrapperElement().querySelector(".CodeMirror-cursors");this.cursorDiv=p('\n
\n
 
\n
\n '),this.cursor=this.cursorDiv.firstElementChild,t.parentNode.replaceChild(this.cursorDiv,t),this.setCursor(this.getCursor()),setInterval(this.blinkCursor,e.getOption("cursorBlinkRate")),this.selectionsDiv=p('
'),this.cursorDiv.parentNode.insertBefore(this.selectionsDiv,this.cursorDiv)}))}onTimeUpdate(e){const t=e-this.start,r=this.codeEditor.editor;if(!r)return;const n={cursor:this.getCursor(),selection:r.getDoc().listSelections()[0],value:r.getValue().split("\n")},s=this.i;if(this.lastTime<=e&&this.i
');return Object.assign(s.style,{left:`${e}px`,top:`${t}px`,width:`${r}px`,height:`${n}px`}),s}}render(){const e=(t=this.props,["className","mode","style","theme"].map((e=>e in t?{[e]:t[e]}:{})).reduce(((e,t)=>Object.assign(e,t)),{}));var t;return n.createElement(o,Object.assign({ref:e=>this.codeEditor=e,readOnly:!0},e))}}function l(e,t,r,n){r=u(e,r),n=u(e,n);const s=e[r.line].slice(0,r.ch),o=e[n.line].slice(n.ch,e[n.line].length),i=1===t.length?[s+t[0]+o]:[s+t[0],...t.slice(1,t.length-1),t[t.length-1]+o];e.splice(r.line,n.line-r.line+1,...i)}function u(e,t){const r=e.length-1;return t.line>r?{line:r,ch:e[r].length}:function(e,t){return null==e.ch||e.ch>t?{line:e.line,ch:t}:e.ch<0?{line:e.line,ch:0}:e}(t,e[t.line].length)}function p(e){const t=document.createElement("template");return t.innerHTML=e,t.content.cloneNode(!0).firstElementChild}c.contextType=s.Player.Context,c.defaultProps={replay:[]}},576:e=>{e.exports=s},888:e=>{e.exports=n}},t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(281)})())},996:(e,t,r)=>{r.r(t),r.d(t,{CodeBooth:()=>m});var n=r(888),s=r(742),o=r(916);function i(e){let t;const r=new Set,n=(e,n)=>{const s="function"==typeof e?e(t):e;if(s!==t){const e=t;t=n?s:Object.assign({},t,s),r.forEach((r=>r(t,e)))}},s=()=>t,o={setState:n,getState:s,subscribe:(e,n,o)=>n||o?((e,n=s,o=Object.is)=>{let i=n(t);function a(){const r=n(t);if(!o(i,r)){const t=i;e(i=r,t)}}return r.add(a),()=>r.delete(a)})(e,n,o):(r.add(e),()=>r.delete(e)),destroy:()=>r.clear()};return t=e(n,s,o),o}const a="undefined"==typeof window?n.useEffect:n.useLayoutEffect,c=function(e){const t="function"==typeof e?i(e):e,r=(e=t.getState,r=Object.is)=>{const[,s]=(0,n.useReducer)((e=>e+1),0),o=t.getState(),i=(0,n.useRef)(o),c=(0,n.useRef)(e),l=(0,n.useRef)(r),u=(0,n.useRef)(!1),p=(0,n.useRef)();let h;void 0===p.current&&(p.current=e(o));let d=!1;(i.current!==o||c.current!==e||l.current!==r||u.current)&&(h=e(o),d=!r(p.current,h)),a((()=>{d&&(p.current=h),i.current=o,c.current=e,l.current=r,u.current=!1}));const m=(0,n.useRef)(o);return a((()=>{const e=()=>{try{const e=t.getState(),r=c.current(e);l.current(p.current,r)||(i.current=e,p.current=r,s())}catch(e){u.current=!0,s()}},r=t.subscribe(e);return t.getState()!==m.current&&e(),r}),[]),d?h:p.current};return Object.assign(r,t),r[Symbol.iterator]=function*(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4"),yield r,yield t},r}((0,r(316).$e)({messages:[],mode:"javascript",pane:"replay"},(e=>({})))),{dragHelperReact:l}=s.Utils.interactivity,{constrain:u}=s.Utils.misc;function p(){const e=c((e=>e.messages)),t=(0,n.useRef)(),r=(0,n.useMemo)((()=>l(((e,{x:r})=>{const n=t.current.parentElement,s=n.getBoundingClientRect();n.style.setProperty("--split",100*u(.25,(r-s.left)/s.width,.75)+"%")}))),[]);return n.createElement("pre",{className:"rp-codebooth-output",onMouseUp:s.Player.preventCanvasClick,ref:t},["ew"].map((e=>n.createElement("div",Object.assign({key:e},r,{className:`ui-resizable-handle ui-resizable-${e}`,style:{zIndex:90}})))),e.map(((e,t)=>n.createElement("span",{key:t,className:e.classNames.join(" ")},e.text))))}var h=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(e);se.pane));i&&(0,n.useEffect)((()=>{y.current.ready.then((()=>{i.connect(y.current)}))}),[]);const v=(0,n.useCallback)((e=>{const t=e.currentTarget.classList.contains("button-replay")?"replay":"playground";c.setState({pane:t})}),[]),b=(0,n.useCallback)((e=>{y.current.editor.setValue(f.current.codeEditor.editor.getValue())}),[]),E=(0,n.useCallback)(((e,r,n)=>{if("fwd"===e)if("Cmd-Enter"===r||"Ctrl-Enter"===r){const e=n.value.join("\n");let r;try{const n=t.runSync(e);r=n.map((e=>({classNames:["replay"],text:e})))}catch(s){r=s.args?[{classNames:["replay","error"],text:s.args.v[0].v+"\n"}]:[{classNames:["replay","error"],text:s+"\n"}]}c.setState((e=>({messages:e.messages.concat(r)})))}else"Cmd-K"===r&&c.setState((e=>({messages:e.messages.filter((e=>!e.classNames.includes("replay")))})))}),[]),w=(0,n.useCallback)((async e=>{const r="replay"===c.getState().pane?f.current.codeEditor.editor:y.current.editor;let n;try{const e=await t.run(r.getValue());n=e.map((e=>({classNames:["user"],text:e})))}catch(e){console.log(e),n=e.args?[{classNames:["user","error"],text:e.args.v[0].v+"\n"}]:[{classNames:["user","error"],text:e+"\n"}]}c.setState((e=>({messages:e.messages.concat(n)})))}),[]),x=(0,n.useCallback)((()=>c.setState({messages:[]})),[]),k=(0,n.useMemo)((()=>d(v)),[]),O=(0,n.useMemo)((()=>d(b)),[]),C=(0,n.useMemo)((()=>d(w)),[]),j=(0,n.useMemo)((()=>d(x)),[]),S=(0,n.useMemo)((()=>({"Cmd-Enter":w,"Ctrl-Enter":w,"Cmd-K":x})),[]);return m.className||(m.className=""),m.className+=` rp-codebooth active-${g}`,n.createElement("div",Object.assign({},m),i?n.createElement(o.CodeEditor,{className:"code-playground",keyMap:S,mode:r,recorder:i,ref:y,theme:u}):n.createElement(n.Fragment,null,n.createElement(o.CodeReplay,{className:"code-replay",command:E,keyMap:S,mode:r,ref:f,replay:a,start:e.start,theme:u}),n.createElement(o.CodeEditor,{className:"code-playground",keyMap:S,mode:r,ref:y,theme:u})),n.createElement("div",{onMouseUp:s.Player.preventCanvasClick},n.createElement("button",Object.assign({className:"button-replay"},k),"Code"),n.createElement("button",Object.assign({className:"button-playground"},k),"Playground"),n.createElement("button",Object.assign({className:"button-copy"},O),"Copy"),n.createElement("button",Object.assign({className:"button-run"},C,{title:"Cmd+Enter"}),"Run"),n.createElement("button",Object.assign({className:"button-clear"},j,{title:"Cmd+K"}),"Clear")),n.createElement(p,null))}},316:(e,t,r)=>{var n=r(757),s=r(926),o=r(154);function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}i(n),i(s),i(o),t.$e=function(e,t){return function(r,n,s){return Object.assign({},e,t(r,n,s))}}},742:e=>{e.exports=s},576:e=>{e.exports=o},888:e=>{e.exports=n}},t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(996)})())},160:(e,t,r)=>{var n,s;self,e.exports=(n=r(363),s=r(341),(()=>{var e={838:(e,t,r)=>{r.r(t),r.d(t,{default:()=>a});var n=r(888),s=r(576);const{replay:o}=s.Utils.animation,{between:i}=s.Utils.misc;function a(e){const{playback:t,script:r}=(0,s.usePlayer)(),a=n.useRef(),c=r.parseStart(e.start),l=r.parseEnd(e.end);n.useEffect((()=>{const{display:r}=a.current.style;a.current.style.display="block";const{height:n,width:s}=a.current.getBoundingClientRect();a.current.style.display=r;const i=o({data:e.replay,start:c,end:l,active:([e,t])=>{Object.assign(a.current.style,{opacity:1,left:`calc(${e}% - ${s/2}px)`,top:`calc(${t}% - ${n/2}px)`})},inactive:()=>{a.current.style.opacity="0"},compressed:!0});return t.hub.on("seek",i),t.hub.on("timeupdate",i),i(t.currentTime),()=>{t.hub.off("seek",i),t.hub.off("timeupdate",i)}}),[a.current]);const u={pointerEvents:"none",position:"absolute",zIndex:1e3};return i(c,t.currentTime,l)&&(u.opacity=0),n.createElement("img",{className:"rp-cursor",ref:a,src:e.src,style:u})}},576:e=>{e.exports=s},888:e=>{e.exports=n}},t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}return r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(838)})())},891:(e,t,r)=>{var n,s;self,e.exports=(n=r(363),s=r(341),(()=>{var e={829:(e,t,r)=>{r.r(t),r.d(t,{PaintCanvas:()=>re,PaintReplay:()=>me});var n=r(888),s=r(576);function o(e){const t={};for(let r in e)t[r]=e[r].current;return t}const i={type:"change-sheet",preprocess(e){return this.state.activeSheet=e.sheet,!0},process(e){const{state:t}=this;if(e.sheet>=this.state.numSheets&&(this.state.numSheets=e.sheet+1),e.sheet!==this.state.activeSheet){const[e,t]=this.consume({test:e=>"change-sheet"!==e.type})}return!0}},a={type:"clear",process(e){const{stable:t}=this.layers;return t.getContext("2d").clearRect(0,0,t.width,t.height),!0}},{ceil:c,floor:l,max:u,min:p}=Math,h={type:"set-stroke-style",process(e){for(const t of[this.contexts.stable,this.contexts.temp,this.state])t.strokeStyle=e.strokeStyle;return!0}},d={type:"move-to",process(e){const{lineWidth:t,strokeStyle:r}=this.state,[n,s]=this.consume({test:e=>"line-to"===e.type}),o=[[e.x,e.y],...n.map((e=>[e.x,e.y]))],i=s?this.layers.stable:this.layers.temp,a=i.getContext("2d"),{height:c,width:u}=i;if(a.lineJoin=a.lineCap="round",a.strokeStyle=r,a.lineWidth=t,1===o.length)a.fillStyle=r,a.fillRect(l(u*o[0][0]-t/2),l(c*o[0][1]-t/2),t,t);else{a.beginPath(),a.moveTo(l(o[0][0]*u),l(o[0][1]*c));for(let e=0,t=o.length;eb[e].preprocess)).length;for(let t=this.feed.length-1;t>=0;--t){const r=this.feed[t];if(!b.hasOwnProperty(r.type))continue;const n=b[r.type];if(n.hasOwnProperty("preprocess")&&(n.preprocess.call(this,r)&&e--,0===e))break}}process(){for(;this.i{e.listen((e=>{e.altKey&&e.keyCode===P&&(e.preventDefault(),e.stopPropagation(),t({type:"set-tool",name:"draw"}))}))}),[]);const s=["rp-paint-tool"];"draw"===r.current.tool&&s.push("selected");const o=(0,n.useMemo)((()=>S((()=>{t({type:"set-tool",name:"draw"})}))),[]);return n.createElement("button",Object.assign({className:s.join(" ")},o),n.createElement("svg",{viewBox:"0 0 100 100"},O))}const{onClick:M}=s.Utils.mobile,U=67,N=69;function L(e){const{consumer:t,dispatch:r,$state:s}=(0,n.useContext)(ee);(0,n.useEffect)((()=>{e.listen((e=>{e.altKey&&!e.metaKey&&e.keyCode===N?(e.preventDefault(),e.stopPropagation(),r({type:"set-tool",name:"eraser"})):e.altKey&&!e.metaKey&&e.keyCode===U&&(e.preventDefault(),e.stopPropagation(),t.record({type:"clear"}),t.repaint())}))}),[]);const o=["rp-paint-tool"];"eraser"===s.current.tool&&o.push("selected");const i=(0,n.useMemo)((()=>M((()=>{r({type:"set-tool",name:"eraser"})}))),[]);return n.createElement("button",Object.assign({className:o.join(" ")},i),n.createElement(C,null))}const{between:T}=s.Utils.misc,{onClick:$}=s.Utils.mobile;function D(e){const[t,r]=(0,n.useState)(!1),{consumer:s,$state:o,dispatch:i}=(0,n.useContext)(ee),a=o.current,c=(0,n.useRef)(["#ffffff","#ff0000","#1a69b5","#008000","#ae81ff","#ff8000","#ff0080"]),[l,u]=(0,n.useState)(c.current);c.current=l,(0,n.useEffect)((()=>{e.listen((e=>{if(e.altKey&&!e.metaKey&&T(49,e.keyCode,49+l.length)){e.preventDefault(),e.stopPropagation();const t={type:"set-stroke-style",strokeStyle:c.current[e.keyCode-49]};s.record(t),i(t)}else e.altKey&&"h"===e.key&&document.querySelectorAll(".rp-paint-replay")}))}),[]);const p=(0,n.useMemo)((()=>$((()=>{r((e=>!e))}))),[]),h=(0,n.useMemo)((()=>({onChange:e=>{const t=e.currentTarget.value,r=e.currentTarget.name.match(/^palette-(\d+)$/)[1];u((e=>{const n=e.slice();return n[r]=t,n}))}})),[]);return n.createElement(n.Fragment,null,n.createElement("aside",{className:"rp-paint-palette",style:{display:t?"block":"none"}},l.map(((e,t)=>n.createElement("div",{className:"rp-paint-color",key:t},n.createElement("input",Object.assign({},h,{name:`palette-${t}`,type:"color",value:e})),n.createElement("kbd",null,t+1))))),n.createElement("button",Object.assign({className:"rp-paint-tool rp-paint-format"},p,{style:{backgroundColor:a.strokeStyle}})))}const{range:_}=s.Utils.misc,{onClick:H}=s.Utils.mobile;function A(e){const{consumer:t}=(0,n.useContext)(ee),[r,s]=(0,n.useState)(!1),o=(0,n.useRef)([]);(0,n.useEffect)((()=>{e.listen((e=>{if(e.altKey)if("ArrowDown"===e.key){o.current[t.state.activeSheet]=t.layers.stable.toDataURL();const e={type:"change-sheet",sheet:t.state.activeSheet+1};t.record(e),t.repaint(!0)}else if("ArrowUp"===e.key){if(0===t.state.activeSheet)return;o.current[t.state.activeSheet]=t.layers.stable.toDataURL();const e={type:"change-sheet",sheet:t.state.activeSheet-1};t.record(e),t.repaint(!0)}}))}),[]);const i=(0,n.useMemo)((()=>H((()=>{s((e=>(e||(o.current[t.state.activeSheet]=t.layers.stable.toDataURL()),!e)))}))),[]);return n.createElement(n.Fragment,null,n.createElement("aside",{className:"rp-sheets-dialog",style:{display:r?"block":"none"}},n.createElement("ol",null,_(t.state.numSheets).map((e=>n.createElement("li",{className:e===t.state.activeSheet?"selected":"",key:e},n.createElement("img",{src:o.current[e]})))))),n.createElement("button",Object.assign({className:["rp-paint-tool"].join(" ")},i),n.createElement(j,null)))}const{replay:F}=s.Utils.animation,{dragHelperReact:B}=s.Utils.interactivity,{between:z}=s.Utils.misc,{onClick:W}=s.Utils.mobile;function K(){const{consumer:e}=(0,n.useContext)(ee),t=((0,n.useContext)(s.Player.Context),(0,n.useRef)()),[r,o]=(0,n.useState)(!1),i=(0,n.useRef)([]),a=(0,n.useCallback)((e=>{i.current.push(e)}),[]);(0,n.useEffect)((()=>{const r=r=>{if("p"===r.key)return o((e=>!e));"h"===r.key?I(t.current,".rp-paint-canvas-container").classList.toggle("visible"):"z"===r.key&&r.metaKey&&e.record({type:"undo"});for(const e of i.current)e(r)};return document.body.addEventListener("keydown",r),()=>{document.body.removeEventListener("keydown",r)}}),[r]);const c=(0,n.useMemo)((()=>{let e,r;return B(((n,s)=>{const o=function(e){if(void 0!==e.offsetLeft&&void 0!==e.offsetTop)return{left:e.offsetLeft,top:e.offsetTop,width:e.offsetParent.getBoundingClientRect().width,height:e.offsetParent.getBoundingClientRect().height};const t=e.getBoundingClientRect();let r=e;for(;r=r.parentNode;){if(!["absolute","relative"].includes(getComputedStyle(r).position))continue;const e=r.getBoundingClientRect();return{left:t.left-e.left,top:t.top-e.top,width:e.width,height:e.height}}return{left:t.left,top:t.top,width:innerWidth,height:innerHeight}}(t.current),i=o.left+s.x-e,a=o.top+s.y-r,c=i/o.width*100,l=a/o.height*100;e=s.x,r=s.y,Object.assign(t.current.style,{left:`${c}%`,top:`${l}%`})}),((t,n)=>{e=n.x,r=n.y}))}),[]);return n.createElement("aside",{className:"rp-paint-settings",ref:t,style:{display:r?"block":"none"}},n.createElement("div",Object.assign({className:"rp-paint-drag-handle"},c)),n.createElement(R,Object.assign({},{listen:a})),n.createElement(L,Object.assign({},{listen:a})),n.createElement(D,Object.assign({},{listen:a})),n.createElement(A,Object.assign({},{listen:a})))}function I(e,t){if(e)return e.matches(t)?e:I(e.parentNode,t)}const{replay:q}=s.Utils.animation,{dragHelperReact:G}=s.Utils.interactivity,{between:V}=s.Utils.misc,J={draw:w,eraser:k},Y={tool:"draw",strokeStyle:"#000000",lineWidth:2},{floor:Z,max:Q,min:X}=Math,ee=n.createContext(null);function te(e,t){switch(t.type){case"set-stroke-style":return Object.assign(Object.assign({},e),{strokeStyle:t.strokeStyle});case"set-tool":return Object.assign(Object.assign({},e),{tool:t.name})}return e}function re(e){const t=(0,n.useRef)([]),r={aid:(0,n.useRef)(),stable:(0,n.useRef)(),temp:(0,n.useRef)()},[s,i]=(0,n.useReducer)(te,Y),a=(0,n.useRef)(Y);a.current=s;const c=(0,n.useRef)(new E({feed:t.current,record(t){var r;null===(r=e.recorder)||void 0===r||r.captureAction(t),this.feed.push(t)}})),l=c.current,u={consumer:c.current,dispatch:i,layers:o(r),$state:a},p=(0,n.useMemo)((()=>Object.assign({onMouseMove:e=>{var t;const n=J[a.current.tool];null===(t=n.hover)||void 0===t||t.call(n,{layers:o(r),hit:{x:e.clientX,y:e.clientY}})}},G(((e,t)=>{var n;const s=J[a.current.tool];null===(n=s.move)||void 0===n||n.call(s,{e,hit:t,consumer:l,layers:o(r)})}),((e,t)=>{var n;const s=J[a.current.tool];null===(n=s.down)||void 0===n||n.call(s,{e,hit:t,consumer:l,layers:o(r),state:a.current})}),(e=>{var t;const n=J[a.current.tool];null===(t=n.up)||void 0===t||t.call(n,{e,consumer:l,layers:o(r)})})))),[]);return n.useEffect((()=>{function e(){for(const e in r){const t=r[e].current,n=t.getBoundingClientRect();t.height=n.height,t.width=n.width}l.repaint(!0)}return l.layers=o(r),window.addEventListener("resize",e),e(),()=>{window.removeEventListener("resize",e)}}),[r.temp.current,r.stable.current]),n.createElement("div",{className:"rp-paint-canvas-container"},n.createElement(ee.Provider,{value:u},n.createElement("canvas",{id:"stable",className:"rp-paint-layer noinput",ref:r.stable}),n.createElement("canvas",Object.assign({id:"temp",className:"rp-paint-layer"},p,{ref:r.temp})),n.createElement("canvas",{className:"rp-paint-layer noinput",ref:r.aid}),n.createElement(K,null)))}const{ceil:ne,floor:se,max:oe,min:ie}=Math;function ae({action:e,consume:t,stable:r,state:n,temp:s}){const{lineWidth:o,strokeStyle:i}=n,a=r.getContext("2d"),c=s.getContext("2d");switch(e.type){case"change-sheet":return e.sheet>=n.sheets.length&&(n.sheets.length=e.sheet),e.sheet!==n.activeSheet&&a.clearRect(0,0,r.width,r.height),n.activeSheet=e.sheet,!0;case"set-stroke-style":return a.strokeStyle=n.strokeStyle=c.strokeStyle=e.strokeStyle,!0;case"clear":return a.clearRect(0,0,r.width,r.height),!0;case"erase":{const t=r.getContext("2d");return t.save(),t.beginPath(),t.globalCompositeOperation="destination-out",t.arc(se(e.x*r.width),se(e.y*r.height),se(e.r*r.width),0,2*Math.PI),t.fill(),t.restore(),!0}case"move-to":const[l,u]=t({test:e=>"line-to"===e.type}),p=[[e.x,e.y],...l.map((e=>[e.x,e.y]))],h=u?r:s,d=h.getContext("2d"),{height:m,width:f}=h;if(d.lineJoin=d.lineCap="round",d.strokeStyle=n.strokeStyle,d.lineWidth=n.lineWidth,1===p.length)d.fillStyle=i,d.fillRect(se(f*p[0][0]-o/2),se(m*p[0][1]-o/2),o,o);else{d.beginPath(),d.moveTo(se(p[0][0]*f),se(p[0][1]*m));for(let e=0,t=p.length;e{var t;const n=null!==(t=o.parseStart(e.start))&&void 0!==t?t:0;let s=r.currentTime,l=0,u=0;function p(e=r.currentTime,t=!1){const o=c.stable.current,h=o.getContext("2d"),d=c.temp.current,m=d.getContext("2d"),{lineWidth:f,strokeStyle:y}=a.current;if((e{window.removeEventListener("resize",h),r.hub.off("seek",p),r.hub.off("timeupdate",p)}}),[c.stable.current,c.temp.current]),n.createElement("div",{className:"rp-paint-view"},n.createElement("canvas",{className:"rp-paint-layer noinput",ref:c.temp}),n.createElement("canvas",{className:"rp-paint-layer noinput",ref:c.stable}))}},576:e=>{e.exports=s},888:e=>{e.exports=n}},t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(829)})())},881:e=>{e.exports=Liqvid},341:e=>{e.exports=RactivePlayer},363:e=>{e.exports=React}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e=r(363);const t=ReactDOM;var n=r(881);const{timeRegexp:s}=n.Utils.time,o=new RegExp("(?:^\\?|&)t=("+s.toString().replace(/^\/\^|\$\/$/g,"")+")"),i="https://d2og9lpzrymesl.cloudfront.net/r/lv-tutorial",a=[["intro/","0:20.955"],["intro/fiddle","0:10.532"],["intro/pause","0:02.86"],["intro/pros","0:07.839"],["intro/edit","0:23.233"],["intro/epiplexis","0:13.506"],["intro/get-started","0:10.553"],["intro/discord","0:18.732"],["codemirror/","1:17.46"],["cursor/","0:19.917"],["paint/","0:41.562"],["playback/","0:05.529"],["playback/loop","0:06.91"],["playback/html","0:11.408"],["playback/hub","0:18.520"],["script/","0:06.785"],["script/markers","0:18.733"],["script/repeat","0:04.978"],["script/ew","0:13.193"],["player/","0:07.99"],["player/gui","0:04.626"],["player/react","0:22.742"],["player/hook","0:12.14"],["utils/","0:10.142"],["utils/animate","0:06.258"],["utils/animate/fire","0:02.996"],["utils/authoring","0:32.398"],["utils/drag","0:16.945"],["recording/","0:09.351"],["recording/npm","0:04.425"],["recording/control","0:09.547"],["recording/https","0:09.489"],["recording/link","0:05.975"],["recording/plugin","0:12.37"]],c={"dfn-ractives":{"data-from-first":"intro/ractives",style:{color:"#333",fontFamily:"Alegreya",fontSize:"2rem",left:"51%",position:"absolute",top:"29%"}},"diamond-age":{"data-during":"intro/diamond-age",style:{height:"50%",left:"70%",position:"absolute",top:"35%"}}};var l=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(e);snull,h=()=>null,d=()=>null,m=()=>null,f=()=>null,y=()=>null,g=()=>null,v=()=>null,b=()=>null,{during:E,from:w}=n.Utils.authoring,{between:x}=n.Utils.misc;function k(){const t=(0,n.usePlayer)(),r=(0,e.useCallback)((e=>{t.canvas.style.backgroundColor=e.currentTarget.value}),[]),[s,o]=(0,e.useState)("A library for interactive videos in HTML/CSS/JS"),a=(0,e.useCallback)((e=>{o(e.currentTarget.value)}),[]),c=e.useMemo((()=>t.script.parseStart("intro/pause")),[]),l=e.useRef(t.playback.currentTime);return(0,n.useTimeUpdate)((e=>{x(c-300,l.current,c)&&x(c,e,c+300)&&t.playback.pause(),l.current=e}),[]),e.createElement(n.IdMap,null,e.createElement("section",Object.assign({id:"sec-intro"},E("intro/")),e.createElement("h1",null,e.createElement("img",{alt:"Liqvid",src:`${i}/img/logo.png`}),"Liqvid"),e.createElement("h2",null,s),e.createElement("div",Object.assign({className:"box",id:"fiddle"},w("intro/fiddle"),{onMouseUp:n.Player.preventCanvasClick}),e.createElement("p",null,"Try changing the background color:",e.createElement("input",{onChange:r,type:"color"})),e.createElement("p",null,"Or the subtitle:"),e.createElement("textarea",{onBlur:t.resumeKeyCapture,onFocus:t.suspendKeyCapture,onChange:a,value:s})),e.createElement("div",Object.assign({className:"box"},w("intro/pros")),e.createElement("p",null,"Much smaller than a traditional video file"),e.createElement("p",Object.assign({},w("intro/edit")),"Very easy to make edits—no waiting for video export"),e.createElement("p",Object.assign({},w("intro/epiplexis")),"More examples at ",e.createElement(u,{href:"https://epiplexis.xyz"},"Epiplexis"))),e.createElement("div",Object.assign({className:"box",id:"get-started"},w("intro/get-started")),e.createElement("p",null,"Clone this tutorial: ",e.createElement(u,{href:"https://github.com/ysulyma/lv-tutorial"},"https://github.com/ysulyma/lv-tutorial")),e.createElement("p",Object.assign({},w("intro/discord")),"Discussion: ",e.createElement(u,{href:"https://discord.gg/u8Qab99zHx"},"https://discord.gg/u8Qab99zHx"))),e.createElement(p,null)))}var O=r(212);class C{read(e){}async run(e){try{return this.runSync(e)}catch(t){throw t}}runSync(e){const t=["window","print","document"],r=[];return new Function("console",...t,e)(new j(r),...new Array(t.length)),r}}class j{constructor(e){this.output=e}log(...e){this.output.push(e.map((e=>void 0===e?e:`${e}`)).join(" ")+"\n")}}const{during:S}=n.Utils.authoring,{dragHelperReact:P}=n.Utils.interactivity,{constrain:R}=n.Utils.misc,{onClick:M}=n.Utils.mobile;function U(){const t=(0,e.useRef)();return t.current||(t.current=new C),e.createElement("section",Object.assign({id:"sec-codemirror"},S("codemirror/")),e.createElement(O.CodeBooth,{interpreter:t.current,mode:"javascript",replay:window.recordings.code,start:"codemirror/",theme:"monokai"}),e.createElement(h,null))}var N=r(160),L=r.n(N);const{during:T}=n.Utils.authoring;function $(){return e.createElement("section",Object.assign({id:"sec-cursor"},T("cursor/")),e.createElement("p",null,"The ",e.createElement(u,{href:"https://www.npmjs.com/package/rp-cursor"},"rp-cursor")," package lets you record mouse movements, in case you want to point to something on the screen."),e.createElement(L(),{src:`${i}/img/cursor.png`,start:"cursor/",end:"paint/",replay:window.recordings.cursor}),e.createElement(d,null))}var D=r(891);const{animate:_}=n.Utils.animation,{during:H}=n.Utils.authoring;function A(){return e.createElement("section",Object.assign({id:"sec-paint"},H("paint/")),e.createElement(D.PaintReplay,{replay:window.recordings.paint,start:"paint/"}),e.createElement(m,null))}const{during:F,from:B}=n.Utils.authoring;function z(){return e.createElement("section",Object.assign({id:"sec-playback"},F("playback/")),e.createElement("h2",null,"Playback"),e.createElement("ul",null,e.createElement("li",Object.assign({},B("playback/loop")),"animation loop simulating a media element advancing in time"),e.createElement("li",Object.assign({},B("playback/html")),"imitates (but does not fully implement) the ",e.createElement(u,{href:"https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement"},"HTMLMediaElement")," interface"),e.createElement("li",Object.assign({},B("playback/hub")),"emits events through ",e.createElement(u,{href:"https://nodejs.org/api/events.html#events_class_eventemitter"},"EventEmitter")," ",e.createElement("code",null,"playback.hub"))),e.createElement(f,null))}const{during:W,from:K}=n.Utils.authoring;function I(){return e.createElement("section",Object.assign({id:"sec-script"},W("script/")),e.createElement("h2",null,"Script"),e.createElement("ul",null,e.createElement("li",Object.assign({},K("script/markers")),"partitions a Playback into named segments called ",e.createElement("dfn",null,"markers")),e.createElement("li",Object.assign({},K("script/repeat")),"markers can repeat (experimental), cannot overlap"),e.createElement("li",Object.assign({},K("script/ew")),"press ",e.createElement("kbd",null,"E")," to advance a marker, ",e.createElement("kbd",null,"W")," to go back one marker")),e.createElement(y,null))}const{during:q,from:G}=n.Utils.authoring;function V(){return e.createElement("section",Object.assign({id:"sec-player"},q("player/")),e.createElement("h2",null,"Player"),e.createElement("ul",null,e.createElement("li",Object.assign({},G("player/gui")),"GUI: scrubber bar, controls, bells, whistles"),e.createElement("li",Object.assign({},G("player/react")),"depends on React (",e.createElement("code",null,"Playback")," and ",e.createElement("code",null,"Script")," do not!)"),e.createElement("li",Object.assign({},G("player/hook")),"access with ",e.createElement("code",null,"usePlayer()"))),e.createElement(g,null))}var J=r(534);const{animate:Y}=n.Utils.animation,{during:Z,from:Q}=n.Utils.authoring,{dragHelperReact:X}=n.Utils.interactivity,{constrain:ee}=n.Utils.misc,te=[.47,0,.745,.715];function re(){const t=(0,n.usePlayer)(),r=(0,e.useRef)(),s=(0,e.useMemo)((()=>Y({endValue:2*Math.PI,startTime:t.script.parseStart("utils/animate/fire"),duration:1e3,easing:J(...te)})),[]);(0,n.useTimeUpdate)((e=>{const t=s(e);r.current.style.left=35+15*Math.cos(t)+"%",r.current.style.top=15-12.5*Math.sin(t)+"%"}),[]);const o=(0,e.useRef)(),a=(0,e.useRef)({x:0,y:0}),c=(0,e.useMemo)((()=>X(((e,r)=>{const n=ee(0,r.x-a.current.x-t.canvas.offsetLeft,t.canvas.offsetWidth-o.current.offsetWidth)/t.canvas.offsetWidth,s=ee(0,r.y-a.current.y-t.canvas.offsetTop,t.canvas.offsetHeight-o.current.offsetHeight)/t.canvas.offsetHeight;Object.assign(o.current.style,{left:100*n+"%",top:100*s+"%"})}),((e,t)=>{e.preventDefault();const r=o.current.getBoundingClientRect();a.current.x=t.x-r.left,a.current.y=t.y-r.top,document.body.classList.add("dragging")}),(()=>{document.body.classList.remove("dragging")}))),[]);return e.createElement("section",Object.assign({id:"sec-utils"},Z("utils/")),e.createElement("h2",null,"Utils"),e.createElement("ul",null,e.createElement("li",Object.assign({},Q("utils/animate")),e.createElement("code",null,"Utils.animation.animate"),e.createElement("img",{id:"utils-duck",src:`${i}/img/duck.svg`,ref:r})),e.createElement("li",Object.assign({},Q("utils/authoring")),e.createElement("code",null,"Utils.authoring.{during, from}")),e.createElement("li",Object.assign({},Q("utils/drag")),e.createElement("code",null,"Utils.interactivity.dragHelperReact"),e.createElement("img",Object.assign({className:"draggable",id:"utils-pig",src:`${i}/img/pig.svg`,ref:o},c)))),e.createElement(b,null))}const{during:ne,from:se}=n.Utils.authoring;function oe(){return e.createElement("section",Object.assign({id:"sec-recording"},ne("recording/")),e.createElement("h2",null,"Recording"),e.createElement("ul",null,e.createElement("li",Object.assign({},se("recording/npm")),"recording functionality provided by ",e.createElement(u,{href:"https://www.npmjs.com/package/rp-recording"},"rp-recording")),e.createElement("li",Object.assign({},se("recording/control")),"implemented as custom control, c.f. ",e.createElement("code",null,"index.tsx")),e.createElement("li",Object.assign({},se("recording/https")),"can only record audio over HTTPS!",e.createElement(u,Object.assign({id:"recording-https-link"},se("recording/link"),{href:"https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/"}),"How to get HTTPS working on your local development environment")),e.createElement("li",Object.assign({},se("recording/plugin")),"plugin API")),e.createElement(v,null))}t.render(e.createElement((function(){const t=e.useRef();e.useEffect((()=>{const e=t.current;(e=>{const{keymap:t,script:r}=e;for(const n of t.getHandlers("ArrowLeft"))t.unbind("ArrowLeft",n);for(const n of t.getHandlers("ArrowRight"))t.unbind("ArrowRight",n);t.bind("ArrowRight",r.forward)})(e),e.canPlay.then((()=>{(e=>{const t=parent.location.search.match(o);t&&e.seek(t[1])})(e.playback),e.ready()}))}),[]);const r=new n.Script(a),s=r.parseStart,l=[{title:"Codebooth",time:s("codemirror/")},{title:"Cursor",time:s("cursor/")},{title:"Paint",time:s("paint/")},{title:"Playback",time:s("playback/")},{title:"Script",time:s("script/")},{title:"Player",time:s("player/")},{title:"Utils",time:s("utils/")},{title:"Recording",time:s("recording/")}],u={cols:5,rows:5,height:100,width:160,frequency:1,path:`${i}/thumbs/%s.png`,highlights:l};return e.createElement(n.Player,{controls:undefined,ref:t,script:r,thumbs:u},e.createElement(n.IdMap,{map:c},e.createElement(n.Audio,{start:0},e.createElement("source",{src:`${i}/audio/audio.webm`,type:"audio/webm"}),e.createElement("source",{src:`${i}/audio/audio.mp4`,type:"audio/mp4"})),e.createElement(k,null),e.createElement(U,null),e.createElement($,null),e.createElement(A,null),e.createElement(z,null),e.createElement(I,null),e.createElement(V,null),e.createElement(re,null),e.createElement(oe,null)))}),null),document.querySelector("main"))})()})(); \ No newline at end of file diff --git a/lib/HelpControl.tsx b/lib/HelpControl.tsx index 94cbd5f..f3f6457 100644 --- a/lib/HelpControl.tsx +++ b/lib/HelpControl.tsx @@ -88,7 +88,7 @@ function HelpDialog(props: DialogProps) { return ReactDOM.createPortal(
- +
diff --git a/lib/Link.tsx b/lib/Link.tsx index fc92ac3..94c3a6a 100644 --- a/lib/Link.tsx +++ b/lib/Link.tsx @@ -1,7 +1,4 @@ -import * as React from "react"; -import {Player} from "liqvid"; - export default function Link(props: React.AnchorHTMLAttributes) { const {children, ...attrs} = props; - return {children} + return {children} } diff --git a/lib/LoadingScreen.tsx b/lib/LoadingScreen.tsx index 45ea484..0d0f2d4 100644 --- a/lib/LoadingScreen.tsx +++ b/lib/LoadingScreen.tsx @@ -1,5 +1,3 @@ -import * as React from "react"; - /** Display a loading screen while ractive-player is not-ready. */ diff --git a/lib/ShowMarkerName.tsx b/lib/ShowMarkerName.tsx index ee03196..1181517 100644 --- a/lib/ShowMarkerName.tsx +++ b/lib/ShowMarkerName.tsx @@ -1,27 +1,24 @@ -import * as React from "react"; +import {useMarkerUpdate, useScript, Utils} from "liqvid"; -import {Player, Utils, usePlayer} from "liqvid"; const {anyHover} = Utils.mobile; const {useForceUpdate} = Utils.react; +const style: React.CSSProperties = { + backgroundColor: "#1A69B5", + fontFamily: `"Roboto Slab", sans-serif`, + lineHeight: "36px", + padding: "0 .5em", + userSelect: "all", + verticalAlign: "top" +}; + export default function ShowMarkerName() { if (!anyHover) return null; - const {script} = usePlayer(); - const forceUpdate = useForceUpdate(); - - React.useEffect(() => { - script.hub.on("markerupdate", forceUpdate); - }, []); + + const script = useScript(); - const style: React.CSSProperties = { - backgroundColor: "#1A69B5", - fontFamily: `"Roboto Slab", sans-serif`, - lineHeight: "36px", - padding: "0 .5em", - userSelect: "all", - verticalAlign: "top" - }; + useMarkerUpdate(useForceUpdate(), []); return ( diff --git a/lib/remember-volume.ts b/lib/remember-volume.ts index 7e9481f..ad2d847 100644 --- a/lib/remember-volume.ts +++ b/lib/remember-volume.ts @@ -6,16 +6,18 @@ Remember volume settings between views. This is disabled by default due to GPDR. */ -export default (playback: Playback) => { +export function rememberVolume(playback: Playback) { const storage = window.localStorage; // restore volume settings - playback.volume = parseFloat(storage.getItem("ractive volume") || "1"); - playback.muted = "true" === (storage.getItem("ractive muted") || "false"); + playback.volume = parseFloat(storage.getItem("liqvid volume") || "1"); + playback.muted = "true" === (storage.getItem("liqvid muted") || "false"); // save volume settings - playback.hub.on("volumechange", () => { - storage.setItem("ractive muted", playback.muted.toString()); - storage.setItem("ractive volume", playback.volume.toString()); + playback.on("volumechange", () => { + storage.setItem("liqvid muted", playback.muted.toString()); + storage.setItem("liqvid volume", playback.volume.toString()); }); } + +export default rememberVolume; diff --git a/lib/seekonload.ts b/lib/seekonload.ts index bf1d488..67cbc61 100644 --- a/lib/seekonload.ts +++ b/lib/seekonload.ts @@ -8,9 +8,11 @@ const rgx = new RegExp( ")" ); -export default (playback: Playback) => { +export function seekOnLoad(playback: Playback) => { const $_ = parent.location.search.match(rgx); if ($_) { playback.seek($_[1]); } }; + +export default seekOnLoad; diff --git a/liqvid.config.ts b/liqvid.config.ts new file mode 100644 index 0000000..66422a5 --- /dev/null +++ b/liqvid.config.ts @@ -0,0 +1,33 @@ +// liqvid.config.ts +import type {LiqvidConfig} from "@liqvid/cli"; + +const os = require("os"); + +const config: LiqvidConfig = { + audio: { + transcribe: { + "input": "./dist/audio/audio.webm", + "captions": "./dist/captions.vtt", + "transcript": "./dist/transcript.json", + "apiKey": "ho6IutFyHawhFGGID3vU2PEz7_46-WKHTr6zhPNDU7e_", + "apiUrl": "https://api.us-south.speech-to-text.watson.cloud.ibm.com/instances/ad816af7-c138-4671-8c42-7e4e7fdd5151" + } + }, + render: { + audioFile: "./dist/audio/audio.webm", + concurrency: os.cpus().length, + imageFormat: "png" + }, + thumbs: { + url: "http://localhost:3000/dist", + browserHeight: 800, + browserWidth: 1280, + concurrency: os.cpus().length, + frequency: 1, + imageFormat: "png", + // make sure the output pattern matches the imageFormat + output: "./dist/thumbs/%s.png" + } +}; + +module.exports = config; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 5088563..0000000 --- a/package-lock.json +++ /dev/null @@ -1,9291 +0,0 @@ -{ - "name": "lv-tutorial", - "version": "2.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "lv-tutorial", - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "@types/node": "^16.11.12", - "@types/react": "^17.0.37", - "@types/react-dom": "^17.0.11", - "@typescript-eslint/eslint-plugin": "^5.6.0", - "@typescript-eslint/parser": "^5.6.0", - "bezier-easing": "^2.1.0", - "eslint": "^8.4.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "express": "^4.17.1", - "liqvid": "^2.0.10", - "livereload": "^0.9.3", - "pepjs": "^0.5.3", - "rangetouch": "^2.0.1", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "rp-codebooth": "^1.2.0", - "rp-codemirror": "^1.0.0", - "rp-cursor": "^2.0.0", - "rp-master": "^1.0.4", - "rp-paint": "^0.9.0", - "rp-prompt": "^1.1.0", - "rp-thumb-capture": "^2.0.0", - "stylus": "^0.55.0", - "stylus-loader": "^6.2.0", - "ts-loader": "^9.2.6", - "ts-node": "^10.4.0", - "typescript": "^4.5.2", - "webpack": "^5.65.0", - "webpack-cli": "^4.9.1", - "zustand": "^3.6.7" - }, - "devDependencies": { - "@babel/runtime": "^7.16.3", - "babel-runtime": "^6.26.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", - "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", - "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.2.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "node_modules/@jimp/bmp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", - "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "bmp-js": "^0.1.0" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/core": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", - "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "any-base": "^1.1.0", - "buffer": "^5.2.0", - "exif-parser": "^0.1.12", - "file-type": "^9.0.0", - "load-bmfont": "^1.3.1", - "mkdirp": "^0.5.1", - "phin": "^2.9.1", - "pixelmatch": "^4.0.2", - "tinycolor2": "^1.4.1" - } - }, - "node_modules/@jimp/core/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/@jimp/custom": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", - "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.16.1" - } - }, - "node_modules/@jimp/gif": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", - "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "gifwrap": "^0.9.2", - "omggif": "^1.0.9" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/jpeg": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", - "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "jpeg-js": "0.4.2" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-blit": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", - "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-blur": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", - "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-circle": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", - "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-color": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", - "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "tinycolor2": "^1.4.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-contain": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", - "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5", - "@jimp/plugin-scale": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-cover": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", - "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-crop": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5", - "@jimp/plugin-scale": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-crop": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", - "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-displace": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", - "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-dither": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", - "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-fisheye": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", - "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-flip": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", - "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-rotate": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-gaussian": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", - "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-invert": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", - "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-mask": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", - "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-normalize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", - "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-print": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", - "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "load-bmfont": "^1.4.0" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-resize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", - "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-rotate": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", - "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5", - "@jimp/plugin-crop": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-scale": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", - "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-shadow": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", - "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blur": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-threshold": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", - "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-color": ">=0.8.0", - "@jimp/plugin-resize": ">=0.8.0" - } - }, - "node_modules/@jimp/plugins": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", - "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.16.1", - "@jimp/plugin-blur": "^0.16.1", - "@jimp/plugin-circle": "^0.16.1", - "@jimp/plugin-color": "^0.16.1", - "@jimp/plugin-contain": "^0.16.1", - "@jimp/plugin-cover": "^0.16.1", - "@jimp/plugin-crop": "^0.16.1", - "@jimp/plugin-displace": "^0.16.1", - "@jimp/plugin-dither": "^0.16.1", - "@jimp/plugin-fisheye": "^0.16.1", - "@jimp/plugin-flip": "^0.16.1", - "@jimp/plugin-gaussian": "^0.16.1", - "@jimp/plugin-invert": "^0.16.1", - "@jimp/plugin-mask": "^0.16.1", - "@jimp/plugin-normalize": "^0.16.1", - "@jimp/plugin-print": "^0.16.1", - "@jimp/plugin-resize": "^0.16.1", - "@jimp/plugin-rotate": "^0.16.1", - "@jimp/plugin-scale": "^0.16.1", - "@jimp/plugin-shadow": "^0.16.1", - "@jimp/plugin-threshold": "^0.16.1", - "timm": "^1.6.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/png": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", - "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "pngjs": "^3.3.3" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/tiff": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", - "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "utif": "^2.0.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", - "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.16.1", - "@jimp/gif": "^0.16.1", - "@jimp/jpeg": "^0.16.1", - "@jimp/png": "^0.16.1", - "@jimp/tiff": "^0.16.1", - "timm": "^1.6.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/utils": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", - "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "regenerator-runtime": "^0.13.3" - } - }, - "node_modules/@jimp/utils/node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" - }, - "node_modules/@types/codemirror": { - "version": "0.0.106", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.106.tgz", - "integrity": "sha512-o2bJWaI56+J1IuzUyb1KKNLs0Tm1sqdosGeSneicQZpg9s59++8Nz70KOD6IACiZWI6b+H0H+UE+JRkgTUO3Ww==", - "peer": true, - "dependencies": { - "@types/tern": "*" - } - }, - "node_modules/@types/eslint": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", - "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" - }, - "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - }, - "node_modules/@types/node": { - "version": "16.11.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz", - "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "node_modules/@types/react": { - "version": "17.0.37", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.37.tgz", - "integrity": "sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "17.0.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz", - "integrity": "sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/tern": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz", - "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", - "peer": true, - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz", - "integrity": "sha512-MIbeMy5qfLqtgs1hWd088k1hOuRsN9JrHUPwVVKCD99EOUqScd7SrwoZl4Gso05EAP9w1kvLWUVGJOVpRPkDPA==", - "dependencies": { - "@typescript-eslint/experimental-utils": "5.6.0", - "@typescript-eslint/scope-manager": "5.6.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.6.0.tgz", - "integrity": "sha512-VDoRf3Qj7+W3sS/ZBXZh3LBzp0snDLEgvp6qj0vOAIiAPM07bd5ojQ3CTzF/QFl5AKh7Bh1ycgj6lFBJHUt/DA==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.6.0", - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/typescript-estree": "5.6.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz", - "integrity": "sha512-YVK49NgdUPQ8SpCZaOpiq1kLkYRPMv9U5gcMrywzI8brtwZjr/tG3sZpuHyODt76W/A0SufNjYt9ZOgrC4tLIQ==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.6.0", - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/typescript-estree": "5.6.0", - "debug": "^4.3.2" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.6.0.tgz", - "integrity": "sha512-1U1G77Hw2jsGWVsO2w6eVCbOg0HZ5WxL/cozVSTfqnL/eB9muhb8THsP0G3w+BB5xAHv9KptwdfYFAUfzcIh4A==", - "dependencies": { - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/visitor-keys": "5.6.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.6.0.tgz", - "integrity": "sha512-OIZffked7mXv4mXzWU5MgAEbCf9ecNJBKi+Si6/I9PpTaj+cf2x58h2oHW5/P/yTnPkKaayfjhLvx+crnl5ubA==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.6.0.tgz", - "integrity": "sha512-92vK5tQaE81rK7fOmuWMrSQtK1IMonESR+RJR2Tlc7w4o0MeEdjgidY/uO2Gobh7z4Q1hhS94Cr7r021fMVEeA==", - "dependencies": { - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/visitor-keys": "5.6.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.6.0.tgz", - "integrity": "sha512-1p7hDp5cpRFUyE3+lvA74egs+RWSgumrBpzBCDzfTFv0aQ7lIeay80yU0hIxgAhwQ6PcasW35kaOCyDOv6O/Ng==", - "dependencies": { - "@typescript-eslint/types": "5.6.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "node_modules/array-includes": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", - "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", - "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bezier-easing": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", - "integrity": "sha1-wE3+i5JtbsrKGBPWn/F5t8ICXYY=" - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bmp-js": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", - "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", - "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", - "dependencies": { - "caniuse-lite": "^1.0.30001173", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.634", - "escalade": "^3.1.1", - "node-releases": "^1.1.69" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001179", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001179.tgz", - "integrity": "sha512-blMmO0QQujuUWZKyVrD1msR4WNDAqb/UPO1Sw2WWsQ7deoM5bJiicKnWJ1Y0NS/aGINSnKPIWBMw5luX+NDUCA==" - }, - "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/cli-progress": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.1.tgz", - "integrity": "sha512-AXxiCe2a0Lm0VN+9L0jzmfQSkcZm5EYspfqXKaSIQKqIk+0hnkZ3/v1E9B39mkD6vYhKih3c/RPsJBSwq9O99Q==", - "dependencies": { - "colors": "^1.1.2", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true, - "hasInstallScript": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/devtools-protocol": { - "version": "0.0.854822", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.854822.tgz", - "integrity": "sha512-xd4D8kHQtB0KtWW0c9xBZD5LVtm9chkMOfs/3Yn01RhT/sFIsVtzTtypfKoFfWBaL+7xCYLxjOLkhwPXaX/Kcg==" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.645", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.645.tgz", - "integrity": "sha512-T7mYop3aDpRHIQaUYcmzmh6j9MAe560n6ukqjJMbVC6bVTau7dSpvB18bcsBPPtOSe10cKxhJFtlbEzLa0LL1g==" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==", - "dependencies": { - "@eslint/eslintrc": "^1.0.5", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.2.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.2.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz", - "integrity": "sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==", - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", - "object.values": "^1.1.5", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", - "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", - "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/espree": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz", - "integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==", - "dependencies": { - "acorn": "^8.6.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/exif-parser": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-type": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", - "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" - }, - "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gifwrap": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", - "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", - "dependencies": { - "image-q": "^1.1.1", - "omggif": "^1.0.10" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-q": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", - "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=", - "engines": { - "node": ">=0.9.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", - "dependencies": { - "call-bind": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-worker": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz", - "integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jimp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", - "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.1", - "@jimp/plugins": "^0.16.1", - "@jimp/types": "^0.16.1", - "regenerator-runtime": "^0.13.3" - } - }, - "node_modules/jimp/node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", - "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "node_modules/jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "dependencies": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/liqvid": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/liqvid/-/liqvid-2.0.10.tgz", - "integrity": "sha512-B5pj/P6RYQdVFAqUplp6c0lW8IdqEeITylmSIj2h5wB9/ff5njhcSgoZ3RjpiNAqbxnOKdna4DqGQVPDtLG9eQ==", - "peerDependencies": { - "@types/react": "^17.0.0", - "@types/react-dom": "^17.0.0", - "react": "^17.0.1", - "strict-event-emitter-types": "^2.0.0" - } - }, - "node_modules/livereload": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz", - "integrity": "sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==", - "dependencies": { - "chokidar": "^3.5.0", - "livereload-js": "^3.3.1", - "opts": ">= 1.2.0", - "ws": "^7.4.3" - }, - "bin": { - "livereload": "bin/livereload.js" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/livereload-js": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.1.tgz", - "integrity": "sha512-CBu1gTEfzVhlOK1WASKAAJ9Qx1fHECTq0SUB67sfxwQssopTyvzqTlgl+c0h9pZ6V+Fzd2rc510ppuNusg9teQ==" - }, - "node_modules/load-bmfont": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", - "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", - "dependencies": { - "buffer-equal": "0.0.1", - "mime": "^1.3.4", - "parse-bmfont-ascii": "^1.0.3", - "parse-bmfont-binary": "^1.0.5", - "parse-bmfont-xml": "^1.1.4", - "phin": "^2.9.1", - "xhr": "^2.0.1", - "xtend": "^4.0.0" - } - }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dependencies": { - "mime-db": "1.44.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/node-fetch": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", - "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-releases": { - "version": "1.1.70", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz", - "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", - "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/omggif": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", - "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/opts": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", - "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==" - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-bmfont-ascii": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" - }, - "node_modules/parse-bmfont-binary": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" - }, - "node_modules/parse-bmfont-xml": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", - "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", - "dependencies": { - "xml-parse-from-string": "^1.0.0", - "xml2js": "^0.4.5" - } - }, - "node_modules/parse-headers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "node_modules/pepjs": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/pepjs/-/pepjs-0.5.3.tgz", - "integrity": "sha512-5yHVB9OHqKd9fr/OIsn8ss0NgThQ9buaqrEuwr9Or5YjPp6h+WTDKWZI+xZLaBGZCtODTnFtlSHNmhFsq67THg==" - }, - "node_modules/phin": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", - "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" - }, - "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pixelmatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", - "dependencies": { - "pngjs": "^3.0.0" - }, - "bin": { - "pixelmatch": "bin/pixelmatch" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/puppeteer-core": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-8.0.0.tgz", - "integrity": "sha512-kRTiGh42+4eiw9tl489p//8Zpg3LWmz0K3mOpv0qj5PsCV7jE43SLIi0E50suLh8OghXsFhJFoE98vEmXUnDew==", - "dependencies": { - "debug": "^4.1.0", - "devtools-protocol": "0.0.854822", - "extract-zip": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", - "pkg-dir": "^4.2.0", - "progress": "^2.0.1", - "proxy-from-env": "^1.1.0", - "rimraf": "^3.0.2", - "tar-fs": "^2.0.0", - "unbzip2-stream": "^1.3.3", - "ws": "^7.2.3" - }, - "engines": { - "node": ">=10.18.1" - } - }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ractive-player": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/ractive-player/-/ractive-player-2.0.10.tgz", - "integrity": "sha512-aChJWT6rdcohG/I9xRsm/ix2tuUCJLQ68Tno1+AoTC6hOKk0bEteJHfuptsD2E7mafh9JunDx/bnFPPAKJ7lAA==", - "peer": true, - "peerDependencies": { - "@types/react": "^17.0.0", - "@types/react-dom": "^17.0.0", - "react": "^17.0.1", - "strict-event-emitter-types": "^2.0.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rangetouch": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz", - "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==" - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rp-codebooth": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rp-codebooth/-/rp-codebooth-1.2.0.tgz", - "integrity": "sha512-q2hK6+/7RmkGQmuVvdnrrJh0mrxshYYH4aCS2ct6RXHoUYCo0P5fAIrUTBy6dNuVgXHLSIAmqtWC582Qne7jSg==", - "dependencies": { - "liqvid": "^2.0.10", - "rp-codemirror": "^1.0.0", - "rp-recording": "^2.1.1", - "zustand": "^3.3.1" - }, - "peerDependencies": { - "@types/codemirror": "^0.0.106", - "@types/react": "^17.0.0", - "rp-codemirror": "^1.0.0", - "rp-recording": "^2.1.1" - } - }, - "node_modules/rp-codemirror": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rp-codemirror/-/rp-codemirror-1.0.0.tgz", - "integrity": "sha512-1Lz2rTTNWa2ehPYhMZILpsdMdEc9P+IPsfAmEqhp/8zLve2vDEHoGMeqqIz2AKcTuOGvnXjp1nNafgzOAtpc8g==", - "peerDependencies": { - "@types/codemirror": "^0.0.106", - "@types/react": "^17.0.0", - "ractive-player": "^2.0.3", - "rp-recording": "^2.0.0" - } - }, - "node_modules/rp-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rp-cursor/-/rp-cursor-2.0.0.tgz", - "integrity": "sha512-EvJ6ZuOTmHYocqJiRehq/xQSj5vh8V81QU8gQ/Cfxp8NOdY1TvknxEidD/iWtGdERnxDmwahB/KjD6uHRQwtmg==" - }, - "node_modules/rp-master": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rp-master/-/rp-master-1.0.4.tgz", - "integrity": "sha512-SlUafpJwNo/PB1+EdUHaIfYD07n8R5Vo2kUmat28Jmh/hu+C55YiGaW9Q2PTQqg5ZMwICGLJqpD9vokaF8QKLg==", - "dependencies": { - "cli-progress": "^3.9.0", - "execa": "^5.0.0", - "jimp": "^0.16.1", - "puppeteer-core": "^8.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.7" - }, - "bin": { - "rp-master": "dist/index.js" - } - }, - "node_modules/rp-paint": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/rp-paint/-/rp-paint-0.9.0.tgz", - "integrity": "sha512-QRPT713UYEWuzz8LhOeUcnCIxU/uOvtIDYbbwP6A+Cf1PFZv1dW0LDXeqgkkINHdC0WEXb+flnPaMt0nsNUV5w==" - }, - "node_modules/rp-prompt": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rp-prompt/-/rp-prompt-1.1.0.tgz", - "integrity": "sha512-2wodsvBKHmU5uJycgNKyns0+FXyUjEvUIBUpDPMr0v8jxwwlcWcFszfjpu7Dc5LU16xlL3JtBKaaTKaQbEKN6A==", - "peerDependencies": { - "@types/react": "^17.0.0", - "ractive-player": "^2.0.5", - "react": "^17.0.1" - } - }, - "node_modules/rp-recording": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/rp-recording/-/rp-recording-2.1.1.tgz", - "integrity": "sha512-hdV2vXxsEXe0GcjC8N2uaPZBYE3gwsFVdFutSOlb3eWfr2qJzZ6sL7SmeJsUnSFoEZmbGFPK6/BgjxBJt33qSw==", - "dependencies": { - "strict-event-emitter-types": "^2.0.0" - }, - "peerDependencies": { - "ractive-player": "^2.0.5" - } - }, - "node_modules/rp-thumb-capture": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rp-thumb-capture/-/rp-thumb-capture-2.0.0.tgz", - "integrity": "sha512-WPG0jw1XcblIYukKEIaVMNC0GeurW5xAcOWlSfJgwlRtjC3StWucYLs5o3p9qWvoyjhoeoMR4qO0QPNej6QKYA==" - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/strict-event-emitter-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz", - "integrity": "sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", - "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylus": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.55.0.tgz", - "integrity": "sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw==", - "dependencies": { - "css": "^3.0.0", - "debug": "~3.1.0", - "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", - "source-map": "^0.7.3" - }, - "bin": { - "stylus": "bin/stylus" - }, - "engines": { - "node": "*" - } - }, - "node_modules/stylus-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", - "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", - "dependencies": { - "fast-glob": "^3.2.7", - "klona": "^2.0.4", - "normalize-path": "^3.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "stylus": ">=0.52.4", - "webpack": "^5.0.0" - } - }, - "node_modules/stylus/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/stylus/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/stylus/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" - }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", - "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", - "dependencies": { - "jest-worker": "^27.0.6", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/timm": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", - "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" - }, - "node_modules/tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", - "engines": { - "node": "*" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-node": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", - "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", - "dependencies": { - "@cspotcode/source-map-support": "0.7.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/utif": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", - "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", - "dependencies": { - "pako": "^1.0.5" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/webpack": { - "version": "5.65.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz", - "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==" - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dependencies": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/xml-parse-from-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" - }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/zustand": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.6.7.tgz", - "integrity": "sha512-bYWKXMfoJwZyliFgidcQ3tJC/F2f2hHq1+lhTk8dVPX2k28i4VnpnKjBGNxAd2QNliV0m455Vm+gDL8LShrV3g==", - "engines": { - "node": ">=12.7.0" - }, - "peerDependencies": { - "react": ">=16.8" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } - } - }, - "dependencies": { - "@babel/runtime": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", - "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", - "requires": { - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - } - } - }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" - }, - "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "requires": { - "@cspotcode/source-map-consumer": "0.8.0" - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==" - }, - "@eslint/eslintrc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", - "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.2.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@jimp/bmp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", - "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "bmp-js": "^0.1.0" - } - }, - "@jimp/core": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", - "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "any-base": "^1.1.0", - "buffer": "^5.2.0", - "exif-parser": "^0.1.12", - "file-type": "^9.0.0", - "load-bmfont": "^1.3.1", - "mkdirp": "^0.5.1", - "phin": "^2.9.1", - "pixelmatch": "^4.0.2", - "tinycolor2": "^1.4.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "@jimp/custom": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", - "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.16.1" - } - }, - "@jimp/gif": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", - "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "gifwrap": "^0.9.2", - "omggif": "^1.0.9" - } - }, - "@jimp/jpeg": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", - "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "jpeg-js": "0.4.2" - } - }, - "@jimp/plugin-blit": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", - "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-blur": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", - "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-circle": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", - "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-color": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", - "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "tinycolor2": "^1.4.1" - } - }, - "@jimp/plugin-contain": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", - "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-cover": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", - "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-crop": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", - "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-displace": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", - "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-dither": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", - "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-fisheye": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", - "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-flip": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", - "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-gaussian": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", - "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-invert": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", - "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-mask": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", - "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-normalize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", - "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-print": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", - "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "load-bmfont": "^1.4.0" - } - }, - "@jimp/plugin-resize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", - "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-rotate": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", - "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-scale": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", - "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-shadow": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", - "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-threshold": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", - "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugins": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", - "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.16.1", - "@jimp/plugin-blur": "^0.16.1", - "@jimp/plugin-circle": "^0.16.1", - "@jimp/plugin-color": "^0.16.1", - "@jimp/plugin-contain": "^0.16.1", - "@jimp/plugin-cover": "^0.16.1", - "@jimp/plugin-crop": "^0.16.1", - "@jimp/plugin-displace": "^0.16.1", - "@jimp/plugin-dither": "^0.16.1", - "@jimp/plugin-fisheye": "^0.16.1", - "@jimp/plugin-flip": "^0.16.1", - "@jimp/plugin-gaussian": "^0.16.1", - "@jimp/plugin-invert": "^0.16.1", - "@jimp/plugin-mask": "^0.16.1", - "@jimp/plugin-normalize": "^0.16.1", - "@jimp/plugin-print": "^0.16.1", - "@jimp/plugin-resize": "^0.16.1", - "@jimp/plugin-rotate": "^0.16.1", - "@jimp/plugin-scale": "^0.16.1", - "@jimp/plugin-shadow": "^0.16.1", - "@jimp/plugin-threshold": "^0.16.1", - "timm": "^1.6.1" - } - }, - "@jimp/png": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", - "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "pngjs": "^3.3.3" - } - }, - "@jimp/tiff": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", - "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", - "requires": { - "@babel/runtime": "^7.7.2", - "utif": "^2.0.1" - } - }, - "@jimp/types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", - "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.16.1", - "@jimp/gif": "^0.16.1", - "@jimp/jpeg": "^0.16.1", - "@jimp/png": "^0.16.1", - "@jimp/tiff": "^0.16.1", - "timm": "^1.6.1" - } - }, - "@jimp/utils": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", - "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", - "requires": { - "@babel/runtime": "^7.7.2", - "regenerator-runtime": "^0.13.3" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" - }, - "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" - }, - "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" - }, - "@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" - }, - "@types/codemirror": { - "version": "0.0.106", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.106.tgz", - "integrity": "sha512-o2bJWaI56+J1IuzUyb1KKNLs0Tm1sqdosGeSneicQZpg9s59++8Nz70KOD6IACiZWI6b+H0H+UE+JRkgTUO3Ww==", - "peer": true, - "requires": { - "@types/tern": "*" - } - }, - "@types/eslint": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", - "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - }, - "@types/node": { - "version": "16.11.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz", - "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==" - }, - "@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "@types/react": { - "version": "17.0.37", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.37.tgz", - "integrity": "sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "17.0.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz", - "integrity": "sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==", - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/tern": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz", - "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", - "peer": true, - "requires": { - "@types/estree": "*" - } - }, - "@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz", - "integrity": "sha512-MIbeMy5qfLqtgs1hWd088k1hOuRsN9JrHUPwVVKCD99EOUqScd7SrwoZl4Gso05EAP9w1kvLWUVGJOVpRPkDPA==", - "requires": { - "@typescript-eslint/experimental-utils": "5.6.0", - "@typescript-eslint/scope-manager": "5.6.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.6.0.tgz", - "integrity": "sha512-VDoRf3Qj7+W3sS/ZBXZh3LBzp0snDLEgvp6qj0vOAIiAPM07bd5ojQ3CTzF/QFl5AKh7Bh1ycgj6lFBJHUt/DA==", - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.6.0", - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/typescript-estree": "5.6.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz", - "integrity": "sha512-YVK49NgdUPQ8SpCZaOpiq1kLkYRPMv9U5gcMrywzI8brtwZjr/tG3sZpuHyODt76W/A0SufNjYt9ZOgrC4tLIQ==", - "requires": { - "@typescript-eslint/scope-manager": "5.6.0", - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/typescript-estree": "5.6.0", - "debug": "^4.3.2" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.6.0.tgz", - "integrity": "sha512-1U1G77Hw2jsGWVsO2w6eVCbOg0HZ5WxL/cozVSTfqnL/eB9muhb8THsP0G3w+BB5xAHv9KptwdfYFAUfzcIh4A==", - "requires": { - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/visitor-keys": "5.6.0" - } - }, - "@typescript-eslint/types": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.6.0.tgz", - "integrity": "sha512-OIZffked7mXv4mXzWU5MgAEbCf9ecNJBKi+Si6/I9PpTaj+cf2x58h2oHW5/P/yTnPkKaayfjhLvx+crnl5ubA==" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.6.0.tgz", - "integrity": "sha512-92vK5tQaE81rK7fOmuWMrSQtK1IMonESR+RJR2Tlc7w4o0MeEdjgidY/uO2Gobh7z4Q1hhS94Cr7r021fMVEeA==", - "requires": { - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/visitor-keys": "5.6.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.6.0.tgz", - "integrity": "sha512-1p7hDp5cpRFUyE3+lvA74egs+RWSgumrBpzBCDzfTFv0aQ7lIeay80yU0hIxgAhwQ6PcasW35kaOCyDOv6O/Ng==", - "requires": { - "@typescript-eslint/types": "5.6.0", - "eslint-visitor-keys": "^3.0.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==" - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "any-base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-includes": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", - "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.flatmap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", - "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" - } - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bezier-easing": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", - "integrity": "sha1-wE3+i5JtbsrKGBPWn/F5t8ICXYY=" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "bmp-js": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", - "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", - "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", - "requires": { - "caniuse-lite": "^1.0.30001173", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.634", - "escalade": "^3.1.1", - "node-releases": "^1.1.69" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "caniuse-lite": { - "version": "1.0.30001179", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001179.tgz", - "integrity": "sha512-blMmO0QQujuUWZKyVrD1msR4WNDAqb/UPO1Sw2WWsQ7deoM5bJiicKnWJ1Y0NS/aGINSnKPIWBMw5luX+NDUCA==" - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "cli-progress": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.1.tgz", - "integrity": "sha512-AXxiCe2a0Lm0VN+9L0jzmfQSkcZm5EYspfqXKaSIQKqIk+0hnkZ3/v1E9B39mkD6vYhKih3c/RPsJBSwq9O99Q==", - "requires": { - "colors": "^1.1.2", - "string-width": "^4.2.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "devtools-protocol": { - "version": "0.0.854822", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.854822.tgz", - "integrity": "sha512-xd4D8kHQtB0KtWW0c9xBZD5LVtm9chkMOfs/3Yn01RhT/sFIsVtzTtypfKoFfWBaL+7xCYLxjOLkhwPXaX/Kcg==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.645", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.645.tgz", - "integrity": "sha512-T7mYop3aDpRHIQaUYcmzmh6j9MAe560n6ukqjJMbVC6bVTau7dSpvB18bcsBPPtOSe10cKxhJFtlbEzLa0LL1g==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - }, - "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==", - "requires": { - "@eslint/eslintrc": "^1.0.5", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.2.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.2.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - } - } - }, - "eslint-plugin-react": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz", - "integrity": "sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==", - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", - "object.values": "^1.1.5", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", - "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", - "requires": {} - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - } - } - }, - "eslint-visitor-keys": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", - "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==" - }, - "espree": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz", - "integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==", - "requires": { - "acorn": "^8.6.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" - } - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" - }, - "execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exif-parser": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "requires": { - "pend": "~1.2.0" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-type": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", - "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "gifwrap": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", - "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", - "requires": { - "image-q": "^1.1.1", - "omggif": "^1.0.10" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==" - }, - "image-q": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", - "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" - }, - "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", - "requires": { - "call-bind": "^1.0.0" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "jest-worker": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz", - "integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "jimp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", - "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.1", - "@jimp/plugins": "^0.16.1", - "@jimp/types": "^0.16.1", - "regenerator-runtime": "^0.13.3" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - } - } - }, - "jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", - "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "requires": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "liqvid": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/liqvid/-/liqvid-2.0.10.tgz", - "integrity": "sha512-B5pj/P6RYQdVFAqUplp6c0lW8IdqEeITylmSIj2h5wB9/ff5njhcSgoZ3RjpiNAqbxnOKdna4DqGQVPDtLG9eQ==", - "requires": {} - }, - "livereload": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz", - "integrity": "sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==", - "requires": { - "chokidar": "^3.5.0", - "livereload-js": "^3.3.1", - "opts": ">= 1.2.0", - "ws": "^7.4.3" - } - }, - "livereload-js": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.1.tgz", - "integrity": "sha512-CBu1gTEfzVhlOK1WASKAAJ9Qx1fHECTq0SUB67sfxwQssopTyvzqTlgl+c0h9pZ6V+Fzd2rc510ppuNusg9teQ==" - }, - "load-bmfont": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", - "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", - "requires": { - "buffer-equal": "0.0.1", - "mime": "^1.3.4", - "parse-bmfont-ascii": "^1.0.3", - "parse-bmfont-binary": "^1.0.5", - "parse-bmfont-xml": "^1.1.4", - "phin": "^2.9.1", - "xhr": "^2.0.1", - "xtend": "^4.0.0" - } - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node-fetch": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", - "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-releases": { - "version": "1.1.70", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz", - "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.hasown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", - "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "omggif": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", - "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "opts": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", - "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-bmfont-ascii": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" - }, - "parse-bmfont-binary": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" - }, - "parse-bmfont-xml": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", - "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", - "requires": { - "xml-parse-from-string": "^1.0.0", - "xml2js": "^0.4.5" - } - }, - "parse-headers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "pepjs": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/pepjs/-/pepjs-0.5.3.tgz", - "integrity": "sha512-5yHVB9OHqKd9fr/OIsn8ss0NgThQ9buaqrEuwr9Or5YjPp6h+WTDKWZI+xZLaBGZCtODTnFtlSHNmhFsq67THg==" - }, - "phin": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", - "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" - }, - "pixelmatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", - "requires": { - "pngjs": "^3.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - }, - "pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "puppeteer-core": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-8.0.0.tgz", - "integrity": "sha512-kRTiGh42+4eiw9tl489p//8Zpg3LWmz0K3mOpv0qj5PsCV7jE43SLIi0E50suLh8OghXsFhJFoE98vEmXUnDew==", - "requires": { - "debug": "^4.1.0", - "devtools-protocol": "0.0.854822", - "extract-zip": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", - "pkg-dir": "^4.2.0", - "progress": "^2.0.1", - "proxy-from-env": "^1.1.0", - "rimraf": "^3.0.2", - "tar-fs": "^2.0.0", - "unbzip2-stream": "^1.3.3", - "ws": "^7.2.3" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "ractive-player": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/ractive-player/-/ractive-player-2.0.10.tgz", - "integrity": "sha512-aChJWT6rdcohG/I9xRsm/ix2tuUCJLQ68Tno1+AoTC6hOKk0bEteJHfuptsD2E7mafh9JunDx/bnFPPAKJ7lAA==", - "peer": true, - "requires": {} - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "rangetouch": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz", - "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", - "requires": { - "resolve": "^1.9.0" - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rp-codebooth": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rp-codebooth/-/rp-codebooth-1.2.0.tgz", - "integrity": "sha512-q2hK6+/7RmkGQmuVvdnrrJh0mrxshYYH4aCS2ct6RXHoUYCo0P5fAIrUTBy6dNuVgXHLSIAmqtWC582Qne7jSg==", - "requires": { - "liqvid": "^2.0.10", - "rp-codemirror": "^1.0.0", - "rp-recording": "^2.1.1", - "zustand": "^3.3.1" - } - }, - "rp-codemirror": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rp-codemirror/-/rp-codemirror-1.0.0.tgz", - "integrity": "sha512-1Lz2rTTNWa2ehPYhMZILpsdMdEc9P+IPsfAmEqhp/8zLve2vDEHoGMeqqIz2AKcTuOGvnXjp1nNafgzOAtpc8g==", - "requires": {} - }, - "rp-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rp-cursor/-/rp-cursor-2.0.0.tgz", - "integrity": "sha512-EvJ6ZuOTmHYocqJiRehq/xQSj5vh8V81QU8gQ/Cfxp8NOdY1TvknxEidD/iWtGdERnxDmwahB/KjD6uHRQwtmg==" - }, - "rp-master": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rp-master/-/rp-master-1.0.4.tgz", - "integrity": "sha512-SlUafpJwNo/PB1+EdUHaIfYD07n8R5Vo2kUmat28Jmh/hu+C55YiGaW9Q2PTQqg5ZMwICGLJqpD9vokaF8QKLg==", - "requires": { - "cli-progress": "^3.9.0", - "execa": "^5.0.0", - "jimp": "^0.16.1", - "puppeteer-core": "^8.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.7" - } - }, - "rp-paint": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/rp-paint/-/rp-paint-0.9.0.tgz", - "integrity": "sha512-QRPT713UYEWuzz8LhOeUcnCIxU/uOvtIDYbbwP6A+Cf1PFZv1dW0LDXeqgkkINHdC0WEXb+flnPaMt0nsNUV5w==" - }, - "rp-prompt": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rp-prompt/-/rp-prompt-1.1.0.tgz", - "integrity": "sha512-2wodsvBKHmU5uJycgNKyns0+FXyUjEvUIBUpDPMr0v8jxwwlcWcFszfjpu7Dc5LU16xlL3JtBKaaTKaQbEKN6A==", - "requires": {} - }, - "rp-recording": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/rp-recording/-/rp-recording-2.1.1.tgz", - "integrity": "sha512-hdV2vXxsEXe0GcjC8N2uaPZBYE3gwsFVdFutSOlb3eWfr2qJzZ6sL7SmeJsUnSFoEZmbGFPK6/BgjxBJt33qSw==", - "requires": { - "strict-event-emitter-types": "^2.0.0" - } - }, - "rp-thumb-capture": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rp-thumb-capture/-/rp-thumb-capture-2.0.0.tgz", - "integrity": "sha512-WPG0jw1XcblIYukKEIaVMNC0GeurW5xAcOWlSfJgwlRtjC3StWucYLs5o3p9qWvoyjhoeoMR4qO0QPNej6QKYA==" - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "strict-event-emitter-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz", - "integrity": "sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.matchall": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", - "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "stylus": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.55.0.tgz", - "integrity": "sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw==", - "requires": { - "css": "^3.0.0", - "debug": "~3.1.0", - "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "stylus-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", - "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", - "requires": { - "fast-glob": "^3.2.7", - "klona": "^2.0.4", - "normalize-path": "^3.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - } - }, - "terser-webpack-plugin": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", - "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", - "requires": { - "jest-worker": "^27.0.6", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "timm": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", - "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" - }, - "tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - } - }, - "ts-node": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", - "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", - "requires": { - "@cspotcode/source-map-support": "0.7.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "yn": "3.1.1" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==" - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "utif": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", - "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", - "requires": { - "pako": "^1.0.5" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "webpack": { - "version": "5.65.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz", - "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - } - }, - "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==" - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - } - } - }, - "webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "requires": {} - }, - "xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xml-parse-from-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - }, - "zustand": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.6.7.tgz", - "integrity": "sha512-bYWKXMfoJwZyliFgidcQ3tJC/F2f2hHq1+lhTk8dVPX2k28i4VnpnKjBGNxAd2QNliV0m455Vm+gDL8LShrV3g==", - "requires": {} - } - } -} diff --git a/package.json b/package.json index 0f34799..e0a1960 100644 --- a/package.json +++ b/package.json @@ -4,23 +4,24 @@ "description": "Tutorial for Liqvid", "main": "server.js", "scripts": { - "stylus": "stylus --compress --include-css --include ./node_modules --out . --watch styl/style.styl", + "stylus": "stylus --compress --include-css --include ./node_modules --out static --watch styl/style.styl", "test": "echo \"Error: no test specified\" && exit 1" }, - "author": "Yuri Sulyma ", + "author": "Yuri Sulyma ", "license": "MIT", "dependencies": { - "@types/node": "^16.11.12", - "@types/react": "^17.0.37", - "@types/react-dom": "^17.0.11", - "@typescript-eslint/eslint-plugin": "^5.6.0", - "@typescript-eslint/parser": "^5.6.0", + "@liqvid/cli": "^1.0.3", + "@types/node": "^17.0.21", + "@types/react": "^17.0.40", + "@types/react-dom": "^17.0.13", + "@typescript-eslint/eslint-plugin": "^5.14.0", + "@typescript-eslint/parser": "^5.14.0", "bezier-easing": "^2.1.0", - "eslint": "^8.4.1", - "eslint-plugin-react": "^7.27.1", + "eslint": "^8.11.0", + "eslint-plugin-react": "^7.29.3", "eslint-plugin-react-hooks": "^4.3.0", - "express": "^4.17.1", - "liqvid": "^2.0.10", + "express": "^4.17.3", + "liqvid": "2.1.1", "livereload": "^0.9.3", "pepjs": "^0.5.3", "rangetouch": "^2.0.1", @@ -28,22 +29,21 @@ "react-dom": "^17.0.2", "rp-codebooth": "^1.2.0", "rp-codemirror": "^1.0.0", - "rp-cursor": "^2.0.0", - "rp-master": "^1.0.4", - "rp-paint": "^0.9.0", - "rp-prompt": "^1.1.0", - "rp-thumb-capture": "^2.0.0", - "stylus": "^0.55.0", + "rp-cursor": "^2.1.0", + "rp-paint": "^0.10.0", + "rp-prompt": "^1.2.0", + "stylus": "^0.56.0", "stylus-loader": "^6.2.0", - "ts-loader": "^9.2.6", - "ts-node": "^10.4.0", - "typescript": "^4.5.2", - "webpack": "^5.65.0", - "webpack-cli": "^4.9.1", - "zustand": "^3.6.7" + "ts-loader": "^9.2.8", + "ts-node": "^10.7.0", + "typescript": "^4.6.2", + "webpack": "^5.70.0", + "webpack-cli": "^4.9.2", + "zustand": "^3.7.1" }, "devDependencies": { - "@babel/runtime": "^7.16.3", - "babel-runtime": "^6.26.0" + "@babel/runtime": "^7.17.2", + "babel-runtime": "^6.26.0", + "rp-recording": "^2.3.0" } } diff --git a/recordings.js b/recordings.js deleted file mode 100644 index 3067c27..0000000 --- a/recordings.js +++ /dev/null @@ -1,7 +0,0 @@ -window.recordings = {}; - -recordings.code = [[800,["text",{"from":{"line":0,"ch":0},"to":{"line":0,"ch":0},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":1}]],[116,["text",{"from":{"line":0,"ch":1},"to":{"line":0,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":2}]],[88,["text",{"from":{"line":0,"ch":2},"to":{"line":0,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":3}]],[128,["text",{"from":{"line":0,"ch":3},"to":{"line":0,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":4}]],[64,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":4},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":5}]],[160,["text",{"from":{"line":0,"ch":5},"to":{"line":0,"ch":5},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":6}]],[104,["text",{"from":{"line":0,"ch":6},"to":{"line":0,"ch":6},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":7}]],[103,["text",{"from":{"line":0,"ch":7},"to":{"line":0,"ch":7},"text":["."],"removed":[""]}]],[1,["cursor",{"line":0,"ch":8}]],[209,["text",{"from":{"line":0,"ch":8},"to":{"line":0,"ch":8},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":9}]],[143,["text",{"from":{"line":0,"ch":9},"to":{"line":0,"ch":9},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":10}]],[89,["text",{"from":{"line":0,"ch":10},"to":{"line":0,"ch":10},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":11}]],[247,["text",{"from":{"line":0,"ch":11},"to":{"line":0,"ch":11},"text":["("],"removed":[""]}]],[0,["cursor",{"line":0,"ch":12}]],[216,["text",{"from":{"line":0,"ch":12},"to":{"line":0,"ch":12},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":0,"ch":13}]],[285,["text",{"from":{"line":0,"ch":13},"to":{"line":0,"ch":13},"text":["H"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":14}]],[115,["text",{"from":{"line":0,"ch":14},"to":{"line":0,"ch":14},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":15}]],[86,["text",{"from":{"line":0,"ch":15},"to":{"line":0,"ch":15},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":16}]],[133,["text",{"from":{"line":0,"ch":16},"to":{"line":0,"ch":16},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":17}]],[188,["text",{"from":{"line":0,"ch":17},"to":{"line":0,"ch":17},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":18}]],[112,["text",{"from":{"line":0,"ch":18},"to":{"line":0,"ch":18},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":19}]],[145,["text",{"from":{"line":0,"ch":19},"to":{"line":0,"ch":19},"text":["W"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":20}]],[176,["text",{"from":{"line":0,"ch":20},"to":{"line":0,"ch":20},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":21}]],[104,["text",{"from":{"line":0,"ch":21},"to":{"line":0,"ch":21},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":22}]],[88,["text",{"from":{"line":0,"ch":22},"to":{"line":0,"ch":22},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":23}]],[143,["text",{"from":{"line":0,"ch":23},"to":{"line":0,"ch":23},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":24}]],[256,["text",{"from":{"line":0,"ch":24},"to":{"line":0,"ch":24},"text":["!"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":25}]],[273,["text",{"from":{"line":0,"ch":25},"to":{"line":0,"ch":25},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":0,"ch":26}]],[495,["text",{"from":{"line":0,"ch":26},"to":{"line":0,"ch":26},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":27}]],[497,["text",{"from":{"line":0,"ch":27},"to":{"line":0,"ch":27},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":28}]],[384,["command","Cmd-Enter"]],[7365,["command","Ctrl-A"]],[0,["cursor",{"line":0,"ch":0}]],[337,["text",{"from":{"line":0,"ch":0},"to":{"line":0,"ch":0},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":1,"ch":0}]],[146,["text",{"from":{"line":1,"ch":0},"to":{"line":1,"ch":0},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":2,"ch":0}]],[414,["command","Ctrl-P"]],[0,["cursor",{"line":1,"ch":0}]],[118,["command","Ctrl-P"]],[0,["cursor",{"line":0,"ch":0}]],[361,["text",{"from":{"line":0,"ch":0},"to":{"line":0,"ch":0},"text":["/"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":1}]],[163,["text",{"from":{"line":0,"ch":1},"to":{"line":0,"ch":1},"text":["/"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":2}]],[117,["text",{"from":{"line":0,"ch":2},"to":{"line":0,"ch":2},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":3}]],[1592,["text",{"from":{"line":0,"ch":3},"to":{"line":0,"ch":3},"text":["C"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":4}]],[152,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":4},"text":["O"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":5}]],[120,["text",{"from":{"line":0,"ch":5},"to":{"line":0,"ch":5},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":6}]],[103,["text",{"from":{"line":0,"ch":6},"to":{"line":0,"ch":6},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":7}]],[42,["text",{"from":{"line":0,"ch":7},"to":{"line":0,"ch":7},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":8}]],[78,["text",{"from":{"line":0,"ch":8},"to":{"line":0,"ch":8},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":9}]],[107,["text",{"from":{"line":0,"ch":9},"to":{"line":0,"ch":9},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":10}]],[382,["text",{"from":{"line":0,"ch":10},"to":{"line":0,"ch":10},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":11}]],[72,["text",{"from":{"line":0,"ch":11},"to":{"line":0,"ch":11},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":12}]],[134,["text",{"from":{"line":0,"ch":12},"to":{"line":0,"ch":12},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":13}]],[41,["text",{"from":{"line":0,"ch":13},"to":{"line":0,"ch":13},"text":["l"],"removed":[""]}]],[1,["cursor",{"line":0,"ch":14}]],[168,["text",{"from":{"line":0,"ch":14},"to":{"line":0,"ch":14},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":15}]],[128,["text",{"from":{"line":0,"ch":15},"to":{"line":0,"ch":15},"text":["y"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":16}]],[81,["text",{"from":{"line":0,"ch":16},"to":{"line":0,"ch":16},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":17}]],[1283,["text",{"from":{"line":0,"ch":17},"to":{"line":0,"ch":17},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":18}]],[100,["text",{"from":{"line":0,"ch":18},"to":{"line":0,"ch":18},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":19}]],[96,["text",{"from":{"line":0,"ch":19},"to":{"line":0,"ch":19},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":20}]],[144,["text",{"from":{"line":0,"ch":20},"to":{"line":0,"ch":20},"text":["v"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":21}]],[104,["text",{"from":{"line":0,"ch":21},"to":{"line":0,"ch":21},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":22}]],[104,["text",{"from":{"line":0,"ch":22},"to":{"line":0,"ch":22},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":23}]],[160,["text",{"from":{"line":0,"ch":23},"to":{"line":0,"ch":23},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":24}]],[152,["text",{"from":{"line":0,"ch":24},"to":{"line":0,"ch":24},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":25}]],[240,["text",{"from":{"line":0,"ch":25},"to":{"line":0,"ch":25},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":26}]],[2776,["text",{"from":{"line":0,"ch":26},"to":{"line":0,"ch":26},"text":["b"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":27}]],[176,["text",{"from":{"line":0,"ch":27},"to":{"line":0,"ch":27},"text":["y"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":28}]],[120,["text",{"from":{"line":0,"ch":28},"to":{"line":0,"ch":28},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":29}]],[455,["text",{"from":{"line":0,"ch":29},"to":{"line":0,"ch":29},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":30}]],[101,["text",{"from":{"line":0,"ch":30},"to":{"line":0,"ch":30},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":31}]],[204,["text",{"from":{"line":0,"ch":31},"to":{"line":0,"ch":31},"text":["-"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":32}]],[120,["text",{"from":{"line":0,"ch":32},"to":{"line":0,"ch":32},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":33}]],[135,["text",{"from":{"line":0,"ch":33},"to":{"line":0,"ch":33},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":34}]],[193,["text",{"from":{"line":0,"ch":34},"to":{"line":0,"ch":34},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":35}]],[160,["text",{"from":{"line":0,"ch":35},"to":{"line":0,"ch":35},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":36}]],[104,["text",{"from":{"line":0,"ch":36},"to":{"line":0,"ch":36},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":37}]],[88,["text",{"from":{"line":0,"ch":37},"to":{"line":0,"ch":37},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":38}]],[889,["text",{"from":{"line":0,"ch":38},"to":{"line":0,"ch":38},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":39}]],[185,["text",{"from":{"line":0,"ch":39},"to":{"line":0,"ch":39},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":40}]],[149,["text",{"from":{"line":0,"ch":40},"to":{"line":0,"ch":40},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":41}]],[137,["text",{"from":{"line":0,"ch":41},"to":{"line":0,"ch":41},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":42}]],[112,["text",{"from":{"line":0,"ch":42},"to":{"line":0,"ch":42},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":43}]],[144,["text",{"from":{"line":0,"ch":43},"to":{"line":0,"ch":43},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":44}]],[96,["text",{"from":{"line":0,"ch":44},"to":{"line":0,"ch":44},"text":["n"],"removed":[""]}]],[1,["cursor",{"line":0,"ch":45}]],[71,["text",{"from":{"line":0,"ch":45},"to":{"line":0,"ch":45},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":46}]],[104,["text",{"from":{"line":0,"ch":46},"to":{"line":0,"ch":46},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":47}]],[136,["text",{"from":{"line":0,"ch":47},"to":{"line":0,"ch":47},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":48}]],[84,["text",{"from":{"line":0,"ch":48},"to":{"line":0,"ch":48},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":49}]],[188,["text",{"from":{"line":0,"ch":49},"to":{"line":0,"ch":49},"text":["-"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":50}]],[624,["text",{"from":{"line":0,"ch":50},"to":{"line":0,"ch":50},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":51}]],[248,["text",{"from":{"line":0,"ch":51},"to":{"line":0,"ch":51},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":52}]],[72,["text",{"from":{"line":0,"ch":52},"to":{"line":0,"ch":52},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":53}]],[176,["text",{"from":{"line":0,"ch":53},"to":{"line":0,"ch":53},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":54}]],[192,["text",{"from":{"line":0,"ch":54},"to":{"line":0,"ch":54},"text":["b"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":55}]],[128,["text",{"from":{"line":0,"ch":55},"to":{"line":0,"ch":55},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":56}]],[139,["text",{"from":{"line":0,"ch":56},"to":{"line":0,"ch":56},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":57}]],[125,["text",{"from":{"line":0,"ch":57},"to":{"line":0,"ch":57},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":58}]],[121,["text",{"from":{"line":0,"ch":58},"to":{"line":0,"ch":58},"text":["h"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":59}]],[351,["command","Ctrl-A"]],[0,["cursor",{"line":0,"ch":0}]],[305,["command","Alt-Right"]],[0,["cursor",{"line":0,"ch":2}]],[239,["command","Right"]],[0,["cursor",{"line":0,"ch":3}]],[170,["command","Right"]],[0,["cursor",{"line":0,"ch":4}]],[262,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":5},"text":[""],"removed":["O"]}]],[0,["command","Ctrl-D"]],[0,["cursor",{"line":0,"ch":4}]],[232,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":4},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":5}]],[543,["command","Ctrl-N"]],[0,["cursor",{"line":1,"ch":0}]],[162,["command","Ctrl-N"]],[0,["cursor",{"line":2,"ch":5}]],[150,["command","Ctrl-N"]],[0,["cursor",{"line":2,"ch":28}]],[1289,["command","Cmd-Left"]],[0,["selection",{"anchor":{"line":2,"ch":28},"head":{"line":2,"ch":0}}]],[753,["text",{"from":{"line":2,"ch":0},"to":{"line":2,"ch":28},"text":["c"],"removed":["console.log(\"Hello World!\");"]}]],[0,["cursor",{"line":2,"ch":1}]],[167,["text",{"from":{"line":2,"ch":1},"to":{"line":2,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":2}]],[72,["text",{"from":{"line":2,"ch":2},"to":{"line":2,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":3}]],[88,["text",{"from":{"line":2,"ch":3},"to":{"line":2,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":4}]],[192,["text",{"from":{"line":2,"ch":4},"to":{"line":2,"ch":4},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":5}]],[136,["text",{"from":{"line":2,"ch":5},"to":{"line":2,"ch":5},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":6}]],[537,["command","Cmd-K"]],[543,["text",{"from":{"line":2,"ch":6},"to":{"line":2,"ch":6},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":7}]],[112,["text",{"from":{"line":2,"ch":7},"to":{"line":2,"ch":7},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":8}]],[80,["text",{"from":{"line":2,"ch":8},"to":{"line":2,"ch":8},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":9}]],[88,["text",{"from":{"line":2,"ch":9},"to":{"line":2,"ch":9},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":10}]],[152,["text",{"from":{"line":2,"ch":10},"to":{"line":2,"ch":10},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":11}]],[120,["text",{"from":{"line":2,"ch":11},"to":{"line":2,"ch":11},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":12}]],[96,["text",{"from":{"line":2,"ch":12},"to":{"line":2,"ch":12},"text":["="],"removed":[""]}]],[0,["cursor",{"line":2,"ch":13}]],[80,["text",{"from":{"line":2,"ch":13},"to":{"line":2,"ch":13},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":14}]],[432,["text",{"from":{"line":2,"ch":14},"to":{"line":2,"ch":14},"text":["{"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":15}]],[392,["text",{"from":{"line":2,"ch":15},"to":{"line":2,"ch":15},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":16}]],[255,["text",{"from":{"line":2,"ch":15},"to":{"line":2,"ch":16},"text":[""],"removed":["\""]}]],[0,["command","Backspace"]],[0,["cursor",{"line":2,"ch":15}]],[139,["text",{"from":{"line":2,"ch":14},"to":{"line":2,"ch":15},"text":[""],"removed":["{"]}]],[0,["command","Backspace"]],[0,["cursor",{"line":2,"ch":14}]],[215,["text",{"from":{"line":2,"ch":14},"to":{"line":2,"ch":14},"text":["["],"removed":[""]}]],[0,["cursor",{"line":2,"ch":15}]],[480,["text",{"from":{"line":2,"ch":15},"to":{"line":2,"ch":15},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":16}]],[174,["text",{"from":{"line":2,"ch":16},"to":{"line":2,"ch":16},"text":["A"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":17}]],[600,["text",{"from":{"line":2,"ch":17},"to":{"line":2,"ch":17},"text":["l"],"removed":[""]}]],[1,["cursor",{"line":2,"ch":18}]],[103,["text",{"from":{"line":2,"ch":18},"to":{"line":2,"ch":18},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":19}]],[57,["text",{"from":{"line":2,"ch":19},"to":{"line":2,"ch":19},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":20}]],[72,["text",{"from":{"line":2,"ch":20},"to":{"line":2,"ch":20},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":21}]],[184,["text",{"from":{"line":2,"ch":21},"to":{"line":2,"ch":21},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":22}]],[272,["text",{"from":{"line":2,"ch":22},"to":{"line":2,"ch":22},"text":[","],"removed":[""]}]],[0,["cursor",{"line":2,"ch":23}]],[112,["text",{"from":{"line":2,"ch":23},"to":{"line":2,"ch":23},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":24}]],[175,["text",{"from":{"line":2,"ch":24},"to":{"line":2,"ch":24},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":25}]],[216,["text",{"from":{"line":2,"ch":25},"to":{"line":2,"ch":25},"text":["B"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":26}]],[449,["text",{"from":{"line":2,"ch":26},"to":{"line":2,"ch":26},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":27}]],[144,["text",{"from":{"line":2,"ch":27},"to":{"line":2,"ch":27},"text":["b"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":28}]],[256,["text",{"from":{"line":2,"ch":28},"to":{"line":2,"ch":28},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":29}]],[248,["text",{"from":{"line":2,"ch":29},"to":{"line":2,"ch":29},"text":[","],"removed":[""]}]],[0,["cursor",{"line":2,"ch":30}]],[104,["text",{"from":{"line":2,"ch":30},"to":{"line":2,"ch":30},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":31}]],[408,["text",{"from":{"line":2,"ch":31},"to":{"line":2,"ch":31},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":32}]],[448,["text",{"from":{"line":2,"ch":32},"to":{"line":2,"ch":32},"text":["C"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":33}]],[168,["text",{"from":{"line":2,"ch":33},"to":{"line":2,"ch":33},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":34}]],[160,["text",{"from":{"line":2,"ch":34},"to":{"line":2,"ch":34},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":35}]],[64,["text",{"from":{"line":2,"ch":35},"to":{"line":2,"ch":35},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":36}]],[209,["text",{"from":{"line":2,"ch":36},"to":{"line":2,"ch":36},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":37}]],[263,["text",{"from":{"line":2,"ch":37},"to":{"line":2,"ch":37},"text":["]"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":38}]],[256,["text",{"from":{"line":2,"ch":38},"to":{"line":2,"ch":38},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":39}]],[265,["text",{"from":{"line":2,"ch":39},"to":{"line":2,"ch":39},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":3,"ch":0}]],[129,["text",{"from":{"line":3,"ch":0},"to":{"line":3,"ch":0},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":4,"ch":0}]],[110,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":0},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":1}]],[88,["text",{"from":{"line":4,"ch":1},"to":{"line":4,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":2}]],[80,["text",{"from":{"line":4,"ch":2},"to":{"line":4,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":3}]],[168,["text",{"from":{"line":4,"ch":3},"to":{"line":4,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":4}]],[39,["text",{"from":{"line":4,"ch":4},"to":{"line":4,"ch":4},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":5}]],[210,["text",{"from":{"line":4,"ch":5},"to":{"line":4,"ch":5},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":6}]],[95,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":6},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":7}]],[120,["text",{"from":{"line":4,"ch":7},"to":{"line":4,"ch":7},"text":["."],"removed":[""]}]],[0,["cursor",{"line":4,"ch":8}]],[167,["text",{"from":{"line":4,"ch":8},"to":{"line":4,"ch":8},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":9}]],[169,["text",{"from":{"line":4,"ch":9},"to":{"line":4,"ch":9},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":10}]],[112,["text",{"from":{"line":4,"ch":10},"to":{"line":4,"ch":10},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":11}]],[151,["text",{"from":{"line":4,"ch":11},"to":{"line":4,"ch":11},"text":["("],"removed":[""]}]],[1,["cursor",{"line":4,"ch":12}]],[272,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":12},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":13}]],[464,["text",{"from":{"line":4,"ch":13},"to":{"line":4,"ch":13},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":14}]],[80,["text",{"from":{"line":4,"ch":14},"to":{"line":4,"ch":14},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":15}]],[87,["text",{"from":{"line":4,"ch":15},"to":{"line":4,"ch":15},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":16}]],[153,["text",{"from":{"line":4,"ch":16},"to":{"line":4,"ch":16},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":17}]],[96,["text",{"from":{"line":4,"ch":17},"to":{"line":4,"ch":17},"text":["["],"removed":[""]}]],[0,["cursor",{"line":4,"ch":18}]],[128,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":18},"text":["1"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":19}]],[143,["text",{"from":{"line":4,"ch":19},"to":{"line":4,"ch":19},"text":["]"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":20}]],[225,["text",{"from":{"line":4,"ch":20},"to":{"line":4,"ch":20},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":21}]],[233,["text",{"from":{"line":4,"ch":21},"to":{"line":4,"ch":21},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":22}]],[352,["command","Cmd-Enter"]],[2543,["cursor",{"line":4,"ch":19}]],[464,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":19},"text":[""],"removed":["1"]}]],[0,["command","Backspace"]],[0,["cursor",{"line":4,"ch":18}]],[408,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":18},"text":["0"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":19}]],[529,["command","Cmd-Enter"]],[2595,["cursor",{"line":4,"ch":22}]],[1290,["command","Cmd-Left"]],[0,["selection",{"anchor":{"line":4,"ch":22},"head":{"line":4,"ch":0}}]],[1105,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":22},"text":["c"],"removed":["console.log(names[0]);"]}]],[0,["cursor",{"line":4,"ch":1}]],[64,["text",{"from":{"line":4,"ch":1},"to":{"line":4,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":2}]],[63,["text",{"from":{"line":4,"ch":2},"to":{"line":4,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":3}]],[64,["text",{"from":{"line":4,"ch":3},"to":{"line":4,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":4}]],[184,["text",{"from":{"line":4,"ch":4},"to":{"line":4,"ch":4},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":5}]],[144,["text",{"from":{"line":4,"ch":5},"to":{"line":4,"ch":5},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":6}]],[288,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":6},"text":["f"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":7}]],[112,["text",{"from":{"line":4,"ch":7},"to":{"line":4,"ch":7},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":8}]],[88,["text",{"from":{"line":4,"ch":8},"to":{"line":4,"ch":8},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":9}]],[226,["text",{"from":{"line":4,"ch":9},"to":{"line":4,"ch":9},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":10}]],[319,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":10},"text":[""],"removed":["for "]}]],[0,["command","Alt-Backspace"]],[0,["cursor",{"line":4,"ch":6}]],[151,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":6},"text":[""],"removed":["const "]}]],[0,["command","Alt-Backspace"]],[0,["cursor",{"line":4,"ch":0}]],[512,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":0},"text":["f"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":1}]],[112,["text",{"from":{"line":4,"ch":1},"to":{"line":4,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":2}]],[111,["text",{"from":{"line":4,"ch":2},"to":{"line":4,"ch":2},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":3}]],[89,["text",{"from":{"line":4,"ch":3},"to":{"line":4,"ch":3},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":4}]],[184,["text",{"from":{"line":4,"ch":4},"to":{"line":4,"ch":4},"text":["("],"removed":[""]}]],[0,["cursor",{"line":4,"ch":5}]],[257,["command","Cmd-K"]],[231,["text",{"from":{"line":4,"ch":5},"to":{"line":4,"ch":5},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":6}]],[97,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":6},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":7}]],[55,["text",{"from":{"line":4,"ch":7},"to":{"line":4,"ch":7},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":8}]],[48,["text",{"from":{"line":4,"ch":8},"to":{"line":4,"ch":8},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":9}]],[136,["text",{"from":{"line":4,"ch":9},"to":{"line":4,"ch":9},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":10}]],[120,["text",{"from":{"line":4,"ch":10},"to":{"line":4,"ch":10},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":11}]],[64,["text",{"from":{"line":4,"ch":11},"to":{"line":4,"ch":11},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":12}]],[200,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":12},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":13}]],[384,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":13},"text":[""],"removed":["m"]}]],[0,["command","Backspace"]],[0,["cursor",{"line":4,"ch":12}]],[120,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":12},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":13}]],[55,["text",{"from":{"line":4,"ch":13},"to":{"line":4,"ch":13},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":14}]],[120,["text",{"from":{"line":4,"ch":14},"to":{"line":4,"ch":14},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":15}]],[96,["text",{"from":{"line":4,"ch":15},"to":{"line":4,"ch":15},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":16}]],[145,["text",{"from":{"line":4,"ch":16},"to":{"line":4,"ch":16},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":17}]],[128,["text",{"from":{"line":4,"ch":17},"to":{"line":4,"ch":17},"text":["f"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":18}]],[80,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":18},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":19}]],[376,["text",{"from":{"line":4,"ch":19},"to":{"line":4,"ch":19},"text":["n"],"removed":[""]}]],[1,["cursor",{"line":4,"ch":20}]],[102,["text",{"from":{"line":4,"ch":20},"to":{"line":4,"ch":20},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":21}]],[105,["text",{"from":{"line":4,"ch":21},"to":{"line":4,"ch":21},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":22}]],[56,["text",{"from":{"line":4,"ch":22},"to":{"line":4,"ch":22},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":23}]],[289,["text",{"from":{"line":4,"ch":23},"to":{"line":4,"ch":23},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":24}]],[239,["text",{"from":{"line":4,"ch":24},"to":{"line":4,"ch":24},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":25}]],[176,["text",{"from":{"line":4,"ch":25},"to":{"line":4,"ch":25},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":26}]],[160,["text",{"from":{"line":4,"ch":26},"to":{"line":4,"ch":26},"text":["{"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":27}]],[205,["text",{"from":{"line":4,"ch":27},"to":{"line":4,"ch":27},"text":["",""],"removed":[""]}]],[0,["text",{"from":{"line":5,"ch":0},"to":{"line":5,"ch":0},"text":[" "],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":5,"ch":4}]],[230,["text",{"from":{"line":5,"ch":4},"to":{"line":5,"ch":4},"text":["",""],"removed":[""]}]],[0,["text",{"from":{"line":6,"ch":0},"to":{"line":6,"ch":0},"text":[" "],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":6,"ch":4}]],[221,["text",{"from":{"line":6,"ch":4},"to":{"line":6,"ch":4},"text":["}"],"removed":[""]}]],[0,["text",{"from":{"line":6,"ch":0},"to":{"line":6,"ch":4},"text":[""],"removed":[" "]}]],[0,["cursor",{"line":6,"ch":1}]],[313,["command","Ctrl-P"]],[0,["cursor",{"line":5,"ch":1}]],[167,["command","Ctrl-E"]],[0,["cursor",{"line":5,"ch":4}]],[272,["text",{"from":{"line":5,"ch":4},"to":{"line":5,"ch":4},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":5}]],[96,["text",{"from":{"line":5,"ch":5},"to":{"line":5,"ch":5},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":6}]],[72,["text",{"from":{"line":5,"ch":6},"to":{"line":5,"ch":6},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":7}]],[48,["text",{"from":{"line":5,"ch":7},"to":{"line":5,"ch":7},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":8}]],[112,["text",{"from":{"line":5,"ch":8},"to":{"line":5,"ch":8},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":9}]],[160,["text",{"from":{"line":5,"ch":9},"to":{"line":5,"ch":9},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":10}]],[95,["text",{"from":{"line":5,"ch":10},"to":{"line":5,"ch":10},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":11}]],[121,["text",{"from":{"line":5,"ch":11},"to":{"line":5,"ch":11},"text":["."],"removed":[""]}]],[0,["cursor",{"line":5,"ch":12}]],[176,["text",{"from":{"line":5,"ch":12},"to":{"line":5,"ch":12},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":13}]],[177,["text",{"from":{"line":5,"ch":13},"to":{"line":5,"ch":13},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":14}]],[102,["text",{"from":{"line":5,"ch":14},"to":{"line":5,"ch":14},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":15}]],[233,["text",{"from":{"line":5,"ch":15},"to":{"line":5,"ch":15},"text":["("],"removed":[""]}]],[0,["cursor",{"line":5,"ch":16}]],[256,["text",{"from":{"line":5,"ch":16},"to":{"line":5,"ch":16},"text":["`"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":17}]],[472,["text",{"from":{"line":5,"ch":17},"to":{"line":5,"ch":17},"text":["H"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":18}]],[168,["text",{"from":{"line":5,"ch":18},"to":{"line":5,"ch":18},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":19}]],[72,["text",{"from":{"line":5,"ch":19},"to":{"line":5,"ch":19},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":20}]],[131,["text",{"from":{"line":5,"ch":20},"to":{"line":5,"ch":20},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":21}]],[157,["text",{"from":{"line":5,"ch":21},"to":{"line":5,"ch":21},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":22}]],[64,["text",{"from":{"line":5,"ch":22},"to":{"line":5,"ch":22},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":5,"ch":23}]],[144,["text",{"from":{"line":5,"ch":23},"to":{"line":5,"ch":23},"text":["$"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":24}]],[120,["text",{"from":{"line":5,"ch":24},"to":{"line":5,"ch":24},"text":["{"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":25}]],[223,["text",{"from":{"line":5,"ch":25},"to":{"line":5,"ch":25},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":26}]],[305,["text",{"from":{"line":5,"ch":26},"to":{"line":5,"ch":26},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":27}]],[72,["text",{"from":{"line":5,"ch":27},"to":{"line":5,"ch":27},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":28}]],[104,["text",{"from":{"line":5,"ch":28},"to":{"line":5,"ch":28},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":29}]],[224,["text",{"from":{"line":5,"ch":29},"to":{"line":5,"ch":29},"text":["}"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":30}]],[120,["text",{"from":{"line":5,"ch":30},"to":{"line":5,"ch":30},"text":["!"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":31}]],[737,["text",{"from":{"line":5,"ch":31},"to":{"line":5,"ch":31},"text":["`"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":32}]],[287,["text",{"from":{"line":5,"ch":32},"to":{"line":5,"ch":32},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":33}]],[200,["text",{"from":{"line":5,"ch":33},"to":{"line":5,"ch":33},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":34}]],[361,["command","Cmd-Enter"]]]; - -recordings.cursor = [/*[98916,[86.406,73]],[18,[86.25,73]],[15,[86.25,72.875]],[16,[86.094,72.75]],[18,[86.016,72.75]],[17,[85.859,72.625]],[16,[85.781,72.375]],[17,[85.469,72.125]],[17,[85.078,71.625]],[17,[84.531,71]],[15,[83.75,70.375]],[19,[82.891,69.625]],[15,[82.422,69.25]],[17,[82.188,69]],[16,[81.953,68.875]],[17,[81.953,68.75]],[34,[81.875,68.75]],[16,[81.719,68.5]],[16,[81.094,67.75]],[17,[79.453,66.375]],[17,[76.484,64.25]],[17,[72.5,61.875]],[17,[67.734,59.375]],[18,[63.594,57.25]],[15,[59.922,55.5]],[16,[57.5,54]],[16,[54.922,52.125]],[18,[53.047,50.375]],[16,[49.609,46.75]],[15,[48.594,45.75]],[19,[46.25,44]],[15,[45.156,43.375]],[19,[43.984,42.75]],[15,[42.5,42.125]],[17,[40.703,41.375]],[16,[38.516,40.25]],[17,[36.719,39.375]],[17,[35.625,38.875]],[16,[34.531,38.375]],[18,[34.141,38.25]],[16,[33.984,38.25]],[16,[33.984,38.25]],[315,[33.984,38.25]],[84,[33.984,38.25]],[33,[34.063,38.125]],[17,[34.063,38.125]],[18,[34.141,38.125]],[15065,[33.438,44.375]],[14,[33.203,45.375]],[18,[33.203,45.75]],[16,[33.203,45.875]],[17,[33.438,45.875]],[17,[35.078,45.5]],[16,[38.047,45]],[17,[41.719,44.5]],[17,[45.391,44.25]],[16,[49.297,43.625]],[17,[51.641,42.875]],[18,[55.234,40.875]],[15,[56.563,39.625]],[16,[57.969,37.5]],[17,[58.906,35.25]],[16,[59.531,32.375]],[17,[59.844,30.5]],[16,[60.078,28.875]],[18,[60.469,27.125]],[17,[61.016,26]],[15,[61.797,24.875]],[17,[62.344,24]],[17,[62.969,23.125]],[15,[63.438,22.25]],[18,[63.672,21.375]],[18,[63.828,20.75]],[15,[63.984,20.25]],[18,[64.063,20]],[16,[64.141,19.875]],[16,[64.219,19.75]],[18,[64.297,19.75]],[16,[64.375,19.625]],[16,[64.453,19.5]],[16,[64.531,19.5]],[18,[64.688,19.5]],[2204,[62.187,19.5]],[16,[60.313,20.25]],[17,[58.047,20.25]],[16,[54.766,20.5]],[17,[47.5,19.75]],[16,[40.938,18.625]],[17,[37.656,18.125]],[16,[35.625,17.75]],[17,[34.063,17.5]],[16,[33.359,17.375]],[18,[33.125,17.375]],[16,[33.125,17.375]],[19,[33.125,17.25]],[380,[33.125,17.375]],[17,[33.125,17.5]],[17,[33.125,17.625]],[16,[33.125,17.625]],[17,[33.203,17.75]],[16,[33.203,17.875]],[33173,[39.922,8.75]],[16,[43.516,5.25]],[18,[47.109,3.125]],[15,[49.922,2.75]],[20,[51.875,2.25]],[14,[52.578,2.125]],[15,[53.672,2]],[16,[53.984,2]],[18,[54.141,1.875]],[17,[54.297,1.875]],[18,[54.531,1.875]],[15,[55.703,1.875]],[16,[56.406,1.875]],[17,[57.266,2.125]],[17,[58.125,2.875]],[16,[60.234,6]],[19,[61.719,9.5]],[17,[63.359,14.625]],[15,[63.828,16.375]],[16,[64.297,18.375]],[17,[64.297,19.25]],[16,[64.297,19.625]],[17,[64.375,19.75]],[16,[64.453,19.875]],[18,[64.609,20]],[1431,[58.438,20]],[15,[52.812,20.875]],[17,[48.438,22.25]],[16,[44.063,23.75]],[17,[40.156,24.75]],[16,[34.844,26.25]],[17,[28.828,27.5]],[17,[25.625,28.125]],[16,[23.438,28.625]],[17,[22.109,28.75]],[17,[21.719,28.875]],[16,[21.641,28.875]],[18,[21.563,28.875]],[15,[21.563,28.875]],[52,[21.563,28.75]],[16,[21.563,28.625]],[15,[21.563,28.375]],[18,[21.719,28.125]],[16,[21.797,28]],[16213,[21.797,27.5]],[15,[21.953,27.125]],[17,[22.031,26.75]],[16,[22.109,26.5]],[18,[22.109,26.5]],[16,[22.109,26.375]],[17,[22.109,26.375]],[17,[22.109,26.25]],[16,[22.109,26.25]],[16,[22.109,26.125]],[18,[22.109,26]],[16,[22.188,25.875]],[17,[22.266,25.875]],[17,[22.344,25.75]],[17,[22.344,25.75]],[16,[22.422,25.5]],[18,[23.047,24.875]],[15,[23.516,24.375]],[17,[24.609,23.625]],[15,[26.563,22.875]],[17,[28.281,22.75]],[18,[30.078,22.75]],[15,[32.734,22.75]],[17,[34.063,22.75]],[17,[35.078,22.75]],[17,[35.859,22.625]],[16,[36.328,22.5]],[16,[36.406,22.375]],[18,[36.563,22.25]],[16,[36.719,22.25]],[18,[36.953,22.125]],[15,[37.031,22.125]],[17,[37.109,22.125]],[16,[37.188,22.125]],[17,[37.188,21.875]],[716,[37.188,21.75]],[16,[37.266,21.75]],[34,[37.266,21.75]],[49,[37.5,21.625]],[18,[38.984,21.625]],[14,[41.641,21.625]],[18,[45.078,22.5]],[17,[47.188,23]],[15,[49.141,23.25]],[17,[49.844,23.25]],[18,[50.156,23.125]],[16,[50.234,23.125]],[17,[50.313,23.125]],[17,[50.313,23.125]],[16,[50.391,23.125]],[33,[50.391,23.125]],[5706,[50.391,23]],*/[34,[50.313,23]],[15,[50.234,22.875]],[17,[50.156,22.75]],[16,[50.078,22.625]],[17,[49.922,22.5]],[17,[49.766,22.375]],[16,[49.688,22.125]],[16,[49.453,22]],[17,[49.219,21.75]],[18,[49.063,21.625]],[16,[48.906,21.5]],[15,[48.75,21.25]],[18,[48.594,21.125]],[17,[48.594,21.125]],[16,[48.516,21.125]],[366,[48.516,21.25]],[32,[48.516,21.25]],[50,[48.516,21.375]],[153,[48.438,21.375]],[13,[48.359,21.375]],[18,[48.203,21.375]],[16,[47.813,21.375]],[17,[47.422,21.375]],[16,[47.109,21.625]],[17,[46.563,21.625]],[17,[45.938,21.625]],[17,[45.156,21.75]],[18,[44.453,21.75]],[15,[43.359,21.75]],[17,[42.031,21.75]],[17,[40.469,21.5]],[16,[38.828,20.875]],[16,[37.266,20.25]],[17,[35.234,19.125]],[16,[34.063,18.5]],[17,[33.047,18]],[17,[32.266,17.875]],[16,[31.563,17.625]],[16,[31.016,17.5]],[18,[30.625,17.5]],[16,[30.469,17.5]],[17,[30.391,17.5]],[17,[30.391,17.375]],[16,[30.391,17.375]],[16,[30.391,17.25]],[17,[30.391,17]],[17,[30.391,16.875]],[17,[30.391,16.75]],[16,[30.391,16.625]],[16,[30.391,16.375]],[17,[30.391,16.25]],[17,[30.391,16.125]],[18,[30.391,16]],[16,[30.391,16]],[16,[30.391,15.75]],[16,[30.391,15.5]],[17,[30.312,15.125]],[17,[30.156,14.75]],[17,[30,14.25]],[17,[29.922,14]],[15,[29.844,13.875]],[18,[29.844,13.625]],[15,[29.766,13.5]],[19,[29.766,13.5]],[15,[29.766,13.375]],[17,[29.688,13.25]],[17,[29.688,13.25]],[17,[29.688,13.25]],[231,[29.688,13.5]],[17,[29.688,13.625]],[18,[29.766,13.875]],[16,[29.844,14.125]],[17,[29.922,14.25]],[17,[30.156,14.5]],[15,[30.234,14.625]],[18,[30.469,14.75]],[15,[30.938,15.25]],[17,[31.484,15.75]],[19,[32.109,16.25]],[15,[32.656,16.625]],[16,[33.281,17]],[17,[33.984,17.375]],[18,[34.531,17.625]],[16,[34.922,17.75]],[16,[35.547,18]],[17,[36.25,18.25]],[17,[37.188,18.25]],[15,[38.125,18.25]],[18,[39.141,18.25]],[16,[40.234,18.25]],[18,[41.25,18.25]],[18,[42.891,18.125]],[14,[44.609,17.875]],[17,[46.406,17.625]],[17,[48.281,17.25]],[16,[50.859,16.625]],[16,[52.812,16.125]],[17,[53.594,15.75]],[16,[56.484,14.875]],[18,[58.281,14.25]],[16,[59.844,13.75]],[17,[60.703,13.375]],[17,[61.953,12.75]],[17,[62.578,12.25]],[16,[63.125,11.75]],[16,[63.672,11.375]],[18,[64.141,11]],[17,[64.688,10.875]],[15,[65.469,10.75]],[17,[66.563,10.625]],[16,[67.578,10.625]],[17,[68.75,10.625]],[17,[69.844,10.625]],[17,[70.703,10.625]],[16,[71.484,10.75]],[17,[72.188,10.875]],[17,[72.422,11.125]],[16,[72.578,11.25]],[17,[72.656,11.5]],[17,[72.656,11.75]],[16,[72.813,12.125]],[17,[72.813,12.5]],[17,[72.813,12.625]],[15,[72.813,12.75]],[17,[72.813,12.875]],[18,[72.813,13]],[15,[72.813,13]],[16,[72.813,13.125]],[18,[72.813,13.25]],[16,[72.813,13.375]],[17,[72.813,13.5]],[17,[72.813,13.5]],[18,[72.813,13.625]],[65,[72.813,13.5]],[16,[72.813,13.375]],[16,[72.813,13.25]],[18,[72.813,13.25]],[16,[72.813,13.125]],[18,[72.656,12.75]],[747,[72.656,12.625]],[33,[72.656,12.625]],[34,[72.656,12.5]],[51,[72.578,12.5]],[48,[72.578,12.5]],[34,[72.578,12.5]],[33,[72.5,12.5]],[34,[72.5,12.625]],[15,[72.5,12.75]],[17,[72.5,13]],[16,[72.5,13.25]],[17,[72.5,13.625]],[18,[72.5,14.125]],[16,[72.5,14.5]],[16,[72.5,14.875]],[17,[72.5,15.375]],[16,[72.5,16.125]],[17,[72.5,17.125]],[17,[72.344,18.625]],[17,[72.109,19.5]],[16,[72.031,20.25]],[17,[71.875,21]],[16,[71.797,21.5]],[17,[71.641,21.875]],[16,[71.641,22]],[17,[71.641,22.125]],[17,[71.563,22.25]],[16,[71.563,22.5]],[17,[71.484,22.875]],[17,[71.406,23.875]],[16,[71.25,25.5]],[17,[71.094,26.625]],[17,[70.859,28]],[17,[70.625,29]],[15,[70.547,29.5]],[19,[70.547,29.75]],[14,[70.547,30]],[18,[70.547,30.125]],[49,[70.625,30.125]],[17,[70.859,30]],[17,[71.328,29.625]],[17,[71.953,29.25]],[16,[72.813,28.75]],[17,[73.984,28]],[17,[75.391,27]],[16,[76.719,26.125]],[17,[77.5,25.5]],[17,[78.203,24.875]],[16,[78.75,24.375]],[18,[79.063,24.125]],[15,[79.219,23.75]],[17,[79.375,23.5]],[16,[79.453,23.375]],[16,[79.453,23.25]],[17,[79.531,23.125]],[50,[79.531,23.125]],[34,[79.531,23]],[67,[79.531,23]],[17,[79.531,22.875]],[17,[79.531,22.75]],[16,[79.531,22.75]],[16,[79.531,22.75]],[17,[79.531,22.625]],[33,[79.531,22.625]],[17,[79.453,22.625]],[17,[79.219,22.625]],[16,[79.063,22.625]]] - -recordings.paint = [[0,{"type":"change-sheet","sheet":0}],[0,{"type":"set-stroke-style","strokeStyle":"#000"}],[1632,{"type":"move-to","x":0.07265625,"y":0.08}],[23,{"type":"line-to","x":0.0734375,"y":0.0825}],[17,{"type":"line-to","x":0.0734375,"y":0.08375}],[14,{"type":"line-to","x":0.07421875,"y":0.08375}],[17,{"type":"line-to","x":0.07421875,"y":0.08375}],[16,{"type":"line-to","x":0.07421875,"y":0.0825}],[17,{"type":"line-to","x":0.07421875,"y":0.07875}],[17,{"type":"line-to","x":0.07109375,"y":0.0675}],[16,{"type":"line-to","x":0.0671875,"y":0.0575}],[20,{"type":"line-to","x":0.06328125,"y":0.05}],[13,{"type":"line-to","x":0.06015625,"y":0.04625}],[17,{"type":"line-to","x":0.05703125,"y":0.0475}],[18,{"type":"line-to","x":0.05546875,"y":0.05375}],[16,{"type":"line-to","x":0.0546875,"y":0.07}],[16,{"type":"line-to","x":0.05625,"y":0.08875}],[18,{"type":"line-to","x":0.059375,"y":0.11125}],[17,{"type":"line-to","x":0.06328125,"y":0.14}],[15,{"type":"line-to","x":0.065625,"y":0.15375}],[17,{"type":"line-to","x":0.06796875,"y":0.16375}],[17,{"type":"line-to","x":0.06953125,"y":0.17125}],[15,{"type":"line-to","x":0.06953125,"y":0.17625}],[17,{"type":"line-to","x":0.0671875,"y":0.17625}],[9,{"type":"line-to","x":0.065625,"y":0.175}],[121,{"type":"move-to","x":0.04609375,"y":0.14125}],[22,{"type":"line-to","x":0.0484375,"y":0.14}],[15,{"type":"line-to","x":0.05234375,"y":0.13625}],[16,{"type":"line-to","x":0.0625,"y":0.12875}],[18,{"type":"line-to","x":0.06875,"y":0.1225}],[15,{"type":"line-to","x":0.07421875,"y":0.11875}],[16,{"type":"line-to","x":0.07734375,"y":0.1175}],[387,{"type":"move-to","x":0.08828125,"y":0.12625}],[14,{"type":"line-to","x":0.08828125,"y":0.13}],[17,{"type":"line-to","x":0.08984375,"y":0.13375}],[14,{"type":"line-to","x":0.09140625,"y":0.1425}],[18,{"type":"line-to","x":0.0921875,"y":0.15125}],[17,{"type":"line-to","x":0.09375,"y":0.165}],[17,{"type":"line-to","x":0.09375,"y":0.17125}],[15,{"type":"line-to","x":0.09375,"y":0.1725}],[19,{"type":"line-to","x":0.09375,"y":0.17125}],[16,{"type":"line-to","x":0.09375,"y":0.16375}],[16,{"type":"line-to","x":0.0953125,"y":0.14625}],[16,{"type":"line-to","x":0.09609375,"y":0.14125}],[18,{"type":"line-to","x":0.09921875,"y":0.12875}],[15,{"type":"line-to","x":0.10234375,"y":0.1275}],[18,{"type":"line-to","x":0.10703125,"y":0.1325}],[17,{"type":"line-to","x":0.11015625,"y":0.13875}],[16,{"type":"line-to","x":0.11328125,"y":0.14375}],[19,{"type":"line-to","x":0.11640625,"y":0.145}],[13,{"type":"line-to","x":0.11953125,"y":0.14625}],[144,{"type":"move-to","x":0.121875,"y":0.145}],[40,{"type":"line-to","x":0.121875,"y":0.14625}],[16,{"type":"line-to","x":0.1234375,"y":0.1475}],[17,{"type":"line-to","x":0.12421875,"y":0.1475}],[18,{"type":"line-to","x":0.12734375,"y":0.1425}],[16,{"type":"line-to","x":0.12890625,"y":0.13625}],[16,{"type":"line-to","x":0.1296875,"y":0.13}],[16,{"type":"line-to","x":0.128125,"y":0.12625}],[17,{"type":"line-to","x":0.12578125,"y":0.125}],[17,{"type":"line-to","x":0.12265625,"y":0.13}],[16,{"type":"line-to","x":0.11796875,"y":0.14375}],[19,{"type":"line-to","x":0.1171875,"y":0.16375}],[16,{"type":"line-to","x":0.11796875,"y":0.16875}],[16,{"type":"line-to","x":0.12109375,"y":0.17375}],[16,{"type":"line-to","x":0.12890625,"y":0.175}],[16,{"type":"line-to","x":0.134375,"y":0.1725}],[5,{"type":"line-to","x":0.13671875,"y":0.17125}],[312,{"type":"move-to","x":0.14140625,"y":0.14375}],[16,{"type":"line-to","x":0.14453125,"y":0.145}],[17,{"type":"line-to","x":0.14609375,"y":0.145}],[16,{"type":"line-to","x":0.15,"y":0.1425}],[16,{"type":"line-to","x":0.15546875,"y":0.135}],[18,{"type":"line-to","x":0.15625,"y":0.13}],[17,{"type":"line-to","x":0.15546875,"y":0.125}],[16,{"type":"line-to","x":0.15,"y":0.12125}],[17,{"type":"line-to","x":0.1453125,"y":0.12375}],[17,{"type":"line-to","x":0.14140625,"y":0.1325}],[15,{"type":"line-to","x":0.13984375,"y":0.145}],[17,{"type":"line-to","x":0.14140625,"y":0.16}],[17,{"type":"line-to","x":0.15390625,"y":0.17125}],[16,{"type":"line-to","x":0.1578125,"y":0.17125}],[19,{"type":"line-to","x":0.1671875,"y":0.16375}],[454,{"type":"move-to","x":0.15859375,"y":0.055}],[27,{"type":"line-to","x":0.16015625,"y":0.055}],[16,{"type":"line-to","x":0.16171875,"y":0.0575}],[17,{"type":"line-to","x":0.1625,"y":0.0625}],[19,{"type":"line-to","x":0.1640625,"y":0.0725}],[15,{"type":"line-to","x":0.1671875,"y":0.08875}],[15,{"type":"line-to","x":0.1703125,"y":0.10875}],[16,{"type":"line-to","x":0.175,"y":0.1375}],[18,{"type":"line-to","x":0.17734375,"y":0.15125}],[18,{"type":"line-to","x":0.178125,"y":0.16125}],[16,{"type":"line-to","x":0.178125,"y":0.165}],[15,{"type":"line-to","x":0.178125,"y":0.16125}],[17,{"type":"line-to","x":0.1765625,"y":0.15125}],[18,{"type":"line-to","x":0.175,"y":0.1375}],[15,{"type":"line-to","x":0.175,"y":0.125}],[17,{"type":"line-to","x":0.1765625,"y":0.1175}],[18,{"type":"line-to","x":0.18203125,"y":0.1175}],[16,{"type":"line-to","x":0.1859375,"y":0.12125}],[15,{"type":"line-to","x":0.18984375,"y":0.13}],[19,{"type":"line-to","x":0.19375,"y":0.1425}],[15,{"type":"line-to","x":0.1953125,"y":0.14875}],[16,{"type":"line-to","x":0.19765625,"y":0.1675}],[19,{"type":"line-to","x":0.19765625,"y":0.16875}],[16,{"type":"line-to","x":0.19765625,"y":0.16625}],[163,{"type":"move-to","x":0.2140625,"y":0.12125}],[19,{"type":"line-to","x":0.21328125,"y":0.11875}],[17,{"type":"line-to","x":0.2109375,"y":0.1175}],[16,{"type":"line-to","x":0.20859375,"y":0.1225}],[18,{"type":"line-to","x":0.20625,"y":0.13125}],[16,{"type":"line-to","x":0.2046875,"y":0.14}],[16,{"type":"line-to","x":0.20390625,"y":0.14875}],[17,{"type":"line-to","x":0.20703125,"y":0.1525}],[17,{"type":"line-to","x":0.21015625,"y":0.15}],[17,{"type":"line-to","x":0.21328125,"y":0.1425}],[15,{"type":"line-to","x":0.21484375,"y":0.135}],[17,{"type":"line-to","x":0.21484375,"y":0.125}],[18,{"type":"line-to","x":0.21484375,"y":0.12125}],[17,{"type":"line-to","x":0.215625,"y":0.12}],[14,{"type":"line-to","x":0.2171875,"y":0.12375}],[18,{"type":"line-to","x":0.2203125,"y":0.1375}],[17,{"type":"line-to","x":0.22265625,"y":0.145}],[16,{"type":"line-to","x":0.22421875,"y":0.14875}],[16,{"type":"line-to","x":0.2265625,"y":0.15125}],[18,{"type":"line-to","x":0.22734375,"y":0.15125}],[123,{"type":"move-to","x":0.2296875,"y":0.1175}],[13,{"type":"line-to","x":0.2296875,"y":0.1175}],[14,{"type":"line-to","x":0.2296875,"y":0.11625}],[16,{"type":"line-to","x":0.23046875,"y":0.12}],[17,{"type":"line-to","x":0.23046875,"y":0.12625}],[16,{"type":"line-to","x":0.23125,"y":0.13375}],[17,{"type":"line-to","x":0.23203125,"y":0.14125}],[15,{"type":"line-to","x":0.2328125,"y":0.14625}],[19,{"type":"line-to","x":0.23359375,"y":0.14875}],[16,{"type":"line-to","x":0.234375,"y":0.1475}],[17,{"type":"line-to","x":0.23515625,"y":0.14}],[17,{"type":"line-to","x":0.23671875,"y":0.13125}],[15,{"type":"line-to","x":0.23984375,"y":0.11875}],[18,{"type":"line-to","x":0.24375,"y":0.11625}],[18,{"type":"line-to","x":0.24609375,"y":0.1175}],[15,{"type":"line-to","x":0.2484375,"y":0.1225}],[15,{"type":"line-to","x":0.24921875,"y":0.13125}],[18,{"type":"line-to","x":0.25,"y":0.1425}],[16,{"type":"line-to","x":0.25,"y":0.1475}],[17,{"type":"line-to","x":0.25,"y":0.15}],[11,{"type":"line-to","x":0.25,"y":0.15125}],[226,{"type":"move-to","x":0.26796875,"y":0.1175}],[30,{"type":"line-to","x":0.26796875,"y":0.1175}],[15,{"type":"line-to","x":0.2671875,"y":0.115}],[19,{"type":"line-to","x":0.265625,"y":0.115}],[16,{"type":"line-to","x":0.2640625,"y":0.115}],[16,{"type":"line-to","x":0.26171875,"y":0.1175}],[15,{"type":"line-to","x":0.25859375,"y":0.1275}],[18,{"type":"line-to","x":0.25703125,"y":0.1375}],[17,{"type":"line-to","x":0.2578125,"y":0.1475}],[17,{"type":"line-to","x":0.26015625,"y":0.155}],[15,{"type":"line-to","x":0.26640625,"y":0.1575}],[18,{"type":"line-to","x":0.271875,"y":0.155}],[15,{"type":"line-to","x":0.27578125,"y":0.15}],[20,{"type":"line-to","x":0.27890625,"y":0.1425}],[13,{"type":"line-to","x":0.2796875,"y":0.13375}],[17,{"type":"line-to","x":0.2796875,"y":0.12125}],[17,{"type":"line-to","x":0.27734375,"y":0.095}],[18,{"type":"line-to","x":0.275,"y":0.07875}],[17,{"type":"line-to","x":0.27265625,"y":0.065}],[15,{"type":"line-to","x":0.26953125,"y":0.055}],[18,{"type":"line-to","x":0.26796875,"y":0.0525}],[16,{"type":"line-to","x":0.2671875,"y":0.05}],[18,{"type":"line-to","x":0.2671875,"y":0.05}],[15,{"type":"line-to","x":0.2671875,"y":0.05125}],[18,{"type":"line-to","x":0.26875,"y":0.055}],[16,{"type":"line-to","x":0.2734375,"y":0.07375}],[16,{"type":"line-to","x":0.2765625,"y":0.09375}],[18,{"type":"line-to","x":0.27890625,"y":0.1175}],[14,{"type":"line-to","x":0.2828125,"y":0.1425}],[17,{"type":"line-to","x":0.28515625,"y":0.15375}],[18,{"type":"line-to","x":0.28671875,"y":0.1575}],[17,{"type":"line-to","x":0.2875,"y":0.15875}],[520,{"type":"move-to","x":0.3484375,"y":0.0975}],[11,{"type":"line-to","x":0.3484375,"y":0.09625}],[17,{"type":"line-to","x":0.3484375,"y":0.09625}],[15,{"type":"line-to","x":0.3484375,"y":0.09875}],[19,{"type":"line-to","x":0.34921875,"y":0.11}],[16,{"type":"line-to","x":0.35078125,"y":0.1225}],[17,{"type":"line-to","x":0.35390625,"y":0.13375}],[16,{"type":"line-to","x":0.35859375,"y":0.14125}],[17,{"type":"line-to","x":0.36484375,"y":0.145}],[17,{"type":"line-to","x":0.375,"y":0.1425}],[16,{"type":"line-to","x":0.38046875,"y":0.135}],[16,{"type":"line-to","x":0.384375,"y":0.12625}],[16,{"type":"line-to","x":0.384375,"y":0.115}],[18,{"type":"line-to","x":0.38125,"y":0.1}],[15,{"type":"line-to","x":0.37890625,"y":0.09625}],[19,{"type":"line-to","x":0.37734375,"y":0.10125}],[17,{"type":"line-to","x":0.37734375,"y":0.11}],[15,{"type":"line-to","x":0.3796875,"y":0.12125}],[17,{"type":"line-to","x":0.384375,"y":0.13125}],[17,{"type":"line-to","x":0.38828125,"y":0.135}],[17,{"type":"line-to","x":0.39140625,"y":0.13375}],[16,{"type":"line-to","x":0.39296875,"y":0.13}],[15,{"type":"line-to","x":0.39375,"y":0.11875}],[18,{"type":"line-to","x":0.39140625,"y":0.1075}],[18,{"type":"line-to","x":0.3890625,"y":0.09375}],[16,{"type":"line-to","x":0.38671875,"y":0.085}],[15,{"type":"line-to","x":0.38515625,"y":0.08625}],[16,{"type":"line-to","x":0.38515625,"y":0.0975}],[17,{"type":"line-to","x":0.3875,"y":0.105}],[254,{"type":"move-to","x":0.415625,"y":0.1075}],[14,{"type":"line-to","x":0.4171875,"y":0.11}],[15,{"type":"line-to","x":0.41875,"y":0.115}],[16,{"type":"line-to","x":0.42109375,"y":0.1275}],[18,{"type":"line-to","x":0.421875,"y":0.135}],[19,{"type":"line-to","x":0.421875,"y":0.14125}],[14,{"type":"line-to","x":0.42109375,"y":0.1425}],[17,{"type":"line-to","x":0.42109375,"y":0.13625}],[16,{"type":"line-to","x":0.42109375,"y":0.12625}],[17,{"type":"line-to","x":0.42109375,"y":0.115}],[18,{"type":"line-to","x":0.42265625,"y":0.1025}],[17,{"type":"line-to","x":0.42421875,"y":0.0975}],[15,{"type":"line-to","x":0.42734375,"y":0.10125}],[16,{"type":"line-to","x":0.43046875,"y":0.10625}],[19,{"type":"line-to","x":0.43359375,"y":0.11125}],[9,{"type":"line-to","x":0.43515625,"y":0.1125}],[100,{"type":"move-to","x":0.44375,"y":0.11875}],[6,{"type":"line-to","x":0.44296875,"y":0.12125}],[15,{"type":"line-to","x":0.44296875,"y":0.1275}],[19,{"type":"line-to","x":0.44296875,"y":0.13375}],[17,{"type":"line-to","x":0.44375,"y":0.1375}],[14,{"type":"line-to","x":0.44453125,"y":0.1375}],[19,{"type":"line-to","x":0.4453125,"y":0.13125}],[121,{"type":"move-to","x":0.434375,"y":0.06625}],[10,{"type":"line-to","x":0.43515625,"y":0.06625}],[18,{"type":"line-to","x":0.4390625,"y":0.06625}],[15,{"type":"line-to","x":0.4421875,"y":0.065}],[12,{"type":"line-to","x":0.44375,"y":0.06375}],[178,{"type":"move-to","x":0.46484375,"y":0.045}],[10,{"type":"line-to","x":0.4640625,"y":0.0475}],[16,{"type":"line-to","x":0.4640625,"y":0.0525}],[18,{"type":"line-to","x":0.4640625,"y":0.06125}],[16,{"type":"line-to","x":0.46484375,"y":0.07625}],[17,{"type":"line-to","x":0.4671875,"y":0.09375}],[16,{"type":"line-to","x":0.46875,"y":0.11125}],[18,{"type":"line-to","x":0.471875,"y":0.13}],[17,{"type":"line-to","x":0.47421875,"y":0.1375}],[17,{"type":"line-to","x":0.47578125,"y":0.14125}],[118,{"type":"move-to","x":0.4515625,"y":0.09875}],[14,{"type":"line-to","x":0.45546875,"y":0.1}],[17,{"type":"line-to","x":0.46171875,"y":0.1}],[16,{"type":"line-to","x":0.4703125,"y":0.0975}],[16,{"type":"line-to","x":0.4828125,"y":0.095}],[17,{"type":"line-to","x":0.48984375,"y":0.09375}],[13,{"type":"line-to","x":0.4921875,"y":0.09375}],[113,{"type":"move-to","x":0.4984375,"y":0.10375}],[7,{"type":"line-to","x":0.4984375,"y":0.10625}],[17,{"type":"line-to","x":0.49921875,"y":0.11375}],[17,{"type":"line-to","x":0.49921875,"y":0.12125}],[16,{"type":"line-to","x":0.5,"y":0.1275}],[15,{"type":"line-to","x":0.50078125,"y":0.13125}],[19,{"type":"line-to","x":0.5015625,"y":0.12875}],[134,{"type":"move-to","x":0.490625,"y":0.05625}],[14,{"type":"line-to","x":0.4921875,"y":0.05875}],[20,{"type":"line-to","x":0.49375,"y":0.06125}],[11,{"type":"line-to","x":0.49453125,"y":0.06125}],[157,{"type":"move-to","x":0.5078125,"y":0.0825}],[29,{"type":"line-to","x":0.50859375,"y":0.08375}],[16,{"type":"line-to","x":0.509375,"y":0.09125}],[17,{"type":"line-to","x":0.509375,"y":0.105}],[16,{"type":"line-to","x":0.51015625,"y":0.115}],[19,{"type":"line-to","x":0.5109375,"y":0.12125}],[14,{"type":"line-to","x":0.51171875,"y":0.12375}],[17,{"type":"line-to","x":0.51171875,"y":0.12125}],[16,{"type":"line-to","x":0.51328125,"y":0.115}],[20,{"type":"line-to","x":0.51484375,"y":0.10375}],[16,{"type":"line-to","x":0.51796875,"y":0.09125}],[15,{"type":"line-to","x":0.52265625,"y":0.08375}],[18,{"type":"line-to","x":0.52421875,"y":0.0875}],[15,{"type":"line-to","x":0.525,"y":0.095}],[17,{"type":"line-to","x":0.5265625,"y":0.10375}],[18,{"type":"line-to","x":0.5296875,"y":0.10875}],[16,{"type":"line-to","x":0.53515625,"y":0.1125}],[126,{"type":"move-to","x":0.5453125,"y":0.085}],[23,{"type":"line-to","x":0.5421875,"y":0.08375}],[18,{"type":"line-to","x":0.53984375,"y":0.08375}],[15,{"type":"line-to","x":0.53671875,"y":0.09}],[17,{"type":"line-to","x":0.53515625,"y":0.09875}],[16,{"type":"line-to","x":0.534375,"y":0.11}],[18,{"type":"line-to","x":0.53828125,"y":0.1175}],[16,{"type":"line-to","x":0.54375,"y":0.1175}],[16,{"type":"line-to","x":0.54921875,"y":0.1125}],[17,{"type":"line-to","x":0.55234375,"y":0.105}],[17,{"type":"line-to","x":0.55390625,"y":0.0925}],[16,{"type":"line-to","x":0.553125,"y":0.0875}],[18,{"type":"line-to","x":0.55234375,"y":0.08625}],[17,{"type":"line-to","x":0.5515625,"y":0.0925}],[15,{"type":"line-to","x":0.5515625,"y":0.1025}],[16,{"type":"line-to","x":0.55390625,"y":0.1225}],[18,{"type":"line-to","x":0.55625,"y":0.1375}],[17,{"type":"line-to","x":0.5578125,"y":0.15125}],[15,{"type":"line-to","x":0.55859375,"y":0.16375}],[16,{"type":"line-to","x":0.55703125,"y":0.18125}],[18,{"type":"line-to","x":0.553125,"y":0.18875}],[18,{"type":"line-to","x":0.54609375,"y":0.1925}],[15,{"type":"line-to","x":0.5375,"y":0.1925}],[16,{"type":"line-to","x":0.53046875,"y":0.18875}],[16,{"type":"line-to","x":0.521875,"y":0.1825}],[19,{"type":"line-to","x":0.51953125,"y":0.17875}],[12,{"type":"line-to","x":0.51953125,"y":0.175}],[526,{"type":"move-to","x":0.615625,"y":0.07875}],[27,{"type":"line-to","x":0.61484375,"y":0.07875}],[17,{"type":"line-to","x":0.61484375,"y":0.08}],[15,{"type":"line-to","x":0.61640625,"y":0.095}],[16,{"type":"line-to","x":0.61875,"y":0.11375}],[17,{"type":"line-to","x":0.621875,"y":0.135}],[17,{"type":"line-to","x":0.62421875,"y":0.1575}],[17,{"type":"line-to","x":0.6265625,"y":0.1875}],[17,{"type":"line-to","x":0.628125,"y":0.20125}],[149,{"type":"move-to","x":0.61640625,"y":0.07625}],[16,{"type":"line-to","x":0.61796875,"y":0.0725}],[18,{"type":"line-to","x":0.61875,"y":0.0725}],[17,{"type":"line-to","x":0.61953125,"y":0.07375}],[16,{"type":"line-to","x":0.62421875,"y":0.07625}],[16,{"type":"line-to","x":0.63046875,"y":0.0775}],[17,{"type":"line-to","x":0.6375,"y":0.08125}],[17,{"type":"line-to","x":0.64453125,"y":0.0875}],[17,{"type":"line-to","x":0.65,"y":0.09625}],[15,{"type":"line-to","x":0.65,"y":0.10875}],[18,{"type":"line-to","x":0.6453125,"y":0.11625}],[17,{"type":"line-to","x":0.6375,"y":0.12125}],[16,{"type":"line-to","x":0.62890625,"y":0.12375}],[7,{"type":"line-to","x":0.62265625,"y":0.1225}],[10,{"type":"line-to","x":0.62109375,"y":0.12}],[16,{"type":"line-to","x":0.6203125,"y":0.115}],[404,{"type":"move-to","x":0.66640625,"y":0.085}],[28,{"type":"line-to","x":0.66484375,"y":0.09375}],[8,{"type":"line-to","x":0.66484375,"y":0.0975}],[9,{"type":"line-to","x":0.6640625,"y":0.105}],[16,{"type":"line-to","x":0.66328125,"y":0.11125}],[18,{"type":"line-to","x":0.66328125,"y":0.11375}],[16,{"type":"line-to","x":0.66328125,"y":0.11375}],[18,{"type":"line-to","x":0.66328125,"y":0.1075}],[13,{"type":"line-to","x":0.66328125,"y":0.10375}],[1,{"type":"line-to","x":0.6640625,"y":0.09875}],[19,{"type":"line-to","x":0.665625,"y":0.08875}],[16,{"type":"line-to","x":0.66953125,"y":0.08125}],[16,{"type":"line-to","x":0.67265625,"y":0.07875}],[16,{"type":"line-to","x":0.6765625,"y":0.08125}],[17,{"type":"line-to","x":0.68046875,"y":0.08875}],[19,{"type":"line-to","x":0.68359375,"y":0.09375}],[121,{"type":"move-to","x":0.69921875,"y":0.085}],[10,{"type":"line-to","x":0.69921875,"y":0.0875}],[17,{"type":"line-to","x":0.6984375,"y":0.0925}],[11,{"type":"line-to","x":0.6984375,"y":0.09625}],[8,{"type":"line-to","x":0.6984375,"y":0.1}],[14,{"type":"line-to","x":0.69921875,"y":0.11125}],[15,{"type":"line-to","x":0.70234375,"y":0.115}],[19,{"type":"line-to","x":0.7046875,"y":0.11625}],[16,{"type":"line-to","x":0.70703125,"y":0.11375}],[17,{"type":"line-to","x":0.70703125,"y":0.10875}],[16,{"type":"line-to","x":0.70625,"y":0.1025}],[16,{"type":"line-to","x":0.703125,"y":0.09375}],[18,{"type":"line-to","x":0.69765625,"y":0.085}],[15,{"type":"line-to","x":0.69453125,"y":0.08375}],[17,{"type":"line-to","x":0.69375,"y":0.085}],[9,{"type":"line-to","x":0.69375,"y":0.08625}],[279,{"type":"move-to","x":0.71953125,"y":0.07875}],[12,{"type":"line-to","x":0.7203125,"y":0.08}],[15,{"type":"line-to","x":0.72109375,"y":0.08625}],[18,{"type":"line-to","x":0.721875,"y":0.1}],[17,{"type":"line-to","x":0.7234375,"y":0.11}],[15,{"type":"line-to","x":0.72578125,"y":0.1175}],[19,{"type":"line-to","x":0.728125,"y":0.12}],[16,{"type":"line-to","x":0.73203125,"y":0.11625}],[17,{"type":"line-to","x":0.73359375,"y":0.10875}],[17,{"type":"line-to","x":0.73515625,"y":0.09875}],[16,{"type":"line-to","x":0.7359375,"y":0.09}],[16,{"type":"line-to","x":0.7375,"y":0.085}],[17,{"type":"line-to","x":0.7390625,"y":0.085}],[15,{"type":"line-to","x":0.74140625,"y":0.0875}],[89,{"type":"move-to","x":0.75078125,"y":0.0925}],[13,{"type":"line-to","x":0.75078125,"y":0.09625}],[16,{"type":"line-to","x":0.75078125,"y":0.10375}],[16,{"type":"line-to","x":0.75234375,"y":0.11375}],[17,{"type":"line-to","x":0.753125,"y":0.11625}],[18,{"type":"line-to","x":0.7546875,"y":0.11375}],[9,{"type":"line-to","x":0.75546875,"y":0.11125}],[106,{"type":"move-to","x":0.75,"y":0.0675}],[17,{"type":"line-to","x":0.7515625,"y":0.07}],[17,{"type":"line-to","x":0.75546875,"y":0.0725}],[15,{"type":"line-to","x":0.76015625,"y":0.075}],[13,{"type":"line-to","x":0.7625,"y":0.0775}],[117,{"type":"move-to","x":0.77890625,"y":0.08375}],[20,{"type":"line-to","x":0.7765625,"y":0.085}],[16,{"type":"line-to","x":0.7734375,"y":0.09}],[18,{"type":"line-to","x":0.7703125,"y":0.1}],[15,{"type":"line-to","x":0.7703125,"y":0.1075}],[18,{"type":"line-to","x":0.7734375,"y":0.1125}],[17,{"type":"line-to","x":0.77734375,"y":0.11375}],[15,{"type":"line-to","x":0.78359375,"y":0.10625}],[18,{"type":"line-to","x":0.7859375,"y":0.09625}],[17,{"type":"line-to","x":0.7875,"y":0.08375}],[17,{"type":"line-to","x":0.7875,"y":0.0675}],[16,{"type":"line-to","x":0.7859375,"y":0.05125}],[16,{"type":"line-to","x":0.784375,"y":0.03875}],[18,{"type":"line-to","x":0.78203125,"y":0.03375}],[19,{"type":"line-to","x":0.78203125,"y":0.035}],[13,{"type":"line-to","x":0.7828125,"y":0.0425}],[17,{"type":"line-to","x":0.78671875,"y":0.06125}],[16,{"type":"line-to","x":0.7890625,"y":0.07875}],[17,{"type":"line-to","x":0.79140625,"y":0.0975}],[18,{"type":"line-to","x":0.7953125,"y":0.11125}],[16,{"type":"line-to","x":0.79921875,"y":0.11875}],[16,{"type":"line-to","x":0.803125,"y":0.12}],[1615,{"type":"move-to","x":0.809375,"y":0.105}],[13,{"type":"line-to","x":0.81015625,"y":0.10625}],[19,{"type":"line-to","x":0.81171875,"y":0.10625}],[18,{"type":"line-to","x":0.81953125,"y":0.1025}],[15,{"type":"line-to","x":0.82265625,"y":0.1}],[16,{"type":"line-to","x":0.83046875,"y":0.09}],[16,{"type":"line-to","x":0.83125,"y":0.08375}],[18,{"type":"line-to","x":0.82734375,"y":0.08125}],[17,{"type":"line-to","x":0.821875,"y":0.08125}],[15,{"type":"line-to","x":0.81640625,"y":0.0875}],[18,{"type":"line-to","x":0.8109375,"y":0.105}],[15,{"type":"line-to","x":0.8109375,"y":0.1175}],[18,{"type":"line-to","x":0.8140625,"y":0.125}],[16,{"type":"line-to","x":0.8203125,"y":0.12875}],[16,{"type":"line-to","x":0.82890625,"y":0.12625}],[7,{"type":"line-to","x":0.83125,"y":0.125}],[138,{"type":"move-to","x":0.85703125,"y":0.095}],[5,{"type":"line-to","x":0.85703125,"y":0.0925}],[18,{"type":"line-to","x":0.85546875,"y":0.08875}],[16,{"type":"line-to","x":0.85390625,"y":0.0875}],[17,{"type":"line-to","x":0.85,"y":0.0875}],[16,{"type":"line-to","x":0.8453125,"y":0.0925}],[16,{"type":"line-to","x":0.840625,"y":0.10875}],[17,{"type":"line-to","x":0.84296875,"y":0.125}],[17,{"type":"line-to","x":0.84765625,"y":0.12875}],[17,{"type":"line-to","x":0.85390625,"y":0.1275}],[15,{"type":"line-to","x":0.86171875,"y":0.115}],[19,{"type":"line-to","x":0.8640625,"y":0.10125}],[16,{"type":"line-to","x":0.8640625,"y":0.08375}],[17,{"type":"line-to","x":0.86328125,"y":0.06375}],[15,{"type":"line-to","x":0.86171875,"y":0.04625}],[18,{"type":"line-to","x":0.8578125,"y":0.0375}],[16,{"type":"line-to","x":0.85625,"y":0.0425}],[17,{"type":"line-to","x":0.85546875,"y":0.05625}],[18,{"type":"line-to","x":0.85625,"y":0.0775}],[14,{"type":"line-to","x":0.8578125,"y":0.105}],[17,{"type":"line-to","x":0.8609375,"y":0.13625}],[17,{"type":"line-to","x":0.86328125,"y":0.15125}],[18,{"type":"line-to","x":0.865625,"y":0.1625}],[769,{"type":"move-to","x":0.07109375,"y":0.2575}],[28,{"type":"line-to","x":0.07421875,"y":0.2625}],[18,{"type":"line-to","x":0.07734375,"y":0.27375}],[16,{"type":"line-to","x":0.08046875,"y":0.29125}],[16,{"type":"line-to","x":0.08359375,"y":0.3075}],[16,{"type":"line-to","x":0.0859375,"y":0.32125}],[16,{"type":"line-to","x":0.0875,"y":0.3275}],[18,{"type":"line-to","x":0.08828125,"y":0.325}],[16,{"type":"line-to","x":0.08984375,"y":0.31625}],[17,{"type":"line-to","x":0.09453125,"y":0.305}],[16,{"type":"line-to","x":0.09921875,"y":0.2975}],[17,{"type":"line-to","x":0.10703125,"y":0.29875}],[17,{"type":"line-to","x":0.11015625,"y":0.30625}],[17,{"type":"line-to","x":0.11015625,"y":0.315}],[17,{"type":"line-to","x":0.10703125,"y":0.32375}],[15,{"type":"line-to","x":0.096875,"y":0.33375}],[19,{"type":"line-to","x":0.090625,"y":0.335}],[15,{"type":"line-to","x":0.08671875,"y":0.3325}],[17,{"type":"line-to","x":0.0875,"y":0.3275}],[15,{"type":"line-to","x":0.0921875,"y":0.32125}],[167,{"type":"move-to","x":0.12421875,"y":0.29}],[18,{"type":"line-to","x":0.1234375,"y":0.29125}],[16,{"type":"line-to","x":0.1234375,"y":0.2975}],[17,{"type":"line-to","x":0.12421875,"y":0.3075}],[15,{"type":"line-to","x":0.128125,"y":0.32125}],[17,{"type":"line-to","x":0.1328125,"y":0.32375}],[17,{"type":"line-to","x":0.13828125,"y":0.32125}],[16,{"type":"line-to","x":0.1421875,"y":0.3125}],[18,{"type":"line-to","x":0.1453125,"y":0.30375}],[16,{"type":"line-to","x":0.146875,"y":0.29375}],[17,{"type":"line-to","x":0.14765625,"y":0.2925}],[17,{"type":"line-to","x":0.15,"y":0.2975}],[15,{"type":"line-to","x":0.153125,"y":0.30875}],[16,{"type":"line-to","x":0.15625,"y":0.32375}],[17,{"type":"line-to","x":0.16015625,"y":0.34875}],[18,{"type":"line-to","x":0.16015625,"y":0.36625}],[18,{"type":"line-to","x":0.15546875,"y":0.38125}],[16,{"type":"line-to","x":0.14765625,"y":0.39375}],[16,{"type":"line-to","x":0.13359375,"y":0.4}],[16,{"type":"line-to","x":0.12578125,"y":0.39375}],[16,{"type":"line-to","x":0.12265625,"y":0.38375}],[19,{"type":"line-to","x":0.1234375,"y":0.37625}],[17,{"type":"line-to","x":0.12734375,"y":0.37125}],[6,{"type":"line-to","x":0.1296875,"y":0.37}],[258,{"type":"set-stroke-style","strokeStyle":"#ff0000"}],[305,{"type":"move-to","x":0.1984375,"y":0.2875}],[12,{"type":"line-to","x":0.19921875,"y":0.2875}],[17,{"type":"line-to","x":0.2015625,"y":0.2925}],[16,{"type":"line-to","x":0.20390625,"y":0.29875}],[17,{"type":"line-to","x":0.20625,"y":0.30875}],[16,{"type":"line-to","x":0.20859375,"y":0.31875}],[16,{"type":"line-to","x":0.209375,"y":0.3275}],[17,{"type":"line-to","x":0.209375,"y":0.33}],[16,{"type":"line-to","x":0.209375,"y":0.33125}],[16,{"type":"line-to","x":0.20859375,"y":0.32}],[18,{"type":"line-to","x":0.209375,"y":0.30625}],[16,{"type":"line-to","x":0.21171875,"y":0.2925}],[17,{"type":"line-to","x":0.21484375,"y":0.285}],[16,{"type":"line-to","x":0.21875,"y":0.285}],[17,{"type":"line-to","x":0.21953125,"y":0.2875}],[16,{"type":"line-to","x":0.221875,"y":0.29625}],[18,{"type":"line-to","x":0.2234375,"y":0.29875}],[99,{"type":"set-stroke-style","strokeStyle":"#1a69b5"}],[203,{"type":"move-to","x":0.23984375,"y":0.2875}],[14,{"type":"line-to","x":0.23984375,"y":0.2875}],[15,{"type":"line-to","x":0.2390625,"y":0.2925}],[18,{"type":"line-to","x":0.240625,"y":0.29625}],[16,{"type":"line-to","x":0.24375,"y":0.3075}],[17,{"type":"line-to","x":0.246875,"y":0.3225}],[17,{"type":"line-to","x":0.25234375,"y":0.34625}],[15,{"type":"line-to","x":0.2546875,"y":0.36}],[17,{"type":"line-to","x":0.25546875,"y":0.37}],[18,{"type":"line-to","x":0.25546875,"y":0.3725}],[17,{"type":"line-to","x":0.2546875,"y":0.36875}],[16,{"type":"line-to","x":0.25234375,"y":0.3575}],[16,{"type":"line-to","x":0.25078125,"y":0.32875}],[17,{"type":"line-to","x":0.25,"y":0.305}],[17,{"type":"line-to","x":0.2515625,"y":0.2875}],[16,{"type":"line-to","x":0.25390625,"y":0.28}],[17,{"type":"line-to","x":0.2578125,"y":0.28125}],[16,{"type":"line-to","x":0.259375,"y":0.28625}],[17,{"type":"line-to","x":0.26015625,"y":0.29375}],[17,{"type":"line-to","x":0.259375,"y":0.30125}],[17,{"type":"line-to","x":0.25390625,"y":0.3125}],[16,{"type":"line-to","x":0.25,"y":0.315}],[17,{"type":"line-to","x":0.246875,"y":0.31375}],[16,{"type":"line-to","x":0.24609375,"y":0.3125}],[4,{"type":"line-to","x":0.24609375,"y":0.31}],[148,{"type":"set-stroke-style","strokeStyle":"#008000"}],[234,{"type":"move-to","x":0.28203125,"y":0.28375}],[30,{"type":"line-to","x":0.2828125,"y":0.285}],[17,{"type":"line-to","x":0.2890625,"y":0.285}],[16,{"type":"line-to","x":0.296875,"y":0.28375}],[18,{"type":"line-to","x":0.3046875,"y":0.28}],[14,{"type":"line-to","x":0.3125,"y":0.2775}],[16,{"type":"line-to","x":0.31328125,"y":0.2775}],[528,{"type":"set-stroke-style","strokeStyle":"#ae81ff"}],[253,{"type":"move-to","x":0.3296875,"y":0.2775}],[19,{"type":"line-to","x":0.33046875,"y":0.2775}],[18,{"type":"line-to","x":0.33203125,"y":0.2825}],[17,{"type":"line-to","x":0.3359375,"y":0.29875}],[14,{"type":"line-to","x":0.33828125,"y":0.31375}],[18,{"type":"line-to","x":0.33984375,"y":0.32875}],[17,{"type":"line-to","x":0.34140625,"y":0.34125}],[16,{"type":"line-to","x":0.3421875,"y":0.34875}],[16,{"type":"line-to","x":0.3421875,"y":0.35}],[18,{"type":"line-to","x":0.340625,"y":0.3425}],[17,{"type":"line-to","x":0.3375,"y":0.32875}],[16,{"type":"line-to","x":0.334375,"y":0.3075}],[15,{"type":"line-to","x":0.33203125,"y":0.27875}],[18,{"type":"line-to","x":0.33515625,"y":0.26875}],[17,{"type":"line-to","x":0.340625,"y":0.26625}],[17,{"type":"line-to","x":0.346875,"y":0.2675}],[16,{"type":"line-to","x":0.3515625,"y":0.2725}],[17,{"type":"line-to","x":0.35390625,"y":0.27875}],[16,{"type":"line-to","x":0.35,"y":0.28875}],[19,{"type":"line-to","x":0.34375,"y":0.295}],[13,{"type":"line-to","x":0.3375,"y":0.29875}],[17,{"type":"line-to","x":0.33515625,"y":0.3}],[17,{"type":"line-to","x":0.3390625,"y":0.29625}],[283,{"type":"set-stroke-style","strokeStyle":"#ff8000"}],[231,{"type":"move-to","x":0.37890625,"y":0.265}],[20,{"type":"line-to","x":0.3765625,"y":0.26625}],[16,{"type":"line-to","x":0.371875,"y":0.27}],[16,{"type":"line-to","x":0.36796875,"y":0.275}],[17,{"type":"line-to","x":0.36640625,"y":0.2825}],[15,{"type":"line-to","x":0.365625,"y":0.29125}],[17,{"type":"line-to","x":0.36796875,"y":0.30375}],[18,{"type":"line-to","x":0.37265625,"y":0.30625}],[16,{"type":"line-to","x":0.37734375,"y":0.30375}],[16,{"type":"line-to","x":0.38046875,"y":0.295}],[16,{"type":"line-to","x":0.3828125,"y":0.28125}],[17,{"type":"line-to","x":0.3828125,"y":0.27625}],[17,{"type":"line-to","x":0.38203125,"y":0.2675}],[17,{"type":"line-to","x":0.38203125,"y":0.265}],[17,{"type":"line-to","x":0.38359375,"y":0.26625}],[16,{"type":"line-to","x":0.38828125,"y":0.2775}],[18,{"type":"line-to","x":0.3921875,"y":0.285}],[17,{"type":"line-to","x":0.3953125,"y":0.29125}],[15,{"type":"line-to","x":0.3984375,"y":0.2925}],[16,{"type":"line-to","x":0.4,"y":0.29125}],[205,{"type":"set-stroke-style","strokeStyle":"#ff0080"}],[241,{"type":"move-to","x":0.409375,"y":0.265}],[21,{"type":"line-to","x":0.409375,"y":0.2725}],[16,{"type":"line-to","x":0.41015625,"y":0.28}],[18,{"type":"line-to","x":0.41171875,"y":0.28625}],[15,{"type":"line-to","x":0.41328125,"y":0.29}],[16,{"type":"line-to","x":0.4140625,"y":0.2925}],[17,{"type":"line-to","x":0.4140625,"y":0.29125}],[15,{"type":"line-to","x":0.4140625,"y":0.28875}],[97,{"type":"move-to","x":0.40234375,"y":0.23125}],[21,{"type":"line-to","x":0.4015625,"y":0.23375}],[17,{"type":"line-to","x":0.40390625,"y":0.2375}],[17,{"type":"line-to","x":0.40625,"y":0.2375}],[17,{"type":"line-to","x":0.4078125,"y":0.2375}],[16,{"type":"line-to","x":0.409375,"y":0.23875}],[272,{"type":"set-stroke-style","strokeStyle":"#ff0000"}],[213,{"type":"move-to","x":0.43515625,"y":0.26375}],[13,{"type":"line-to","x":0.43515625,"y":0.26625}],[18,{"type":"line-to","x":0.4359375,"y":0.27125}],[18,{"type":"line-to","x":0.4375,"y":0.27875}],[14,{"type":"line-to","x":0.43828125,"y":0.28625}],[18,{"type":"line-to","x":0.43984375,"y":0.2925}],[16,{"type":"line-to","x":0.43984375,"y":0.29625}],[17,{"type":"line-to","x":0.43984375,"y":0.29625}],[16,{"type":"line-to","x":0.43984375,"y":0.29375}],[18,{"type":"line-to","x":0.44140625,"y":0.28625}],[16,{"type":"line-to","x":0.44609375,"y":0.27}],[17,{"type":"line-to","x":0.44921875,"y":0.26375}],[17,{"type":"line-to","x":0.45234375,"y":0.2625}],[16,{"type":"line-to","x":0.4546875,"y":0.26875}],[15,{"type":"line-to","x":0.45625,"y":0.2825}],[17,{"type":"line-to","x":0.45703125,"y":0.28875}],[17,{"type":"line-to","x":0.4578125,"y":0.29125}],[17,{"type":"line-to","x":0.45859375,"y":0.29}],[10,{"type":"line-to","x":0.459375,"y":0.28875}],[212,{"type":"set-stroke-style","strokeStyle":"#1a69b5"}],[58,{"type":"move-to","x":0.46953125,"y":0.205}],[19,{"type":"line-to","x":0.4703125,"y":0.20375}],[16,{"type":"line-to","x":0.47109375,"y":0.20375}],[17,{"type":"line-to","x":0.4734375,"y":0.2075}],[17,{"type":"line-to","x":0.475,"y":0.22625}],[18,{"type":"line-to","x":0.47578125,"y":0.2425}],[16,{"type":"line-to","x":0.47578125,"y":0.26}],[15,{"type":"line-to","x":0.4765625,"y":0.28125}],[17,{"type":"line-to","x":0.4796875,"y":0.29375}],[16,{"type":"line-to","x":0.48125,"y":0.295}],[18,{"type":"line-to","x":0.484375,"y":0.29625}],[17,{"type":"line-to","x":0.4875,"y":0.2925}],[15,{"type":"line-to","x":0.49140625,"y":0.28125}],[18,{"type":"line-to","x":0.4921875,"y":0.275}],[16,{"type":"line-to","x":0.49140625,"y":0.26875}],[104,{"type":"move-to","x":0.46171875,"y":0.25625}],[12,{"type":"line-to","x":0.46171875,"y":0.2575}],[19,{"type":"line-to","x":0.46640625,"y":0.2575}],[16,{"type":"line-to","x":0.4703125,"y":0.2575}],[15,{"type":"line-to","x":0.478125,"y":0.25375}],[17,{"type":"line-to","x":0.48515625,"y":0.25}],[17,{"type":"line-to","x":0.4921875,"y":0.24625}],[359,{"type":"set-stroke-style","strokeStyle":"#000000"}],[286,{"type":"move-to","x":0.5671875,"y":0.24875}],[20,{"type":"line-to","x":0.565625,"y":0.24875}],[15,{"type":"line-to","x":0.565625,"y":0.25125}],[18,{"type":"line-to","x":0.5671875,"y":0.2625}],[17,{"type":"line-to","x":0.56953125,"y":0.27625}],[18,{"type":"line-to","x":0.5734375,"y":0.29625}],[15,{"type":"line-to","x":0.5765625,"y":0.31875}],[16,{"type":"line-to","x":0.58046875,"y":0.34875}],[17,{"type":"line-to","x":0.58125,"y":0.36125}],[17,{"type":"line-to","x":0.58125,"y":0.3675}],[16,{"type":"line-to","x":0.58046875,"y":0.3675}],[17,{"type":"line-to","x":0.57890625,"y":0.3575}],[17,{"type":"line-to","x":0.57734375,"y":0.32875}],[16,{"type":"line-to","x":0.57578125,"y":0.3}],[18,{"type":"line-to","x":0.575,"y":0.27375}],[16,{"type":"line-to","x":0.575,"y":0.2575}],[15,{"type":"line-to","x":0.57734375,"y":0.25}],[18,{"type":"line-to","x":0.58125,"y":0.24875}],[16,{"type":"line-to","x":0.5859375,"y":0.25125}],[17,{"type":"line-to","x":0.590625,"y":0.2575}],[16,{"type":"line-to","x":0.59375,"y":0.2675}],[18,{"type":"line-to","x":0.58984375,"y":0.28125}],[17,{"type":"line-to","x":0.58359375,"y":0.28875}],[18,{"type":"line-to","x":0.578125,"y":0.2925}],[16,{"type":"line-to","x":0.57421875,"y":0.29125}],[14,{"type":"line-to","x":0.57578125,"y":0.28125}],[16,{"type":"line-to","x":0.57890625,"y":0.2775}],[99,{"type":"move-to","x":0.6140625,"y":0.24875}],[19,{"type":"line-to","x":0.61328125,"y":0.24875}],[16,{"type":"line-to","x":0.61171875,"y":0.2525}],[17,{"type":"line-to","x":0.60859375,"y":0.2625}],[17,{"type":"line-to","x":0.6078125,"y":0.2725}],[17,{"type":"line-to","x":0.6078125,"y":0.2775}],[17,{"type":"line-to","x":0.61015625,"y":0.27875}],[15,{"type":"line-to","x":0.61484375,"y":0.27125}],[18,{"type":"line-to","x":0.6171875,"y":0.26375}],[16,{"type":"line-to","x":0.6171875,"y":0.25625}],[18,{"type":"line-to","x":0.6171875,"y":0.2525}],[15,{"type":"line-to","x":0.6171875,"y":0.2525}],[15,{"type":"line-to","x":0.6171875,"y":0.2575}],[19,{"type":"line-to","x":0.61875,"y":0.27}],[17,{"type":"line-to","x":0.621875,"y":0.275}],[16,{"type":"line-to","x":0.6265625,"y":0.27625}],[11,{"type":"line-to","x":0.62890625,"y":0.27625}],[506,{"type":"move-to","x":0.65234375,"y":0.24375}],[16,{"type":"line-to","x":0.65078125,"y":0.24}],[17,{"type":"line-to","x":0.646875,"y":0.24}],[15,{"type":"line-to","x":0.640625,"y":0.245}],[18,{"type":"line-to","x":0.63671875,"y":0.25375}],[16,{"type":"line-to","x":0.63515625,"y":0.26375}],[16,{"type":"line-to","x":0.6359375,"y":0.2725}],[16,{"type":"line-to","x":0.64375,"y":0.2775}],[17,{"type":"line-to","x":0.65078125,"y":0.27625}],[16,{"type":"line-to","x":0.65625,"y":0.27}],[170,{"type":"move-to","x":0.65625,"y":0.18625}],[15,{"type":"line-to","x":0.65546875,"y":0.1875}],[15,{"type":"line-to","x":0.65625,"y":0.19625}],[18,{"type":"line-to","x":0.65859375,"y":0.20875}],[15,{"type":"line-to","x":0.66171875,"y":0.2275}],[17,{"type":"line-to","x":0.66484375,"y":0.2475}],[18,{"type":"line-to","x":0.66640625,"y":0.265}],[15,{"type":"line-to","x":0.66875,"y":0.28125}],[18,{"type":"line-to","x":0.66875,"y":0.285}],[16,{"type":"line-to","x":0.66875,"y":0.2825}],[17,{"type":"line-to","x":0.66875,"y":0.27625}],[15,{"type":"line-to","x":0.66953125,"y":0.26875}],[17,{"type":"line-to","x":0.67265625,"y":0.26375}],[18,{"type":"line-to","x":0.67578125,"y":0.265}],[16,{"type":"line-to","x":0.67890625,"y":0.27}],[17,{"type":"line-to","x":0.68203125,"y":0.27625}],[16,{"type":"line-to","x":0.6859375,"y":0.28125}],[17,{"type":"line-to","x":0.68671875,"y":0.28125}],[18,{"type":"line-to","x":0.68671875,"y":0.27875}],[79,{"type":"move-to","x":0.66484375,"y":0.25375}],[22,{"type":"line-to","x":0.66484375,"y":0.255}],[13,{"type":"line-to","x":0.66875,"y":0.25375}],[18,{"type":"line-to","x":0.67578125,"y":0.25}],[16,{"type":"line-to","x":0.68359375,"y":0.24625}],[18,{"type":"line-to","x":0.69140625,"y":0.24375}],[16,{"type":"line-to","x":0.69765625,"y":0.24375}],[92,{"type":"move-to","x":0.715625,"y":0.2375}],[24,{"type":"line-to","x":0.71328125,"y":0.23625}],[18,{"type":"line-to","x":0.7109375,"y":0.2375}],[14,{"type":"line-to","x":0.70859375,"y":0.2425}],[18,{"type":"line-to","x":0.703125,"y":0.255}],[17,{"type":"line-to","x":0.70234375,"y":0.26375}],[16,{"type":"line-to","x":0.70390625,"y":0.26625}],[18,{"type":"line-to","x":0.7078125,"y":0.265}],[15,{"type":"line-to","x":0.71328125,"y":0.255}],[16,{"type":"line-to","x":0.71484375,"y":0.2475}],[18,{"type":"line-to","x":0.715625,"y":0.24125}],[16,{"type":"line-to","x":0.715625,"y":0.2375}],[17,{"type":"line-to","x":0.715625,"y":0.24}],[16,{"type":"line-to","x":0.715625,"y":0.245}],[17,{"type":"line-to","x":0.71796875,"y":0.25625}],[17,{"type":"line-to","x":0.721875,"y":0.26}],[17,{"type":"line-to","x":0.72578125,"y":0.2625}],[18,{"type":"line-to","x":0.7296875,"y":0.2625}],[316,{"type":"move-to","x":0.7578125,"y":0.23125}],[15,{"type":"line-to","x":0.7578125,"y":0.23}],[16,{"type":"line-to","x":0.75546875,"y":0.22875}],[17,{"type":"line-to","x":0.75234375,"y":0.23}],[17,{"type":"line-to","x":0.74765625,"y":0.235}],[15,{"type":"line-to","x":0.74140625,"y":0.25}],[18,{"type":"line-to","x":0.740625,"y":0.25875}],[17,{"type":"line-to","x":0.74453125,"y":0.26125}],[15,{"type":"line-to","x":0.7515625,"y":0.25875}],[18,{"type":"line-to","x":0.7578125,"y":0.25125}],[16,{"type":"line-to","x":0.76328125,"y":0.23875}],[17,{"type":"line-to","x":0.76328125,"y":0.2325}],[17,{"type":"line-to","x":0.76171875,"y":0.23}],[16,{"type":"line-to","x":0.76015625,"y":0.23}],[15,{"type":"line-to","x":0.7578125,"y":0.23375}],[19,{"type":"line-to","x":0.7578125,"y":0.23625}],[16,{"type":"line-to","x":0.7578125,"y":0.2375}],[16,{"type":"line-to","x":0.7578125,"y":0.2375}],[16,{"type":"line-to","x":0.7578125,"y":0.2375}],[18,{"type":"line-to","x":0.75859375,"y":0.2375}],[17,{"type":"line-to","x":0.75859375,"y":0.2375}],[17,{"type":"line-to","x":0.759375,"y":0.24}],[16,{"type":"line-to","x":0.76015625,"y":0.2475}],[16,{"type":"line-to","x":0.76328125,"y":0.265}],[17,{"type":"line-to","x":0.765625,"y":0.28}],[18,{"type":"line-to","x":0.7671875,"y":0.29625}],[15,{"type":"line-to","x":0.76875,"y":0.31375}],[16,{"type":"line-to","x":0.76875,"y":0.33}],[18,{"type":"line-to","x":0.765625,"y":0.3475}],[16,{"type":"line-to","x":0.7609375,"y":0.355}],[16,{"type":"line-to","x":0.7546875,"y":0.35875}],[17,{"type":"line-to","x":0.74609375,"y":0.35625}],[18,{"type":"line-to","x":0.73515625,"y":0.34375}],[15,{"type":"line-to","x":0.73046875,"y":0.3325}],[17,{"type":"line-to","x":0.728125,"y":0.3225}],[18,{"type":"line-to","x":0.728125,"y":0.3125}],[10,{"type":"line-to","x":0.7296875,"y":0.30875}],[262,{"type":"move-to","x":0.77734375,"y":0.25375}],[10,{"type":"line-to","x":0.778125,"y":0.25375}],[16,{"type":"line-to","x":0.77890625,"y":0.255}],[17,{"type":"line-to","x":0.78046875,"y":0.255}],[15,{"type":"line-to","x":0.78203125,"y":0.25625}],[17,{"type":"line-to","x":0.78359375,"y":0.255}],[18,{"type":"line-to","x":0.7859375,"y":0.2525}],[15,{"type":"line-to","x":0.7875,"y":0.24875}],[17,{"type":"line-to","x":0.7875,"y":0.24375}],[17,{"type":"line-to","x":0.78515625,"y":0.23875}],[19,{"type":"line-to","x":0.78125,"y":0.23625}],[16,{"type":"line-to","x":0.77578125,"y":0.24125}],[16,{"type":"line-to","x":0.775,"y":0.24625}],[16,{"type":"line-to","x":0.77421875,"y":0.25625}],[16,{"type":"line-to","x":0.7796875,"y":0.27}],[17,{"type":"line-to","x":0.78671875,"y":0.2725}],[17,{"type":"line-to","x":0.79375,"y":0.2725}],[18,{"type":"line-to","x":0.79921875,"y":0.26875}],[2,{"type":"line-to","x":0.8,"y":0.26625}],[3256,{"type":"erase","x":0.8671875,"y":0.0525,"r":0.02}],[17,{"type":"erase","x":0.865625,"y":0.0525,"r":0.02}],[17,{"type":"erase","x":0.8640625,"y":0.0525,"r":0.02}],[16,{"type":"erase","x":0.8640625,"y":0.055,"r":0.02}],[19,{"type":"erase","x":0.865625,"y":0.065,"r":0.02}],[15,{"type":"erase","x":0.86640625,"y":0.08,"r":0.02}],[15,{"type":"erase","x":0.86640625,"y":0.0975,"r":0.02}],[17,{"type":"erase","x":0.86640625,"y":0.11625,"r":0.02}],[17,{"type":"erase","x":0.8640625,"y":0.1325,"r":0.02}],[16,{"type":"erase","x":0.86015625,"y":0.15125,"r":0.02}],[17,{"type":"erase","x":0.859375,"y":0.1575,"r":0.02}],[19,{"type":"erase","x":0.8609375,"y":0.15875,"r":0.02}],[16,{"type":"erase","x":0.86328125,"y":0.15375,"r":0.02}],[16,{"type":"erase","x":0.8671875,"y":0.14375,"r":0.02}],[15,{"type":"erase","x":0.87265625,"y":0.1275,"r":0.02}],[17,{"type":"erase","x":0.87421875,"y":0.1175,"r":0.02}],[17,{"type":"erase","x":0.87421875,"y":0.1075,"r":0.02}],[17,{"type":"erase","x":0.87265625,"y":0.0975,"r":0.02}],[17,{"type":"erase","x":0.86953125,"y":0.085,"r":0.02}],[15,{"type":"erase","x":0.86796875,"y":0.08125,"r":0.02}],[19,{"type":"erase","x":0.86796875,"y":0.0825,"r":0.02}],[16,{"type":"erase","x":0.86796875,"y":0.09125,"r":0.02}],[16,{"type":"erase","x":0.86875,"y":0.105,"r":0.02}],[16,{"type":"erase","x":0.86953125,"y":0.12625,"r":0.02}],[17,{"type":"erase","x":0.86796875,"y":0.13625,"r":0.02}],[18,{"type":"erase","x":0.8671875,"y":0.14125,"r":0.02}],[16,{"type":"erase","x":0.86640625,"y":0.1425,"r":0.02}],[16,{"type":"erase","x":0.86640625,"y":0.1375,"r":0.02}],[17,{"type":"erase","x":0.86796875,"y":0.1225,"r":0.02}],[17,{"type":"erase","x":0.86875,"y":0.1125,"r":0.02}],[17,{"type":"erase","x":0.86796875,"y":0.10625,"r":0.02}],[16,{"type":"erase","x":0.86640625,"y":0.10375,"r":0.02}],[16,{"type":"erase","x":0.86328125,"y":0.105,"r":0.02}],[17,{"type":"erase","x":0.86171875,"y":0.1075,"r":0.02}],[17,{"type":"erase","x":0.8609375,"y":0.11,"r":0.02}],[17,{"type":"erase","x":0.86015625,"y":0.1125,"r":0.02}],[15,{"type":"erase","x":0.86015625,"y":0.115,"r":0.02}],[17,{"type":"erase","x":0.85859375,"y":0.11875,"r":0.02}],[17,{"type":"erase","x":0.8578125,"y":0.12,"r":0.02}],[18,{"type":"erase","x":0.8578125,"y":0.12,"r":0.02}],[15,{"type":"erase","x":0.8578125,"y":0.1175,"r":0.02}],[18,{"type":"erase","x":0.8578125,"y":0.115,"r":0.02}],[16,{"type":"erase","x":0.859375,"y":0.1125,"r":0.02}],[16,{"type":"erase","x":0.859375,"y":0.11125,"r":0.02}],[17,{"type":"erase","x":0.859375,"y":0.11,"r":0.02}],[15,{"type":"erase","x":0.859375,"y":0.11,"r":0.02}],[17,{"type":"erase","x":0.8578125,"y":0.1125,"r":0.02}],[17,{"type":"erase","x":0.85625,"y":0.12,"r":0.02}],[19,{"type":"erase","x":0.85546875,"y":0.12375,"r":0.02}],[15,{"type":"erase","x":0.85625,"y":0.12625,"r":0.02}],[17,{"type":"erase","x":0.859375,"y":0.1275,"r":0.02}],[15,{"type":"erase","x":0.8625,"y":0.1275,"r":0.02}],[18,{"type":"erase","x":0.86484375,"y":0.12875,"r":0.02}],[18,{"type":"erase","x":0.865625,"y":0.13125,"r":0.02}],[15,{"type":"erase","x":0.86640625,"y":0.1375,"r":0.02}],[19,{"type":"erase","x":0.865625,"y":0.15,"r":0.02}],[1152,{"type":"move-to","x":0.86328125,"y":0.09125}],[25,{"type":"line-to","x":0.86328125,"y":0.09125}],[16,{"type":"line-to","x":0.86328125,"y":0.09125}],[17,{"type":"line-to","x":0.86328125,"y":0.09125}],[18,{"type":"line-to","x":0.86171875,"y":0.09125}],[16,{"type":"line-to","x":0.86015625,"y":0.09125}],[19,{"type":"line-to","x":0.85625,"y":0.09125}],[16,{"type":"line-to","x":0.8515625,"y":0.095}],[15,{"type":"line-to","x":0.846875,"y":0.10125}],[17,{"type":"line-to","x":0.84453125,"y":0.11375}],[16,{"type":"line-to","x":0.84609375,"y":0.12}],[18,{"type":"line-to","x":0.85078125,"y":0.1225}],[15,{"type":"line-to","x":0.85859375,"y":0.1225}],[17,{"type":"line-to","x":0.86796875,"y":0.115}],[16,{"type":"line-to","x":0.86953125,"y":0.11}],[17,{"type":"line-to","x":0.86875,"y":0.10625}],[170,{"type":"move-to","x":0.86015625,"y":0.045}],[12,{"type":"line-to","x":0.86015625,"y":0.04375}],[17,{"type":"line-to","x":0.85859375,"y":0.04125}],[17,{"type":"line-to","x":0.85859375,"y":0.04125}],[17,{"type":"line-to","x":0.8578125,"y":0.04125}],[17,{"type":"line-to","x":0.8578125,"y":0.04125}],[16,{"type":"line-to","x":0.8578125,"y":0.04125}],[17,{"type":"line-to","x":0.85859375,"y":0.04875}],[16,{"type":"line-to","x":0.859375,"y":0.05375}],[19,{"type":"line-to","x":0.8625,"y":0.075}],[14,{"type":"line-to","x":0.8640625,"y":0.085}],[18,{"type":"line-to","x":0.8671875,"y":0.115}],[16,{"type":"line-to","x":0.86953125,"y":0.13375}],[17,{"type":"line-to","x":0.87109375,"y":0.13875}],[17,{"type":"line-to","x":0.871875,"y":0.14125}]]; diff --git a/rp-master.config.js b/rp-master.config.js deleted file mode 100644 index b685806..0000000 --- a/rp-master.config.js +++ /dev/null @@ -1,18 +0,0 @@ -// rp-master.config.js -const os = require("os"); - -module.exports = { - render: { - concurrency: os.cpus().length, - imageFormat: "png" - }, - thumbs: { - browserHeight: 800, - browserWidth: 1280, - concurrency: os.cpus().length, - frequency: 1, - imageFormat: "png", - // make sure the output pattern matches the imageFormat - output: "./thumbs/%s.png" - } -}; \ No newline at end of file diff --git a/server.js b/server.js deleted file mode 100644 index d523e11..0000000 --- a/server.js +++ /dev/null @@ -1,30 +0,0 @@ -const express = require("express"); -const fs = require("fs"); - -const livereload = require("livereload"); - -// livereload -const lrServer = livereload.createServer({ - /* - uncomment this to use LiveReload over https - (https is required to record audio) - */ - - // https: { - // key: fs.readFileSync(`${__dirname}/ssl/ractive-player.key`, "utf-8"), - // cert: fs.readFileSync(`${__dirname}/ssl/ractive-player.crt`, "utf-8") - // }, - port: 35729 -}); - -// this is bad... -lrServer.watch(__dirname); - -// http -const app = express(); -app.use("/", express.static(__dirname)); - -app.set("port", 8080); -app.listen(app.get("port")); - -console.log("Listening on port " + app.get("port")); diff --git a/src/@development/controls.tsx b/src/@development/controls.tsx index fc6a0bd..b2a2e2b 100644 --- a/src/@development/controls.tsx +++ b/src/@development/controls.tsx @@ -1,24 +1,10 @@ -import * as React from "react"; -import {Player} from "liqvid"; - -import {RecordingControl} from "rp-recording"; - -import CodeRecorderPlugin from "rp-codemirror/recorder"; -import CursorRecorderPlugin from "rp-cursor/recorder"; -import PaintRecorderPlugin from "rp-paint/recorder"; - import ShowMarkerName from "@lib/ShowMarkerName"; +import CodeRecording from "rp-codemirror/recorder"; +import CursorRecording from "rp-cursor/recorder"; +import PaintRecording from "rp-paint/recorder"; +import {RecordingControl} from "rp-recording"; -export const controls = (<> - {Player.defaultControlsLeft} - -
- {/* handy when developing */} - {/**/} - - {/* record audio, markers, and more */} - +export const controls = [,]; - {Player.defaultControlsRight} -
-); \ No newline at end of file +// import {rebindArrowKeys} from "@lib/rebind-arrow-keys"; +// rebindArrowKeys(player); diff --git a/src/@development/prompts.tsx b/src/@development/prompts.tsx index 0b8e8a5..5830dcc 100644 --- a/src/@development/prompts.tsx +++ b/src/@development/prompts.tsx @@ -80,10 +80,10 @@ export const PlaybackPrompt = (props: P) => ( a standard requestAnimationFrame loop that simulates a media element being played. It - imitates the HTMLMediaElement interface to a certain extent, although it doesn't actually implement it. And then it dispatches + imitates the HTMLMediaElement interface to a certain extent, although it doesn't actually implement it. And it dispatches - events through an EventEmitter called playback.hub, that things can subscribe to. (All the EventEmitters in this library are called Hub, which comes from MathJax.) + events through an EventEmitter. ); diff --git a/src/AnimationSlide.tsx b/src/AnimationSlide.tsx deleted file mode 100644 index 480779c..0000000 --- a/src/AnimationSlide.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from "react"; -import {useMemo} from "react"; - -import {Utils, usePlayer, useTimeUpdate} from "liqvid"; -const {animate} = Utils.animation, - {during} = Utils.authoring; - -import {AnimationPrompt} from "@env/prompts"; - -import * as BezierEasing from "bezier-easing"; -const easeInSine = [0.47, 0, 0.745, 0.715] as const; - -export default function AnimationSlide() { - const {script} = usePlayer(); - - const ref = React.useRef(); - const rotate = useMemo(() => animate({ - endValue: 2 * Math.PI, - startTime: script.parseStart("animation/fire"), - duration: 1000, - easing: BezierEasing(...easeInSine) - }), []); - - useTimeUpdate(t => { - const p = rotate(t); - ref.current.style.left = `${50 + 20 * Math.cos(p)}%`; - ref.current.style.top = `${50 - 20 * Math.sin(p)}%`; - }, []); - - return ( -
- whoa - -
- ); -} \ No newline at end of file diff --git a/src/CodeMirror.tsx b/src/CodeMirror.tsx index 80e582d..bf5660a 100644 --- a/src/CodeMirror.tsx +++ b/src/CodeMirror.tsx @@ -1,11 +1,7 @@ -import * as React from "react"; -import {useCallback, useEffect, useMemo, useRef} from "react"; +import {useRef} from "react"; -import {Player, Utils, usePlayer} from "liqvid"; -const {during} = Utils.authoring, - {dragHelperReact} = Utils.interactivity, - {constrain} = Utils.misc, - {onClick} = Utils.mobile; +import {Utils} from "liqvid"; +const {getJSON} = Utils.json; // import CodeRecorderPlugin from "rp-codemirror/recorder"; import {CodeBooth} from "rp-codebooth"; @@ -22,7 +18,7 @@ export default function CodeMirrorSlide() { } return ( -
+
diff --git a/src/Cursor.tsx b/src/Cursor.tsx index bd5ae1f..9345eb0 100644 --- a/src/Cursor.tsx +++ b/src/Cursor.tsx @@ -1,23 +1,19 @@ -import * as React from "react"; -import {useMemo} from "react"; - import {Utils} from "liqvid"; -const {during} = Utils.authoring; +const {getJSON} = Utils.json; import Cursor from "rp-cursor"; import Link from "@lib/Link"; - import {MEDIA_URL} from "@env/media-url"; import {CursorPrompt} from "@env/prompts"; export default function CursorSlide() { return ( -
+

The rp-cursor package lets you record mouse movements, in case you want to point to something on the screen.

- +
); -} \ No newline at end of file +} diff --git a/src/Intro.tsx b/src/Intro.tsx index eb2de48..16885aa 100644 --- a/src/Intro.tsx +++ b/src/Intro.tsx @@ -1,12 +1,10 @@ -import * as React from "react"; -import {useCallback, useState} from "react"; +import {useCallback, useMemo, useRef, useState} from "react"; -import {IdMap, Player, Utils, usePlayer, useTimeUpdate} from "liqvid"; +import {IdMap, Player, Utils, usePlayer, useTime} from "liqvid"; const {during, from} = Utils.authoring, {between} = Utils.misc; import Link from "@lib/Link"; - import {MEDIA_URL} from "@env/media-url"; import {IntroPrompt} from "@env/prompts"; @@ -25,10 +23,10 @@ export default function Intro() { }, []); // pausing - const m = React.useMemo(() => player.script.parseStart("intro/pause"), []); - const prev = React.useRef(player.playback.currentTime); + const m = useMemo(() => player.script.parseStart("intro/pause"), []); + const prev = useRef(player.playback.currentTime); const EPSILON = 300; - useTimeUpdate(t => { + useTime(t => { if (between(m - EPSILON, prev.current, m) && between(m, t, m + EPSILON)) { player.playback.pause(); } diff --git a/src/Paint.tsx b/src/Paint.tsx index 02ba361..a5bd535 100644 --- a/src/Paint.tsx +++ b/src/Paint.tsx @@ -1,22 +1,16 @@ -import * as React from "react"; -import {useMemo} from "react"; - -import {Utils, usePlayer, useTimeUpdate} from "liqvid"; -const {animate} = Utils.animation, - {during} = Utils.authoring; - +import {Utils} from "liqvid"; +const {getJSON} = Utils.json; import {PaintCanvas, PaintReplay} from "rp-paint"; // import PaintRecorderPlugin from "rp-paint/recorder"; import {PaintPrompt} from "@env/prompts"; export default function PaintSlide() { - return ( -
+
{/**/} {}
diff --git a/src/PlaybackSlide.tsx b/src/PlaybackSlide.tsx index 103e711..8374a96 100644 --- a/src/PlaybackSlide.tsx +++ b/src/PlaybackSlide.tsx @@ -1,5 +1,3 @@ -import * as React from "react"; - import {Utils} from "liqvid"; const {during, from} = Utils.authoring; diff --git a/src/PlayerSlide.tsx b/src/PlayerSlide.tsx index effbe73..80657ad 100644 --- a/src/PlayerSlide.tsx +++ b/src/PlayerSlide.tsx @@ -1,5 +1,3 @@ -import * as React from "react"; - import {Utils} from "liqvid"; const {during, from} = Utils.authoring; diff --git a/src/RecordingSlide.tsx b/src/RecordingSlide.tsx index bc4b40d..c6c2ec9 100644 --- a/src/RecordingSlide.tsx +++ b/src/RecordingSlide.tsx @@ -1,12 +1,6 @@ -import * as React from "react"; -import {useMemo} from "react"; - -import {Utils, usePlayer} from "liqvid"; +import {Utils} from "liqvid"; const {during, from} = Utils.authoring; -import Link from "@lib/Link"; - -import {MEDIA_URL} from "@env/media-url"; import {RecordingPrompt} from "@env/prompts"; export default function PlaybackSlide() { @@ -14,13 +8,16 @@ export default function PlaybackSlide() {

Recording

    -
  • recording functionality provided by rp-recording
  • +
  • recording functionality provided by rp-recording
  • implemented as custom control, c.f. index.tsx
  • can only record audio over HTTPS! - How to get HTTPS working on your local development environment + How to get HTTPS working on your local development environment
  • plugin API
  • diff --git a/src/ScriptSlide.tsx b/src/ScriptSlide.tsx index a385058..8131789 100644 --- a/src/ScriptSlide.tsx +++ b/src/ScriptSlide.tsx @@ -1,5 +1,3 @@ -import * as React from "react"; - import {Utils} from "liqvid"; const {during, from} = Utils.authoring; diff --git a/src/UtilsSlide.tsx b/src/UtilsSlide.tsx index 4412cdb..ff178f5 100644 --- a/src/UtilsSlide.tsx +++ b/src/UtilsSlide.tsx @@ -1,35 +1,34 @@ -import * as React from "react"; import {useMemo, useRef} from "react"; -import {Utils, usePlayer, useTimeUpdate} from "liqvid"; -const {animate} = Utils.animation, +import {Utils, usePlayer, useTime} from "liqvid"; +const {animate, bezier, easings} = Utils.animation, {during, from} = Utils.authoring, {dragHelperReact} = Utils.interactivity, {constrain} = Utils.misc; -import * as BezierEasing from "bezier-easing"; -const easeInSine = [0.47, 0, 0.745, 0.715] as const; - import {MEDIA_URL} from "@env/media-url"; import {UtilsPrompt} from "@env/prompts"; +import {script} from "./markers"; + +/* animation */ +const rotate = animate({ + endValue: 2 * Math.PI, + startTime: script.parseStart("utils/animate/fire"), + duration: 1000, + easing: bezier(...easings.easeInSine) +}); + export default function UtilsSlide() { const player = usePlayer(); /* Utils.animation.animate */ const duck = useRef(); - const rotate = useMemo(() => animate({ - endValue: 2 * Math.PI, - startTime: player.script.parseStart("utils/animate/fire"), - duration: 1000, - easing: BezierEasing(...easeInSine) - }), []); - useTimeUpdate(t => { - const p = rotate(t); + useTime(p => { duck.current.style.left = `${35 + 15 * Math.cos(p)}%`; duck.current.style.top = `${15 - 12.5 * Math.sin(p)}%`; - }, []); + }, rotate, []); /* Utils.interactivity.dragHelperReact */ const pig = useRef(); @@ -78,7 +77,7 @@ export default function UtilsSlide() {
  • Utils.animation.animate - + A cartoon duck
  • {"Utils.authoring.{during, from}"} @@ -86,7 +85,7 @@ export default function UtilsSlide() {
  • Utils.interactivity.dragHelperReact - + A cartoon pig
diff --git a/src/index.tsx b/src/index.tsx index cfa38e9..2c4e277 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,19 +1,11 @@ -import * as React from "react"; import * as ReactDOM from "react-dom"; -/* ractive-player and such */ -import {Audio, Controls, IdMap, Script, Player} from "liqvid"; - -/* @lib */ -// import HelpControl from "@lib/HelpControl"; -// import LoadingScreen from "@lib/LoadingScreen"; -import rebindArrowKeys from "@lib/rebind-arrow-keys"; -//import rememberVolumeSettings from "@lib/remember-volume"; -import seekOnLoad from "@lib/seekonload"; +import {Audio, IdMap, Player, Utils} from "liqvid"; +const {loadAllJSON} = Utils.json; /* resources */ import {MEDIA_URL} from "@env/media-url"; -import markers from "./markers"; +import {highlights, script} from "./markers"; import objects from "./objects"; /* slides */ @@ -31,57 +23,20 @@ import RecordingSlide from "./RecordingSlide"; import {controls} from "@env/controls"; -function Ractive() { - const playerRef = React.useRef(); - - React.useEffect(() => { - const player = playerRef.current; - - rebindArrowKeys(player); - // rememberVolumeSettings(player.playback); - - player.canPlay.then(() => { - // use this when working on a particular section - // player.playback.seek(player.script.parseStart("paint/")); - - // seek to time if URL includes e.g. ?t=1:11 - seekOnLoad(player.playback); - player.ready(); - }); - }, []); - - const script = new Script(markers); - const ps = script.parseStart; - - const highlights = [ - {title: "Codebooth", time: ps("codemirror/")}, - {title: "Cursor", time: ps("cursor/")}, - {title: "Paint", time: ps("paint/")}, - {title: "Playback", time: ps("playback/")}, - {title: "Script", time: ps("script/")}, - {title: "Player", time: ps("player/")}, - {title: "Utils", time: ps("utils/")}, - {title: "Recording", time: ps("recording/")} - ]; - - const thumbData = { - cols: 5, - rows: 5, - height: 100, - width: 160, +function Tutorial() { + const thumbs = { frequency: 1, path: `${MEDIA_URL}/thumbs/%s.png`, highlights }; return ( - + - {/**/} - { @@ -99,4 +54,9 @@ function Ractive() { ); } -ReactDOM.render(, document.querySelector("main")); +// load recordings JSON +loadAllJSON().then(() => { + ReactDOM.render(, document.querySelector("main")); +}); + +import "./types"; diff --git a/src/markers.ts b/src/markers.ts index e65b56b..a0bd87f 100644 --- a/src/markers.ts +++ b/src/markers.ts @@ -1,10 +1,12 @@ +import {Script} from "liqvid"; + /** Press W to go back one marker, E to go forward one marker. To record markers, enable Markers in the rp-recording dialog. Then press E to advance a marker. */ -export default [ +export const markers = [ ["intro/", "0:20.955"], ["intro/fiddle", "0:10.532"], ["intro/pause", "0:02.86"], @@ -40,3 +42,30 @@ export default [ ["recording/link", "0:05.975"], ["recording/plugin", "0:12.37"] ] as [string, string][]; + +export const script = new Script(markers); +export const playback = script.playback; + +// use this when working on a particular section +// playback.seek(script.parseStart("utils/")); + +export const highlights = [ + {title: "Codebooth", time: script.parseStart("codemirror/")}, + {title: "Cursor", time: script.parseStart("cursor/")}, + {title: "Paint", time: script.parseStart("paint/")}, + {title: "Playback", time: script.parseStart("playback/")}, + {title: "Script", time: script.parseStart("script/")}, + {title: "Player", time: script.parseStart("player/")}, + {title: "Utils", time: script.parseStart("utils/")}, + {title: "Recording", time: script.parseStart("recording/")} +]; + +/* +// remember volume settings +import {rememberVolume} from "@lib/remember-volume"; +rememberVolume(playback); + +// seek to time if URL includes e.g. ?t=1:11 +import {seekOnLoad} from "@lib/seekonload"; +seekOnLoad(playback); +*/ diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..f039d8b --- /dev/null +++ b/src/types.ts @@ -0,0 +1,16 @@ +/** Make TypeScript accept recordings. */ + +import type {ReplayData} from "liqvid"; +import type Cursor from "rp-cursor"; +import type {CodeReplay} from "rp-codemirror"; +import type {PaintReplay} from "rp-paint"; + +declare module "@liqvid/utils/json" { + interface GetJSONMap { + "recordings": { + code: React.ComponentProps["replay"]; + cursor: React.ComponentProps["replay"]; + paint: React.ComponentProps["replay"]; + }; + } +} diff --git a/static/bundle.js b/static/bundle.js new file mode 100644 index 0000000..79de0ac --- /dev/null +++ b/static/bundle.js @@ -0,0 +1,2457 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./lib/JSInterpreter.ts": +/*!******************************!*\ + !*** ./lib/JSInterpreter.ts ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ JSInterpreter) +/* harmony export */ }); +class JSInterpreter { + read(filename) { + } + async run(code) { + try { + return this.runSync(code); + } + catch (e) { + throw e; + } + } + runSync(code) { + const disableVars = [ + "window", "print", "document" + ]; + const func = new Function("console", ...disableVars, code); + const output = []; + const fakeConsole = new FakeConsole(output); + func(fakeConsole, ...new Array(disableVars.length)); + return output; + } +} +class FakeConsole { + constructor(output) { + this.output = output; + } + log(...args) { + this.output.push(args.map(_ => { + if (typeof _ === "undefined") + return _; + return `${_}`; + }).join(" ") + "\n"); + } +} + + +/***/ }), + +/***/ "./lib/Link.tsx": +/*!**********************!*\ + !*** ./lib/Link.tsx ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Link) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +var __rest = (undefined && undefined.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; + +function Link(props) { + const { children } = props, attrs = __rest(props, ["children"]); + return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", Object.assign({ target: "_blank", rel: "noreferrer" }, attrs, { children: children })); +} + + +/***/ }), + +/***/ "./lib/ShowMarkerName.tsx": +/*!********************************!*\ + !*** ./lib/ShowMarkerName.tsx ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ShowMarkerName) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_1__); + + +const { anyHover } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.mobile; +const { useForceUpdate } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.react; +const style = { + backgroundColor: "#1A69B5", + fontFamily: `"Roboto Slab", sans-serif`, + lineHeight: "36px", + padding: "0 .5em", + userSelect: "all", + verticalAlign: "top" +}; +function ShowMarkerName() { + if (!anyHover) + return null; + const script = (0,liqvid__WEBPACK_IMPORTED_MODULE_1__.useScript)(); + (0,liqvid__WEBPACK_IMPORTED_MODULE_1__.useMarkerUpdate)(useForceUpdate(), []); + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", Object.assign({ className: "rp-marker-name", style: style }, { children: script.markerName }), "show-marker-name")); +} + + +/***/ }), + +/***/ "./node_modules/object-assign/index.js": +/*!*********************************************!*\ + !*** ./node_modules/object-assign/index.js ***! + \*********************************************/ +/***/ ((module) => { + + +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + return Object(val); +} +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + var test1 = new String('abc'); + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + return true; + } + catch (err) { + return false; + } +} +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + return to; +}; + + +/***/ }), + +/***/ "./node_modules/react/cjs/react-jsx-runtime.development.js": +/*!*****************************************************************!*\ + !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +if (true) { + (function () { + 'use strict'; + var React = __webpack_require__(/*! react */ "react"); + var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); + var REACT_ELEMENT_TYPE = 0xeac7; + var REACT_PORTAL_TYPE = 0xeaca; + exports.Fragment = 0xeacb; + var REACT_STRICT_MODE_TYPE = 0xeacc; + var REACT_PROFILER_TYPE = 0xead2; + var REACT_PROVIDER_TYPE = 0xeacd; + var REACT_CONTEXT_TYPE = 0xeace; + var REACT_FORWARD_REF_TYPE = 0xead0; + var REACT_SUSPENSE_TYPE = 0xead1; + var REACT_SUSPENSE_LIST_TYPE = 0xead8; + var REACT_MEMO_TYPE = 0xead3; + var REACT_LAZY_TYPE = 0xead4; + var REACT_BLOCK_TYPE = 0xead9; + var REACT_SERVER_BLOCK_TYPE = 0xeada; + var REACT_FUNDAMENTAL_TYPE = 0xead5; + var REACT_SCOPE_TYPE = 0xead7; + var REACT_OPAQUE_ID_TYPE = 0xeae0; + var REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1; + var REACT_OFFSCREEN_TYPE = 0xeae2; + var REACT_LEGACY_HIDDEN_TYPE = 0xeae3; + if (typeof Symbol === 'function' && Symbol.for) { + var symbolFor = Symbol.for; + REACT_ELEMENT_TYPE = symbolFor('react.element'); + REACT_PORTAL_TYPE = symbolFor('react.portal'); + exports.Fragment = symbolFor('react.fragment'); + REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode'); + REACT_PROFILER_TYPE = symbolFor('react.profiler'); + REACT_PROVIDER_TYPE = symbolFor('react.provider'); + REACT_CONTEXT_TYPE = symbolFor('react.context'); + REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref'); + REACT_SUSPENSE_TYPE = symbolFor('react.suspense'); + REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list'); + REACT_MEMO_TYPE = symbolFor('react.memo'); + REACT_LAZY_TYPE = symbolFor('react.lazy'); + REACT_BLOCK_TYPE = symbolFor('react.block'); + REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block'); + REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental'); + REACT_SCOPE_TYPE = symbolFor('react.scope'); + REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id'); + REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode'); + REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen'); + REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden'); + } + var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== 'object') { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === 'function') { + return maybeIterator; + } + return null; + } + var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + function error(format) { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning('error', format, args); + } + } + function printWarning(level, format, args) { + { + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame.getStackAddendum(); + if (stack !== '') { + format += '%s'; + args = args.concat([stack]); + } + var argsWithFormat = args.map(function (item) { + return '' + item; + }); + argsWithFormat.unshift('Warning: ' + format); + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + var enableScopeAPI = false; + function isValidElementType(type) { + if (typeof type === 'string' || typeof type === 'function') { + return true; + } + if (type === exports.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI) { + return true; + } + if (typeof type === 'object' && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) { + return true; + } + } + return false; + } + function getWrappedName(outerType, innerType, wrapperName) { + var functionName = innerType.displayName || innerType.name || ''; + return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName); + } + function getContextName(type) { + return type.displayName || 'Context'; + } + function getComponentName(type) { + if (type == null) { + return null; + } + { + if (typeof type.tag === 'number') { + error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); + } + } + if (typeof type === 'function') { + return type.displayName || type.name || null; + } + if (typeof type === 'string') { + return type; + } + switch (type) { + case exports.Fragment: + return 'Fragment'; + case REACT_PORTAL_TYPE: + return 'Portal'; + case REACT_PROFILER_TYPE: + return 'Profiler'; + case REACT_STRICT_MODE_TYPE: + return 'StrictMode'; + case REACT_SUSPENSE_TYPE: + return 'Suspense'; + case REACT_SUSPENSE_LIST_TYPE: + return 'SuspenseList'; + } + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + var context = type; + return getContextName(context) + '.Consumer'; + case REACT_PROVIDER_TYPE: + var provider = type; + return getContextName(provider._context) + '.Provider'; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, 'ForwardRef'); + case REACT_MEMO_TYPE: + return getComponentName(type.type); + case REACT_BLOCK_TYPE: + return getComponentName(type._render); + case REACT_LAZY_TYPE: + { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return getComponentName(init(payload)); + } + catch (x) { + return null; + } + } + } + } + return null; + } + var disabledDepth = 0; + var prevLog; + var prevInfo; + var prevWarn; + var prevError; + var prevGroup; + var prevGroupCollapsed; + var prevGroupEnd; + function disabledLog() { } + disabledLog.__reactDisabledLog = true; + function disableLogs() { + { + if (disabledDepth === 0) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + } + function reenableLogs() { + { + disabledDepth--; + if (disabledDepth === 0) { + var props = { + configurable: true, + enumerable: true, + writable: true + }; + Object.defineProperties(console, { + log: _assign({}, props, { + value: prevLog + }), + info: _assign({}, props, { + value: prevInfo + }), + warn: _assign({}, props, { + value: prevWarn + }), + error: _assign({}, props, { + value: prevError + }), + group: _assign({}, props, { + value: prevGroup + }), + groupCollapsed: _assign({}, props, { + value: prevGroupCollapsed + }), + groupEnd: _assign({}, props, { + value: prevGroupEnd + }) + }); + } + if (disabledDepth < 0) { + error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.'); + } + } + } + var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; + var prefix; + function describeBuiltInComponentFrame(name, source, ownerFn) { + { + if (prefix === undefined) { + try { + throw Error(); + } + catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ''; + } + } + return '\n' + prefix + name; + } + } + var reentry = false; + var componentFrameCache; + { + var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; + componentFrameCache = new PossiblyWeakMap(); + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) { + return ''; + } + { + var frame = componentFrameCache.get(fn); + if (frame !== undefined) { + return frame; + } + } + var control; + reentry = true; + var previousPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = undefined; + var previousDispatcher; + { + previousDispatcher = ReactCurrentDispatcher.current; + ReactCurrentDispatcher.current = null; + disableLogs(); + } + try { + if (construct) { + var Fake = function () { + throw Error(); + }; + Object.defineProperty(Fake.prototype, 'props', { + set: function () { + throw Error(); + } + }); + if (typeof Reflect === 'object' && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } + catch (x) { + control = x; + } + Reflect.construct(fn, [], Fake); + } + else { + try { + Fake.call(); + } + catch (x) { + control = x; + } + fn.call(Fake.prototype); + } + } + else { + try { + throw Error(); + } + catch (x) { + control = x; + } + fn(); + } + } + catch (sample) { + if (sample && control && typeof sample.stack === 'string') { + var sampleLines = sample.stack.split('\n'); + var controlLines = control.stack.split('\n'); + var s = sampleLines.length - 1; + var c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + c--; + } + for (; s >= 1 && c >= 0; s--, c--) { + if (sampleLines[s] !== controlLines[c]) { + if (s !== 1 || c !== 1) { + do { + s--; + c--; + if (c < 0 || sampleLines[s] !== controlLines[c]) { + var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); + { + if (typeof fn === 'function') { + componentFrameCache.set(fn, _frame); + } + } + return _frame; + } + } while (s >= 1 && c >= 0); + } + break; + } + } + } + } + finally { + reentry = false; + { + ReactCurrentDispatcher.current = previousDispatcher; + reenableLogs(); + } + Error.prepareStackTrace = previousPrepareStackTrace; + } + var name = fn ? fn.displayName || fn.name : ''; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ''; + { + if (typeof fn === 'function') { + componentFrameCache.set(fn, syntheticFrame); + } + } + return syntheticFrame; + } + function describeFunctionComponentFrame(fn, source, ownerFn) { + { + return describeNativeComponentFrame(fn, false); + } + } + function shouldConstruct(Component) { + var prototype = Component.prototype; + return !!(prototype && prototype.isReactComponent); + } + function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { + if (type == null) { + return ''; + } + if (typeof type === 'function') { + { + return describeNativeComponentFrame(type, shouldConstruct(type)); + } + } + if (typeof type === 'string') { + return describeBuiltInComponentFrame(type); + } + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame('Suspense'); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame('SuspenseList'); + } + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return describeFunctionComponentFrame(type.render); + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); + case REACT_BLOCK_TYPE: + return describeFunctionComponentFrame(type._render); + case REACT_LAZY_TYPE: + { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); + } + catch (x) { } + } + } + } + return ''; + } + var loggedTypeFailures = {}; + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame.setExtraStackFrame(stack); + } + else { + ReactDebugCurrentFrame.setExtraStackFrame(null); + } + } + } + function checkPropTypes(typeSpecs, values, location, componentName, element) { + { + var has = Function.call.bind(Object.prototype.hasOwnProperty); + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error$1 = void 0; + try { + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'); + err.name = 'Invariant Violation'; + throw err; + } + error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'); + } + catch (ex) { + error$1 = ex; + } + if (error$1 && !(error$1 instanceof Error)) { + setCurrentlyValidatingElement(element); + error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1); + setCurrentlyValidatingElement(null); + } + if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { + loggedTypeFailures[error$1.message] = true; + setCurrentlyValidatingElement(element); + error('Failed %s type: %s', location, error$1.message); + setCurrentlyValidatingElement(null); + } + } + } + } + } + var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true + }; + var specialPropKeyWarningShown; + var specialPropRefWarningShown; + var didWarnAboutStringRefs; + { + didWarnAboutStringRefs = {}; + } + function hasValidRef(config) { + { + if (hasOwnProperty.call(config, 'ref')) { + var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.ref !== undefined; + } + function hasValidKey(config) { + { + if (hasOwnProperty.call(config, 'key')) { + var getter = Object.getOwnPropertyDescriptor(config, 'key').get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== undefined; + } + function warnIfStringRefCannotBeAutoConverted(config, self) { + { + if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { + var componentName = getComponentName(ReactCurrentOwner.current.type); + if (!didWarnAboutStringRefs[componentName]) { + error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref); + didWarnAboutStringRefs[componentName] = true; + } + } + } + } + function defineKeyPropWarningGetter(props, displayName) { + { + var warnAboutAccessingKey = function () { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); + } + }; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, 'key', { + get: warnAboutAccessingKey, + configurable: true + }); + } + } + function defineRefPropWarningGetter(props, displayName) { + { + var warnAboutAccessingRef = function () { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); + } + }; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, 'ref', { + get: warnAboutAccessingRef, + configurable: true + }); + } + } + var ReactElement = function (type, key, ref, self, source, owner, props) { + var element = { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key, + ref: ref, + props: props, + _owner: owner + }; + { + element._store = {}; + Object.defineProperty(element._store, 'validated', { + configurable: false, + enumerable: false, + writable: true, + value: false + }); + Object.defineProperty(element, '_self', { + configurable: false, + enumerable: false, + writable: false, + value: self + }); + Object.defineProperty(element, '_source', { + configurable: false, + enumerable: false, + writable: false, + value: source + }); + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); + } + } + return element; + }; + function jsxDEV(type, config, maybeKey, source, self) { + { + var propName; + var props = {}; + var key = null; + var ref = null; + if (maybeKey !== undefined) { + key = '' + maybeKey; + } + if (hasValidKey(config)) { + key = '' + config.key; + } + if (hasValidRef(config)) { + ref = config.ref; + warnIfStringRefCannotBeAutoConverted(config, self); + } + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; + for (propName in defaultProps) { + if (props[propName] === undefined) { + props[propName] = defaultProps[propName]; + } + } + } + if (key || ref) { + var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + } + } + var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; + var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement$1(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame$1.setExtraStackFrame(stack); + } + else { + ReactDebugCurrentFrame$1.setExtraStackFrame(null); + } + } + } + var propTypesMisspellWarningShown; + { + propTypesMisspellWarningShown = false; + } + function isValidElement(object) { + { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + } + function getDeclarationErrorAddendum() { + { + if (ReactCurrentOwner$1.current) { + var name = getComponentName(ReactCurrentOwner$1.current.type); + if (name) { + return '\n\nCheck the render method of `' + name + '`.'; + } + } + return ''; + } + } + function getSourceInfoErrorAddendum(source) { + { + if (source !== undefined) { + var fileName = source.fileName.replace(/^.*[\\\/]/, ''); + var lineNumber = source.lineNumber; + return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; + } + return ''; + } + } + var ownerHasKeyUseWarning = {}; + function getCurrentComponentErrorInfo(parentType) { + { + var info = getDeclarationErrorAddendum(); + if (!info) { + var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; + if (parentName) { + info = "\n\nCheck the top-level render call using <" + parentName + ">."; + } + } + return info; + } + } + function validateExplicitKey(element, parentType) { + { + if (!element._store || element._store.validated || element.key != null) { + return; + } + element._store.validated = true; + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + var childOwner = ''; + if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { + childOwner = " It was passed a child from " + getComponentName(element._owner.type) + "."; + } + setCurrentlyValidatingElement$1(element); + error('Each child in a list should have a unique "key" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); + setCurrentlyValidatingElement$1(null); + } + } + function validateChildKeys(node, parentType) { + { + if (typeof node !== 'object') { + return; + } + if (Array.isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } + else if (isValidElement(node)) { + if (node._store) { + node._store.validated = true; + } + } + else if (node) { + var iteratorFn = getIteratorFn(node); + if (typeof iteratorFn === 'function') { + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step; + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } + } + } + function validatePropTypes(element) { + { + var type = element.type; + if (type === null || type === undefined || typeof type === 'string') { + return; + } + var propTypes; + if (typeof type === 'function') { + propTypes = type.propTypes; + } + else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || + type.$$typeof === REACT_MEMO_TYPE)) { + propTypes = type.propTypes; + } + else { + return; + } + if (propTypes) { + var name = getComponentName(type); + checkPropTypes(propTypes, element.props, 'prop', name, element); + } + else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; + var _name = getComponentName(type); + error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown'); + } + if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) { + error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.'); + } + } + } + function validateFragmentProps(fragment) { + { + var keys = Object.keys(fragment.props); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key !== 'children' && key !== 'key') { + setCurrentlyValidatingElement$1(fragment); + error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); + setCurrentlyValidatingElement$1(null); + break; + } + } + if (fragment.ref !== null) { + setCurrentlyValidatingElement$1(fragment); + error('Invalid attribute `ref` supplied to `React.Fragment`.'); + setCurrentlyValidatingElement$1(null); + } + } + } + function jsxWithValidation(type, props, key, isStaticChildren, source, self) { + { + var validType = isValidElementType(type); + if (!validType) { + var info = ''; + if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { + info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; + } + var sourceInfo = getSourceInfoErrorAddendum(source); + if (sourceInfo) { + info += sourceInfo; + } + else { + info += getDeclarationErrorAddendum(); + } + var typeString; + if (type === null) { + typeString = 'null'; + } + else if (Array.isArray(type)) { + typeString = 'array'; + } + else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { + typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />"; + info = ' Did you accidentally export a JSX literal instead of a component?'; + } + else { + typeString = typeof type; + } + error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); + } + var element = jsxDEV(type, props, key, source, self); + if (element == null) { + return element; + } + if (validType) { + var children = props.children; + if (children !== undefined) { + if (isStaticChildren) { + if (Array.isArray(children)) { + for (var i = 0; i < children.length; i++) { + validateChildKeys(children[i], type); + } + if (Object.freeze) { + Object.freeze(children); + } + } + else { + error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.'); + } + } + else { + validateChildKeys(children, type); + } + } + } + if (type === exports.Fragment) { + validateFragmentProps(element); + } + else { + validatePropTypes(element); + } + return element; + } + } + function jsxWithValidationStatic(type, props, key) { + { + return jsxWithValidation(type, props, key, true); + } + } + function jsxWithValidationDynamic(type, props, key) { + { + return jsxWithValidation(type, props, key, false); + } + } + var jsx = jsxWithValidationDynamic; + var jsxs = jsxWithValidationStatic; + exports.jsx = jsx; + exports.jsxs = jsxs; + })(); +} + + +/***/ }), + +/***/ "./node_modules/react/jsx-runtime.js": +/*!*******************************************!*\ + !*** ./node_modules/react/jsx-runtime.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +if (false) {} +else { + module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ "./node_modules/react/cjs/react-jsx-runtime.development.js"); +} + + +/***/ }), + +/***/ "./node_modules/rp-codebooth/rp-codebooth.js": +/*!***************************************************!*\ + !*** ./node_modules/rp-codebooth/rp-codebooth.js ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +!function (t, e) { true ? module.exports = e(__webpack_require__(/*! react */ "react"), __webpack_require__(/*! liqvid */ "liqvid"), __webpack_require__(/*! ractive-player */ "ractive-player")) : 0; }(self, (function (t, e, r) { return (() => { var n = { 926: t => { function e(t, e, r, n, o, s, i) { try { + var a = t[s](i), c = a.value; + } + catch (l) { + return void r(l); + } a.done ? e(c) : Promise.resolve(c).then(n, o); } t.exports = function (t) { return function () { var r = this, n = arguments; return new Promise((function (o, s) { var i = t.apply(r, n); function a(t) { e(i, o, s, a, c, "next", t); } function c(t) { e(i, o, s, a, c, "throw", t); } a(void 0); })); }; }; }, 154: t => { function e() { return t.exports = e = Object.assign || function (t) { for (var e = 1; e < arguments.length; e++) { + var r = arguments[e]; + for (var n in r) + Object.prototype.hasOwnProperty.call(r, n) && (t[n] = r[n]); + } return t; }, e.apply(this, arguments); } t.exports = e; }, 757: (t, e, r) => { t.exports = r(666); }, 666: t => { var e = function (t) { + "use strict"; + var e, r = Object.prototype, n = r.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, s = o.iterator || "@@iterator", i = o.asyncIterator || "@@asyncIterator", a = o.toStringTag || "@@toStringTag"; + function c(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } + try { + c({}, ""); + } + catch (M) { + c = function (t, e, r) { return t[e] = r; }; + } + function l(t, e, r, n) { var o = e && e.prototype instanceof m ? e : m, s = Object.create(o.prototype), i = new N(n || []); return s._invoke = function (t, e, r) { var n = h; return function (o, s) { if (n === d) + throw new Error("Generator is already running"); if (n === f) { + if ("throw" === o) + throw s; + return P(); + } for (r.method = o, r.arg = s;;) { + var i = r.delegate; + if (i) { + var a = j(i, r); + if (a) { + if (a === y) + continue; + return a; + } + } + if ("next" === r.method) + r.sent = r._sent = r.arg; + else if ("throw" === r.method) { + if (n === h) + throw n = f, r.arg; + r.dispatchException(r.arg); + } + else + "return" === r.method && r.abrupt("return", r.arg); + n = d; + var c = u(t, e, r); + if ("normal" === c.type) { + if (n = r.done ? f : p, c.arg === y) + continue; + return { value: c.arg, done: r.done }; + } + "throw" === c.type && (n = f, r.method = "throw", r.arg = c.arg); + } }; }(t, r, i), s; } + function u(t, e, r) { try { + return { type: "normal", arg: t.call(e, r) }; + } + catch (M) { + return { type: "throw", arg: M }; + } } + t.wrap = l; + var h = "suspendedStart", p = "suspendedYield", d = "executing", f = "completed", y = {}; + function m() { } + function g() { } + function v() { } + var b = {}; + b[s] = function () { return this; }; + var x = Object.getPrototypeOf, w = x && x(x(L([]))); + w && w !== r && n.call(w, s) && (b = w); + var E = v.prototype = m.prototype = Object.create(b); + function C(t) { ["next", "throw", "return"].forEach((function (e) { c(t, e, (function (t) { return this._invoke(e, t); })); })); } + function O(t, e) { function r(o, s, i, a) { var c = u(t[o], t, s); if ("throw" !== c.type) { + var l = c.arg, h = l.value; + return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then((function (t) { r("next", t, i, a); }), (function (t) { r("throw", t, i, a); })) : e.resolve(h).then((function (t) { l.value = t, i(l); }), (function (t) { return r("throw", t, i, a); })); + } a(c.arg); } var o; this._invoke = function (t, n) { function s() { return new e((function (e, o) { r(t, n, e, o); })); } return o = o ? o.then(s, s) : s(); }; } + function j(t, r) { var n = t.iterator[r.method]; if (n === e) { + if (r.delegate = null, "throw" === r.method) { + if (t.iterator.return && (r.method = "return", r.arg = e, j(t, r), "throw" === r.method)) + return y; + r.method = "throw", r.arg = new TypeError("The iterator does not provide a 'throw' method"); + } + return y; + } var o = u(n, t.iterator, r.arg); if ("throw" === o.type) + return r.method = "throw", r.arg = o.arg, r.delegate = null, y; var s = o.arg; return s ? s.done ? (r[t.resultName] = s.value, r.next = t.nextLoc, "return" !== r.method && (r.method = "next", r.arg = e), r.delegate = null, y) : s : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } + function S(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } + function k(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } + function N(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(S, this), this.reset(!0); } + function L(t) { if (t) { + var r = t[s]; + if (r) + return r.call(t); + if ("function" == typeof t.next) + return t; + if (!isNaN(t.length)) { + var o = -1, i = function r() { for (; ++o < t.length;) + if (n.call(t, o)) + return r.value = t[o], r.done = !1, r; return r.value = e, r.done = !0, r; }; + return i.next = i; + } + } return { next: P }; } + function P() { return { value: e, done: !0 }; } + return g.prototype = E.constructor = v, v.constructor = g, g.displayName = c(v, a, "GeneratorFunction"), t.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === g || "GeneratorFunction" === (e.displayName || e.name)); }, t.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, v) : (t.__proto__ = v, c(t, a, "GeneratorFunction")), t.prototype = Object.create(E), t; }, t.awrap = function (t) { return { __await: t }; }, C(O.prototype), O.prototype[i] = function () { return this; }, t.AsyncIterator = O, t.async = function (e, r, n, o, s) { void 0 === s && (s = Promise); var i = new O(l(e, r, n, o), s); return t.isGeneratorFunction(r) ? i : i.next().then((function (t) { return t.done ? t.value : i.next(); })); }, C(E), c(E, a, "Generator"), E[s] = function () { return this; }, E.toString = function () { return "[object Generator]"; }, t.keys = function (t) { var e = []; for (var r in t) + e.push(r); return e.reverse(), function r() { for (; e.length;) { + var n = e.pop(); + if (n in t) + return r.value = n, r.done = !1, r; + } return r.done = !0, r; }; }, t.values = L, N.prototype = { constructor: N, reset: function (t) { if (this.prev = 0, this.next = 0, this.sent = this._sent = e, this.done = !1, this.delegate = null, this.method = "next", this.arg = e, this.tryEntries.forEach(k), !t) + for (var r in this) + "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = e); }, stop: function () { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) + throw t.arg; return this.rval; }, dispatchException: function (t) { if (this.done) + throw t; var r = this; function o(n, o) { return a.type = "throw", a.arg = t, r.next = n, o && (r.method = "next", r.arg = e), !!o; } for (var s = this.tryEntries.length - 1; s >= 0; --s) { + var i = this.tryEntries[s], a = i.completion; + if ("root" === i.tryLoc) + return o("end"); + if (i.tryLoc <= this.prev) { + var c = n.call(i, "catchLoc"), l = n.call(i, "finallyLoc"); + if (c && l) { + if (this.prev < i.catchLoc) + return o(i.catchLoc, !0); + if (this.prev < i.finallyLoc) + return o(i.finallyLoc); + } + else if (c) { + if (this.prev < i.catchLoc) + return o(i.catchLoc, !0); + } + else { + if (!l) + throw new Error("try statement without catch or finally"); + if (this.prev < i.finallyLoc) + return o(i.finallyLoc); + } + } + } }, abrupt: function (t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var o = this.tryEntries[r]; + if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { + var s = o; + break; + } + } s && ("break" === t || "continue" === t) && s.tryLoc <= e && e <= s.finallyLoc && (s = null); var i = s ? s.completion : {}; return i.type = t, i.arg = e, s ? (this.method = "next", this.next = s.finallyLoc, y) : this.complete(i); }, complete: function (t, e) { if ("throw" === t.type) + throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var r = this.tryEntries[e]; + if (r.finallyLoc === t) + return this.complete(r.completion, r.afterLoc), k(r), y; + } }, catch: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var r = this.tryEntries[e]; + if (r.tryLoc === t) { + var n = r.completion; + if ("throw" === n.type) { + var o = n.arg; + k(r); + } + return o; + } + } throw new Error("illegal catch attempt"); }, delegateYield: function (t, r, n) { return this.delegate = { iterator: L(t), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = e), y; } }, t; + }(t.exports); try { + regeneratorRuntime = e; + } + catch (r) { + Function("r", "regeneratorRuntime = r")(e); + } }, 916: function (t, e, r) { var n, o; "undefined" != typeof self && self, t.exports = (n = r(888), o = r(576), (() => { + "use strict"; + var t = { 281: (t, e, r) => { r.r(e), r.d(e, { CodeEditor: () => s, CodeReplay: () => c }); var n = r(888), o = r(576); { + const t = document.createElement("style"); + t.type = "text/css", document.head.appendChild(t), t.sheet.insertRule(".CodeMirror [contenteditable]{-webkit-user-select: text;user-select: text;}", 0); + } class s extends n.Component { + constructor(t, e) { super(t, e), this.player = e, this.ready = new Promise((t => { this.setReady = t; })); } + async componentDidMount() { const t = Object.assign({ indentUnit: 4, lineNumbers: !0, tabSize: 4 }, (e = this.props, ["mode", "readOnly", "theme"].map((t => t in e ? { [t]: e[t] } : {})).reduce(((t, e) => Object.assign(t, e)), {}))); var e; this.editor = window.CodeMirror((t => { this.placeholder.parentNode.replaceChild(t, this.placeholder); }), t); const r = this.editor.getWrapperElement(); Object.assign(r.style, this.props.style); const n = this.props.className ? this.props.className.split(" ") : []; for (const o of n) + r.classList.add(o); r.addEventListener("mouseup", o.Player.preventCanvasClick), this.editor.on("keydown", ((t, e) => { e.key.match(/^[A-Z]$/i) && this.props.hint && this.editor.showHint({ hint: this.props.hint, completeSingle: !1, customKeys: { Down: (t, e) => e.moveFocus(1), Up: (t, e) => e.moveFocus(-1), Tab: (t, e) => e.pick() } }); })), this.editor.on("focus", (() => { this.props.readOnly || this.player.suspendKeyCapture(); })), this.editor.on("blur", (() => { this.props.readOnly || this.player.resumeKeyCapture(); })), this.editor.addKeyMap({ Tab(t) { const e = Array(t.getOption("indentUnit") + 1).join(" "); t.getDoc().replaceSelection(e); } }), this.editor.addKeyMap(this.props.keyMap), this.setReady(); } + shouldComponentUpdate(t) { if (!this.editor) + return; const e = this.editor.getWrapperElement().style; for (const r in this.props.style) + t.hasOwnProperty(r) || e.removeProperty(r.replace(/[A-Z]/g, (t => `-${t.toLowerCase()}`))); return Object.assign(e, t.style), !1; } + render() { return n.createElement("div", { ref: t => this.placeholder = t }); } + } s.contextType = o.Player.Context, s.defaultProps = { keyMap: {}, readOnly: !1, style: {} }; const { bind: i } = o.Utils.misc, { parseTime: a } = o.Utils.time; class c extends n.Component { + constructor(t, e) { super(t, e), this.player = e, i(this, ["blinkCursor", "onTimeUpdate", "poll"]), "string" == typeof t.start ? t.start.match(/^(?:(?:(\d+):)?(\d+):)?(\d+)(?:\.(\d+))?$/) ? this.start = a(t.start) : this.start = this.player.script.markerByName(t.start)[1] : this.start = t.start, this.i = 0, this.lastTime = 0, this.cursorState = { line: 0, ch: 0 }, this.broadcast = t.broadcast, this.replay = this.props.replay, this.times = this.replay.map((t => t[0])); for (let r = 1; r < this.times.length; ++r) + this.times[r] += this.times[r - 1]; 0 !== this.replay.length && (this.duration = this.times[this.times.length - 1]); } + async poll(t) { this.replay.push(...t); let e = 0 === this.times.length ? 0 : this.times[this.times.length - 1]; for (const [r] of t) + this.times.push(e + r), e += r; this.duration = this.times[this.times.length - 1]; } + componentDidMount() { const { playback: t } = this.player; t.hub.on("seek", this.onTimeUpdate), t.hub.on("timeupdate", this.onTimeUpdate), this.codeEditor.ready.then((() => { const t = this.codeEditor.editor, e = t.getWrapperElement().querySelector(".CodeMirror-cursors"); this.cursorDiv = h('\n
\n
 
\n
\n '), this.cursor = this.cursorDiv.firstElementChild, e.parentNode.replaceChild(this.cursorDiv, e), this.setCursor(this.getCursor()), setInterval(this.blinkCursor, t.getOption("cursorBlinkRate")), this.selectionsDiv = h('
'), this.cursorDiv.parentNode.insertBefore(this.selectionsDiv, this.cursorDiv); })); } + onTimeUpdate(t) { const e = t - this.start, r = this.codeEditor.editor; if (!r) + return; const n = { cursor: this.getCursor(), selection: r.getDoc().listSelections()[0], value: r.getValue().split("\n") }, o = this.i; if (this.lastTime <= t && this.i < this.replay.length) { + let t = this.i; + for (; t < this.replay.length && this.times[t] <= e; ++t) { + const [, [e, r]] = this.replay[t]; + this.fwd({ type: e, data: r, state: n }); + } + this.i = t; + } + else if (t < this.lastTime && 0 < this.i) { + let t = this.i - 1; + for (; 0 <= t && e < this.times[t]; --t) { + const [, [e, r]] = this.replay[t]; + this.back({ type: e, data: r, state: n }); + } + this.i = t + 1; + } if (this.i !== o) { + const { left: t, top: e } = r.getScrollInfo(), o = r.getDoc().listSelections()[0]; + r.setValue(n.value.join("\n")), this.setSelection(n.selection.anchor, n.selection.head), this.setCursor(n.cursor), r.getDoc().setSelection(o.anchor, o.head), r.scrollTo(t, e); + } this.lastTime = t; } + fwd(t) { switch (t.type) { + case "command": + this.props.command("fwd", t.data, t.state); + break; + case "cursor": + t.state.cursor = t.data; + break; + case "selection": + t.state.selection = t.data; + break; + case "text": l(t.state.value, t.data.text, t.data.from, t.data.to); + } } + back(t) { switch (t.type) { + case "command": + this.props.command("back", t.data, t.state); + break; + case "cursor": break; + case "text": + const e = { line: t.data.from.line, ch: t.data.from.ch }, r = { line: t.data.from.line + t.data.text.length - 1, ch: 1 === t.data.text.length ? t.data.from.ch + t.data.text[0].length : t.data.text[t.data.text.length - 1].length }; + l(t.state.value, t.data.removed, e, r); + } } + blinkCursor() { this.cursorDiv.style.visibility = "hidden" === this.cursorDiv.style.visibility ? "visible" : "hidden"; } + getCursor() { return this.cursorState; } + setCursor({ line: t, ch: e }) { const r = this.codeEditor.editor, n = r.cursorCoords({ line: t, ch: e }, "div"), o = Math.max(0, n.bottom - n.top) * r.getOption("cursorHeight"); Object.assign(this.cursor.style, { left: `${n.left}px`, top: `${n.top}px`, height: `${o}px` }), this.cursorState = { line: t, ch: e }; } + setSelection(t, e) { const r = this.codeEditor.editor; for (; this.selectionsDiv.firstChild;) + this.selectionsDiv.lastChild.remove(); const n = r.cursorCoords(t, "div"), o = r.cursorCoords(e, "div"), s = r.cursorCoords({ line: 0, ch: 0 }, "div"), i = Math.max(0, n.bottom - n.top) * r.getOption("cursorHeight"), a = r.getWrapperElement().getBoundingClientRect().width; for (let l = t.line; l <= e.line; ++l) { + const r = n.top + (l - t.line) * i, u = (l === t.line ? n : s).left; + let h; + h = l === t.line ? t.line === e.line ? o.left - n.left : a - n.left : l === e.line ? o.left - s.left : a; + const p = c(u, r, h, i); + this.selectionsDiv.appendChild(p); + } function c(t, e, r, n) { const o = h('
'); return Object.assign(o.style, { left: `${t}px`, top: `${e}px`, width: `${r}px`, height: `${n}px` }), o; } } + render() { const t = (e = this.props, ["className", "mode", "style", "theme"].map((t => t in e ? { [t]: e[t] } : {})).reduce(((t, e) => Object.assign(t, e)), {})); var e; return n.createElement(s, Object.assign({ ref: t => this.codeEditor = t, readOnly: !0 }, t)); } + } function l(t, e, r, n) { r = u(t, r), n = u(t, n); const o = t[r.line].slice(0, r.ch), s = t[n.line].slice(n.ch, t[n.line].length), i = 1 === e.length ? [o + e[0] + s] : [o + e[0], ...e.slice(1, e.length - 1), e[e.length - 1] + s]; t.splice(r.line, n.line - r.line + 1, ...i); } function u(t, e) { const r = t.length - 1; return e.line > r ? { line: r, ch: t[r].length } : function (t, e) { return null == t.ch || t.ch > e ? { line: t.line, ch: e } : t.ch < 0 ? { line: t.line, ch: 0 } : t; }(e, t[e.line].length); } function h(t) { const e = document.createElement("template"); return e.innerHTML = t, e.content.cloneNode(!0).firstElementChild; } c.contextType = o.Player.Context, c.defaultProps = { replay: [] }; }, 576: t => { t.exports = o; }, 888: t => { t.exports = n; } }, e = {}; + function r(n) { if (e[n]) + return e[n].exports; var o = e[n] = { exports: {} }; return t[n](o, o.exports, r), o.exports; } + return r.d = (t, e) => { for (var n in e) + r.o(e, n) && !r.o(t, n) && Object.defineProperty(t, n, { enumerable: !0, get: e[n] }); }, r.o = (t, e) => Object.prototype.hasOwnProperty.call(t, e), r.r = t => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }); }, r(281); + })()); }, 996: (t, e, r) => { + "use strict"; + r.r(e), r.d(e, { CodeBooth: () => f }); + var n = r(888), o = r(742), s = r(916); + function i(t) { let e; const r = new Set, n = (t, n) => { const o = "function" == typeof t ? t(e) : t; if (o !== e) { + const t = e; + e = n ? o : Object.assign({}, e, o), r.forEach((r => r(e, t))); + } }, o = () => e, s = { setState: n, getState: o, subscribe: (t, n, s) => n || s ? ((t, n = o, s = Object.is) => { let i = n(e); function a() { const r = n(e); if (!s(i, r)) { + const e = i; + t(i = r, e); + } } return r.add(a), () => r.delete(a); })(t, n, s) : (r.add(t), () => r.delete(t)), destroy: () => r.clear() }; return e = t(n, o, s), s; } + const a = "undefined" == typeof window ? n.useEffect : n.useLayoutEffect; + const c = function (t) { const e = "function" == typeof t ? i(t) : t, r = (t = e.getState, r = Object.is) => { const [, o] = (0, n.useReducer)((t => t + 1), 0), s = e.getState(), i = (0, n.useRef)(s), c = (0, n.useRef)(t), l = (0, n.useRef)(r), u = (0, n.useRef)(!1), h = (0, n.useRef)(); let p; void 0 === h.current && (h.current = t(s)); let d = !1; (i.current !== s || c.current !== t || l.current !== r || u.current) && (p = t(s), d = !r(h.current, p)), a((() => { d && (h.current = p), i.current = s, c.current = t, l.current = r, u.current = !1; })); const f = (0, n.useRef)(s); return a((() => { const t = () => { try { + const t = e.getState(), r = c.current(t); + l.current(h.current, r) || (i.current = t, h.current = r, o()); + } + catch (t) { + u.current = !0, o(); + } }, r = e.subscribe(t); return e.getState() !== f.current && t(), r; }), []), d ? p : h.current; }; return Object.assign(r, e), r[Symbol.iterator] = function* () { console.warn("[useStore, api] = create() is deprecated and will be removed in v4"), yield r, yield e; }, r; }((0, r(316).$e)({ messages: [], mode: "javascript", pane: "replay" }, (t => ({})))), { dragHelperReact: l } = o.Utils.interactivity, { constrain: u } = o.Utils.misc; + function h() { const t = c((t => t.messages)), e = (0, n.useRef)(), r = (0, n.useMemo)((() => l(((t, { x: r }) => { const n = e.current.parentElement, o = n.getBoundingClientRect(); n.style.setProperty("--split", 100 * u(.25, (r - o.left) / o.width, .75) + "%"); }))), []); return n.createElement("pre", { className: "rp-codebooth-output", onMouseUp: o.Player.preventCanvasClick, ref: e }, ["ew"].map((t => n.createElement("div", Object.assign({ key: t }, r, { className: `ui-resizable-handle ui-resizable-${t}`, style: { zIndex: 90 } })))), t.map(((t, e) => n.createElement("span", { key: e, className: t.classNames.join(" ") }, t.text)))); } + var p = function (t, e) { var r = {}; for (var n in t) + Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (r[n] = t[n]); if (null != t && "function" == typeof Object.getOwnPropertySymbols) { + var o = 0; + for (n = Object.getOwnPropertySymbols(t); o < n.length; o++) + e.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(t, n[o]) && (r[n[o]] = t[n[o]]); + } return r; }; + const { onClick: d } = o.Utils.mobile; + function f(t) { const { interpreter: e, mode: r, recorder: i, replay: a, start: l, theme: u } = t, f = p(t, ["interpreter", "mode", "recorder", "replay", "start", "theme"]), y = (0, n.useRef)(), m = (0, n.useRef)(), g = c((t => t.pane)); i && (0, n.useEffect)((() => { m.current.ready.then((() => { i.connect(m.current); })); }), []); const v = (0, n.useCallback)((t => { const e = t.currentTarget.classList.contains("button-replay") ? "replay" : "playground"; c.setState({ pane: e }); }), []), b = (0, n.useCallback)((t => { m.current.editor.setValue(y.current.codeEditor.editor.getValue()); }), []), x = (0, n.useCallback)(((t, r, n) => { if ("fwd" === t) + if ("Cmd-Enter" === r || "Ctrl-Enter" === r) { + const t = n.value.join("\n"); + let r; + try { + const n = e.runSync(t); + r = n.map((t => ({ classNames: ["replay"], text: t }))); + } + catch (o) { + r = o.args ? [{ classNames: ["replay", "error"], text: o.args.v[0].v + "\n" }] : [{ classNames: ["replay", "error"], text: o + "\n" }]; + } + c.setState((t => ({ messages: t.messages.concat(r) }))); + } + else + "Cmd-K" === r && c.setState((t => ({ messages: t.messages.filter((t => !t.classNames.includes("replay"))) }))); }), []), w = (0, n.useCallback)((async (t) => { const r = "replay" === c.getState().pane ? y.current.codeEditor.editor : m.current.editor; let n; try { + const t = await e.run(r.getValue()); + n = t.map((t => ({ classNames: ["user"], text: t }))); + } + catch (t) { + console.log(t), n = t.args ? [{ classNames: ["user", "error"], text: t.args.v[0].v + "\n" }] : [{ classNames: ["user", "error"], text: t + "\n" }]; + } c.setState((t => ({ messages: t.messages.concat(n) }))); }), []), E = (0, n.useCallback)((() => c.setState({ messages: [] })), []), C = (0, n.useMemo)((() => d(v)), []), O = (0, n.useMemo)((() => d(b)), []), j = (0, n.useMemo)((() => d(w)), []), S = (0, n.useMemo)((() => d(E)), []), k = (0, n.useMemo)((() => ({ "Cmd-Enter": w, "Ctrl-Enter": w, "Cmd-K": E })), []); return f.className || (f.className = ""), f.className += ` rp-codebooth active-${g}`, n.createElement("div", Object.assign({}, f), i ? n.createElement(s.CodeEditor, { className: "code-playground", keyMap: k, mode: r, recorder: i, ref: m, theme: u }) : n.createElement(n.Fragment, null, n.createElement(s.CodeReplay, { className: "code-replay", command: x, keyMap: k, mode: r, ref: y, replay: a, start: t.start, theme: u }), n.createElement(s.CodeEditor, { className: "code-playground", keyMap: k, mode: r, ref: m, theme: u })), n.createElement("div", { onMouseUp: o.Player.preventCanvasClick }, n.createElement("button", Object.assign({ className: "button-replay" }, C), "Code"), n.createElement("button", Object.assign({ className: "button-playground" }, C), "Playground"), n.createElement("button", Object.assign({ className: "button-copy" }, O), "Copy"), n.createElement("button", Object.assign({ className: "button-run" }, j, { title: "Cmd+Enter" }), "Run"), n.createElement("button", Object.assign({ className: "button-clear" }, S, { title: "Cmd+K" }), "Clear")), n.createElement(h, null)); } + }, 316: (t, e, r) => { + "use strict"; + var n = r(757), o = r(926), s = r(154); + function i(t) { return t && "object" == typeof t && "default" in t ? t : { default: t }; } + var a = i(n), c = i(o), l = i(s); + e.$e = function (t, e) { return function (r, n, o) { return Object.assign({}, t, e(r, n, o)); }; }; + }, 742: t => { + "use strict"; + t.exports = e; + }, 576: t => { + "use strict"; + t.exports = r; + }, 888: e => { + "use strict"; + e.exports = t; + } }, o = {}; function s(t) { if (o[t]) + return o[t].exports; var e = o[t] = { exports: {} }; return n[t].call(e.exports, e, e.exports, s), e.exports; } return s.d = (t, e) => { for (var r in e) + s.o(e, r) && !s.o(t, r) && Object.defineProperty(t, r, { enumerable: !0, get: e[r] }); }, s.o = (t, e) => Object.prototype.hasOwnProperty.call(t, e), s.r = t => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }); }, s(996); })(); })); + + +/***/ }), + +/***/ "./node_modules/rp-codemirror/rp-codemirror.recorder.js": +/*!**************************************************************!*\ + !*** ./node_modules/rp-codemirror/rp-codemirror.recorder.js ***! + \**************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +!function (e, t) { true ? module.exports = t(__webpack_require__(/*! react */ "react"), __webpack_require__(/*! ractive-player */ "ractive-player"), __webpack_require__(/*! rp-recording */ "rp-recording")) : 0; }(self, (function (e, t, r) { return (() => { + "use strict"; + var o = { 502: (e, t, r) => { r.d(t, { default: () => l }); var o = r(888), n = r(576), c = r(798); const { bind: i } = n.Utils.misc, a = o.createElement("g", { transform: "scale(0.5333333333)" }, o.createElement("g", { transform: "translate(-138.61 -857.23)" }, o.createElement("rect", { style: { strokeLinejoin: "round", stroke: "#FFF", strokeLinecap: "round", strokeWidth: 3.8521, fill: "#FFF" }, rx: "9.4681", ry: "14.97", height: "58.455", width: "121.82", y: "931.93", x: "171.45" }), o.createElement("path", { style: { stroke: "#000", strokeDasharray: "4.9175124 4.9175124", strokeWidth: 4.9175, fill: "none" }, d: "m184.06 947.36h94.08" }), o.createElement("path", { style: { stroke: "#000", strokeDasharray: "4.9175124 4.9175124", strokeWidth: 4.9175, fill: "none" }, d: "m184.06 957.05h94.08" }), o.createElement("path", { style: { stroke: "#000", strokeDasharray: "4.9175124 4.9175124", strokeWidth: 4.9175, fill: "none" }, d: "m184.06 966.75h94.08" }), o.createElement("path", { style: { stroke: "#FFF", strokeWidth: 4.9175, fill: "none" }, d: "m184.06 977.23h94.08" }), o.createElement("path", { style: { stroke: "#FFF", strokeLinecap: "round", strokeWidth: 4.3986, fill: "none" }, d: "m278.67 929.84s8.86-13.98-0.31-21.47c-10.76-8.79-20.81 8.66-36.55-3.07" }))); class s extends c.ReplayDataRecorder { + constructor() { super(), i(this, ["captureCursor", "captureKey", "captureKeySequence"]); } + connect(e) { this.connectedEditor = e; } + disconnect() { this.connectedEditor = null; } + beginRecording() { super.beginRecording(); const e = this.connectedEditor.editor; e.on("change", this.captureKey), e.on("cursorActivity", this.captureCursor), e.on("keyHandled", this.captureKeySequence); } + endRecording() { const e = this.connectedEditor.editor; e.off("change", this.captureKey), e.off("cursorActivity", this.captureCursor), e.off("keyHandled", this.captureKeySequence); } + captureCursor(e) { const t = this.manager.getTime(); if (this.manager.paused) + return; const r = e.getDoc().listSelections()[0], o = u(r.anchor, ["line", "ch"]), n = u(r.head, ["line", "ch"]); o.line === n.line && o.ch === n.ch ? this.capture(t, ["cursor", u(o, ["line", "ch"])]) : this.capture(t, ["selection", { anchor: o, head: n }]); } + captureKey(e, { from: t, to: r, text: o, removed: n }) { const c = this.manager.getTime(); this.manager.paused || this.capture(c, ["text", { from: u(t, ["line", "ch"]), to: u(r, ["line", "ch"]), text: o, removed: n }]); } + captureKeySequence(e, t) { const r = this.manager.getTime(); t.startsWith("Cmd-Alt-") || this.manager.paused || this.capture(r, ["command", t]); } + } const d = new s, l = { enabled: () => !!d.connectedEditor, icon: a, key: "rp-codemirror", name: "Code", recorder: d, saveComponent: function (e) { return o.createElement(o.Fragment, null, o.createElement("textarea", { readOnly: !0, value: JSON.stringify(e.data) })); }, title: "Record code" }; function u(e, t) { const r = {}; for (const o of t) + o in e && (r[o] = e[o]); return r; } }, 576: e => { e.exports = t; }, 888: t => { t.exports = e; }, 798: e => { e.exports = r; } }, n = {}; + function c(e) { if (n[e]) + return n[e].exports; var t = n[e] = { exports: {} }; return o[e](t, t.exports, c), t.exports; } + return c.n = e => { var t = e && e.__esModule ? () => e.default : () => e; return c.d(t, { a: t }), t; }, c.d = (e, t) => { for (var r in t) + c.o(t, r) && !c.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); }, c.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), c(502); +})().default; })); + + +/***/ }), + +/***/ "./node_modules/rp-cursor/rp-cursor.js": +/*!*********************************************!*\ + !*** ./node_modules/rp-cursor/rp-cursor.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +!function (e, t) { true ? module.exports = t(__webpack_require__(/*! react */ "react"), __webpack_require__(/*! liqvid */ "liqvid")) : 0; }(self, (function (e, t) { return (() => { + "use strict"; + var r = { 995: e => { e.exports = t; }, 359: t => { t.exports = e; } }, o = {}; + function n(e) { var t = o[e]; if (void 0 !== t) + return t.exports; var i = o[e] = { exports: {} }; return r[e](i, i.exports, n), i.exports; } + n.n = e => { var t = e && e.__esModule ? () => e.default : () => e; return n.d(t, { a: t }), t; }, n.d = (e, t) => { for (var r in t) + n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); }, n.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), n.r = e => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); }; + var i = {}; + return (() => { n.r(i), n.d(i, { default: () => s }); var e = n(359), t = n(995); const { replay: r } = t.Utils.animation, { between: o } = t.Utils.misc; function s(n) { const { playback: i, script: s } = (0, t.usePlayer)(), c = e.useRef(), a = s.parseStart(n.start), u = s.parseEnd(n.end); e.useEffect((() => { const { display: e } = c.current.style; c.current.style.display = "block"; const { height: t, width: o } = c.current.getBoundingClientRect(); c.current.style.display = e; const s = r({ data: n.replay, start: a, end: u, active: ([e, r]) => { Object.assign(c.current.style, { opacity: 1, left: `calc(${e}% - ${o / 2}px)`, top: `calc(${r}% - ${t / 2}px)` }); }, inactive: () => { c.current.style.opacity = "0"; }, compressed: !0 }); return i.hub.on("seek", s), i.hub.on("timeupdate", s), s(i.currentTime), () => { i.hub.off("seek", s), i.hub.off("timeupdate", s); }; }), [c.current]); const l = { pointerEvents: "none", position: "absolute", zIndex: 1e3 }; return o(a, i.currentTime, u) && (l.opacity = 0), e.createElement("img", { className: "rp-cursor", ref: c, src: n.src, style: l }); } })(), i; +})(); })); + + +/***/ }), + +/***/ "./node_modules/rp-cursor/rp-cursor.recorder.js": +/*!******************************************************!*\ + !*** ./node_modules/rp-cursor/rp-cursor.recorder.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +!function (e, r) { true ? module.exports = r(__webpack_require__(/*! react */ "react"), __webpack_require__(/*! liqvid */ "liqvid"), __webpack_require__(/*! rp-recording */ "rp-recording")) : 0; }(self, (function (e, r, t) { return (() => { + "use strict"; + var o = { 995: e => { e.exports = r; }, 359: r => { r.exports = e; }, 687: e => { e.exports = t; } }, n = {}; + function i(e) { var r = n[e]; if (void 0 !== r) + return r.exports; var t = n[e] = { exports: {} }; return o[e](t, t.exports, i), t.exports; } + i.n = e => { var r = e && e.__esModule ? () => e.default : () => e; return i.d(r, { a: r }), r; }, i.d = (e, r) => { for (var t in r) + i.o(r, t) && !i.o(e, t) && Object.defineProperty(e, t, { enumerable: !0, get: r[t] }); }, i.o = (e, r) => Object.prototype.hasOwnProperty.call(e, r); + var a = {}; + return (() => { i.d(a, { default: () => s }); var e = i(359), r = i(995), t = i(687); const { bind: o } = r.Utils.misc; class n extends t.ReplayDataRecorder { + constructor() { super(), o(this, ["captureMouse"]); } + beginRecording() { super.beginRecording(), document.body.addEventListener("mousemove", this.captureMouse); } + endRecording() { document.body.removeEventListener("mousemove", this.captureMouse); } + captureMouse(e) { const r = this.manager.getTime(); if (this.manager.paused) + return; const { left: t, top: o, height: n, width: i } = this.player.canvas.getBoundingClientRect(); this.capture(r, [u((e.pageX - t) / i * 100), u((e.pageY - o) / n * 100)]); } + } const s = { icon: e.createElement("g", null, e.createElement("line", { x1: "0", x2: "100", y1: "50", y2: "50", stroke: "#FFF" }), e.createElement("line", { x1: "50", x2: "50", y1: "0", y2: "100", stroke: "#FFF" })), key: "rp-cursor", name: "Cursor", recorder: new n, saveComponent: function (r) { return e.createElement(e.Fragment, null, r.data ? e.createElement("textarea", { readOnly: !0, value: JSON.stringify(r.data) }) : "Cursor data not yet available."); }, title: "Record cursor" }; function u(e) { return parseFloat(e.toFixed(3)); } })(), a = a.default; +})(); })); + + +/***/ }), + +/***/ "./node_modules/rp-paint/rp-paint.js": +/*!*******************************************!*\ + !*** ./node_modules/rp-paint/rp-paint.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +!function (e, t) { true ? module.exports = t(__webpack_require__(/*! react */ "react"), __webpack_require__(/*! liqvid */ "liqvid")) : 0; }(self, (function (e, t) { return (() => { + "use strict"; + var n = { 995: e => { e.exports = t; }, 359: t => { t.exports = e; } }, r = {}; + function s(e) { var t = r[e]; if (void 0 !== t) + return t.exports; var o = r[e] = { exports: {} }; return n[e](o, o.exports, s), o.exports; } + s.d = (e, t) => { for (var n in t) + s.o(t, n) && !s.o(e, n) && Object.defineProperty(e, n, { enumerable: !0, get: t[n] }); }, s.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), s.r = e => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); }; + var o = {}; + return (() => { s.r(o), s.d(o, { PaintCanvas: () => te, PaintReplay: () => de }); var e = s(359), t = s(995); function n(e) { const t = {}; for (let n in e) + t[n] = e[n].current; return t; } const r = { type: "change-sheet", preprocess(e) { return this.state.activeSheet = e.sheet, !0; }, process(e) { const { state: t } = this; if (e.sheet >= this.state.numSheets && (this.state.numSheets = e.sheet + 1), e.sheet !== this.state.activeSheet) { + const [e, t] = this.consume({ test: e => "change-sheet" !== e.type }); + } return !0; } }, i = { type: "clear", process(e) { const { stable: t } = this.layers; return t.getContext("2d").clearRect(0, 0, t.width, t.height), !0; } }, { ceil: a, floor: c, max: l, min: u } = Math, h = { type: "set-stroke-style", process(e) { for (const t of [this.contexts.stable, this.contexts.temp, this.state]) + t.strokeStyle = e.strokeStyle; return !0; } }, p = { type: "move-to", process(e) { const { lineWidth: t, strokeStyle: n } = this.state, [r, s] = this.consume({ test: e => "line-to" === e.type }), o = [[e.x, e.y], ...r.map((e => [e.x, e.y]))], i = s ? this.layers.stable : this.layers.temp, a = i.getContext("2d"), { height: l, width: u } = i; if (a.lineJoin = a.lineCap = "round", a.strokeStyle = n, a.lineWidth = t, 1 === o.length) + a.fillStyle = n, a.fillRect(c(u * o[0][0] - t / 2), c(l * o[0][1] - t / 2), t, t); + else { + a.beginPath(), a.moveTo(c(o[0][0] * u), c(o[0][1] * l)); + for (let e = 0, t = o.length; e < t - 1; e++) { + const t = o[e], n = o[e + 1], r = t[0] + (n[0] - t[0]) / 2, s = t[1] + (n[1] - t[1]) / 2; + a.quadraticCurveTo(c(u * t[0]), c(l * t[1]), c(u * r), c(l * s)); + } + a.stroke(); + } return s; } }, { ceil: d, floor: m, max: f, min: y } = Math, g = { type: "erase", process(e) { const t = this.layers.stable, n = t.getContext("2d"); return n.save(), n.beginPath(), n.globalCompositeOperation = "destination-out", n.arc(m(e.x * t.width), m(e.y * t.height), m(e.r * t.width), 0, 2 * Math.PI), n.fill(), n.restore(), !0; } }, v = {}; for (const s of [i, g, p, h, r]) + v[s.type] = s; class b { + constructor(e = {}) { Object.assign(this, { complete: !0, i: 0, index: 0, state: { activeSheet: 0, numSheets: 1, lineWidth: 2, strokeStyle: "#000000" } }, e), this.contexts = {}, this.complete = !0; } + consume({ test: e }) { const t = []; for (; this.i + 1 < this.feed.length; ++this.i) { + const n = this.feed[this.i + 1]; + if (!e(n)) + return [t, !0]; + t.push(n); + } return [t, this.complete]; } + preprocess() { this.complete = !1; let e = Object.keys(v).filter((e => v[e].preprocess)).length; for (let t = this.feed.length - 1; t >= 0; --t) { + const n = this.feed[t]; + if (!v.hasOwnProperty(n.type)) + continue; + const r = v[n.type]; + if (r.hasOwnProperty("preprocess") && (r.preprocess.call(this, n) && e--, 0 === e)) + break; + } } + process() { for (; this.i < this.feed.length; ++this.i) { + const e = this.feed[this.i]; + if (!v.hasOwnProperty(e.type)) + continue; + const t = v[e.type]; + if (!t.hasOwnProperty("process")) + continue; + if (!t.process.call(this, e)) + break; + this.index = this.i + 1; + } } + record(e) { this.feed.push(e); } + reset() { this.index = 0; for (const e in this.layers) { + const t = this.layers[e]; + t.getContext("2d").clearRect(0, 0, t.width, t.height); + } } + repaint(e = !1) { if (!this.contexts.hasOwnProperty("temp")) + for (const t in this.layers) + this.contexts[t] = this.layers[t].getContext("2d"); e && this.reset(), this.i = this.index, this.preprocess(), this.contexts.temp.clearRect(0, 0, this.layers.temp.width, this.layers.temp.height), this.process(); } + } const k = { name: "draw", down({ consumer: e, layers: t, hit: n }) { const r = t.stable.getBoundingClientRect(), s = { type: "move-to", x: (n.x - r.left) / r.width, y: (n.y - r.top) / r.height }; e.record(s), e.complete = !1, e.repaint(); }, move({ consumer: e, layers: t, hit: n, record: r }) { const s = t.stable.getBoundingClientRect(), o = { type: "line-to", x: (n.x - s.left) / s.width, y: (n.y - s.top) / s.height }; e.record(o), e.repaint(); }, up({ consumer: e }) { e.complete = !0, e.repaint(); } }, { floor: w } = Math, x = { name: "eraser", hover({ layers: e, hit: t }) { const n = e.aid, r = n.getBoundingClientRect(), s = n.getContext("2d"); s.clearRect(0, 0, n.width, n.height), s.lineWidth = 1, s.strokeStyle = "#000", s.setLineDash([6, 4]), s.beginPath(), s.arc(w(t.x - r.left), w(t.y - r.y), w(.02 * r.width), 0, 2 * Math.PI), s.stroke(); }, down({ consumer: e, layers: t, hit: n, record: r }) { const s = t.stable.getBoundingClientRect(), o = { type: "erase", x: (n.x - s.left) / s.width, y: (n.y - s.top) / s.height, r: .02 }; e.record(o), e.repaint(); }, move({ consumer: e, layers: t, hit: n }) { const r = t.stable.getBoundingClientRect(), s = { type: "erase", x: (n.x - r.left) / r.width, y: (n.y - r.top) / r.height, r: .02 }; e.record(s), e.repaint(); } }, E = e.createElement("g", { fill: "#fff" }, e.createElement("path", { d: "m23.2859 93.4398c-.0321-.002-.0563-.0008-.0887-.0029-.3133-.0198-.6378-.0447-.9657-.0753-.328-.0306-.6593-.0666-.9909-.1101-.3318-.0435-.6632-.0936-.988-.1521s-.644-.1257-.951-.2014c-.307-.0756-.6014-.16-.88-.2549-.1392-.0475-.275-.098-.4052-.1507-.1301-.0527-.2545-.1084-.3742-.1666-.1196-.0582-.2338-.1186-.3416-.1826-.1079-.0639-.2101-.1313-.3047-.2013s-.1816-.1425-.2618-.2187c-.0801-.0763-.1531-.1562-.2173-.239l-.1672-.2593c-.047-.0898-.0854-.1829-.1138-.2797-.0286-.0967-.0477-.1972-.0563-.3013-.0085-.1041-.0067-.2113.006-.323.0127-.1118.018-.222.0147-.3289-.0031-.1069-.0145-.2107-.0325-.3129-.018-.102-.0434-.201-.0754-.2984s-.0705-.1925-.1154-.2854c-.0448-.0928-.0956-.1841-.1523-.2724-.0567-.0882-.1187-.1739-.1863-.2578s-.1415-.1652-.2189-.2448c-.0775-.0796-.1592-.158-.2455-.2332-.0864-.0753-.1764-.1477-.2708-.2188-.0942-.0711-.1931-.1401-.2943-.2072-.0419-.0278-.09-.051-.1331-.0782-1.5258 3.321-3.9582 5.3779-8.95801 6.29-.81882.1494-.54858 1.1271 0 1.1271 5.90331 0 12.69441-.0272 17.76821-1.5602z" }), e.createElement("path", { d: "m23.147 78.0639c-3.7321 0-6.8361 2.6364-7.4747 6.1118-.3443 1.2582-.7294 2.3904-1.1966 3.4072.0432.0271.0912.0504.1332.0782.1011.0671.2.136.2943.2072.0943.0711.1843.1435.2707.2187.0863.0752.168.1537.2455.2333.0774.0795.1513.1609.2189.2448s.1296.1696.1863.2578c.0567.0883.1075.1796.1523.2724.0449.0928.0834.188.1154.2854.032.0973.0574.1963.0754.2984s.0294.206.0325.3128c.0033.107-.002.2171-.0147.3289s-.0145.219-.006.3231c.0086.1041.0277.2045.0563.3013.0284.0968.0668.1899.1138.2796.047.0896.1029.1765.1672.2593.0642.0828.1372.1628.2173.239.0802.0763.1672.1488.2618.2188.0946.0699.1969.1373.3047.2013s.222.1243.3416.1825c.1197.0583.2441.1139.3742.1666.1302.0528.266.1033.4052.1507.2786.0949.573.1793.88.255.307.0756.6262.1428.951.2013s.6563.1087.988.1521c.3316.0435.6629.0795.9909.1101.3279.0306.6524.0556.9657.0754.0324.002.0566.0009.0887.0028 2.9268-.8843 5.2842-2.267 6.5652-4.4401.5674-1.0421.8888-2.2334.8888-3.497 0-4.1084-3.3986-7.4388-7.5929-7.4388z" }), e.createElement("path", { d: "m71.302 5.00013c-.1587.0034-.3394.07411-.5029.28538-.232.31688-30.4484 41.40919-37.3275 53.54479.164.0523.332.1059.5014.1651 1.0616.3707 2.235.8774 3.4873 1.5674 1.4894.8207 3.0912 1.9006 4.7534 3.3159 7.5537-11.9997 29.4184-57.63808 29.5882-57.99055.1568-.39472.0022-.67845-.1582-.78806-.0101-.00685-.0209-.01359-.0326-.02029-.0764-.04393-.1857-.08232-.3091-.07967z" }), e.createElement("path", { d: "m32.6403 60.3861c-.1163.2378-.2152.4547-.2957.6475-2.5564 6.1258-6.3889 13.48-7.4496 16.2842 2.033.308 3.799 1.4052 4.962 2.9625 1.9802-2.2656 6.6581-9.0957 10.8541-14.2271.1599-.1956.338-.4317.5309-.7041-1.5083-1.3064-2.9557-2.3097-4.2979-3.0783-1.2986-.7438-2.4989-1.2688-3.5657-1.6414-.2549-.089-.5-.1709-.7381-.2433z" })); function C() { return e.createElement("svg", { viewBox: "0 0 75 75" }, e.createElement("g", { transform: "translate(0, 45) rotate(-40) translate(-31.543342,-132.63477)" }, e.createElement("path", { fill: "#CCC", stroke: "#000", strokeLinejoin: "round", strokeMiterlimit: "4", d: "m 36.072339,133.16377 h 31.680484 v 32.87415 H 36.072339 c -2.215998,0 -3.999997,-1.784 -3.999997,-4 v -24.87415 c 0,-2.216 1.783999,-4 3.999997,-4 z" }), e.createElement("path", { fill: "#D34A4A", stroke: "#000", strokeLinejoin: "round", strokeMiterlimit: "4", d: "m 67.752823,133.16377 h 31.680483 c 2.216004,0 3.999994,1.784 3.999994,4 v 24.87415 c 0,2.216 -1.78399,4 -3.999994,4 H 67.752823 Z" }))); } function S() { return e.createElement("svg", { viewBox: "0 0 100 100" }, e.createElement("rect", { x: "10", y: "40", height: "50", width: "50", rx: "15", ry: "15", fill: "none", stroke: "#FFF", strokeWidth: "3" }), e.createElement("rect", { x: "40", y: "10", height: "50", width: "50", rx: "15", ry: "15", fill: "none", stroke: "#FFF", strokeWidth: "3" })); } const { onClick: R } = t.Utils.mobile, P = 68; function j(t) { const { dispatch: n, $state: r } = (0, e.useContext)(V); (0, e.useEffect)((() => { t.listen((e => { e.altKey && e.keyCode === P && (e.preventDefault(), e.stopPropagation(), n({ type: "set-tool", name: "draw" })); })); }), []); const s = ["rp-paint-tool"]; "draw" === r.current.tool && s.push("selected"); const o = (0, e.useMemo)((() => R((() => { n({ type: "set-tool", name: "draw" }); }))), []); return e.createElement("button", Object.assign({ className: s.join(" ") }, o), e.createElement("svg", { viewBox: "0 0 100 100" }, E)); } const { onClick: O } = t.Utils.mobile, M = 67, N = 69; function U(t) { const { consumer: n, dispatch: r, $state: s } = (0, e.useContext)(V); (0, e.useEffect)((() => { t.listen((e => { e.altKey && !e.metaKey && e.keyCode === N ? (e.preventDefault(), e.stopPropagation(), r({ type: "set-tool", name: "eraser" })) : e.altKey && !e.metaKey && e.keyCode === M && (e.preventDefault(), e.stopPropagation(), n.record({ type: "clear" }), n.repaint()); })); }), []); const o = ["rp-paint-tool"]; "eraser" === s.current.tool && o.push("selected"); const i = (0, e.useMemo)((() => O((() => { r({ type: "set-tool", name: "eraser" }); }))), []); return e.createElement("button", Object.assign({ className: o.join(" ") }, i), e.createElement(C, null)); } const { between: L } = t.Utils.misc, { onClick: B } = t.Utils.mobile; function T(t) { const [n, r] = (0, e.useState)(!1), { consumer: s, $state: o, dispatch: i } = (0, e.useContext)(V), a = o.current, c = (0, e.useRef)(["#ffffff", "#ff0000", "#1a69b5", "#008000", "#ae81ff", "#ff8000", "#ff0080"]), [l, u] = (0, e.useState)(c.current); c.current = l, (0, e.useEffect)((() => { t.listen((e => { if (e.altKey && !e.metaKey && L(49, e.keyCode, 49 + l.length)) { + e.preventDefault(), e.stopPropagation(); + const t = { type: "set-stroke-style", strokeStyle: c.current[e.keyCode - 49] }; + s.record(t), i(t); + } + else + e.altKey && "h" === e.key && document.querySelectorAll(".rp-paint-replay"); })); }), []); const h = (0, e.useMemo)((() => B((() => { r((e => !e)); }))), []), p = (0, e.useMemo)((() => ({ onChange: e => { const t = e.currentTarget.value, n = e.currentTarget.name.match(/^palette-(\d+)$/)[1]; u((e => { const r = e.slice(); return r[n] = t, r; })); } })), []); return e.createElement(e.Fragment, null, e.createElement("aside", { className: "rp-paint-palette", style: { display: n ? "block" : "none" } }, l.map(((t, n) => e.createElement("div", { className: "rp-paint-color", key: n }, e.createElement("input", Object.assign({}, p, { name: `palette-${n}`, type: "color", value: t })), e.createElement("kbd", null, n + 1))))), e.createElement("button", Object.assign({ className: "rp-paint-tool rp-paint-format" }, h, { style: { backgroundColor: a.strokeStyle } }))); } const { range: W } = t.Utils.misc, { onClick: q } = t.Utils.mobile; function F(t) { const { consumer: n } = (0, e.useContext)(V), [r, s] = (0, e.useState)(!1), o = (0, e.useRef)([]); (0, e.useEffect)((() => { t.listen((e => { if (e.altKey) + if ("ArrowDown" === e.key) { + o.current[n.state.activeSheet] = n.layers.stable.toDataURL(); + const e = { type: "change-sheet", sheet: n.state.activeSheet + 1 }; + n.record(e), n.repaint(!0); + } + else if ("ArrowUp" === e.key) { + if (0 === n.state.activeSheet) + return; + o.current[n.state.activeSheet] = n.layers.stable.toDataURL(); + const e = { type: "change-sheet", sheet: n.state.activeSheet - 1 }; + n.record(e), n.repaint(!0); + } })); }), []); const i = (0, e.useMemo)((() => q((() => { s((e => (e || (o.current[n.state.activeSheet] = n.layers.stable.toDataURL()), !e))); }))), []); return e.createElement(e.Fragment, null, e.createElement("aside", { className: "rp-sheets-dialog", style: { display: r ? "block" : "none" } }, e.createElement("ol", null, W(n.state.numSheets).map((t => e.createElement("li", { className: t === n.state.activeSheet ? "selected" : "", key: t }, e.createElement("img", { src: o.current[t] })))))), e.createElement("button", Object.assign({ className: ["rp-paint-tool"].join(" ") }, i), e.createElement(S, null))); } const { replay: z } = t.Utils.animation, { dragHelperReact: D } = t.Utils.interactivity, { between: K } = t.Utils.misc, { onClick: $ } = t.Utils.mobile; function A() { const { consumer: n } = (0, e.useContext)(V), r = ((0, e.useContext)(t.Player.Context), (0, e.useRef)()), [s, o] = (0, e.useState)(!1), i = (0, e.useRef)([]), a = (0, e.useCallback)((e => { i.current.push(e); }), []); (0, e.useEffect)((() => { const e = e => { if ("p" === e.key) + return o((e => !e)); "h" === e.key ? H(r.current, ".rp-paint-canvas-container").classList.toggle("visible") : "z" === e.key && e.metaKey && n.record({ type: "undo" }); for (const t of i.current) + t(e); }; return document.body.addEventListener("keydown", e), () => { document.body.removeEventListener("keydown", e); }; }), [s]); const c = (0, e.useMemo)((() => { let e, t; return D(((n, s) => { const o = function (e) { if (void 0 !== e.offsetLeft && void 0 !== e.offsetTop) + return { left: e.offsetLeft, top: e.offsetTop, width: e.offsetParent.getBoundingClientRect().width, height: e.offsetParent.getBoundingClientRect().height }; const t = e.getBoundingClientRect(); let n = e; for (; n = n.parentNode;) { + if (!["absolute", "relative"].includes(getComputedStyle(n).position)) + continue; + const e = n.getBoundingClientRect(); + return { left: t.left - e.left, top: t.top - e.top, width: e.width, height: e.height }; + } return { left: t.left, top: t.top, width: innerWidth, height: innerHeight }; }(r.current), i = o.left + s.x - e, a = o.top + s.y - t, c = i / o.width * 100, l = a / o.height * 100; e = s.x, t = s.y, Object.assign(r.current.style, { left: `${c}%`, top: `${l}%` }); }), ((n, r) => { e = r.x, t = r.y; })); }), []); return e.createElement("aside", { className: "rp-paint-settings", ref: r, style: { display: s ? "block" : "none" } }, e.createElement("div", Object.assign({ className: "rp-paint-drag-handle" }, c)), e.createElement(j, Object.assign({}, { listen: a })), e.createElement(U, Object.assign({}, { listen: a })), e.createElement(T, Object.assign({}, { listen: a })), e.createElement(F, Object.assign({}, { listen: a }))); } function H(e, t) { if (e) + return e.matches(t) ? e : H(e.parentNode, t); } const { replay: I } = t.Utils.animation, { dragHelperReact: J } = t.Utils.interactivity, { between: _ } = t.Utils.misc, X = { draw: k, eraser: x }, Y = { tool: "draw", strokeStyle: "#000000", lineWidth: 2 }, { floor: Z, max: G, min: Q } = Math, V = e.createContext(null); function ee(e, t) { switch (t.type) { + case "set-stroke-style": return Object.assign(Object.assign({}, e), { strokeStyle: t.strokeStyle }); + case "set-tool": return Object.assign(Object.assign({}, e), { tool: t.name }); + } return e; } function te(t) { const r = (0, e.useRef)([]), s = { aid: (0, e.useRef)(), stable: (0, e.useRef)(), temp: (0, e.useRef)() }, [o, i] = (0, e.useReducer)(ee, Y), a = (0, e.useRef)(Y); a.current = o; const c = (0, e.useRef)(new b({ feed: r.current, record(e) { var n; null === (n = t.recorder) || void 0 === n || n.captureAction(e), this.feed.push(e); } })), l = c.current, u = { consumer: c.current, dispatch: i, layers: n(s), $state: a }, h = (0, e.useMemo)((() => Object.assign({ onMouseMove: e => { var t; const r = X[a.current.tool]; null === (t = r.hover) || void 0 === t || t.call(r, { layers: n(s), hit: { x: e.clientX, y: e.clientY } }); } }, J(((e, t) => { var r; const o = X[a.current.tool]; null === (r = o.move) || void 0 === r || r.call(o, { e, hit: t, consumer: l, layers: n(s) }); }), ((e, t) => { var r; const o = X[a.current.tool]; null === (r = o.down) || void 0 === r || r.call(o, { e, hit: t, consumer: l, layers: n(s), state: a.current }); }), (e => { var t; const r = X[a.current.tool]; null === (t = r.up) || void 0 === t || t.call(r, { e, consumer: l, layers: n(s) }); })))), []); return e.useEffect((() => { function e() { for (const e in s) { + const t = s[e].current, n = t.getBoundingClientRect(); + t.height = n.height, t.width = n.width; + } l.repaint(!0); } return l.layers = n(s), window.addEventListener("resize", e), e(), () => { window.removeEventListener("resize", e); }; }), [s.temp.current, s.stable.current]), e.createElement("div", { className: "rp-paint-canvas-container" }, e.createElement(V.Provider, { value: u }, e.createElement("canvas", { id: "stable", className: "rp-paint-layer noinput", ref: s.stable }), e.createElement("canvas", Object.assign({ id: "temp", className: "rp-paint-layer" }, h, { ref: s.temp })), e.createElement("canvas", { className: "rp-paint-layer noinput", ref: s.aid }), e.createElement(A, null))); } const { ceil: ne, floor: re, max: se, min: oe } = Math; function ie({ action: e, consume: t, stable: n, state: r, temp: s }) { const { lineWidth: o, strokeStyle: i } = r, a = n.getContext("2d"), c = s.getContext("2d"); switch (e.type) { + case "change-sheet": return e.sheet >= r.sheets.length && (r.sheets.length = e.sheet), e.sheet !== r.activeSheet && a.clearRect(0, 0, n.width, n.height), r.activeSheet = e.sheet, !0; + case "set-stroke-style": return a.strokeStyle = r.strokeStyle = c.strokeStyle = e.strokeStyle, !0; + case "clear": return a.clearRect(0, 0, n.width, n.height), !0; + case "erase": { + const t = n.getContext("2d"); + return t.save(), t.beginPath(), t.globalCompositeOperation = "destination-out", t.arc(re(e.x * n.width), re(e.y * n.height), re(e.r * n.width), 0, 2 * Math.PI), t.fill(), t.restore(), !0; + } + case "move-to": + const [l, u] = t({ test: e => "line-to" === e.type }), h = [[e.x, e.y], ...l.map((e => [e.x, e.y]))], p = u ? n : s, d = p.getContext("2d"), { height: m, width: f } = p; + if (d.lineJoin = d.lineCap = "round", d.strokeStyle = r.strokeStyle, d.lineWidth = r.lineWidth, 1 === h.length) + d.fillStyle = i, d.fillRect(re(f * h[0][0] - o / 2), re(m * h[0][1] - o / 2), o, o); + else { + d.beginPath(), d.moveTo(re(h[0][0] * f), re(h[0][1] * m)); + for (let e = 0, t = h.length; e < t - 1; e++) { + const t = h[e], n = h[e + 1], r = t[0] + (n[0] - t[0]) / 2, s = t[1] + (n[1] - t[1]) / 2; + d.quadraticCurveTo(re(f * t[0]), re(m * t[1]), re(f * r), re(m * s)); + } + d.stroke(); + } + return u; + } } const { replay: ae } = t.Utils.animation, { between: ce } = t.Utils.misc, { floor: le, max: ue, min: he } = Math, pe = { activeSheet: 0, strokeStyle: "#000", lineWidth: 2, sheets: [] }; function de(n) { var r; const { playback: s, script: o } = (0, t.usePlayer)(), i = (0, e.useRef)(null !== (r = n.replay) && void 0 !== r ? r : []), a = (0, e.useRef)(pe), c = ((0, e.useRef)([{ type: "change-sheet", sheet: 0 }, { type: "set-stroke-style", strokeStyle: "#FFF" }]), { stable: (0, e.useRef)(), temp: (0, e.useRef)() }); return e.useEffect((() => { var e; const t = null !== (e = o.parseStart(n.start)) && void 0 !== e ? e : 0; let r = s.currentTime, l = 0, u = 0; function h(e = s.currentTime, n = !1) { const o = c.stable.current, p = o.getContext("2d"), d = c.temp.current, m = d.getContext("2d"), { lineWidth: f, strokeStyle: y } = a.current; if ((e < r || n) && (l = 0, u = 0, p.clearRect(0, 0, o.width, o.height)), r = e, a.current.repaint = h, m.clearRect(0, 0, d.width, d.height), e < t) + return; let g = l, v = u, b = null, k = null, w = g; for (; g < i.current.length; ++g) { + const [n, r] = i.current[g]; + if (v += n, e <= t + v) + break; + w = g + 1, "set-stroke-style" === r.type ? k = g : "change-sheet" === r.type && (b = g, u = v - n); + } function x({ test: e }) { const t = []; for (; g + 1 < w; ++g) { + const [n, r] = i.current[g + 1]; + if (!e(r)) + return [t, !0]; + v += n, t.push(r); + } return [t, w === i.current.length]; } for (null !== b && (l = b, null !== k && ie({ action: i.current[k][1], consume: x, stable: o, state: a.current, temp: d })), g = l, v = u; g < w; ++g) { + const [e, t] = i.current[g]; + v += e; + if (!ie({ action: t, consume: x, stable: o, state: a.current, temp: d })) + break; + l = g + 1, u = v; + } } function p() { const e = c.stable.current.getBoundingClientRect(); c.temp.current.height = c.stable.current.height = e.height, c.temp.current.width = c.stable.current.width = e.width, h(s.currentTime, !0); } return window.addEventListener("resize", p), s.hub.on("seek", h), s.hub.on("timeupdate", h), p(), () => { window.removeEventListener("resize", p), s.hub.off("seek", h), s.hub.off("timeupdate", h); }; }), [c.stable.current, c.temp.current]), e.createElement("div", { className: "rp-paint-view" }, e.createElement("canvas", { className: "rp-paint-layer noinput", ref: c.temp }), e.createElement("canvas", { className: "rp-paint-layer noinput", ref: c.stable })); } })(), o; +})(); })); + + +/***/ }), + +/***/ "./node_modules/rp-paint/rp-paint.recorder.js": +/*!****************************************************!*\ + !*** ./node_modules/rp-paint/rp-paint.recorder.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +!function (e, t) { true ? module.exports = t(__webpack_require__(/*! react */ "react"), __webpack_require__(/*! rp-recording */ "rp-recording")) : 0; }(self, (function (e, t) { return (() => { + "use strict"; + var r = { 359: t => { t.exports = e; }, 687: e => { e.exports = t; } }, a = {}; + function n(e) { var t = a[e]; if (void 0 !== t) + return t.exports; var c = a[e] = { exports: {} }; return r[e](c, c.exports, n), c.exports; } + n.d = (e, t) => { for (var r in t) + n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); }, n.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t); + var c = {}; + return (() => { n.d(c, { default: () => o }); var e = n(359), t = n(687); const r = e.createElement("g", { fill: "#fff" }, e.createElement("path", { d: "m23.2859 93.4398c-.0321-.002-.0563-.0008-.0887-.0029-.3133-.0198-.6378-.0447-.9657-.0753-.328-.0306-.6593-.0666-.9909-.1101-.3318-.0435-.6632-.0936-.988-.1521s-.644-.1257-.951-.2014c-.307-.0756-.6014-.16-.88-.2549-.1392-.0475-.275-.098-.4052-.1507-.1301-.0527-.2545-.1084-.3742-.1666-.1196-.0582-.2338-.1186-.3416-.1826-.1079-.0639-.2101-.1313-.3047-.2013s-.1816-.1425-.2618-.2187c-.0801-.0763-.1531-.1562-.2173-.239l-.1672-.2593c-.047-.0898-.0854-.1829-.1138-.2797-.0286-.0967-.0477-.1972-.0563-.3013-.0085-.1041-.0067-.2113.006-.323.0127-.1118.018-.222.0147-.3289-.0031-.1069-.0145-.2107-.0325-.3129-.018-.102-.0434-.201-.0754-.2984s-.0705-.1925-.1154-.2854c-.0448-.0928-.0956-.1841-.1523-.2724-.0567-.0882-.1187-.1739-.1863-.2578s-.1415-.1652-.2189-.2448c-.0775-.0796-.1592-.158-.2455-.2332-.0864-.0753-.1764-.1477-.2708-.2188-.0942-.0711-.1931-.1401-.2943-.2072-.0419-.0278-.09-.051-.1331-.0782-1.5258 3.321-3.9582 5.3779-8.95801 6.29-.81882.1494-.54858 1.1271 0 1.1271 5.90331 0 12.69441-.0272 17.76821-1.5602z" }), e.createElement("path", { d: "m23.147 78.0639c-3.7321 0-6.8361 2.6364-7.4747 6.1118-.3443 1.2582-.7294 2.3904-1.1966 3.4072.0432.0271.0912.0504.1332.0782.1011.0671.2.136.2943.2072.0943.0711.1843.1435.2707.2187.0863.0752.168.1537.2455.2333.0774.0795.1513.1609.2189.2448s.1296.1696.1863.2578c.0567.0883.1075.1796.1523.2724.0449.0928.0834.188.1154.2854.032.0973.0574.1963.0754.2984s.0294.206.0325.3128c.0033.107-.002.2171-.0147.3289s-.0145.219-.006.3231c.0086.1041.0277.2045.0563.3013.0284.0968.0668.1899.1138.2796.047.0896.1029.1765.1672.2593.0642.0828.1372.1628.2173.239.0802.0763.1672.1488.2618.2188.0946.0699.1969.1373.3047.2013s.222.1243.3416.1825c.1197.0583.2441.1139.3742.1666.1302.0528.266.1033.4052.1507.2786.0949.573.1793.88.255.307.0756.6262.1428.951.2013s.6563.1087.988.1521c.3316.0435.6629.0795.9909.1101.3279.0306.6524.0556.9657.0754.0324.002.0566.0009.0887.0028 2.9268-.8843 5.2842-2.267 6.5652-4.4401.5674-1.0421.8888-2.2334.8888-3.497 0-4.1084-3.3986-7.4388-7.5929-7.4388z" }), e.createElement("path", { d: "m71.302 5.00013c-.1587.0034-.3394.07411-.5029.28538-.232.31688-30.4484 41.40919-37.3275 53.54479.164.0523.332.1059.5014.1651 1.0616.3707 2.235.8774 3.4873 1.5674 1.4894.8207 3.0912 1.9006 4.7534 3.3159 7.5537-11.9997 29.4184-57.63808 29.5882-57.99055.1568-.39472.0022-.67845-.1582-.78806-.0101-.00685-.0209-.01359-.0326-.02029-.0764-.04393-.1857-.08232-.3091-.07967z" }), e.createElement("path", { d: "m32.6403 60.3861c-.1163.2378-.2152.4547-.2957.6475-2.5564 6.1258-6.3889 13.48-7.4496 16.2842 2.033.308 3.799 1.4052 4.962 2.9625 1.9802-2.2656 6.6581-9.0957 10.8541-14.2271.1599-.1956.338-.4317.5309-.7041-1.5083-1.3064-2.9557-2.3097-4.2979-3.0783-1.2986-.7438-2.4989-1.2688-3.5657-1.6414-.2549-.089-.5-.1709-.7381-.2433z" })); class a extends t.ReplayDataRecorder { + beginRecording() { this.push([0, { type: "change-sheet", sheet: 0 }]), this.push([0, { type: "set-stroke-style", strokeStyle: "#FFF" }]); } + captureAction(e) { this.manager && !this.manager.paused && this.capture(this.manager.getTime(), e); } + } const o = { key: "rp-paint", icon: r, name: "Paint", recorder: new a, saveComponent: function (t) { return e.createElement(e.Fragment, null, t.data ? e.createElement("textarea", { readOnly: !0, value: JSON.stringify(t.data) }) : "Brush data not yet available."); } }; })(), c = c.default; +})(); })); + + +/***/ }), + +/***/ "./node_modules/rp-prompt/dist/index.js": +/*!**********************************************!*\ + !*** ./node_modules/rp-prompt/dist/index.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +!function (e, t) { true ? module.exports = t(__webpack_require__(/*! react */ "react"), __webpack_require__(/*! liqvid */ "liqvid")) : 0; }(self, (function (e, t) { return (() => { + "use strict"; + var r = { 153: (e, t, r) => { r.d(t, { Z: () => s }); var n = r(318), o = r.n(n), i = r(433), a = r.n(i)()(o()); a.push([e.id, ".rp-prompt{border-radius:2px;color:#fff;position:absolute;width:35em}.rp-prompt > :first-child,.rp-prompt > .rp-prompt-cue.active{border-radius:2px 2px 0 0}.rp-prompt > :last-child{border-radius:0 0 2px 2px}.rp-prompt > *{display:none}.rp-prompt > .active,.rp-prompt .active ~ *{display:block}.rp-prompt > :not(.active){opacity:.2}.rp-prompt-cue{background:#ffa500;font-family:monospace;font-size:.625em;padding:2px 0 2px 1em}.rp-prompt-line{padding:.1em .5em}.rp-prompt-line:nth-of-type(odd){background:#555}.rp-prompt-line:nth-of-type(even){background:#333}.rp-prompt-measure{display:block !important;padding:.1em .5em}", ""]); const s = a; }, 433: e => { e.exports = function (e) { var t = []; return t.toString = function () { return this.map((function (t) { var r = "", n = void 0 !== t[5]; return t[4] && (r += "@supports (".concat(t[4], ") {")), t[2] && (r += "@media ".concat(t[2], " {")), n && (r += "@layer".concat(t[5].length > 0 ? " ".concat(t[5]) : "", " {")), r += e(t), n && (r += "}"), t[2] && (r += "}"), t[4] && (r += "}"), r; })).join(""); }, t.i = function (e, r, n, o, i) { "string" == typeof e && (e = [[null, e, void 0]]); var a = {}; if (n) + for (var s = 0; s < this.length; s++) { + var c = this[s][0]; + null != c && (a[c] = !0); + } for (var p = 0; p < e.length; p++) { + var l = [].concat(e[p]); + n && a[l[0]] || (void 0 !== i && (void 0 === l[5] || (l[1] = "@layer".concat(l[5].length > 0 ? " ".concat(l[5]) : "", " {").concat(l[1], "}")), l[5] = i), r && (l[2] ? (l[1] = "@media ".concat(l[2], " {").concat(l[1], "}"), l[2] = r) : l[2] = r), o && (l[4] ? (l[1] = "@supports (".concat(l[4], ") {").concat(l[1], "}"), l[4] = o) : l[4] = "".concat(o)), t.push(l)); + } }, t; }; }, 318: e => { e.exports = function (e) { return e[1]; }; }, 767: e => { var t = Object.getOwnPropertySymbols, r = Object.prototype.hasOwnProperty, n = Object.prototype.propertyIsEnumerable; function o(e) { if (null == e) + throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(e); } e.exports = function () { try { + if (!Object.assign) + return !1; + var e = new String("abc"); + if (e[5] = "de", "5" === Object.getOwnPropertyNames(e)[0]) + return !1; + for (var t = {}, r = 0; r < 10; r++) + t["_" + String.fromCharCode(r)] = r; + if ("0123456789" !== Object.getOwnPropertyNames(t).map((function (e) { return t[e]; })).join("")) + return !1; + var n = {}; + return "abcdefghijklmnopqrst".split("").forEach((function (e) { n[e] = e; })), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, n)).join(""); + } + catch (o) { + return !1; + } }() ? Object.assign : function (e, i) { for (var a, s, c = o(e), p = 1; p < arguments.length; p++) { + for (var l in a = Object(arguments[p])) + r.call(a, l) && (c[l] = a[l]); + if (t) { + s = t(a); + for (var u = 0; u < s.length; u++) + n.call(a, s[u]) && (c[s[u]] = a[s[u]]); + } + } return c; }; }, 945: (e, t, r) => { r(767); var n = r(359), o = 60103; if (60107, "function" == typeof Symbol && Symbol.for) { + var i = Symbol.for; + o = i("react.element"), i("react.fragment"); + } var a = n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, s = Object.prototype.hasOwnProperty, c = { key: !0, ref: !0, __self: !0, __source: !0 }; function p(e, t, r) { var n, i = {}, p = null, l = null; for (n in void 0 !== r && (p = "" + r), void 0 !== t.key && (p = "" + t.key), void 0 !== t.ref && (l = t.ref), t) + s.call(t, n) && !c.hasOwnProperty(n) && (i[n] = t[n]); if (e && e.defaultProps) + for (n in t = e.defaultProps) + void 0 === i[n] && (i[n] = t[n]); return { $$typeof: o, type: e, key: p, ref: l, props: i, _owner: a.current }; } t.jsx = p, t.jsxs = p; }, 637: (e, t, r) => { e.exports = r(945); }, 941: e => { var t = []; function r(e) { for (var r = -1, n = 0; n < t.length; n++) + if (t[n].identifier === e) { + r = n; + break; + } return r; } function n(e, n) { for (var i = {}, a = [], s = 0; s < e.length; s++) { + var c = e[s], p = n.base ? c[0] + n.base : c[0], l = i[p] || 0, u = "".concat(p, " ").concat(l); + i[p] = l + 1; + var f = r(u), d = { css: c[1], media: c[2], sourceMap: c[3], supports: c[4], layer: c[5] }; + if (-1 !== f) + t[f].references++, t[f].updater(d); + else { + var h = o(d, n); + n.byIndex = s, t.splice(s, 0, { identifier: u, updater: h, references: 1 }); + } + a.push(u); + } return a; } function o(e, t) { var r = t.domAPI(t); r.update(e); return function (t) { if (t) { + if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap && t.supports === e.supports && t.layer === e.layer) + return; + r.update(e = t); + } + else + r.remove(); }; } e.exports = function (e, o) { var i = n(e = e || [], o = o || {}); return function (e) { e = e || []; for (var a = 0; a < i.length; a++) { + var s = r(i[a]); + t[s].references--; + } for (var c = n(e, o), p = 0; p < i.length; p++) { + var l = r(i[p]); + 0 === t[l].references && (t[l].updater(), t.splice(l, 1)); + } i = c; }; }; }, 765: e => { var t = {}; e.exports = function (e, r) { var n = function (e) { if (void 0 === t[e]) { + var r = document.querySelector(e); + if (window.HTMLIFrameElement && r instanceof window.HTMLIFrameElement) + try { + r = r.contentDocument.head; + } + catch (n) { + r = null; + } + t[e] = r; + } return t[e]; }(e); if (!n) + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); n.appendChild(r); }; }, 801: e => { e.exports = function (e) { var t = document.createElement("style"); return e.setAttributes(t, e.attributes), e.insert(t, e.options), t; }; }, 24: (e, t, r) => { e.exports = function (e) { var t = r.nc; t && e.setAttribute("nonce", t); }; }, 836: e => { e.exports = function (e) { var t = e.insertStyleElement(e); return { update: function (r) { !function (e, t, r) { var n = ""; r.supports && (n += "@supports (".concat(r.supports, ") {")), r.media && (n += "@media ".concat(r.media, " {")); var o = void 0 !== r.layer; o && (n += "@layer".concat(r.layer.length > 0 ? " ".concat(r.layer) : "", " {")), n += r.css, o && (n += "}"), r.media && (n += "}"), r.supports && (n += "}"); var i = r.sourceMap; i && "undefined" != typeof btoa && (n += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))), " */")), t.styleTagTransform(n, e, t.options); }(t, e, r); }, remove: function () { !function (e) { if (null === e.parentNode) + return !1; e.parentNode.removeChild(e); }(t); } }; }; }, 938: e => { e.exports = function (e, t) { if (t.styleSheet) + t.styleSheet.cssText = e; + else { + for (; t.firstChild;) + t.removeChild(t.firstChild); + t.appendChild(document.createTextNode(e)); + } }; }, 995: e => { e.exports = t; }, 359: t => { t.exports = e; } }, n = {}; + function o(e) { var t = n[e]; if (void 0 !== t) + return t.exports; var i = n[e] = { id: e, exports: {} }; return r[e](i, i.exports, o), i.exports; } + o.n = e => { var t = e && e.__esModule ? () => e.default : () => e; return o.d(t, { a: t }), t; }, o.d = (e, t) => { for (var r in t) + o.o(t, r) && !o.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); }, o.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), o.r = e => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); }; + var i = {}; + return (() => { o.r(i), o.d(i, { Cue: () => n, Prompt: () => l }); var e = o(637), t = o(359); const r = "rp-prompt"; class n extends t.PureComponent { + constructor(e) { super(e), this.state = { lines: null }; } + componentDidMount() { if (!this.props.children) + return; this.ref.normalize(); const e = []; for (const t of Array.from(this.ref.childNodes)) { + if (!a(t)) + continue; + const r = t.wholeText.split(" "); + let n = r.shift(), o = n; + t.replaceData(0, t.wholeText.length, o); + let i = this.ref.getBoundingClientRect().height; + for (const a of r) { + t.replaceData(0, t.wholeText.length, `${o} ${a}`); + const r = this.ref.getBoundingClientRect().height; + r !== i ? (i = r, e.push(n), n = a) : n += ` ${a}`, o += ` ${a}`; + } + e.push(n); + } this.setState({ lines: e }); } + render() { if (!this.props.children) + return " | "; const n = [`${r}-cue`], o = [`${r}-line`]; return this.props.active && (n.push("active"), o.push("active")), (0, e.jsxs)(t.Fragment, { children: [(0, e.jsx)("span", Object.assign({ className: n.join(" ") }, { children: this.props.on }), void 0), this.state.lines ? this.state.lines.map(((t, r) => (0, e.jsx)("div", Object.assign({ className: o.join(" ") }, { children: t }), r))) : (0, e.jsx)("div", Object.assign({ className: `${r}-measure`, ref: e => this.ref = e }, { children: this.props.children }), void 0)] }, void 0); } + } function a(e) { return e.nodeType === e.TEXT_NODE; } var s = o(995), c = function (e, t) { var r = {}; for (var n in e) + Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]); if (null != e && "function" == typeof Object.getOwnPropertySymbols) { + var o = 0; + for (n = Object.getOwnPropertySymbols(e); o < n.length; o++) + t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]); + } return r; }; const { dragHelperReact: p } = s.Utils.interactivity; function l(r) { const { script: n } = (0, s.usePlayer)(), o = (0, t.useRef)(), { children: i } = r, a = c(r, ["children"]), [l, u] = (0, t.useState)(t.Children.toArray(i).map((e => e.props.children && n.markerNumberOf(e.props.on) <= n.markerIndex)).lastIndexOf(!0)); (0, t.useEffect)((() => { o.current.style.left || Object.assign(o.current.style, { left: "0%", top: "0%" }), n.hub.on("markerupdate", (() => { u(t.Children.toArray(i).map((e => e.props.children && n.markerNumberOf(e.props.on) <= n.markerIndex)).lastIndexOf(!0)); })); })); const f = (0, t.useMemo)((() => { let e, t; return p(((r, n) => { const i = function (e) { if (void 0 !== e.offsetLeft && void 0 !== e.offsetTop) + return { left: e.offsetLeft, top: e.offsetTop, width: e.offsetParent.getBoundingClientRect().width, height: e.offsetParent.getBoundingClientRect().height }; const t = e.getBoundingClientRect(); let r = e; for (; r = r.parentNode;) { + if (!["absolute", "relative"].includes(getComputedStyle(r).position)) + continue; + const e = r.getBoundingClientRect(); + return { left: t.left - e.left, top: t.top - e.top, width: e.width, height: e.height }; + } return { left: t.left, top: t.top, width: innerWidth, height: innerHeight }; }(o.current), a = i.left + n.x - e, s = i.top + n.y - t, c = a / i.width * 100, p = s / i.height * 100; e = n.x, t = n.y, Object.assign(o.current.style, { left: `${c}%`, top: `${p}%` }); }), ((r, n) => { e = n.x, t = n.y; })); }), []); return (0, e.jsx)("div", Object.assign({ className: "rp-prompt" }, a, f, { ref: o }, { children: t.Children.map(r.children, ((e, r) => t.cloneElement(e, { active: l === r }))) }), void 0); } var u = o(941), f = o.n(u), d = o(836), h = o.n(d), m = o(765), v = o.n(m), y = o(24), g = o.n(y), b = o(801), x = o.n(b), O = o(938), j = o.n(O), w = o(153), P = {}; P.styleTagTransform = j(), P.setAttributes = g(), P.insert = v().bind(null, "head"), P.domAPI = h(), P.insertStyleElement = x(); f()(w.Z, P); w.Z && w.Z.locals && w.Z.locals; })(), i; +})(); })); + + +/***/ }), + +/***/ "./src/@development/controls.tsx": +/*!***************************************!*\ + !*** ./src/@development/controls.tsx ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "controls": () => (/* binding */ controls) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var _lib_ShowMarkerName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lib/ShowMarkerName */ "./lib/ShowMarkerName.tsx"); +/* harmony import */ var rp_codemirror_recorder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rp-codemirror/recorder */ "./node_modules/rp-codemirror/rp-codemirror.recorder.js"); +/* harmony import */ var rp_codemirror_recorder__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(rp_codemirror_recorder__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var rp_cursor_recorder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rp-cursor/recorder */ "./node_modules/rp-cursor/rp-cursor.recorder.js"); +/* harmony import */ var rp_cursor_recorder__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(rp_cursor_recorder__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var rp_paint_recorder__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rp-paint/recorder */ "./node_modules/rp-paint/rp-paint.recorder.js"); +/* harmony import */ var rp_paint_recorder__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(rp_paint_recorder__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var rp_recording__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rp-recording */ "rp-recording"); +/* harmony import */ var rp_recording__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(rp_recording__WEBPACK_IMPORTED_MODULE_5__); + + + + + + +const controls = [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lib_ShowMarkerName__WEBPACK_IMPORTED_MODULE_1__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_recording__WEBPACK_IMPORTED_MODULE_5__.RecordingControl, { plugins: [(rp_codemirror_recorder__WEBPACK_IMPORTED_MODULE_2___default()), (rp_cursor_recorder__WEBPACK_IMPORTED_MODULE_3___default()), (rp_paint_recorder__WEBPACK_IMPORTED_MODULE_4___default())] })]; + + +/***/ }), + +/***/ "./src/@development/media-url.ts": +/*!***************************************!*\ + !*** ./src/@development/media-url.ts ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "MEDIA_URL": () => (/* binding */ MEDIA_URL) +/* harmony export */ }); +const MEDIA_URL = "."; + + +/***/ }), + +/***/ "./src/@development/prompts.tsx": +/*!**************************************!*\ + !*** ./src/@development/prompts.tsx ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "CodeMirrorPrompt": () => (/* binding */ CodeMirrorPrompt), +/* harmony export */ "CursorPrompt": () => (/* binding */ CursorPrompt), +/* harmony export */ "IntroPrompt": () => (/* binding */ IntroPrompt), +/* harmony export */ "PaintPrompt": () => (/* binding */ PaintPrompt), +/* harmony export */ "PlaybackPrompt": () => (/* binding */ PlaybackPrompt), +/* harmony export */ "PlayerPrompt": () => (/* binding */ PlayerPrompt), +/* harmony export */ "RecordingPrompt": () => (/* binding */ RecordingPrompt), +/* harmony export */ "ScriptPrompt": () => (/* binding */ ScriptPrompt), +/* harmony export */ "UtilsPrompt": () => (/* binding */ UtilsPrompt) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var rp_prompt__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rp-prompt */ "./node_modules/rp-prompt/dist/index.js"); +/* harmony import */ var rp_prompt__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(rp_prompt__WEBPACK_IMPORTED_MODULE_1__); + + +const IntroPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/" }, { children: ["Liqvid is a library for making interactive videos using the same tools you use to make webpages: HTML, CSS, and Javascript in React.", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), "The video you are watching is not actually a video file, it's HTML and CSS synced up to an audio track using a large quantity of Javascript. For example,"] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/fiddle" }, { children: "try changing the background color of this video, or the subtitle. I'll pause the video so you can try that out; just click the play button, or click outside of the white box, to continue." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/pause" }, { children: "Even without interactivity," })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/pros" }, { children: "this format is much smaller than a traditional video, and the video quality is perfect. It's also much easier to" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/edit" }, { children: ["develop and edit videos\u2014even after a video's recorded, you can go and make changes just by changing a few lines of CSS. Making it easier to develop videos was really my original motivation for developing this library, and the interactivity was a happy side effect. In exchange, you have to deal with browser inconsistencies, which is so much fun.", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), "I use this for"] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/epiplexis" }, { children: ["my math site, and you can see more interesting examples there.", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), "This video is a tutorial for if you want to start making these yourself. It does assume you're pretty comfortable with web development. To get started,"] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/get-started" }, { children: "you should clone the repository for this video, and then you can see how this works from the source. The rest of this video will make a lot more sense if you're following along in the source code." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "intro/discord" }, { children: ["I've also created a Discord and you can ask questions there.", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), "In the rest of this video, I'll show off some of the cool things you can do with this, using the different packages that are available for it. So put the flashy stuff up front. And then I'll go through the fundamental concepts behind it."] }))] }))); +const CodeMirrorPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "codemirror/" }, { children: "So here is an interactive coding lesson. I'm typing into the Code tab, and then in the Playground tab is another editor where you can experiment with the code yourself. The copy button will copy whatever's in my buffer into yours. And then you can run the code and clear the output console." })) }))); +const CursorPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "cursor/" }, { children: "You can record your cursor pointing to something on the screen while you're talking." })) }))); +const PaintPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "paint/" }, { children: ["There's also a package for freehand drawing. You can change colors, erase, and so on.", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), "So now let me go through how this all works."] })) }))); +const PlaybackPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "playback/" }, { children: "The core of the library is the Playback class. This is just" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "playback/loop" }, { children: "a standard requestAnimationFrame loop that simulates a media element being played. It" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "playback/html" }, { children: "imitates the HTMLMediaElement interface to a certain extent, although it doesn't actually implement it. And it dispatches" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "playback/hub" }, { children: "events through an EventEmitter." }))] }))); +const ScriptPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "script/" }, { children: "Built on top of Playback is the Script class. A Script takes a Playback and" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "script/markers" }, { children: "partitions the playback time into named segments called *markers*. That way you can say \"start this animation at marker 'my-awesome-animation'\" rather than \"start this animation at 5:41\"." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "script/repeat" }, { children: "Markers are allowed to repeat, but they can't overlap." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "script/ew" }, { children: "There's keyboard controls for this: pressing E will go advance the script by one marker, pressing W will go back one marker. This is very handy when you're developing a ractive, and you'll use it when recording." }))] }))); +const PlayerPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "player/" }, { children: "So if those two classes are the engine of the library, the Player class is the shiny exterior." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "player/gui" }, { children: "This is a big fancy GUI that imitates a web video player." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "player/react" }, { children: "It's important to point out this is the first place we use React. This is a React component, this whole library's written in React, and so are all the plugins for it. Eventually it would be good to have a port to Vue and Web Components, etc. But Playback and Script aren't at all aware of React." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "player/hook" }, { children: "This also functions as the global context for the video, you can access it with the usePlayer() hook" }))] }))); +const UtilsPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "utils/" }, { children: "There's a large library of utility helpers. Here I'll just mention a few of them, and again look in the source code for how to use these." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "utils/animate" }, { children: "First, Utils.animation.animate is a helper for creating animations. So" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "utils/animate/fire" }, { children: "here's an animated duck." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "utils/authoring" }, { children: "The ones you'll be using the most often are during and from. \"From\" will tell a piece of content to appear at a certain marker, and optionally go away at a certain marker. So like I just revealed this list item; this works a lot like PowerPoint slides. \"During\" is, you give it a prefix, and the content will be visible as long as the marker name starts with that prefix." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "utils/drag" }, { children: ["And then there's also a helper for drag functionality. So here's a pig that you can drag around the screen. I'll give you a few seconds to try that out (or you might want to pause the video).", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), "So once you've coded your ractive, you want to record it."] }))] }))); +const RecordingPrompt = (props) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Prompt, Object.assign({}, props, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "recording/" }, { children: "So recording is where you record your audio while advancing through the markers, again much like a slide show, so that the audio and markers get synced up." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "recording/npm" }, { children: "Recording functionality is in a separate package called rp-recording." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "recording/control" }, { children: "This is implemented as a custom control, so see index.tsx of this video for how to enable it." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "recording/https" }, { children: "Beware that in order to record audio you have to access the page over HTTPS;" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "recording/link" }, { children: "here's a useful link on how to get that set up on a local domain." })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_prompt__WEBPACK_IMPORTED_MODULE_1__.Cue, Object.assign({ on: "recording/plugin" }, { children: "Then there's a plugin API for custom recorders. So the coding, cursor movement, and drawing functionality that we saw at the beginning of the video were all examples of that." }))] }))); + + +/***/ }), + +/***/ "./src/CodeMirror.tsx": +/*!****************************!*\ + !*** ./src/CodeMirror.tsx ***! + \****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ CodeMirrorSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var rp_codebooth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rp-codebooth */ "./node_modules/rp-codebooth/rp-codebooth.js"); +/* harmony import */ var rp_codebooth__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(rp_codebooth__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _lib_JSInterpreter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lib/JSInterpreter */ "./lib/JSInterpreter.ts"); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + + +const { getJSON } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.json; + + + +function CodeMirrorSlide() { + const interpreter = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(); + if (!interpreter.current) { + interpreter.current = new _lib_JSInterpreter__WEBPACK_IMPORTED_MODULE_4__["default"](); + } + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-codemirror", "data-during": "codemirror/" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_codebooth__WEBPACK_IMPORTED_MODULE_3__.CodeBooth, { interpreter: interpreter.current, mode: "javascript", replay: getJSON("recordings").code, start: "codemirror/", theme: "monokai" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_5__.CodeMirrorPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/Cursor.tsx": +/*!************************!*\ + !*** ./src/Cursor.tsx ***! + \************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ CursorSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var rp_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rp-cursor */ "./node_modules/rp-cursor/rp-cursor.js"); +/* harmony import */ var rp_cursor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(rp_cursor__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _lib_Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lib/Link */ "./lib/Link.tsx"); +/* harmony import */ var _env_media_url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @env/media-url */ "./src/@development/media-url.ts"); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + +const { getJSON } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.json; + + + + +function CursorSlide() { + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-cursor", "data-during": "cursor/" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", { children: ["The ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lib_Link__WEBPACK_IMPORTED_MODULE_3__["default"], Object.assign({ href: "https://www.npmjs.com/package/rp-cursor" }, { children: "rp-cursor" })), " package lets you record mouse movements, in case you want to point to something on the screen."] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((rp_cursor__WEBPACK_IMPORTED_MODULE_2___default()), { src: `${_env_media_url__WEBPACK_IMPORTED_MODULE_4__.MEDIA_URL}/img/cursor.png`, start: "cursor/", end: "paint/", replay: getJSON("recordings").cursor }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_5__.CursorPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/Intro.tsx": +/*!***********************!*\ + !*** ./src/Intro.tsx ***! + \***********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Intro) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _lib_Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lib/Link */ "./lib/Link.tsx"); +/* harmony import */ var _env_media_url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @env/media-url */ "./src/@development/media-url.ts"); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + + +const { during, from } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.authoring, { between } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.misc; + + + +function Intro() { + const player = (0,liqvid__WEBPACK_IMPORTED_MODULE_2__.usePlayer)(); + const onChangeColor = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((e) => { + player.canvas.style.backgroundColor = e.currentTarget.value; + }, []); + const [text, setText] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)("A library for interactive videos in HTML/CSS/JS"); + const onChangeText = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((e) => { + setText(e.currentTarget.value); + }, []); + const m = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => player.script.parseStart("intro/pause"), []); + const prev = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(player.playback.currentTime); + const EPSILON = 300; + (0,liqvid__WEBPACK_IMPORTED_MODULE_2__.useTime)(t => { + if (between(m - EPSILON, prev.current, m) && between(m, t, m + EPSILON)) { + player.playback.pause(); + } + prev.current = t; + }, []); + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(liqvid__WEBPACK_IMPORTED_MODULE_2__.IdMap, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-intro" }, during("intro/"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h1", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { alt: "Liqvid", src: `${_env_media_url__WEBPACK_IMPORTED_MODULE_4__.MEDIA_URL}/img/logo.png` }), "Liqvid"] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { children: text }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "box", id: "fiddle" }, from("intro/fiddle"), { onMouseUp: liqvid__WEBPACK_IMPORTED_MODULE_2__.Player.preventCanvasClick }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", { children: ["Try changing the background color:", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { onChange: onChangeColor, type: "color" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", { children: "Or the subtitle:" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("textarea", { onBlur: player.resumeKeyCapture, onFocus: player.suspendKeyCapture, onChange: onChangeText, value: text })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "box" }, from("intro/pros"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", { children: "Much smaller than a traditional video file" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", Object.assign({}, from("intro/edit"), { children: "Very easy to make edits\u2014no waiting for video export" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", Object.assign({}, from("intro/epiplexis"), { children: ["More examples at ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lib_Link__WEBPACK_IMPORTED_MODULE_3__["default"], Object.assign({ href: "https://epiplexis.xyz" }, { children: "Epiplexis" }))] }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "box", id: "get-started" }, from("intro/get-started"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", { children: ["Clone this tutorial: ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lib_Link__WEBPACK_IMPORTED_MODULE_3__["default"], Object.assign({ href: "https://github.com/ysulyma/lv-tutorial" }, { children: "https://github.com/ysulyma/lv-tutorial" }))] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", Object.assign({}, from("intro/discord"), { children: ["Discussion: ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lib_Link__WEBPACK_IMPORTED_MODULE_3__["default"], Object.assign({ href: "https://discord.gg/u8Qab99zHx" }, { children: "https://discord.gg/u8Qab99zHx" }))] }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_5__.IntroPrompt, {})] })) })); +} + + +/***/ }), + +/***/ "./src/Paint.tsx": +/*!***********************!*\ + !*** ./src/Paint.tsx ***! + \***********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PaintSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var rp_paint__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rp-paint */ "./node_modules/rp-paint/rp-paint.js"); +/* harmony import */ var rp_paint__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(rp_paint__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + +const { getJSON } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.json; + + +function PaintSlide() { + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-paint", "data-during": "paint/" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(rp_paint__WEBPACK_IMPORTED_MODULE_2__.PaintReplay, { replay: getJSON("recordings").paint, start: "paint/" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_3__.PaintPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/PlaybackSlide.tsx": +/*!*******************************!*\ + !*** ./src/PlaybackSlide.tsx ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PlaybackSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _lib_Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lib/Link */ "./lib/Link.tsx"); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + +const { during, from } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.authoring; + + +function PlaybackSlide() { + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-playback" }, during("playback/"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { children: "Playback" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("ul", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", Object.assign({}, from("playback/loop"), { children: "animation loop simulating a media element advancing in time" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("playback/html"), { children: ["imitates (but does not fully implement) the ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lib_Link__WEBPACK_IMPORTED_MODULE_2__["default"], Object.assign({ href: "https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement" }, { children: "HTMLMediaElement" })), " interface"] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("playback/hub"), { children: ["emits events through ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lib_Link__WEBPACK_IMPORTED_MODULE_2__["default"], Object.assign({ href: "https://nodejs.org/api/events.html#events_class_eventemitter" }, { children: "EventEmitter" })), " ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "playback.hub" })] }))] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_3__.PlaybackPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/PlayerSlide.tsx": +/*!*****************************!*\ + !*** ./src/PlayerSlide.tsx ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PlayerSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + +const { during, from } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.authoring; + +function PlayerSlide() { + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-player" }, during("player/"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { children: "Player" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("ul", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", Object.assign({}, from("player/gui"), { children: "GUI: scrubber bar, controls, bells, whistles" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("player/react"), { children: ["depends on React (", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "Playback" }), " and ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "Script" }), " do not!)"] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("player/hook"), { children: ["access with ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "usePlayer()" })] }))] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_2__.PlayerPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/RecordingSlide.tsx": +/*!********************************!*\ + !*** ./src/RecordingSlide.tsx ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PlaybackSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + +const { during, from } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.authoring; + +function PlaybackSlide() { + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-recording" }, during("recording/"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { children: "Recording" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("ul", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("recording/npm"), { children: ["recording functionality provided by ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", Object.assign({ href: "https://www.npmjs.com/package/rp-recording", target: "_blank", rel: "noreferrer" }, { children: "rp-recording" }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("recording/control"), { children: ["implemented as custom control, c.f. ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "index.tsx" })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("recording/https"), { children: ["can only record audio over HTTPS!", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", Object.assign({ id: "recording-https-link" }, from("recording/link"), { href: "https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/", target: "_blank", rel: "noreferrer" }, { children: "How to get HTTPS working on your local development environment" }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", Object.assign({}, from("recording/plugin"), { children: "plugin API" }))] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_2__.RecordingPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/ScriptSlide.tsx": +/*!*****************************!*\ + !*** ./src/ScriptSlide.tsx ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ScriptSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); + + +const { during, from } = liqvid__WEBPACK_IMPORTED_MODULE_1__.Utils.authoring; + +function ScriptSlide() { + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-script" }, during("script/"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { children: "Script" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("ul", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("script/markers"), { children: ["partitions a Playback into named segments called ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("dfn", { children: "markers" })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", Object.assign({}, from("script/repeat"), { children: "markers can repeat (experimental), cannot overlap" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("script/ew"), { children: ["press ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("kbd", { children: "E" }), " to advance a marker, ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("kbd", { children: "W" }), " to go back one marker"] }))] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_2__.ScriptPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/UtilsSlide.tsx": +/*!****************************!*\ + !*** ./src/UtilsSlide.tsx ***! + \****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ UtilsSlide) +/* harmony export */ }); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _env_media_url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @env/media-url */ "./src/@development/media-url.ts"); +/* harmony import */ var _env_prompts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @env/prompts */ "./src/@development/prompts.tsx"); +/* harmony import */ var _markers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./markers */ "./src/markers.ts"); + + + +const { animate, bezier, easings } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.animation, { during, from } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.authoring, { dragHelperReact } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.interactivity, { constrain } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.misc; + + + +const rotate = animate({ + endValue: 2 * Math.PI, + startTime: _markers__WEBPACK_IMPORTED_MODULE_5__.script.parseStart("utils/animate/fire"), + duration: 1000, + easing: bezier(...easings.easeInSine) +}); +function UtilsSlide() { + const player = (0,liqvid__WEBPACK_IMPORTED_MODULE_2__.usePlayer)(); + const duck = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(); + (0,liqvid__WEBPACK_IMPORTED_MODULE_2__.useTime)(p => { + duck.current.style.left = `${35 + 15 * Math.cos(p)}%`; + duck.current.style.top = `${15 - 12.5 * Math.sin(p)}%`; + }, rotate, []); + const pig = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(); + const offset = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)({ x: 0, y: 0 }); + const pigEvents = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => dragHelperReact((e, hit) => { + const left = constrain(0, hit.x - offset.current.x - player.canvas.offsetLeft, player.canvas.offsetWidth - pig.current.offsetWidth) / player.canvas.offsetWidth; + const top = constrain(0, hit.y - offset.current.y - player.canvas.offsetTop, player.canvas.offsetHeight - pig.current.offsetHeight) / player.canvas.offsetHeight; + Object.assign(pig.current.style, { + left: `${left * 100}%`, + top: `${top * 100}%` + }); + }, (e, hit) => { + e.preventDefault(); + const pigDims = pig.current.getBoundingClientRect(); + offset.current.x = hit.x - pigDims.left; + offset.current.y = hit.y - pigDims.top; + document.body.classList.add("dragging"); + }, () => { + document.body.classList.remove("dragging"); + }), []); + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", Object.assign({ id: "sec-utils" }, during("utils/"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { children: "Utils" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("ul", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("utils/animate"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "Utils.animation.animate" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { alt: "A cartoon duck", id: "utils-duck", src: `${_env_media_url__WEBPACK_IMPORTED_MODULE_3__.MEDIA_URL}/img/duck.svg`, ref: duck })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", Object.assign({}, from("utils/authoring"), { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "Utils.authoring.{during, from}" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", Object.assign({}, from("utils/drag"), { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("code", { children: "Utils.interactivity.dragHelperReact" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", Object.assign({ alt: "A cartoon pig", className: "draggable", id: "utils-pig", src: `${_env_media_url__WEBPACK_IMPORTED_MODULE_3__.MEDIA_URL}/img/pig.svg`, ref: pig }, pigEvents))] }))] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_env_prompts__WEBPACK_IMPORTED_MODULE_4__.UtilsPrompt, {})] }))); +} + + +/***/ }), + +/***/ "./src/markers.ts": +/*!************************!*\ + !*** ./src/markers.ts ***! + \************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "highlights": () => (/* binding */ highlights), +/* harmony export */ "markers": () => (/* binding */ markers), +/* harmony export */ "playback": () => (/* binding */ playback), +/* harmony export */ "script": () => (/* binding */ script) +/* harmony export */ }); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_0__); + +const markers = [ + ["intro/", "0:20.955"], + ["intro/fiddle", "0:10.532"], + ["intro/pause", "0:02.86"], + ["intro/pros", "0:07.839"], + ["intro/edit", "0:23.233"], + ["intro/epiplexis", "0:13.506"], + ["intro/get-started", "0:10.553"], + ["intro/discord", "0:18.732"], + ["codemirror/", "1:17.46"], + ["cursor/", "0:19.917"], + ["paint/", "0:41.562"], + ["playback/", "0:05.529"], + ["playback/loop", "0:06.91"], + ["playback/html", "0:11.408"], + ["playback/hub", "0:18.520"], + ["script/", "0:06.785"], + ["script/markers", "0:18.733"], + ["script/repeat", "0:04.978"], + ["script/ew", "0:13.193"], + ["player/", "0:07.99"], + ["player/gui", "0:04.626"], + ["player/react", "0:22.742"], + ["player/hook", "0:12.14"], + ["utils/", "0:10.142"], + ["utils/animate", "0:06.258"], + ["utils/animate/fire", "0:02.996"], + ["utils/authoring", "0:32.398"], + ["utils/drag", "0:16.945"], + ["recording/", "0:09.351"], + ["recording/npm", "0:04.425"], + ["recording/control", "0:09.547"], + ["recording/https", "0:09.489"], + ["recording/link", "0:05.975"], + ["recording/plugin", "0:12.37"] +]; +const script = new liqvid__WEBPACK_IMPORTED_MODULE_0__.Script(markers); +const playback = script.playback; +const highlights = [ + { title: "Codebooth", time: script.parseStart("codemirror/") }, + { title: "Cursor", time: script.parseStart("cursor/") }, + { title: "Paint", time: script.parseStart("paint/") }, + { title: "Playback", time: script.parseStart("playback/") }, + { title: "Script", time: script.parseStart("script/") }, + { title: "Player", time: script.parseStart("player/") }, + { title: "Utils", time: script.parseStart("utils/") }, + { title: "Recording", time: script.parseStart("recording/") } +]; + + +/***/ }), + +/***/ "./src/objects.ts": +/*!************************!*\ + !*** ./src/objects.ts ***! + \************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + "dfn-ractives": { + "data-from-first": "intro/ractives", + "style": { + "color": "#333", + "fontFamily": "Alegreya", + "fontSize": "2rem", + "left": "51%", + "position": "absolute", + "top": "29%" + } + }, + "diamond-age": { + "data-during": "intro/diamond-age", + "style": { + "height": "50%", + "left": "70%", + "position": "absolute", + "top": "35%" + } + } +}); + + +/***/ }), + +/***/ "./src/types.ts": +/*!**********************!*\ + !*** ./src/types.ts ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); + + + +/***/ }), + +/***/ "liqvid": +/*!*************************!*\ + !*** external "Liqvid" ***! + \*************************/ +/***/ ((module) => { + +module.exports = Liqvid; + +/***/ }), + +/***/ "rp-recording": +/*!******************************!*\ + !*** external "RPRecording" ***! + \******************************/ +/***/ ((module) => { + +module.exports = RPRecording; + +/***/ }), + +/***/ "ractive-player": +/*!********************************!*\ + !*** external "RactivePlayer" ***! + \********************************/ +/***/ ((module) => { + +module.exports = RactivePlayer; + +/***/ }), + +/***/ "react": +/*!************************!*\ + !*** external "React" ***! + \************************/ +/***/ ((module) => { + +module.exports = React; + +/***/ }), + +/***/ "react-dom": +/*!***************************!*\ + !*** external "ReactDOM" ***! + \***************************/ +/***/ ((module) => { + +module.exports = ReactDOM; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +/*!***********************!*\ + !*** ./src/index.tsx ***! + \***********************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom"); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! liqvid */ "liqvid"); +/* harmony import */ var liqvid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(liqvid__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _env_media_url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @env/media-url */ "./src/@development/media-url.ts"); +/* harmony import */ var _markers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./markers */ "./src/markers.ts"); +/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./objects */ "./src/objects.ts"); +/* harmony import */ var _Intro__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Intro */ "./src/Intro.tsx"); +/* harmony import */ var _CodeMirror__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CodeMirror */ "./src/CodeMirror.tsx"); +/* harmony import */ var _Cursor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Cursor */ "./src/Cursor.tsx"); +/* harmony import */ var _Paint__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Paint */ "./src/Paint.tsx"); +/* harmony import */ var _PlaybackSlide__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PlaybackSlide */ "./src/PlaybackSlide.tsx"); +/* harmony import */ var _ScriptSlide__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ScriptSlide */ "./src/ScriptSlide.tsx"); +/* harmony import */ var _PlayerSlide__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PlayerSlide */ "./src/PlayerSlide.tsx"); +/* harmony import */ var _UtilsSlide__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./UtilsSlide */ "./src/UtilsSlide.tsx"); +/* harmony import */ var _RecordingSlide__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./RecordingSlide */ "./src/RecordingSlide.tsx"); +/* harmony import */ var _env_controls__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @env/controls */ "./src/@development/controls.tsx"); +/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./types */ "./src/types.ts"); + + + +const { loadAllJSON } = liqvid__WEBPACK_IMPORTED_MODULE_2__.Utils.json; + + + + + + + + + + + + + +function Tutorial() { + const thumbs = { + frequency: 1, + path: `${_env_media_url__WEBPACK_IMPORTED_MODULE_3__.MEDIA_URL}/thumbs/%s.png`, + highlights: _markers__WEBPACK_IMPORTED_MODULE_4__.highlights + }; + return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(liqvid__WEBPACK_IMPORTED_MODULE_2__.Player, Object.assign({ controls: _env_controls__WEBPACK_IMPORTED_MODULE_15__.controls, script: _markers__WEBPACK_IMPORTED_MODULE_4__.script, thumbs: thumbs }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(liqvid__WEBPACK_IMPORTED_MODULE_2__.IdMap, Object.assign({ map: _objects__WEBPACK_IMPORTED_MODULE_5__["default"] }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(liqvid__WEBPACK_IMPORTED_MODULE_2__.Audio, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("source", { src: `${_env_media_url__WEBPACK_IMPORTED_MODULE_3__.MEDIA_URL}/audio/audio.webm`, type: "audio/webm" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("source", { src: `${_env_media_url__WEBPACK_IMPORTED_MODULE_3__.MEDIA_URL}/audio/audio.mp4`, type: "audio/mp4" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Intro__WEBPACK_IMPORTED_MODULE_6__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_CodeMirror__WEBPACK_IMPORTED_MODULE_7__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Cursor__WEBPACK_IMPORTED_MODULE_8__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Paint__WEBPACK_IMPORTED_MODULE_9__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_PlaybackSlide__WEBPACK_IMPORTED_MODULE_10__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ScriptSlide__WEBPACK_IMPORTED_MODULE_11__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_PlayerSlide__WEBPACK_IMPORTED_MODULE_12__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UtilsSlide__WEBPACK_IMPORTED_MODULE_13__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_RecordingSlide__WEBPACK_IMPORTED_MODULE_14__["default"], {})] })) }))); +} +loadAllJSON().then(() => { + react_dom__WEBPACK_IMPORTED_MODULE_1__.render((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Tutorial, {}), document.querySelector("main")); +}); + + +})(); + +/******/ })() +; \ No newline at end of file diff --git a/index.html b/static/index.html similarity index 61% rename from index.html rename to static/index.html index d762ccd..afeb7d5 100644 --- a/index.html +++ b/static/index.html @@ -15,29 +15,23 @@ - - - + + +
- - - - - - + + - + + + - + @@ -48,9 +42,8 @@ - - + diff --git a/static/parent.html b/static/parent.html new file mode 100644 index 0000000..4c15a00 --- /dev/null +++ b/static/parent.html @@ -0,0 +1,80 @@ + + + + + My video + + + + + + +
+

My article

+

This page shows how to embed a Liqvid video in a page

+
+
+ +
+
+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Sed et quae pariatur, eum delectus eveniet doloremque? Commodi aut minima doloribus nulla provident quidem assumenda ullam obcaecati, necessitatibus consequatur, maxime omnis.

+
+ + + + \ No newline at end of file diff --git a/static/recordings.json b/static/recordings.json new file mode 100644 index 0000000..6119e03 --- /dev/null +++ b/static/recordings.json @@ -0,0 +1,5 @@ +{ + "code": [[800,["text",{"from":{"line":0,"ch":0},"to":{"line":0,"ch":0},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":1}]],[116,["text",{"from":{"line":0,"ch":1},"to":{"line":0,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":2}]],[88,["text",{"from":{"line":0,"ch":2},"to":{"line":0,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":3}]],[128,["text",{"from":{"line":0,"ch":3},"to":{"line":0,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":4}]],[64,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":4},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":5}]],[160,["text",{"from":{"line":0,"ch":5},"to":{"line":0,"ch":5},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":6}]],[104,["text",{"from":{"line":0,"ch":6},"to":{"line":0,"ch":6},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":7}]],[103,["text",{"from":{"line":0,"ch":7},"to":{"line":0,"ch":7},"text":["."],"removed":[""]}]],[1,["cursor",{"line":0,"ch":8}]],[209,["text",{"from":{"line":0,"ch":8},"to":{"line":0,"ch":8},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":9}]],[143,["text",{"from":{"line":0,"ch":9},"to":{"line":0,"ch":9},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":10}]],[89,["text",{"from":{"line":0,"ch":10},"to":{"line":0,"ch":10},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":11}]],[247,["text",{"from":{"line":0,"ch":11},"to":{"line":0,"ch":11},"text":["("],"removed":[""]}]],[0,["cursor",{"line":0,"ch":12}]],[216,["text",{"from":{"line":0,"ch":12},"to":{"line":0,"ch":12},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":0,"ch":13}]],[285,["text",{"from":{"line":0,"ch":13},"to":{"line":0,"ch":13},"text":["H"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":14}]],[115,["text",{"from":{"line":0,"ch":14},"to":{"line":0,"ch":14},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":15}]],[86,["text",{"from":{"line":0,"ch":15},"to":{"line":0,"ch":15},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":16}]],[133,["text",{"from":{"line":0,"ch":16},"to":{"line":0,"ch":16},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":17}]],[188,["text",{"from":{"line":0,"ch":17},"to":{"line":0,"ch":17},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":18}]],[112,["text",{"from":{"line":0,"ch":18},"to":{"line":0,"ch":18},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":19}]],[145,["text",{"from":{"line":0,"ch":19},"to":{"line":0,"ch":19},"text":["W"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":20}]],[176,["text",{"from":{"line":0,"ch":20},"to":{"line":0,"ch":20},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":21}]],[104,["text",{"from":{"line":0,"ch":21},"to":{"line":0,"ch":21},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":22}]],[88,["text",{"from":{"line":0,"ch":22},"to":{"line":0,"ch":22},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":23}]],[143,["text",{"from":{"line":0,"ch":23},"to":{"line":0,"ch":23},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":24}]],[256,["text",{"from":{"line":0,"ch":24},"to":{"line":0,"ch":24},"text":["!"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":25}]],[273,["text",{"from":{"line":0,"ch":25},"to":{"line":0,"ch":25},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":0,"ch":26}]],[495,["text",{"from":{"line":0,"ch":26},"to":{"line":0,"ch":26},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":27}]],[497,["text",{"from":{"line":0,"ch":27},"to":{"line":0,"ch":27},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":28}]],[384,["command","Cmd-Enter"]],[7365,["command","Ctrl-A"]],[0,["cursor",{"line":0,"ch":0}]],[337,["text",{"from":{"line":0,"ch":0},"to":{"line":0,"ch":0},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":1,"ch":0}]],[146,["text",{"from":{"line":1,"ch":0},"to":{"line":1,"ch":0},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":2,"ch":0}]],[414,["command","Ctrl-P"]],[0,["cursor",{"line":1,"ch":0}]],[118,["command","Ctrl-P"]],[0,["cursor",{"line":0,"ch":0}]],[361,["text",{"from":{"line":0,"ch":0},"to":{"line":0,"ch":0},"text":["/"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":1}]],[163,["text",{"from":{"line":0,"ch":1},"to":{"line":0,"ch":1},"text":["/"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":2}]],[117,["text",{"from":{"line":0,"ch":2},"to":{"line":0,"ch":2},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":3}]],[1592,["text",{"from":{"line":0,"ch":3},"to":{"line":0,"ch":3},"text":["C"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":4}]],[152,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":4},"text":["O"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":5}]],[120,["text",{"from":{"line":0,"ch":5},"to":{"line":0,"ch":5},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":6}]],[103,["text",{"from":{"line":0,"ch":6},"to":{"line":0,"ch":6},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":7}]],[42,["text",{"from":{"line":0,"ch":7},"to":{"line":0,"ch":7},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":8}]],[78,["text",{"from":{"line":0,"ch":8},"to":{"line":0,"ch":8},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":9}]],[107,["text",{"from":{"line":0,"ch":9},"to":{"line":0,"ch":9},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":10}]],[382,["text",{"from":{"line":0,"ch":10},"to":{"line":0,"ch":10},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":11}]],[72,["text",{"from":{"line":0,"ch":11},"to":{"line":0,"ch":11},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":12}]],[134,["text",{"from":{"line":0,"ch":12},"to":{"line":0,"ch":12},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":13}]],[41,["text",{"from":{"line":0,"ch":13},"to":{"line":0,"ch":13},"text":["l"],"removed":[""]}]],[1,["cursor",{"line":0,"ch":14}]],[168,["text",{"from":{"line":0,"ch":14},"to":{"line":0,"ch":14},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":15}]],[128,["text",{"from":{"line":0,"ch":15},"to":{"line":0,"ch":15},"text":["y"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":16}]],[81,["text",{"from":{"line":0,"ch":16},"to":{"line":0,"ch":16},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":17}]],[1283,["text",{"from":{"line":0,"ch":17},"to":{"line":0,"ch":17},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":18}]],[100,["text",{"from":{"line":0,"ch":18},"to":{"line":0,"ch":18},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":19}]],[96,["text",{"from":{"line":0,"ch":19},"to":{"line":0,"ch":19},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":20}]],[144,["text",{"from":{"line":0,"ch":20},"to":{"line":0,"ch":20},"text":["v"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":21}]],[104,["text",{"from":{"line":0,"ch":21},"to":{"line":0,"ch":21},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":22}]],[104,["text",{"from":{"line":0,"ch":22},"to":{"line":0,"ch":22},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":23}]],[160,["text",{"from":{"line":0,"ch":23},"to":{"line":0,"ch":23},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":24}]],[152,["text",{"from":{"line":0,"ch":24},"to":{"line":0,"ch":24},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":25}]],[240,["text",{"from":{"line":0,"ch":25},"to":{"line":0,"ch":25},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":26}]],[2776,["text",{"from":{"line":0,"ch":26},"to":{"line":0,"ch":26},"text":["b"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":27}]],[176,["text",{"from":{"line":0,"ch":27},"to":{"line":0,"ch":27},"text":["y"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":28}]],[120,["text",{"from":{"line":0,"ch":28},"to":{"line":0,"ch":28},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":29}]],[455,["text",{"from":{"line":0,"ch":29},"to":{"line":0,"ch":29},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":30}]],[101,["text",{"from":{"line":0,"ch":30},"to":{"line":0,"ch":30},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":31}]],[204,["text",{"from":{"line":0,"ch":31},"to":{"line":0,"ch":31},"text":["-"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":32}]],[120,["text",{"from":{"line":0,"ch":32},"to":{"line":0,"ch":32},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":33}]],[135,["text",{"from":{"line":0,"ch":33},"to":{"line":0,"ch":33},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":34}]],[193,["text",{"from":{"line":0,"ch":34},"to":{"line":0,"ch":34},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":35}]],[160,["text",{"from":{"line":0,"ch":35},"to":{"line":0,"ch":35},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":36}]],[104,["text",{"from":{"line":0,"ch":36},"to":{"line":0,"ch":36},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":37}]],[88,["text",{"from":{"line":0,"ch":37},"to":{"line":0,"ch":37},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":38}]],[889,["text",{"from":{"line":0,"ch":38},"to":{"line":0,"ch":38},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":39}]],[185,["text",{"from":{"line":0,"ch":39},"to":{"line":0,"ch":39},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":40}]],[149,["text",{"from":{"line":0,"ch":40},"to":{"line":0,"ch":40},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":41}]],[137,["text",{"from":{"line":0,"ch":41},"to":{"line":0,"ch":41},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":42}]],[112,["text",{"from":{"line":0,"ch":42},"to":{"line":0,"ch":42},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":43}]],[144,["text",{"from":{"line":0,"ch":43},"to":{"line":0,"ch":43},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":44}]],[96,["text",{"from":{"line":0,"ch":44},"to":{"line":0,"ch":44},"text":["n"],"removed":[""]}]],[1,["cursor",{"line":0,"ch":45}]],[71,["text",{"from":{"line":0,"ch":45},"to":{"line":0,"ch":45},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":46}]],[104,["text",{"from":{"line":0,"ch":46},"to":{"line":0,"ch":46},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":0,"ch":47}]],[136,["text",{"from":{"line":0,"ch":47},"to":{"line":0,"ch":47},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":48}]],[84,["text",{"from":{"line":0,"ch":48},"to":{"line":0,"ch":48},"text":["p"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":49}]],[188,["text",{"from":{"line":0,"ch":49},"to":{"line":0,"ch":49},"text":["-"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":50}]],[624,["text",{"from":{"line":0,"ch":50},"to":{"line":0,"ch":50},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":51}]],[248,["text",{"from":{"line":0,"ch":51},"to":{"line":0,"ch":51},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":52}]],[72,["text",{"from":{"line":0,"ch":52},"to":{"line":0,"ch":52},"text":["d"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":53}]],[176,["text",{"from":{"line":0,"ch":53},"to":{"line":0,"ch":53},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":54}]],[192,["text",{"from":{"line":0,"ch":54},"to":{"line":0,"ch":54},"text":["b"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":55}]],[128,["text",{"from":{"line":0,"ch":55},"to":{"line":0,"ch":55},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":56}]],[139,["text",{"from":{"line":0,"ch":56},"to":{"line":0,"ch":56},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":57}]],[125,["text",{"from":{"line":0,"ch":57},"to":{"line":0,"ch":57},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":58}]],[121,["text",{"from":{"line":0,"ch":58},"to":{"line":0,"ch":58},"text":["h"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":59}]],[351,["command","Ctrl-A"]],[0,["cursor",{"line":0,"ch":0}]],[305,["command","Alt-Right"]],[0,["cursor",{"line":0,"ch":2}]],[239,["command","Right"]],[0,["cursor",{"line":0,"ch":3}]],[170,["command","Right"]],[0,["cursor",{"line":0,"ch":4}]],[262,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":5},"text":[""],"removed":["O"]}]],[0,["command","Ctrl-D"]],[0,["cursor",{"line":0,"ch":4}]],[232,["text",{"from":{"line":0,"ch":4},"to":{"line":0,"ch":4},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":0,"ch":5}]],[543,["command","Ctrl-N"]],[0,["cursor",{"line":1,"ch":0}]],[162,["command","Ctrl-N"]],[0,["cursor",{"line":2,"ch":5}]],[150,["command","Ctrl-N"]],[0,["cursor",{"line":2,"ch":28}]],[1289,["command","Cmd-Left"]],[0,["selection",{"anchor":{"line":2,"ch":28},"head":{"line":2,"ch":0}}]],[753,["text",{"from":{"line":2,"ch":0},"to":{"line":2,"ch":28},"text":["c"],"removed":["console.log(\"Hello World!\");"]}]],[0,["cursor",{"line":2,"ch":1}]],[167,["text",{"from":{"line":2,"ch":1},"to":{"line":2,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":2}]],[72,["text",{"from":{"line":2,"ch":2},"to":{"line":2,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":3}]],[88,["text",{"from":{"line":2,"ch":3},"to":{"line":2,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":4}]],[192,["text",{"from":{"line":2,"ch":4},"to":{"line":2,"ch":4},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":5}]],[136,["text",{"from":{"line":2,"ch":5},"to":{"line":2,"ch":5},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":6}]],[537,["command","Cmd-K"]],[543,["text",{"from":{"line":2,"ch":6},"to":{"line":2,"ch":6},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":7}]],[112,["text",{"from":{"line":2,"ch":7},"to":{"line":2,"ch":7},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":8}]],[80,["text",{"from":{"line":2,"ch":8},"to":{"line":2,"ch":8},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":9}]],[88,["text",{"from":{"line":2,"ch":9},"to":{"line":2,"ch":9},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":10}]],[152,["text",{"from":{"line":2,"ch":10},"to":{"line":2,"ch":10},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":11}]],[120,["text",{"from":{"line":2,"ch":11},"to":{"line":2,"ch":11},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":12}]],[96,["text",{"from":{"line":2,"ch":12},"to":{"line":2,"ch":12},"text":["="],"removed":[""]}]],[0,["cursor",{"line":2,"ch":13}]],[80,["text",{"from":{"line":2,"ch":13},"to":{"line":2,"ch":13},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":14}]],[432,["text",{"from":{"line":2,"ch":14},"to":{"line":2,"ch":14},"text":["{"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":15}]],[392,["text",{"from":{"line":2,"ch":15},"to":{"line":2,"ch":15},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":16}]],[255,["text",{"from":{"line":2,"ch":15},"to":{"line":2,"ch":16},"text":[""],"removed":["\""]}]],[0,["command","Backspace"]],[0,["cursor",{"line":2,"ch":15}]],[139,["text",{"from":{"line":2,"ch":14},"to":{"line":2,"ch":15},"text":[""],"removed":["{"]}]],[0,["command","Backspace"]],[0,["cursor",{"line":2,"ch":14}]],[215,["text",{"from":{"line":2,"ch":14},"to":{"line":2,"ch":14},"text":["["],"removed":[""]}]],[0,["cursor",{"line":2,"ch":15}]],[480,["text",{"from":{"line":2,"ch":15},"to":{"line":2,"ch":15},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":16}]],[174,["text",{"from":{"line":2,"ch":16},"to":{"line":2,"ch":16},"text":["A"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":17}]],[600,["text",{"from":{"line":2,"ch":17},"to":{"line":2,"ch":17},"text":["l"],"removed":[""]}]],[1,["cursor",{"line":2,"ch":18}]],[103,["text",{"from":{"line":2,"ch":18},"to":{"line":2,"ch":18},"text":["i"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":19}]],[57,["text",{"from":{"line":2,"ch":19},"to":{"line":2,"ch":19},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":20}]],[72,["text",{"from":{"line":2,"ch":20},"to":{"line":2,"ch":20},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":21}]],[184,["text",{"from":{"line":2,"ch":21},"to":{"line":2,"ch":21},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":22}]],[272,["text",{"from":{"line":2,"ch":22},"to":{"line":2,"ch":22},"text":[","],"removed":[""]}]],[0,["cursor",{"line":2,"ch":23}]],[112,["text",{"from":{"line":2,"ch":23},"to":{"line":2,"ch":23},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":24}]],[175,["text",{"from":{"line":2,"ch":24},"to":{"line":2,"ch":24},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":25}]],[216,["text",{"from":{"line":2,"ch":25},"to":{"line":2,"ch":25},"text":["B"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":26}]],[449,["text",{"from":{"line":2,"ch":26},"to":{"line":2,"ch":26},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":27}]],[144,["text",{"from":{"line":2,"ch":27},"to":{"line":2,"ch":27},"text":["b"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":28}]],[256,["text",{"from":{"line":2,"ch":28},"to":{"line":2,"ch":28},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":29}]],[248,["text",{"from":{"line":2,"ch":29},"to":{"line":2,"ch":29},"text":[","],"removed":[""]}]],[0,["cursor",{"line":2,"ch":30}]],[104,["text",{"from":{"line":2,"ch":30},"to":{"line":2,"ch":30},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":2,"ch":31}]],[408,["text",{"from":{"line":2,"ch":31},"to":{"line":2,"ch":31},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":32}]],[448,["text",{"from":{"line":2,"ch":32},"to":{"line":2,"ch":32},"text":["C"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":33}]],[168,["text",{"from":{"line":2,"ch":33},"to":{"line":2,"ch":33},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":34}]],[160,["text",{"from":{"line":2,"ch":34},"to":{"line":2,"ch":34},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":35}]],[64,["text",{"from":{"line":2,"ch":35},"to":{"line":2,"ch":35},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":36}]],[209,["text",{"from":{"line":2,"ch":36},"to":{"line":2,"ch":36},"text":["\""],"removed":[""]}]],[0,["cursor",{"line":2,"ch":37}]],[263,["text",{"from":{"line":2,"ch":37},"to":{"line":2,"ch":37},"text":["]"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":38}]],[256,["text",{"from":{"line":2,"ch":38},"to":{"line":2,"ch":38},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":2,"ch":39}]],[265,["text",{"from":{"line":2,"ch":39},"to":{"line":2,"ch":39},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":3,"ch":0}]],[129,["text",{"from":{"line":3,"ch":0},"to":{"line":3,"ch":0},"text":["",""],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":4,"ch":0}]],[110,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":0},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":1}]],[88,["text",{"from":{"line":4,"ch":1},"to":{"line":4,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":2}]],[80,["text",{"from":{"line":4,"ch":2},"to":{"line":4,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":3}]],[168,["text",{"from":{"line":4,"ch":3},"to":{"line":4,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":4}]],[39,["text",{"from":{"line":4,"ch":4},"to":{"line":4,"ch":4},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":5}]],[210,["text",{"from":{"line":4,"ch":5},"to":{"line":4,"ch":5},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":6}]],[95,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":6},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":7}]],[120,["text",{"from":{"line":4,"ch":7},"to":{"line":4,"ch":7},"text":["."],"removed":[""]}]],[0,["cursor",{"line":4,"ch":8}]],[167,["text",{"from":{"line":4,"ch":8},"to":{"line":4,"ch":8},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":9}]],[169,["text",{"from":{"line":4,"ch":9},"to":{"line":4,"ch":9},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":10}]],[112,["text",{"from":{"line":4,"ch":10},"to":{"line":4,"ch":10},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":11}]],[151,["text",{"from":{"line":4,"ch":11},"to":{"line":4,"ch":11},"text":["("],"removed":[""]}]],[1,["cursor",{"line":4,"ch":12}]],[272,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":12},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":13}]],[464,["text",{"from":{"line":4,"ch":13},"to":{"line":4,"ch":13},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":14}]],[80,["text",{"from":{"line":4,"ch":14},"to":{"line":4,"ch":14},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":15}]],[87,["text",{"from":{"line":4,"ch":15},"to":{"line":4,"ch":15},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":16}]],[153,["text",{"from":{"line":4,"ch":16},"to":{"line":4,"ch":16},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":17}]],[96,["text",{"from":{"line":4,"ch":17},"to":{"line":4,"ch":17},"text":["["],"removed":[""]}]],[0,["cursor",{"line":4,"ch":18}]],[128,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":18},"text":["1"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":19}]],[143,["text",{"from":{"line":4,"ch":19},"to":{"line":4,"ch":19},"text":["]"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":20}]],[225,["text",{"from":{"line":4,"ch":20},"to":{"line":4,"ch":20},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":21}]],[233,["text",{"from":{"line":4,"ch":21},"to":{"line":4,"ch":21},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":22}]],[352,["command","Cmd-Enter"]],[2543,["cursor",{"line":4,"ch":19}]],[464,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":19},"text":[""],"removed":["1"]}]],[0,["command","Backspace"]],[0,["cursor",{"line":4,"ch":18}]],[408,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":18},"text":["0"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":19}]],[529,["command","Cmd-Enter"]],[2595,["cursor",{"line":4,"ch":22}]],[1290,["command","Cmd-Left"]],[0,["selection",{"anchor":{"line":4,"ch":22},"head":{"line":4,"ch":0}}]],[1105,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":22},"text":["c"],"removed":["console.log(names[0]);"]}]],[0,["cursor",{"line":4,"ch":1}]],[64,["text",{"from":{"line":4,"ch":1},"to":{"line":4,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":2}]],[63,["text",{"from":{"line":4,"ch":2},"to":{"line":4,"ch":2},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":3}]],[64,["text",{"from":{"line":4,"ch":3},"to":{"line":4,"ch":3},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":4}]],[184,["text",{"from":{"line":4,"ch":4},"to":{"line":4,"ch":4},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":5}]],[144,["text",{"from":{"line":4,"ch":5},"to":{"line":4,"ch":5},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":6}]],[288,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":6},"text":["f"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":7}]],[112,["text",{"from":{"line":4,"ch":7},"to":{"line":4,"ch":7},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":8}]],[88,["text",{"from":{"line":4,"ch":8},"to":{"line":4,"ch":8},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":9}]],[226,["text",{"from":{"line":4,"ch":9},"to":{"line":4,"ch":9},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":10}]],[319,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":10},"text":[""],"removed":["for "]}]],[0,["command","Alt-Backspace"]],[0,["cursor",{"line":4,"ch":6}]],[151,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":6},"text":[""],"removed":["const "]}]],[0,["command","Alt-Backspace"]],[0,["cursor",{"line":4,"ch":0}]],[512,["text",{"from":{"line":4,"ch":0},"to":{"line":4,"ch":0},"text":["f"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":1}]],[112,["text",{"from":{"line":4,"ch":1},"to":{"line":4,"ch":1},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":2}]],[111,["text",{"from":{"line":4,"ch":2},"to":{"line":4,"ch":2},"text":["r"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":3}]],[89,["text",{"from":{"line":4,"ch":3},"to":{"line":4,"ch":3},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":4}]],[184,["text",{"from":{"line":4,"ch":4},"to":{"line":4,"ch":4},"text":["("],"removed":[""]}]],[0,["cursor",{"line":4,"ch":5}]],[257,["command","Cmd-K"]],[231,["text",{"from":{"line":4,"ch":5},"to":{"line":4,"ch":5},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":6}]],[97,["text",{"from":{"line":4,"ch":6},"to":{"line":4,"ch":6},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":7}]],[55,["text",{"from":{"line":4,"ch":7},"to":{"line":4,"ch":7},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":8}]],[48,["text",{"from":{"line":4,"ch":8},"to":{"line":4,"ch":8},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":9}]],[136,["text",{"from":{"line":4,"ch":9},"to":{"line":4,"ch":9},"text":["t"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":10}]],[120,["text",{"from":{"line":4,"ch":10},"to":{"line":4,"ch":10},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":11}]],[64,["text",{"from":{"line":4,"ch":11},"to":{"line":4,"ch":11},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":12}]],[200,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":12},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":13}]],[384,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":13},"text":[""],"removed":["m"]}]],[0,["command","Backspace"]],[0,["cursor",{"line":4,"ch":12}]],[120,["text",{"from":{"line":4,"ch":12},"to":{"line":4,"ch":12},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":13}]],[55,["text",{"from":{"line":4,"ch":13},"to":{"line":4,"ch":13},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":14}]],[120,["text",{"from":{"line":4,"ch":14},"to":{"line":4,"ch":14},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":15}]],[96,["text",{"from":{"line":4,"ch":15},"to":{"line":4,"ch":15},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":16}]],[145,["text",{"from":{"line":4,"ch":16},"to":{"line":4,"ch":16},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":17}]],[128,["text",{"from":{"line":4,"ch":17},"to":{"line":4,"ch":17},"text":["f"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":18}]],[80,["text",{"from":{"line":4,"ch":18},"to":{"line":4,"ch":18},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":19}]],[376,["text",{"from":{"line":4,"ch":19},"to":{"line":4,"ch":19},"text":["n"],"removed":[""]}]],[1,["cursor",{"line":4,"ch":20}]],[102,["text",{"from":{"line":4,"ch":20},"to":{"line":4,"ch":20},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":21}]],[105,["text",{"from":{"line":4,"ch":21},"to":{"line":4,"ch":21},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":22}]],[56,["text",{"from":{"line":4,"ch":22},"to":{"line":4,"ch":22},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":23}]],[289,["text",{"from":{"line":4,"ch":23},"to":{"line":4,"ch":23},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":24}]],[239,["text",{"from":{"line":4,"ch":24},"to":{"line":4,"ch":24},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":25}]],[176,["text",{"from":{"line":4,"ch":25},"to":{"line":4,"ch":25},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":4,"ch":26}]],[160,["text",{"from":{"line":4,"ch":26},"to":{"line":4,"ch":26},"text":["{"],"removed":[""]}]],[0,["cursor",{"line":4,"ch":27}]],[205,["text",{"from":{"line":4,"ch":27},"to":{"line":4,"ch":27},"text":["",""],"removed":[""]}]],[0,["text",{"from":{"line":5,"ch":0},"to":{"line":5,"ch":0},"text":[" "],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":5,"ch":4}]],[230,["text",{"from":{"line":5,"ch":4},"to":{"line":5,"ch":4},"text":["",""],"removed":[""]}]],[0,["text",{"from":{"line":6,"ch":0},"to":{"line":6,"ch":0},"text":[" "],"removed":[""]}]],[0,["command","Enter"]],[0,["cursor",{"line":6,"ch":4}]],[221,["text",{"from":{"line":6,"ch":4},"to":{"line":6,"ch":4},"text":["}"],"removed":[""]}]],[0,["text",{"from":{"line":6,"ch":0},"to":{"line":6,"ch":4},"text":[""],"removed":[" "]}]],[0,["cursor",{"line":6,"ch":1}]],[313,["command","Ctrl-P"]],[0,["cursor",{"line":5,"ch":1}]],[167,["command","Ctrl-E"]],[0,["cursor",{"line":5,"ch":4}]],[272,["text",{"from":{"line":5,"ch":4},"to":{"line":5,"ch":4},"text":["c"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":5}]],[96,["text",{"from":{"line":5,"ch":5},"to":{"line":5,"ch":5},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":6}]],[72,["text",{"from":{"line":5,"ch":6},"to":{"line":5,"ch":6},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":7}]],[48,["text",{"from":{"line":5,"ch":7},"to":{"line":5,"ch":7},"text":["s"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":8}]],[112,["text",{"from":{"line":5,"ch":8},"to":{"line":5,"ch":8},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":9}]],[160,["text",{"from":{"line":5,"ch":9},"to":{"line":5,"ch":9},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":10}]],[95,["text",{"from":{"line":5,"ch":10},"to":{"line":5,"ch":10},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":11}]],[121,["text",{"from":{"line":5,"ch":11},"to":{"line":5,"ch":11},"text":["."],"removed":[""]}]],[0,["cursor",{"line":5,"ch":12}]],[176,["text",{"from":{"line":5,"ch":12},"to":{"line":5,"ch":12},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":13}]],[177,["text",{"from":{"line":5,"ch":13},"to":{"line":5,"ch":13},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":14}]],[102,["text",{"from":{"line":5,"ch":14},"to":{"line":5,"ch":14},"text":["g"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":15}]],[233,["text",{"from":{"line":5,"ch":15},"to":{"line":5,"ch":15},"text":["("],"removed":[""]}]],[0,["cursor",{"line":5,"ch":16}]],[256,["text",{"from":{"line":5,"ch":16},"to":{"line":5,"ch":16},"text":["`"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":17}]],[472,["text",{"from":{"line":5,"ch":17},"to":{"line":5,"ch":17},"text":["H"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":18}]],[168,["text",{"from":{"line":5,"ch":18},"to":{"line":5,"ch":18},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":19}]],[72,["text",{"from":{"line":5,"ch":19},"to":{"line":5,"ch":19},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":20}]],[131,["text",{"from":{"line":5,"ch":20},"to":{"line":5,"ch":20},"text":["l"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":21}]],[157,["text",{"from":{"line":5,"ch":21},"to":{"line":5,"ch":21},"text":["o"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":22}]],[64,["text",{"from":{"line":5,"ch":22},"to":{"line":5,"ch":22},"text":[" "],"removed":[""]}]],[0,["cursor",{"line":5,"ch":23}]],[144,["text",{"from":{"line":5,"ch":23},"to":{"line":5,"ch":23},"text":["$"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":24}]],[120,["text",{"from":{"line":5,"ch":24},"to":{"line":5,"ch":24},"text":["{"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":25}]],[223,["text",{"from":{"line":5,"ch":25},"to":{"line":5,"ch":25},"text":["n"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":26}]],[305,["text",{"from":{"line":5,"ch":26},"to":{"line":5,"ch":26},"text":["a"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":27}]],[72,["text",{"from":{"line":5,"ch":27},"to":{"line":5,"ch":27},"text":["m"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":28}]],[104,["text",{"from":{"line":5,"ch":28},"to":{"line":5,"ch":28},"text":["e"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":29}]],[224,["text",{"from":{"line":5,"ch":29},"to":{"line":5,"ch":29},"text":["}"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":30}]],[120,["text",{"from":{"line":5,"ch":30},"to":{"line":5,"ch":30},"text":["!"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":31}]],[737,["text",{"from":{"line":5,"ch":31},"to":{"line":5,"ch":31},"text":["`"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":32}]],[287,["text",{"from":{"line":5,"ch":32},"to":{"line":5,"ch":32},"text":[")"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":33}]],[200,["text",{"from":{"line":5,"ch":33},"to":{"line":5,"ch":33},"text":[";"],"removed":[""]}]],[0,["cursor",{"line":5,"ch":34}]],[361,["command","Cmd-Enter"]]], + "cursor": [[34,[50.313,23]],[15,[50.234,22.875]],[17,[50.156,22.75]],[16,[50.078,22.625]],[17,[49.922,22.5]],[17,[49.766,22.375]],[16,[49.688,22.125]],[16,[49.453,22]],[17,[49.219,21.75]],[18,[49.063,21.625]],[16,[48.906,21.5]],[15,[48.75,21.25]],[18,[48.594,21.125]],[17,[48.594,21.125]],[16,[48.516,21.125]],[366,[48.516,21.25]],[32,[48.516,21.25]],[50,[48.516,21.375]],[153,[48.438,21.375]],[13,[48.359,21.375]],[18,[48.203,21.375]],[16,[47.813,21.375]],[17,[47.422,21.375]],[16,[47.109,21.625]],[17,[46.563,21.625]],[17,[45.938,21.625]],[17,[45.156,21.75]],[18,[44.453,21.75]],[15,[43.359,21.75]],[17,[42.031,21.75]],[17,[40.469,21.5]],[16,[38.828,20.875]],[16,[37.266,20.25]],[17,[35.234,19.125]],[16,[34.063,18.5]],[17,[33.047,18]],[17,[32.266,17.875]],[16,[31.563,17.625]],[16,[31.016,17.5]],[18,[30.625,17.5]],[16,[30.469,17.5]],[17,[30.391,17.5]],[17,[30.391,17.375]],[16,[30.391,17.375]],[16,[30.391,17.25]],[17,[30.391,17]],[17,[30.391,16.875]],[17,[30.391,16.75]],[16,[30.391,16.625]],[16,[30.391,16.375]],[17,[30.391,16.25]],[17,[30.391,16.125]],[18,[30.391,16]],[16,[30.391,16]],[16,[30.391,15.75]],[16,[30.391,15.5]],[17,[30.312,15.125]],[17,[30.156,14.75]],[17,[30,14.25]],[17,[29.922,14]],[15,[29.844,13.875]],[18,[29.844,13.625]],[15,[29.766,13.5]],[19,[29.766,13.5]],[15,[29.766,13.375]],[17,[29.688,13.25]],[17,[29.688,13.25]],[17,[29.688,13.25]],[231,[29.688,13.5]],[17,[29.688,13.625]],[18,[29.766,13.875]],[16,[29.844,14.125]],[17,[29.922,14.25]],[17,[30.156,14.5]],[15,[30.234,14.625]],[18,[30.469,14.75]],[15,[30.938,15.25]],[17,[31.484,15.75]],[19,[32.109,16.25]],[15,[32.656,16.625]],[16,[33.281,17]],[17,[33.984,17.375]],[18,[34.531,17.625]],[16,[34.922,17.75]],[16,[35.547,18]],[17,[36.25,18.25]],[17,[37.188,18.25]],[15,[38.125,18.25]],[18,[39.141,18.25]],[16,[40.234,18.25]],[18,[41.25,18.25]],[18,[42.891,18.125]],[14,[44.609,17.875]],[17,[46.406,17.625]],[17,[48.281,17.25]],[16,[50.859,16.625]],[16,[52.812,16.125]],[17,[53.594,15.75]],[16,[56.484,14.875]],[18,[58.281,14.25]],[16,[59.844,13.75]],[17,[60.703,13.375]],[17,[61.953,12.75]],[17,[62.578,12.25]],[16,[63.125,11.75]],[16,[63.672,11.375]],[18,[64.141,11]],[17,[64.688,10.875]],[15,[65.469,10.75]],[17,[66.563,10.625]],[16,[67.578,10.625]],[17,[68.75,10.625]],[17,[69.844,10.625]],[17,[70.703,10.625]],[16,[71.484,10.75]],[17,[72.188,10.875]],[17,[72.422,11.125]],[16,[72.578,11.25]],[17,[72.656,11.5]],[17,[72.656,11.75]],[16,[72.813,12.125]],[17,[72.813,12.5]],[17,[72.813,12.625]],[15,[72.813,12.75]],[17,[72.813,12.875]],[18,[72.813,13]],[15,[72.813,13]],[16,[72.813,13.125]],[18,[72.813,13.25]],[16,[72.813,13.375]],[17,[72.813,13.5]],[17,[72.813,13.5]],[18,[72.813,13.625]],[65,[72.813,13.5]],[16,[72.813,13.375]],[16,[72.813,13.25]],[18,[72.813,13.25]],[16,[72.813,13.125]],[18,[72.656,12.75]],[747,[72.656,12.625]],[33,[72.656,12.625]],[34,[72.656,12.5]],[51,[72.578,12.5]],[48,[72.578,12.5]],[34,[72.578,12.5]],[33,[72.5,12.5]],[34,[72.5,12.625]],[15,[72.5,12.75]],[17,[72.5,13]],[16,[72.5,13.25]],[17,[72.5,13.625]],[18,[72.5,14.125]],[16,[72.5,14.5]],[16,[72.5,14.875]],[17,[72.5,15.375]],[16,[72.5,16.125]],[17,[72.5,17.125]],[17,[72.344,18.625]],[17,[72.109,19.5]],[16,[72.031,20.25]],[17,[71.875,21]],[16,[71.797,21.5]],[17,[71.641,21.875]],[16,[71.641,22]],[17,[71.641,22.125]],[17,[71.563,22.25]],[16,[71.563,22.5]],[17,[71.484,22.875]],[17,[71.406,23.875]],[16,[71.25,25.5]],[17,[71.094,26.625]],[17,[70.859,28]],[17,[70.625,29]],[15,[70.547,29.5]],[19,[70.547,29.75]],[14,[70.547,30]],[18,[70.547,30.125]],[49,[70.625,30.125]],[17,[70.859,30]],[17,[71.328,29.625]],[17,[71.953,29.25]],[16,[72.813,28.75]],[17,[73.984,28]],[17,[75.391,27]],[16,[76.719,26.125]],[17,[77.5,25.5]],[17,[78.203,24.875]],[16,[78.75,24.375]],[18,[79.063,24.125]],[15,[79.219,23.75]],[17,[79.375,23.5]],[16,[79.453,23.375]],[16,[79.453,23.25]],[17,[79.531,23.125]],[50,[79.531,23.125]],[34,[79.531,23]],[67,[79.531,23]],[17,[79.531,22.875]],[17,[79.531,22.75]],[16,[79.531,22.75]],[16,[79.531,22.75]],[17,[79.531,22.625]],[33,[79.531,22.625]],[17,[79.453,22.625]],[17,[79.219,22.625]],[16,[79.063,22.625]]], + "paint": [[0,{"type":"change-sheet","sheet":0}],[0,{"type":"set-stroke-style","strokeStyle":"#000"}],[1632,{"type":"move-to","x":0.07265625,"y":0.08}],[23,{"type":"line-to","x":0.0734375,"y":0.0825}],[17,{"type":"line-to","x":0.0734375,"y":0.08375}],[14,{"type":"line-to","x":0.07421875,"y":0.08375}],[17,{"type":"line-to","x":0.07421875,"y":0.08375}],[16,{"type":"line-to","x":0.07421875,"y":0.0825}],[17,{"type":"line-to","x":0.07421875,"y":0.07875}],[17,{"type":"line-to","x":0.07109375,"y":0.0675}],[16,{"type":"line-to","x":0.0671875,"y":0.0575}],[20,{"type":"line-to","x":0.06328125,"y":0.05}],[13,{"type":"line-to","x":0.06015625,"y":0.04625}],[17,{"type":"line-to","x":0.05703125,"y":0.0475}],[18,{"type":"line-to","x":0.05546875,"y":0.05375}],[16,{"type":"line-to","x":0.0546875,"y":0.07}],[16,{"type":"line-to","x":0.05625,"y":0.08875}],[18,{"type":"line-to","x":0.059375,"y":0.11125}],[17,{"type":"line-to","x":0.06328125,"y":0.14}],[15,{"type":"line-to","x":0.065625,"y":0.15375}],[17,{"type":"line-to","x":0.06796875,"y":0.16375}],[17,{"type":"line-to","x":0.06953125,"y":0.17125}],[15,{"type":"line-to","x":0.06953125,"y":0.17625}],[17,{"type":"line-to","x":0.0671875,"y":0.17625}],[9,{"type":"line-to","x":0.065625,"y":0.175}],[121,{"type":"move-to","x":0.04609375,"y":0.14125}],[22,{"type":"line-to","x":0.0484375,"y":0.14}],[15,{"type":"line-to","x":0.05234375,"y":0.13625}],[16,{"type":"line-to","x":0.0625,"y":0.12875}],[18,{"type":"line-to","x":0.06875,"y":0.1225}],[15,{"type":"line-to","x":0.07421875,"y":0.11875}],[16,{"type":"line-to","x":0.07734375,"y":0.1175}],[387,{"type":"move-to","x":0.08828125,"y":0.12625}],[14,{"type":"line-to","x":0.08828125,"y":0.13}],[17,{"type":"line-to","x":0.08984375,"y":0.13375}],[14,{"type":"line-to","x":0.09140625,"y":0.1425}],[18,{"type":"line-to","x":0.0921875,"y":0.15125}],[17,{"type":"line-to","x":0.09375,"y":0.165}],[17,{"type":"line-to","x":0.09375,"y":0.17125}],[15,{"type":"line-to","x":0.09375,"y":0.1725}],[19,{"type":"line-to","x":0.09375,"y":0.17125}],[16,{"type":"line-to","x":0.09375,"y":0.16375}],[16,{"type":"line-to","x":0.0953125,"y":0.14625}],[16,{"type":"line-to","x":0.09609375,"y":0.14125}],[18,{"type":"line-to","x":0.09921875,"y":0.12875}],[15,{"type":"line-to","x":0.10234375,"y":0.1275}],[18,{"type":"line-to","x":0.10703125,"y":0.1325}],[17,{"type":"line-to","x":0.11015625,"y":0.13875}],[16,{"type":"line-to","x":0.11328125,"y":0.14375}],[19,{"type":"line-to","x":0.11640625,"y":0.145}],[13,{"type":"line-to","x":0.11953125,"y":0.14625}],[144,{"type":"move-to","x":0.121875,"y":0.145}],[40,{"type":"line-to","x":0.121875,"y":0.14625}],[16,{"type":"line-to","x":0.1234375,"y":0.1475}],[17,{"type":"line-to","x":0.12421875,"y":0.1475}],[18,{"type":"line-to","x":0.12734375,"y":0.1425}],[16,{"type":"line-to","x":0.12890625,"y":0.13625}],[16,{"type":"line-to","x":0.1296875,"y":0.13}],[16,{"type":"line-to","x":0.128125,"y":0.12625}],[17,{"type":"line-to","x":0.12578125,"y":0.125}],[17,{"type":"line-to","x":0.12265625,"y":0.13}],[16,{"type":"line-to","x":0.11796875,"y":0.14375}],[19,{"type":"line-to","x":0.1171875,"y":0.16375}],[16,{"type":"line-to","x":0.11796875,"y":0.16875}],[16,{"type":"line-to","x":0.12109375,"y":0.17375}],[16,{"type":"line-to","x":0.12890625,"y":0.175}],[16,{"type":"line-to","x":0.134375,"y":0.1725}],[5,{"type":"line-to","x":0.13671875,"y":0.17125}],[312,{"type":"move-to","x":0.14140625,"y":0.14375}],[16,{"type":"line-to","x":0.14453125,"y":0.145}],[17,{"type":"line-to","x":0.14609375,"y":0.145}],[16,{"type":"line-to","x":0.15,"y":0.1425}],[16,{"type":"line-to","x":0.15546875,"y":0.135}],[18,{"type":"line-to","x":0.15625,"y":0.13}],[17,{"type":"line-to","x":0.15546875,"y":0.125}],[16,{"type":"line-to","x":0.15,"y":0.12125}],[17,{"type":"line-to","x":0.1453125,"y":0.12375}],[17,{"type":"line-to","x":0.14140625,"y":0.1325}],[15,{"type":"line-to","x":0.13984375,"y":0.145}],[17,{"type":"line-to","x":0.14140625,"y":0.16}],[17,{"type":"line-to","x":0.15390625,"y":0.17125}],[16,{"type":"line-to","x":0.1578125,"y":0.17125}],[19,{"type":"line-to","x":0.1671875,"y":0.16375}],[454,{"type":"move-to","x":0.15859375,"y":0.055}],[27,{"type":"line-to","x":0.16015625,"y":0.055}],[16,{"type":"line-to","x":0.16171875,"y":0.0575}],[17,{"type":"line-to","x":0.1625,"y":0.0625}],[19,{"type":"line-to","x":0.1640625,"y":0.0725}],[15,{"type":"line-to","x":0.1671875,"y":0.08875}],[15,{"type":"line-to","x":0.1703125,"y":0.10875}],[16,{"type":"line-to","x":0.175,"y":0.1375}],[18,{"type":"line-to","x":0.17734375,"y":0.15125}],[18,{"type":"line-to","x":0.178125,"y":0.16125}],[16,{"type":"line-to","x":0.178125,"y":0.165}],[15,{"type":"line-to","x":0.178125,"y":0.16125}],[17,{"type":"line-to","x":0.1765625,"y":0.15125}],[18,{"type":"line-to","x":0.175,"y":0.1375}],[15,{"type":"line-to","x":0.175,"y":0.125}],[17,{"type":"line-to","x":0.1765625,"y":0.1175}],[18,{"type":"line-to","x":0.18203125,"y":0.1175}],[16,{"type":"line-to","x":0.1859375,"y":0.12125}],[15,{"type":"line-to","x":0.18984375,"y":0.13}],[19,{"type":"line-to","x":0.19375,"y":0.1425}],[15,{"type":"line-to","x":0.1953125,"y":0.14875}],[16,{"type":"line-to","x":0.19765625,"y":0.1675}],[19,{"type":"line-to","x":0.19765625,"y":0.16875}],[16,{"type":"line-to","x":0.19765625,"y":0.16625}],[163,{"type":"move-to","x":0.2140625,"y":0.12125}],[19,{"type":"line-to","x":0.21328125,"y":0.11875}],[17,{"type":"line-to","x":0.2109375,"y":0.1175}],[16,{"type":"line-to","x":0.20859375,"y":0.1225}],[18,{"type":"line-to","x":0.20625,"y":0.13125}],[16,{"type":"line-to","x":0.2046875,"y":0.14}],[16,{"type":"line-to","x":0.20390625,"y":0.14875}],[17,{"type":"line-to","x":0.20703125,"y":0.1525}],[17,{"type":"line-to","x":0.21015625,"y":0.15}],[17,{"type":"line-to","x":0.21328125,"y":0.1425}],[15,{"type":"line-to","x":0.21484375,"y":0.135}],[17,{"type":"line-to","x":0.21484375,"y":0.125}],[18,{"type":"line-to","x":0.21484375,"y":0.12125}],[17,{"type":"line-to","x":0.215625,"y":0.12}],[14,{"type":"line-to","x":0.2171875,"y":0.12375}],[18,{"type":"line-to","x":0.2203125,"y":0.1375}],[17,{"type":"line-to","x":0.22265625,"y":0.145}],[16,{"type":"line-to","x":0.22421875,"y":0.14875}],[16,{"type":"line-to","x":0.2265625,"y":0.15125}],[18,{"type":"line-to","x":0.22734375,"y":0.15125}],[123,{"type":"move-to","x":0.2296875,"y":0.1175}],[13,{"type":"line-to","x":0.2296875,"y":0.1175}],[14,{"type":"line-to","x":0.2296875,"y":0.11625}],[16,{"type":"line-to","x":0.23046875,"y":0.12}],[17,{"type":"line-to","x":0.23046875,"y":0.12625}],[16,{"type":"line-to","x":0.23125,"y":0.13375}],[17,{"type":"line-to","x":0.23203125,"y":0.14125}],[15,{"type":"line-to","x":0.2328125,"y":0.14625}],[19,{"type":"line-to","x":0.23359375,"y":0.14875}],[16,{"type":"line-to","x":0.234375,"y":0.1475}],[17,{"type":"line-to","x":0.23515625,"y":0.14}],[17,{"type":"line-to","x":0.23671875,"y":0.13125}],[15,{"type":"line-to","x":0.23984375,"y":0.11875}],[18,{"type":"line-to","x":0.24375,"y":0.11625}],[18,{"type":"line-to","x":0.24609375,"y":0.1175}],[15,{"type":"line-to","x":0.2484375,"y":0.1225}],[15,{"type":"line-to","x":0.24921875,"y":0.13125}],[18,{"type":"line-to","x":0.25,"y":0.1425}],[16,{"type":"line-to","x":0.25,"y":0.1475}],[17,{"type":"line-to","x":0.25,"y":0.15}],[11,{"type":"line-to","x":0.25,"y":0.15125}],[226,{"type":"move-to","x":0.26796875,"y":0.1175}],[30,{"type":"line-to","x":0.26796875,"y":0.1175}],[15,{"type":"line-to","x":0.2671875,"y":0.115}],[19,{"type":"line-to","x":0.265625,"y":0.115}],[16,{"type":"line-to","x":0.2640625,"y":0.115}],[16,{"type":"line-to","x":0.26171875,"y":0.1175}],[15,{"type":"line-to","x":0.25859375,"y":0.1275}],[18,{"type":"line-to","x":0.25703125,"y":0.1375}],[17,{"type":"line-to","x":0.2578125,"y":0.1475}],[17,{"type":"line-to","x":0.26015625,"y":0.155}],[15,{"type":"line-to","x":0.26640625,"y":0.1575}],[18,{"type":"line-to","x":0.271875,"y":0.155}],[15,{"type":"line-to","x":0.27578125,"y":0.15}],[20,{"type":"line-to","x":0.27890625,"y":0.1425}],[13,{"type":"line-to","x":0.2796875,"y":0.13375}],[17,{"type":"line-to","x":0.2796875,"y":0.12125}],[17,{"type":"line-to","x":0.27734375,"y":0.095}],[18,{"type":"line-to","x":0.275,"y":0.07875}],[17,{"type":"line-to","x":0.27265625,"y":0.065}],[15,{"type":"line-to","x":0.26953125,"y":0.055}],[18,{"type":"line-to","x":0.26796875,"y":0.0525}],[16,{"type":"line-to","x":0.2671875,"y":0.05}],[18,{"type":"line-to","x":0.2671875,"y":0.05}],[15,{"type":"line-to","x":0.2671875,"y":0.05125}],[18,{"type":"line-to","x":0.26875,"y":0.055}],[16,{"type":"line-to","x":0.2734375,"y":0.07375}],[16,{"type":"line-to","x":0.2765625,"y":0.09375}],[18,{"type":"line-to","x":0.27890625,"y":0.1175}],[14,{"type":"line-to","x":0.2828125,"y":0.1425}],[17,{"type":"line-to","x":0.28515625,"y":0.15375}],[18,{"type":"line-to","x":0.28671875,"y":0.1575}],[17,{"type":"line-to","x":0.2875,"y":0.15875}],[520,{"type":"move-to","x":0.3484375,"y":0.0975}],[11,{"type":"line-to","x":0.3484375,"y":0.09625}],[17,{"type":"line-to","x":0.3484375,"y":0.09625}],[15,{"type":"line-to","x":0.3484375,"y":0.09875}],[19,{"type":"line-to","x":0.34921875,"y":0.11}],[16,{"type":"line-to","x":0.35078125,"y":0.1225}],[17,{"type":"line-to","x":0.35390625,"y":0.13375}],[16,{"type":"line-to","x":0.35859375,"y":0.14125}],[17,{"type":"line-to","x":0.36484375,"y":0.145}],[17,{"type":"line-to","x":0.375,"y":0.1425}],[16,{"type":"line-to","x":0.38046875,"y":0.135}],[16,{"type":"line-to","x":0.384375,"y":0.12625}],[16,{"type":"line-to","x":0.384375,"y":0.115}],[18,{"type":"line-to","x":0.38125,"y":0.1}],[15,{"type":"line-to","x":0.37890625,"y":0.09625}],[19,{"type":"line-to","x":0.37734375,"y":0.10125}],[17,{"type":"line-to","x":0.37734375,"y":0.11}],[15,{"type":"line-to","x":0.3796875,"y":0.12125}],[17,{"type":"line-to","x":0.384375,"y":0.13125}],[17,{"type":"line-to","x":0.38828125,"y":0.135}],[17,{"type":"line-to","x":0.39140625,"y":0.13375}],[16,{"type":"line-to","x":0.39296875,"y":0.13}],[15,{"type":"line-to","x":0.39375,"y":0.11875}],[18,{"type":"line-to","x":0.39140625,"y":0.1075}],[18,{"type":"line-to","x":0.3890625,"y":0.09375}],[16,{"type":"line-to","x":0.38671875,"y":0.085}],[15,{"type":"line-to","x":0.38515625,"y":0.08625}],[16,{"type":"line-to","x":0.38515625,"y":0.0975}],[17,{"type":"line-to","x":0.3875,"y":0.105}],[254,{"type":"move-to","x":0.415625,"y":0.1075}],[14,{"type":"line-to","x":0.4171875,"y":0.11}],[15,{"type":"line-to","x":0.41875,"y":0.115}],[16,{"type":"line-to","x":0.42109375,"y":0.1275}],[18,{"type":"line-to","x":0.421875,"y":0.135}],[19,{"type":"line-to","x":0.421875,"y":0.14125}],[14,{"type":"line-to","x":0.42109375,"y":0.1425}],[17,{"type":"line-to","x":0.42109375,"y":0.13625}],[16,{"type":"line-to","x":0.42109375,"y":0.12625}],[17,{"type":"line-to","x":0.42109375,"y":0.115}],[18,{"type":"line-to","x":0.42265625,"y":0.1025}],[17,{"type":"line-to","x":0.42421875,"y":0.0975}],[15,{"type":"line-to","x":0.42734375,"y":0.10125}],[16,{"type":"line-to","x":0.43046875,"y":0.10625}],[19,{"type":"line-to","x":0.43359375,"y":0.11125}],[9,{"type":"line-to","x":0.43515625,"y":0.1125}],[100,{"type":"move-to","x":0.44375,"y":0.11875}],[6,{"type":"line-to","x":0.44296875,"y":0.12125}],[15,{"type":"line-to","x":0.44296875,"y":0.1275}],[19,{"type":"line-to","x":0.44296875,"y":0.13375}],[17,{"type":"line-to","x":0.44375,"y":0.1375}],[14,{"type":"line-to","x":0.44453125,"y":0.1375}],[19,{"type":"line-to","x":0.4453125,"y":0.13125}],[121,{"type":"move-to","x":0.434375,"y":0.06625}],[10,{"type":"line-to","x":0.43515625,"y":0.06625}],[18,{"type":"line-to","x":0.4390625,"y":0.06625}],[15,{"type":"line-to","x":0.4421875,"y":0.065}],[12,{"type":"line-to","x":0.44375,"y":0.06375}],[178,{"type":"move-to","x":0.46484375,"y":0.045}],[10,{"type":"line-to","x":0.4640625,"y":0.0475}],[16,{"type":"line-to","x":0.4640625,"y":0.0525}],[18,{"type":"line-to","x":0.4640625,"y":0.06125}],[16,{"type":"line-to","x":0.46484375,"y":0.07625}],[17,{"type":"line-to","x":0.4671875,"y":0.09375}],[16,{"type":"line-to","x":0.46875,"y":0.11125}],[18,{"type":"line-to","x":0.471875,"y":0.13}],[17,{"type":"line-to","x":0.47421875,"y":0.1375}],[17,{"type":"line-to","x":0.47578125,"y":0.14125}],[118,{"type":"move-to","x":0.4515625,"y":0.09875}],[14,{"type":"line-to","x":0.45546875,"y":0.1}],[17,{"type":"line-to","x":0.46171875,"y":0.1}],[16,{"type":"line-to","x":0.4703125,"y":0.0975}],[16,{"type":"line-to","x":0.4828125,"y":0.095}],[17,{"type":"line-to","x":0.48984375,"y":0.09375}],[13,{"type":"line-to","x":0.4921875,"y":0.09375}],[113,{"type":"move-to","x":0.4984375,"y":0.10375}],[7,{"type":"line-to","x":0.4984375,"y":0.10625}],[17,{"type":"line-to","x":0.49921875,"y":0.11375}],[17,{"type":"line-to","x":0.49921875,"y":0.12125}],[16,{"type":"line-to","x":0.5,"y":0.1275}],[15,{"type":"line-to","x":0.50078125,"y":0.13125}],[19,{"type":"line-to","x":0.5015625,"y":0.12875}],[134,{"type":"move-to","x":0.490625,"y":0.05625}],[14,{"type":"line-to","x":0.4921875,"y":0.05875}],[20,{"type":"line-to","x":0.49375,"y":0.06125}],[11,{"type":"line-to","x":0.49453125,"y":0.06125}],[157,{"type":"move-to","x":0.5078125,"y":0.0825}],[29,{"type":"line-to","x":0.50859375,"y":0.08375}],[16,{"type":"line-to","x":0.509375,"y":0.09125}],[17,{"type":"line-to","x":0.509375,"y":0.105}],[16,{"type":"line-to","x":0.51015625,"y":0.115}],[19,{"type":"line-to","x":0.5109375,"y":0.12125}],[14,{"type":"line-to","x":0.51171875,"y":0.12375}],[17,{"type":"line-to","x":0.51171875,"y":0.12125}],[16,{"type":"line-to","x":0.51328125,"y":0.115}],[20,{"type":"line-to","x":0.51484375,"y":0.10375}],[16,{"type":"line-to","x":0.51796875,"y":0.09125}],[15,{"type":"line-to","x":0.52265625,"y":0.08375}],[18,{"type":"line-to","x":0.52421875,"y":0.0875}],[15,{"type":"line-to","x":0.525,"y":0.095}],[17,{"type":"line-to","x":0.5265625,"y":0.10375}],[18,{"type":"line-to","x":0.5296875,"y":0.10875}],[16,{"type":"line-to","x":0.53515625,"y":0.1125}],[126,{"type":"move-to","x":0.5453125,"y":0.085}],[23,{"type":"line-to","x":0.5421875,"y":0.08375}],[18,{"type":"line-to","x":0.53984375,"y":0.08375}],[15,{"type":"line-to","x":0.53671875,"y":0.09}],[17,{"type":"line-to","x":0.53515625,"y":0.09875}],[16,{"type":"line-to","x":0.534375,"y":0.11}],[18,{"type":"line-to","x":0.53828125,"y":0.1175}],[16,{"type":"line-to","x":0.54375,"y":0.1175}],[16,{"type":"line-to","x":0.54921875,"y":0.1125}],[17,{"type":"line-to","x":0.55234375,"y":0.105}],[17,{"type":"line-to","x":0.55390625,"y":0.0925}],[16,{"type":"line-to","x":0.553125,"y":0.0875}],[18,{"type":"line-to","x":0.55234375,"y":0.08625}],[17,{"type":"line-to","x":0.5515625,"y":0.0925}],[15,{"type":"line-to","x":0.5515625,"y":0.1025}],[16,{"type":"line-to","x":0.55390625,"y":0.1225}],[18,{"type":"line-to","x":0.55625,"y":0.1375}],[17,{"type":"line-to","x":0.5578125,"y":0.15125}],[15,{"type":"line-to","x":0.55859375,"y":0.16375}],[16,{"type":"line-to","x":0.55703125,"y":0.18125}],[18,{"type":"line-to","x":0.553125,"y":0.18875}],[18,{"type":"line-to","x":0.54609375,"y":0.1925}],[15,{"type":"line-to","x":0.5375,"y":0.1925}],[16,{"type":"line-to","x":0.53046875,"y":0.18875}],[16,{"type":"line-to","x":0.521875,"y":0.1825}],[19,{"type":"line-to","x":0.51953125,"y":0.17875}],[12,{"type":"line-to","x":0.51953125,"y":0.175}],[526,{"type":"move-to","x":0.615625,"y":0.07875}],[27,{"type":"line-to","x":0.61484375,"y":0.07875}],[17,{"type":"line-to","x":0.61484375,"y":0.08}],[15,{"type":"line-to","x":0.61640625,"y":0.095}],[16,{"type":"line-to","x":0.61875,"y":0.11375}],[17,{"type":"line-to","x":0.621875,"y":0.135}],[17,{"type":"line-to","x":0.62421875,"y":0.1575}],[17,{"type":"line-to","x":0.6265625,"y":0.1875}],[17,{"type":"line-to","x":0.628125,"y":0.20125}],[149,{"type":"move-to","x":0.61640625,"y":0.07625}],[16,{"type":"line-to","x":0.61796875,"y":0.0725}],[18,{"type":"line-to","x":0.61875,"y":0.0725}],[17,{"type":"line-to","x":0.61953125,"y":0.07375}],[16,{"type":"line-to","x":0.62421875,"y":0.07625}],[16,{"type":"line-to","x":0.63046875,"y":0.0775}],[17,{"type":"line-to","x":0.6375,"y":0.08125}],[17,{"type":"line-to","x":0.64453125,"y":0.0875}],[17,{"type":"line-to","x":0.65,"y":0.09625}],[15,{"type":"line-to","x":0.65,"y":0.10875}],[18,{"type":"line-to","x":0.6453125,"y":0.11625}],[17,{"type":"line-to","x":0.6375,"y":0.12125}],[16,{"type":"line-to","x":0.62890625,"y":0.12375}],[7,{"type":"line-to","x":0.62265625,"y":0.1225}],[10,{"type":"line-to","x":0.62109375,"y":0.12}],[16,{"type":"line-to","x":0.6203125,"y":0.115}],[404,{"type":"move-to","x":0.66640625,"y":0.085}],[28,{"type":"line-to","x":0.66484375,"y":0.09375}],[8,{"type":"line-to","x":0.66484375,"y":0.0975}],[9,{"type":"line-to","x":0.6640625,"y":0.105}],[16,{"type":"line-to","x":0.66328125,"y":0.11125}],[18,{"type":"line-to","x":0.66328125,"y":0.11375}],[16,{"type":"line-to","x":0.66328125,"y":0.11375}],[18,{"type":"line-to","x":0.66328125,"y":0.1075}],[13,{"type":"line-to","x":0.66328125,"y":0.10375}],[1,{"type":"line-to","x":0.6640625,"y":0.09875}],[19,{"type":"line-to","x":0.665625,"y":0.08875}],[16,{"type":"line-to","x":0.66953125,"y":0.08125}],[16,{"type":"line-to","x":0.67265625,"y":0.07875}],[16,{"type":"line-to","x":0.6765625,"y":0.08125}],[17,{"type":"line-to","x":0.68046875,"y":0.08875}],[19,{"type":"line-to","x":0.68359375,"y":0.09375}],[121,{"type":"move-to","x":0.69921875,"y":0.085}],[10,{"type":"line-to","x":0.69921875,"y":0.0875}],[17,{"type":"line-to","x":0.6984375,"y":0.0925}],[11,{"type":"line-to","x":0.6984375,"y":0.09625}],[8,{"type":"line-to","x":0.6984375,"y":0.1}],[14,{"type":"line-to","x":0.69921875,"y":0.11125}],[15,{"type":"line-to","x":0.70234375,"y":0.115}],[19,{"type":"line-to","x":0.7046875,"y":0.11625}],[16,{"type":"line-to","x":0.70703125,"y":0.11375}],[17,{"type":"line-to","x":0.70703125,"y":0.10875}],[16,{"type":"line-to","x":0.70625,"y":0.1025}],[16,{"type":"line-to","x":0.703125,"y":0.09375}],[18,{"type":"line-to","x":0.69765625,"y":0.085}],[15,{"type":"line-to","x":0.69453125,"y":0.08375}],[17,{"type":"line-to","x":0.69375,"y":0.085}],[9,{"type":"line-to","x":0.69375,"y":0.08625}],[279,{"type":"move-to","x":0.71953125,"y":0.07875}],[12,{"type":"line-to","x":0.7203125,"y":0.08}],[15,{"type":"line-to","x":0.72109375,"y":0.08625}],[18,{"type":"line-to","x":0.721875,"y":0.1}],[17,{"type":"line-to","x":0.7234375,"y":0.11}],[15,{"type":"line-to","x":0.72578125,"y":0.1175}],[19,{"type":"line-to","x":0.728125,"y":0.12}],[16,{"type":"line-to","x":0.73203125,"y":0.11625}],[17,{"type":"line-to","x":0.73359375,"y":0.10875}],[17,{"type":"line-to","x":0.73515625,"y":0.09875}],[16,{"type":"line-to","x":0.7359375,"y":0.09}],[16,{"type":"line-to","x":0.7375,"y":0.085}],[17,{"type":"line-to","x":0.7390625,"y":0.085}],[15,{"type":"line-to","x":0.74140625,"y":0.0875}],[89,{"type":"move-to","x":0.75078125,"y":0.0925}],[13,{"type":"line-to","x":0.75078125,"y":0.09625}],[16,{"type":"line-to","x":0.75078125,"y":0.10375}],[16,{"type":"line-to","x":0.75234375,"y":0.11375}],[17,{"type":"line-to","x":0.753125,"y":0.11625}],[18,{"type":"line-to","x":0.7546875,"y":0.11375}],[9,{"type":"line-to","x":0.75546875,"y":0.11125}],[106,{"type":"move-to","x":0.75,"y":0.0675}],[17,{"type":"line-to","x":0.7515625,"y":0.07}],[17,{"type":"line-to","x":0.75546875,"y":0.0725}],[15,{"type":"line-to","x":0.76015625,"y":0.075}],[13,{"type":"line-to","x":0.7625,"y":0.0775}],[117,{"type":"move-to","x":0.77890625,"y":0.08375}],[20,{"type":"line-to","x":0.7765625,"y":0.085}],[16,{"type":"line-to","x":0.7734375,"y":0.09}],[18,{"type":"line-to","x":0.7703125,"y":0.1}],[15,{"type":"line-to","x":0.7703125,"y":0.1075}],[18,{"type":"line-to","x":0.7734375,"y":0.1125}],[17,{"type":"line-to","x":0.77734375,"y":0.11375}],[15,{"type":"line-to","x":0.78359375,"y":0.10625}],[18,{"type":"line-to","x":0.7859375,"y":0.09625}],[17,{"type":"line-to","x":0.7875,"y":0.08375}],[17,{"type":"line-to","x":0.7875,"y":0.0675}],[16,{"type":"line-to","x":0.7859375,"y":0.05125}],[16,{"type":"line-to","x":0.784375,"y":0.03875}],[18,{"type":"line-to","x":0.78203125,"y":0.03375}],[19,{"type":"line-to","x":0.78203125,"y":0.035}],[13,{"type":"line-to","x":0.7828125,"y":0.0425}],[17,{"type":"line-to","x":0.78671875,"y":0.06125}],[16,{"type":"line-to","x":0.7890625,"y":0.07875}],[17,{"type":"line-to","x":0.79140625,"y":0.0975}],[18,{"type":"line-to","x":0.7953125,"y":0.11125}],[16,{"type":"line-to","x":0.79921875,"y":0.11875}],[16,{"type":"line-to","x":0.803125,"y":0.12}],[1615,{"type":"move-to","x":0.809375,"y":0.105}],[13,{"type":"line-to","x":0.81015625,"y":0.10625}],[19,{"type":"line-to","x":0.81171875,"y":0.10625}],[18,{"type":"line-to","x":0.81953125,"y":0.1025}],[15,{"type":"line-to","x":0.82265625,"y":0.1}],[16,{"type":"line-to","x":0.83046875,"y":0.09}],[16,{"type":"line-to","x":0.83125,"y":0.08375}],[18,{"type":"line-to","x":0.82734375,"y":0.08125}],[17,{"type":"line-to","x":0.821875,"y":0.08125}],[15,{"type":"line-to","x":0.81640625,"y":0.0875}],[18,{"type":"line-to","x":0.8109375,"y":0.105}],[15,{"type":"line-to","x":0.8109375,"y":0.1175}],[18,{"type":"line-to","x":0.8140625,"y":0.125}],[16,{"type":"line-to","x":0.8203125,"y":0.12875}],[16,{"type":"line-to","x":0.82890625,"y":0.12625}],[7,{"type":"line-to","x":0.83125,"y":0.125}],[138,{"type":"move-to","x":0.85703125,"y":0.095}],[5,{"type":"line-to","x":0.85703125,"y":0.0925}],[18,{"type":"line-to","x":0.85546875,"y":0.08875}],[16,{"type":"line-to","x":0.85390625,"y":0.0875}],[17,{"type":"line-to","x":0.85,"y":0.0875}],[16,{"type":"line-to","x":0.8453125,"y":0.0925}],[16,{"type":"line-to","x":0.840625,"y":0.10875}],[17,{"type":"line-to","x":0.84296875,"y":0.125}],[17,{"type":"line-to","x":0.84765625,"y":0.12875}],[17,{"type":"line-to","x":0.85390625,"y":0.1275}],[15,{"type":"line-to","x":0.86171875,"y":0.115}],[19,{"type":"line-to","x":0.8640625,"y":0.10125}],[16,{"type":"line-to","x":0.8640625,"y":0.08375}],[17,{"type":"line-to","x":0.86328125,"y":0.06375}],[15,{"type":"line-to","x":0.86171875,"y":0.04625}],[18,{"type":"line-to","x":0.8578125,"y":0.0375}],[16,{"type":"line-to","x":0.85625,"y":0.0425}],[17,{"type":"line-to","x":0.85546875,"y":0.05625}],[18,{"type":"line-to","x":0.85625,"y":0.0775}],[14,{"type":"line-to","x":0.8578125,"y":0.105}],[17,{"type":"line-to","x":0.8609375,"y":0.13625}],[17,{"type":"line-to","x":0.86328125,"y":0.15125}],[18,{"type":"line-to","x":0.865625,"y":0.1625}],[769,{"type":"move-to","x":0.07109375,"y":0.2575}],[28,{"type":"line-to","x":0.07421875,"y":0.2625}],[18,{"type":"line-to","x":0.07734375,"y":0.27375}],[16,{"type":"line-to","x":0.08046875,"y":0.29125}],[16,{"type":"line-to","x":0.08359375,"y":0.3075}],[16,{"type":"line-to","x":0.0859375,"y":0.32125}],[16,{"type":"line-to","x":0.0875,"y":0.3275}],[18,{"type":"line-to","x":0.08828125,"y":0.325}],[16,{"type":"line-to","x":0.08984375,"y":0.31625}],[17,{"type":"line-to","x":0.09453125,"y":0.305}],[16,{"type":"line-to","x":0.09921875,"y":0.2975}],[17,{"type":"line-to","x":0.10703125,"y":0.29875}],[17,{"type":"line-to","x":0.11015625,"y":0.30625}],[17,{"type":"line-to","x":0.11015625,"y":0.315}],[17,{"type":"line-to","x":0.10703125,"y":0.32375}],[15,{"type":"line-to","x":0.096875,"y":0.33375}],[19,{"type":"line-to","x":0.090625,"y":0.335}],[15,{"type":"line-to","x":0.08671875,"y":0.3325}],[17,{"type":"line-to","x":0.0875,"y":0.3275}],[15,{"type":"line-to","x":0.0921875,"y":0.32125}],[167,{"type":"move-to","x":0.12421875,"y":0.29}],[18,{"type":"line-to","x":0.1234375,"y":0.29125}],[16,{"type":"line-to","x":0.1234375,"y":0.2975}],[17,{"type":"line-to","x":0.12421875,"y":0.3075}],[15,{"type":"line-to","x":0.128125,"y":0.32125}],[17,{"type":"line-to","x":0.1328125,"y":0.32375}],[17,{"type":"line-to","x":0.13828125,"y":0.32125}],[16,{"type":"line-to","x":0.1421875,"y":0.3125}],[18,{"type":"line-to","x":0.1453125,"y":0.30375}],[16,{"type":"line-to","x":0.146875,"y":0.29375}],[17,{"type":"line-to","x":0.14765625,"y":0.2925}],[17,{"type":"line-to","x":0.15,"y":0.2975}],[15,{"type":"line-to","x":0.153125,"y":0.30875}],[16,{"type":"line-to","x":0.15625,"y":0.32375}],[17,{"type":"line-to","x":0.16015625,"y":0.34875}],[18,{"type":"line-to","x":0.16015625,"y":0.36625}],[18,{"type":"line-to","x":0.15546875,"y":0.38125}],[16,{"type":"line-to","x":0.14765625,"y":0.39375}],[16,{"type":"line-to","x":0.13359375,"y":0.4}],[16,{"type":"line-to","x":0.12578125,"y":0.39375}],[16,{"type":"line-to","x":0.12265625,"y":0.38375}],[19,{"type":"line-to","x":0.1234375,"y":0.37625}],[17,{"type":"line-to","x":0.12734375,"y":0.37125}],[6,{"type":"line-to","x":0.1296875,"y":0.37}],[258,{"type":"set-stroke-style","strokeStyle":"#ff0000"}],[305,{"type":"move-to","x":0.1984375,"y":0.2875}],[12,{"type":"line-to","x":0.19921875,"y":0.2875}],[17,{"type":"line-to","x":0.2015625,"y":0.2925}],[16,{"type":"line-to","x":0.20390625,"y":0.29875}],[17,{"type":"line-to","x":0.20625,"y":0.30875}],[16,{"type":"line-to","x":0.20859375,"y":0.31875}],[16,{"type":"line-to","x":0.209375,"y":0.3275}],[17,{"type":"line-to","x":0.209375,"y":0.33}],[16,{"type":"line-to","x":0.209375,"y":0.33125}],[16,{"type":"line-to","x":0.20859375,"y":0.32}],[18,{"type":"line-to","x":0.209375,"y":0.30625}],[16,{"type":"line-to","x":0.21171875,"y":0.2925}],[17,{"type":"line-to","x":0.21484375,"y":0.285}],[16,{"type":"line-to","x":0.21875,"y":0.285}],[17,{"type":"line-to","x":0.21953125,"y":0.2875}],[16,{"type":"line-to","x":0.221875,"y":0.29625}],[18,{"type":"line-to","x":0.2234375,"y":0.29875}],[99,{"type":"set-stroke-style","strokeStyle":"#1a69b5"}],[203,{"type":"move-to","x":0.23984375,"y":0.2875}],[14,{"type":"line-to","x":0.23984375,"y":0.2875}],[15,{"type":"line-to","x":0.2390625,"y":0.2925}],[18,{"type":"line-to","x":0.240625,"y":0.29625}],[16,{"type":"line-to","x":0.24375,"y":0.3075}],[17,{"type":"line-to","x":0.246875,"y":0.3225}],[17,{"type":"line-to","x":0.25234375,"y":0.34625}],[15,{"type":"line-to","x":0.2546875,"y":0.36}],[17,{"type":"line-to","x":0.25546875,"y":0.37}],[18,{"type":"line-to","x":0.25546875,"y":0.3725}],[17,{"type":"line-to","x":0.2546875,"y":0.36875}],[16,{"type":"line-to","x":0.25234375,"y":0.3575}],[16,{"type":"line-to","x":0.25078125,"y":0.32875}],[17,{"type":"line-to","x":0.25,"y":0.305}],[17,{"type":"line-to","x":0.2515625,"y":0.2875}],[16,{"type":"line-to","x":0.25390625,"y":0.28}],[17,{"type":"line-to","x":0.2578125,"y":0.28125}],[16,{"type":"line-to","x":0.259375,"y":0.28625}],[17,{"type":"line-to","x":0.26015625,"y":0.29375}],[17,{"type":"line-to","x":0.259375,"y":0.30125}],[17,{"type":"line-to","x":0.25390625,"y":0.3125}],[16,{"type":"line-to","x":0.25,"y":0.315}],[17,{"type":"line-to","x":0.246875,"y":0.31375}],[16,{"type":"line-to","x":0.24609375,"y":0.3125}],[4,{"type":"line-to","x":0.24609375,"y":0.31}],[148,{"type":"set-stroke-style","strokeStyle":"#008000"}],[234,{"type":"move-to","x":0.28203125,"y":0.28375}],[30,{"type":"line-to","x":0.2828125,"y":0.285}],[17,{"type":"line-to","x":0.2890625,"y":0.285}],[16,{"type":"line-to","x":0.296875,"y":0.28375}],[18,{"type":"line-to","x":0.3046875,"y":0.28}],[14,{"type":"line-to","x":0.3125,"y":0.2775}],[16,{"type":"line-to","x":0.31328125,"y":0.2775}],[528,{"type":"set-stroke-style","strokeStyle":"#ae81ff"}],[253,{"type":"move-to","x":0.3296875,"y":0.2775}],[19,{"type":"line-to","x":0.33046875,"y":0.2775}],[18,{"type":"line-to","x":0.33203125,"y":0.2825}],[17,{"type":"line-to","x":0.3359375,"y":0.29875}],[14,{"type":"line-to","x":0.33828125,"y":0.31375}],[18,{"type":"line-to","x":0.33984375,"y":0.32875}],[17,{"type":"line-to","x":0.34140625,"y":0.34125}],[16,{"type":"line-to","x":0.3421875,"y":0.34875}],[16,{"type":"line-to","x":0.3421875,"y":0.35}],[18,{"type":"line-to","x":0.340625,"y":0.3425}],[17,{"type":"line-to","x":0.3375,"y":0.32875}],[16,{"type":"line-to","x":0.334375,"y":0.3075}],[15,{"type":"line-to","x":0.33203125,"y":0.27875}],[18,{"type":"line-to","x":0.33515625,"y":0.26875}],[17,{"type":"line-to","x":0.340625,"y":0.26625}],[17,{"type":"line-to","x":0.346875,"y":0.2675}],[16,{"type":"line-to","x":0.3515625,"y":0.2725}],[17,{"type":"line-to","x":0.35390625,"y":0.27875}],[16,{"type":"line-to","x":0.35,"y":0.28875}],[19,{"type":"line-to","x":0.34375,"y":0.295}],[13,{"type":"line-to","x":0.3375,"y":0.29875}],[17,{"type":"line-to","x":0.33515625,"y":0.3}],[17,{"type":"line-to","x":0.3390625,"y":0.29625}],[283,{"type":"set-stroke-style","strokeStyle":"#ff8000"}],[231,{"type":"move-to","x":0.37890625,"y":0.265}],[20,{"type":"line-to","x":0.3765625,"y":0.26625}],[16,{"type":"line-to","x":0.371875,"y":0.27}],[16,{"type":"line-to","x":0.36796875,"y":0.275}],[17,{"type":"line-to","x":0.36640625,"y":0.2825}],[15,{"type":"line-to","x":0.365625,"y":0.29125}],[17,{"type":"line-to","x":0.36796875,"y":0.30375}],[18,{"type":"line-to","x":0.37265625,"y":0.30625}],[16,{"type":"line-to","x":0.37734375,"y":0.30375}],[16,{"type":"line-to","x":0.38046875,"y":0.295}],[16,{"type":"line-to","x":0.3828125,"y":0.28125}],[17,{"type":"line-to","x":0.3828125,"y":0.27625}],[17,{"type":"line-to","x":0.38203125,"y":0.2675}],[17,{"type":"line-to","x":0.38203125,"y":0.265}],[17,{"type":"line-to","x":0.38359375,"y":0.26625}],[16,{"type":"line-to","x":0.38828125,"y":0.2775}],[18,{"type":"line-to","x":0.3921875,"y":0.285}],[17,{"type":"line-to","x":0.3953125,"y":0.29125}],[15,{"type":"line-to","x":0.3984375,"y":0.2925}],[16,{"type":"line-to","x":0.4,"y":0.29125}],[205,{"type":"set-stroke-style","strokeStyle":"#ff0080"}],[241,{"type":"move-to","x":0.409375,"y":0.265}],[21,{"type":"line-to","x":0.409375,"y":0.2725}],[16,{"type":"line-to","x":0.41015625,"y":0.28}],[18,{"type":"line-to","x":0.41171875,"y":0.28625}],[15,{"type":"line-to","x":0.41328125,"y":0.29}],[16,{"type":"line-to","x":0.4140625,"y":0.2925}],[17,{"type":"line-to","x":0.4140625,"y":0.29125}],[15,{"type":"line-to","x":0.4140625,"y":0.28875}],[97,{"type":"move-to","x":0.40234375,"y":0.23125}],[21,{"type":"line-to","x":0.4015625,"y":0.23375}],[17,{"type":"line-to","x":0.40390625,"y":0.2375}],[17,{"type":"line-to","x":0.40625,"y":0.2375}],[17,{"type":"line-to","x":0.4078125,"y":0.2375}],[16,{"type":"line-to","x":0.409375,"y":0.23875}],[272,{"type":"set-stroke-style","strokeStyle":"#ff0000"}],[213,{"type":"move-to","x":0.43515625,"y":0.26375}],[13,{"type":"line-to","x":0.43515625,"y":0.26625}],[18,{"type":"line-to","x":0.4359375,"y":0.27125}],[18,{"type":"line-to","x":0.4375,"y":0.27875}],[14,{"type":"line-to","x":0.43828125,"y":0.28625}],[18,{"type":"line-to","x":0.43984375,"y":0.2925}],[16,{"type":"line-to","x":0.43984375,"y":0.29625}],[17,{"type":"line-to","x":0.43984375,"y":0.29625}],[16,{"type":"line-to","x":0.43984375,"y":0.29375}],[18,{"type":"line-to","x":0.44140625,"y":0.28625}],[16,{"type":"line-to","x":0.44609375,"y":0.27}],[17,{"type":"line-to","x":0.44921875,"y":0.26375}],[17,{"type":"line-to","x":0.45234375,"y":0.2625}],[16,{"type":"line-to","x":0.4546875,"y":0.26875}],[15,{"type":"line-to","x":0.45625,"y":0.2825}],[17,{"type":"line-to","x":0.45703125,"y":0.28875}],[17,{"type":"line-to","x":0.4578125,"y":0.29125}],[17,{"type":"line-to","x":0.45859375,"y":0.29}],[10,{"type":"line-to","x":0.459375,"y":0.28875}],[212,{"type":"set-stroke-style","strokeStyle":"#1a69b5"}],[58,{"type":"move-to","x":0.46953125,"y":0.205}],[19,{"type":"line-to","x":0.4703125,"y":0.20375}],[16,{"type":"line-to","x":0.47109375,"y":0.20375}],[17,{"type":"line-to","x":0.4734375,"y":0.2075}],[17,{"type":"line-to","x":0.475,"y":0.22625}],[18,{"type":"line-to","x":0.47578125,"y":0.2425}],[16,{"type":"line-to","x":0.47578125,"y":0.26}],[15,{"type":"line-to","x":0.4765625,"y":0.28125}],[17,{"type":"line-to","x":0.4796875,"y":0.29375}],[16,{"type":"line-to","x":0.48125,"y":0.295}],[18,{"type":"line-to","x":0.484375,"y":0.29625}],[17,{"type":"line-to","x":0.4875,"y":0.2925}],[15,{"type":"line-to","x":0.49140625,"y":0.28125}],[18,{"type":"line-to","x":0.4921875,"y":0.275}],[16,{"type":"line-to","x":0.49140625,"y":0.26875}],[104,{"type":"move-to","x":0.46171875,"y":0.25625}],[12,{"type":"line-to","x":0.46171875,"y":0.2575}],[19,{"type":"line-to","x":0.46640625,"y":0.2575}],[16,{"type":"line-to","x":0.4703125,"y":0.2575}],[15,{"type":"line-to","x":0.478125,"y":0.25375}],[17,{"type":"line-to","x":0.48515625,"y":0.25}],[17,{"type":"line-to","x":0.4921875,"y":0.24625}],[359,{"type":"set-stroke-style","strokeStyle":"#000000"}],[286,{"type":"move-to","x":0.5671875,"y":0.24875}],[20,{"type":"line-to","x":0.565625,"y":0.24875}],[15,{"type":"line-to","x":0.565625,"y":0.25125}],[18,{"type":"line-to","x":0.5671875,"y":0.2625}],[17,{"type":"line-to","x":0.56953125,"y":0.27625}],[18,{"type":"line-to","x":0.5734375,"y":0.29625}],[15,{"type":"line-to","x":0.5765625,"y":0.31875}],[16,{"type":"line-to","x":0.58046875,"y":0.34875}],[17,{"type":"line-to","x":0.58125,"y":0.36125}],[17,{"type":"line-to","x":0.58125,"y":0.3675}],[16,{"type":"line-to","x":0.58046875,"y":0.3675}],[17,{"type":"line-to","x":0.57890625,"y":0.3575}],[17,{"type":"line-to","x":0.57734375,"y":0.32875}],[16,{"type":"line-to","x":0.57578125,"y":0.3}],[18,{"type":"line-to","x":0.575,"y":0.27375}],[16,{"type":"line-to","x":0.575,"y":0.2575}],[15,{"type":"line-to","x":0.57734375,"y":0.25}],[18,{"type":"line-to","x":0.58125,"y":0.24875}],[16,{"type":"line-to","x":0.5859375,"y":0.25125}],[17,{"type":"line-to","x":0.590625,"y":0.2575}],[16,{"type":"line-to","x":0.59375,"y":0.2675}],[18,{"type":"line-to","x":0.58984375,"y":0.28125}],[17,{"type":"line-to","x":0.58359375,"y":0.28875}],[18,{"type":"line-to","x":0.578125,"y":0.2925}],[16,{"type":"line-to","x":0.57421875,"y":0.29125}],[14,{"type":"line-to","x":0.57578125,"y":0.28125}],[16,{"type":"line-to","x":0.57890625,"y":0.2775}],[99,{"type":"move-to","x":0.6140625,"y":0.24875}],[19,{"type":"line-to","x":0.61328125,"y":0.24875}],[16,{"type":"line-to","x":0.61171875,"y":0.2525}],[17,{"type":"line-to","x":0.60859375,"y":0.2625}],[17,{"type":"line-to","x":0.6078125,"y":0.2725}],[17,{"type":"line-to","x":0.6078125,"y":0.2775}],[17,{"type":"line-to","x":0.61015625,"y":0.27875}],[15,{"type":"line-to","x":0.61484375,"y":0.27125}],[18,{"type":"line-to","x":0.6171875,"y":0.26375}],[16,{"type":"line-to","x":0.6171875,"y":0.25625}],[18,{"type":"line-to","x":0.6171875,"y":0.2525}],[15,{"type":"line-to","x":0.6171875,"y":0.2525}],[15,{"type":"line-to","x":0.6171875,"y":0.2575}],[19,{"type":"line-to","x":0.61875,"y":0.27}],[17,{"type":"line-to","x":0.621875,"y":0.275}],[16,{"type":"line-to","x":0.6265625,"y":0.27625}],[11,{"type":"line-to","x":0.62890625,"y":0.27625}],[506,{"type":"move-to","x":0.65234375,"y":0.24375}],[16,{"type":"line-to","x":0.65078125,"y":0.24}],[17,{"type":"line-to","x":0.646875,"y":0.24}],[15,{"type":"line-to","x":0.640625,"y":0.245}],[18,{"type":"line-to","x":0.63671875,"y":0.25375}],[16,{"type":"line-to","x":0.63515625,"y":0.26375}],[16,{"type":"line-to","x":0.6359375,"y":0.2725}],[16,{"type":"line-to","x":0.64375,"y":0.2775}],[17,{"type":"line-to","x":0.65078125,"y":0.27625}],[16,{"type":"line-to","x":0.65625,"y":0.27}],[170,{"type":"move-to","x":0.65625,"y":0.18625}],[15,{"type":"line-to","x":0.65546875,"y":0.1875}],[15,{"type":"line-to","x":0.65625,"y":0.19625}],[18,{"type":"line-to","x":0.65859375,"y":0.20875}],[15,{"type":"line-to","x":0.66171875,"y":0.2275}],[17,{"type":"line-to","x":0.66484375,"y":0.2475}],[18,{"type":"line-to","x":0.66640625,"y":0.265}],[15,{"type":"line-to","x":0.66875,"y":0.28125}],[18,{"type":"line-to","x":0.66875,"y":0.285}],[16,{"type":"line-to","x":0.66875,"y":0.2825}],[17,{"type":"line-to","x":0.66875,"y":0.27625}],[15,{"type":"line-to","x":0.66953125,"y":0.26875}],[17,{"type":"line-to","x":0.67265625,"y":0.26375}],[18,{"type":"line-to","x":0.67578125,"y":0.265}],[16,{"type":"line-to","x":0.67890625,"y":0.27}],[17,{"type":"line-to","x":0.68203125,"y":0.27625}],[16,{"type":"line-to","x":0.6859375,"y":0.28125}],[17,{"type":"line-to","x":0.68671875,"y":0.28125}],[18,{"type":"line-to","x":0.68671875,"y":0.27875}],[79,{"type":"move-to","x":0.66484375,"y":0.25375}],[22,{"type":"line-to","x":0.66484375,"y":0.255}],[13,{"type":"line-to","x":0.66875,"y":0.25375}],[18,{"type":"line-to","x":0.67578125,"y":0.25}],[16,{"type":"line-to","x":0.68359375,"y":0.24625}],[18,{"type":"line-to","x":0.69140625,"y":0.24375}],[16,{"type":"line-to","x":0.69765625,"y":0.24375}],[92,{"type":"move-to","x":0.715625,"y":0.2375}],[24,{"type":"line-to","x":0.71328125,"y":0.23625}],[18,{"type":"line-to","x":0.7109375,"y":0.2375}],[14,{"type":"line-to","x":0.70859375,"y":0.2425}],[18,{"type":"line-to","x":0.703125,"y":0.255}],[17,{"type":"line-to","x":0.70234375,"y":0.26375}],[16,{"type":"line-to","x":0.70390625,"y":0.26625}],[18,{"type":"line-to","x":0.7078125,"y":0.265}],[15,{"type":"line-to","x":0.71328125,"y":0.255}],[16,{"type":"line-to","x":0.71484375,"y":0.2475}],[18,{"type":"line-to","x":0.715625,"y":0.24125}],[16,{"type":"line-to","x":0.715625,"y":0.2375}],[17,{"type":"line-to","x":0.715625,"y":0.24}],[16,{"type":"line-to","x":0.715625,"y":0.245}],[17,{"type":"line-to","x":0.71796875,"y":0.25625}],[17,{"type":"line-to","x":0.721875,"y":0.26}],[17,{"type":"line-to","x":0.72578125,"y":0.2625}],[18,{"type":"line-to","x":0.7296875,"y":0.2625}],[316,{"type":"move-to","x":0.7578125,"y":0.23125}],[15,{"type":"line-to","x":0.7578125,"y":0.23}],[16,{"type":"line-to","x":0.75546875,"y":0.22875}],[17,{"type":"line-to","x":0.75234375,"y":0.23}],[17,{"type":"line-to","x":0.74765625,"y":0.235}],[15,{"type":"line-to","x":0.74140625,"y":0.25}],[18,{"type":"line-to","x":0.740625,"y":0.25875}],[17,{"type":"line-to","x":0.74453125,"y":0.26125}],[15,{"type":"line-to","x":0.7515625,"y":0.25875}],[18,{"type":"line-to","x":0.7578125,"y":0.25125}],[16,{"type":"line-to","x":0.76328125,"y":0.23875}],[17,{"type":"line-to","x":0.76328125,"y":0.2325}],[17,{"type":"line-to","x":0.76171875,"y":0.23}],[16,{"type":"line-to","x":0.76015625,"y":0.23}],[15,{"type":"line-to","x":0.7578125,"y":0.23375}],[19,{"type":"line-to","x":0.7578125,"y":0.23625}],[16,{"type":"line-to","x":0.7578125,"y":0.2375}],[16,{"type":"line-to","x":0.7578125,"y":0.2375}],[16,{"type":"line-to","x":0.7578125,"y":0.2375}],[18,{"type":"line-to","x":0.75859375,"y":0.2375}],[17,{"type":"line-to","x":0.75859375,"y":0.2375}],[17,{"type":"line-to","x":0.759375,"y":0.24}],[16,{"type":"line-to","x":0.76015625,"y":0.2475}],[16,{"type":"line-to","x":0.76328125,"y":0.265}],[17,{"type":"line-to","x":0.765625,"y":0.28}],[18,{"type":"line-to","x":0.7671875,"y":0.29625}],[15,{"type":"line-to","x":0.76875,"y":0.31375}],[16,{"type":"line-to","x":0.76875,"y":0.33}],[18,{"type":"line-to","x":0.765625,"y":0.3475}],[16,{"type":"line-to","x":0.7609375,"y":0.355}],[16,{"type":"line-to","x":0.7546875,"y":0.35875}],[17,{"type":"line-to","x":0.74609375,"y":0.35625}],[18,{"type":"line-to","x":0.73515625,"y":0.34375}],[15,{"type":"line-to","x":0.73046875,"y":0.3325}],[17,{"type":"line-to","x":0.728125,"y":0.3225}],[18,{"type":"line-to","x":0.728125,"y":0.3125}],[10,{"type":"line-to","x":0.7296875,"y":0.30875}],[262,{"type":"move-to","x":0.77734375,"y":0.25375}],[10,{"type":"line-to","x":0.778125,"y":0.25375}],[16,{"type":"line-to","x":0.77890625,"y":0.255}],[17,{"type":"line-to","x":0.78046875,"y":0.255}],[15,{"type":"line-to","x":0.78203125,"y":0.25625}],[17,{"type":"line-to","x":0.78359375,"y":0.255}],[18,{"type":"line-to","x":0.7859375,"y":0.2525}],[15,{"type":"line-to","x":0.7875,"y":0.24875}],[17,{"type":"line-to","x":0.7875,"y":0.24375}],[17,{"type":"line-to","x":0.78515625,"y":0.23875}],[19,{"type":"line-to","x":0.78125,"y":0.23625}],[16,{"type":"line-to","x":0.77578125,"y":0.24125}],[16,{"type":"line-to","x":0.775,"y":0.24625}],[16,{"type":"line-to","x":0.77421875,"y":0.25625}],[16,{"type":"line-to","x":0.7796875,"y":0.27}],[17,{"type":"line-to","x":0.78671875,"y":0.2725}],[17,{"type":"line-to","x":0.79375,"y":0.2725}],[18,{"type":"line-to","x":0.79921875,"y":0.26875}],[2,{"type":"line-to","x":0.8,"y":0.26625}],[3256,{"type":"erase","x":0.8671875,"y":0.0525,"r":0.02}],[17,{"type":"erase","x":0.865625,"y":0.0525,"r":0.02}],[17,{"type":"erase","x":0.8640625,"y":0.0525,"r":0.02}],[16,{"type":"erase","x":0.8640625,"y":0.055,"r":0.02}],[19,{"type":"erase","x":0.865625,"y":0.065,"r":0.02}],[15,{"type":"erase","x":0.86640625,"y":0.08,"r":0.02}],[15,{"type":"erase","x":0.86640625,"y":0.0975,"r":0.02}],[17,{"type":"erase","x":0.86640625,"y":0.11625,"r":0.02}],[17,{"type":"erase","x":0.8640625,"y":0.1325,"r":0.02}],[16,{"type":"erase","x":0.86015625,"y":0.15125,"r":0.02}],[17,{"type":"erase","x":0.859375,"y":0.1575,"r":0.02}],[19,{"type":"erase","x":0.8609375,"y":0.15875,"r":0.02}],[16,{"type":"erase","x":0.86328125,"y":0.15375,"r":0.02}],[16,{"type":"erase","x":0.8671875,"y":0.14375,"r":0.02}],[15,{"type":"erase","x":0.87265625,"y":0.1275,"r":0.02}],[17,{"type":"erase","x":0.87421875,"y":0.1175,"r":0.02}],[17,{"type":"erase","x":0.87421875,"y":0.1075,"r":0.02}],[17,{"type":"erase","x":0.87265625,"y":0.0975,"r":0.02}],[17,{"type":"erase","x":0.86953125,"y":0.085,"r":0.02}],[15,{"type":"erase","x":0.86796875,"y":0.08125,"r":0.02}],[19,{"type":"erase","x":0.86796875,"y":0.0825,"r":0.02}],[16,{"type":"erase","x":0.86796875,"y":0.09125,"r":0.02}],[16,{"type":"erase","x":0.86875,"y":0.105,"r":0.02}],[16,{"type":"erase","x":0.86953125,"y":0.12625,"r":0.02}],[17,{"type":"erase","x":0.86796875,"y":0.13625,"r":0.02}],[18,{"type":"erase","x":0.8671875,"y":0.14125,"r":0.02}],[16,{"type":"erase","x":0.86640625,"y":0.1425,"r":0.02}],[16,{"type":"erase","x":0.86640625,"y":0.1375,"r":0.02}],[17,{"type":"erase","x":0.86796875,"y":0.1225,"r":0.02}],[17,{"type":"erase","x":0.86875,"y":0.1125,"r":0.02}],[17,{"type":"erase","x":0.86796875,"y":0.10625,"r":0.02}],[16,{"type":"erase","x":0.86640625,"y":0.10375,"r":0.02}],[16,{"type":"erase","x":0.86328125,"y":0.105,"r":0.02}],[17,{"type":"erase","x":0.86171875,"y":0.1075,"r":0.02}],[17,{"type":"erase","x":0.8609375,"y":0.11,"r":0.02}],[17,{"type":"erase","x":0.86015625,"y":0.1125,"r":0.02}],[15,{"type":"erase","x":0.86015625,"y":0.115,"r":0.02}],[17,{"type":"erase","x":0.85859375,"y":0.11875,"r":0.02}],[17,{"type":"erase","x":0.8578125,"y":0.12,"r":0.02}],[18,{"type":"erase","x":0.8578125,"y":0.12,"r":0.02}],[15,{"type":"erase","x":0.8578125,"y":0.1175,"r":0.02}],[18,{"type":"erase","x":0.8578125,"y":0.115,"r":0.02}],[16,{"type":"erase","x":0.859375,"y":0.1125,"r":0.02}],[16,{"type":"erase","x":0.859375,"y":0.11125,"r":0.02}],[17,{"type":"erase","x":0.859375,"y":0.11,"r":0.02}],[15,{"type":"erase","x":0.859375,"y":0.11,"r":0.02}],[17,{"type":"erase","x":0.8578125,"y":0.1125,"r":0.02}],[17,{"type":"erase","x":0.85625,"y":0.12,"r":0.02}],[19,{"type":"erase","x":0.85546875,"y":0.12375,"r":0.02}],[15,{"type":"erase","x":0.85625,"y":0.12625,"r":0.02}],[17,{"type":"erase","x":0.859375,"y":0.1275,"r":0.02}],[15,{"type":"erase","x":0.8625,"y":0.1275,"r":0.02}],[18,{"type":"erase","x":0.86484375,"y":0.12875,"r":0.02}],[18,{"type":"erase","x":0.865625,"y":0.13125,"r":0.02}],[15,{"type":"erase","x":0.86640625,"y":0.1375,"r":0.02}],[19,{"type":"erase","x":0.865625,"y":0.15,"r":0.02}],[1152,{"type":"move-to","x":0.86328125,"y":0.09125}],[25,{"type":"line-to","x":0.86328125,"y":0.09125}],[16,{"type":"line-to","x":0.86328125,"y":0.09125}],[17,{"type":"line-to","x":0.86328125,"y":0.09125}],[18,{"type":"line-to","x":0.86171875,"y":0.09125}],[16,{"type":"line-to","x":0.86015625,"y":0.09125}],[19,{"type":"line-to","x":0.85625,"y":0.09125}],[16,{"type":"line-to","x":0.8515625,"y":0.095}],[15,{"type":"line-to","x":0.846875,"y":0.10125}],[17,{"type":"line-to","x":0.84453125,"y":0.11375}],[16,{"type":"line-to","x":0.84609375,"y":0.12}],[18,{"type":"line-to","x":0.85078125,"y":0.1225}],[15,{"type":"line-to","x":0.85859375,"y":0.1225}],[17,{"type":"line-to","x":0.86796875,"y":0.115}],[16,{"type":"line-to","x":0.86953125,"y":0.11}],[17,{"type":"line-to","x":0.86875,"y":0.10625}],[170,{"type":"move-to","x":0.86015625,"y":0.045}],[12,{"type":"line-to","x":0.86015625,"y":0.04375}],[17,{"type":"line-to","x":0.85859375,"y":0.04125}],[17,{"type":"line-to","x":0.85859375,"y":0.04125}],[17,{"type":"line-to","x":0.8578125,"y":0.04125}],[17,{"type":"line-to","x":0.8578125,"y":0.04125}],[16,{"type":"line-to","x":0.8578125,"y":0.04125}],[17,{"type":"line-to","x":0.85859375,"y":0.04875}],[16,{"type":"line-to","x":0.859375,"y":0.05375}],[19,{"type":"line-to","x":0.8625,"y":0.075}],[14,{"type":"line-to","x":0.8640625,"y":0.085}],[18,{"type":"line-to","x":0.8671875,"y":0.115}],[16,{"type":"line-to","x":0.86953125,"y":0.13375}],[17,{"type":"line-to","x":0.87109375,"y":0.13875}],[17,{"type":"line-to","x":0.871875,"y":0.14125}]] +} diff --git a/style.css b/static/style.css similarity index 55% rename from style.css rename to static/style.css index ea6308f..b6b0606 100644 --- a/style.css +++ b/static/style.css @@ -1,4 +1,147 @@ .CodeMirror{display:block;position:absolute;left:0;top:0;font-size:.9rem;height:calc(100% - var(--rp-controls-height) - 3rem) !important;position:absolute !important;top:0 !important;width:var(--split)}.CodeMirror textarea{background-color:#26292c !important;color:#0f0 !important;font-family:"Consolas",monospace;font-size:.7em}.rp-codebooth{height:100%;width:100%;--split:50%}.rp-codebooth button{border:0 none transparent;border-radius:0;color:#fff;cursor:pointer;font-family:"Alegreya",serif;font-size:1.5rem;height:3rem;position:absolute;bottom:var(--rp-controls-height);width:calc(var(--split) / 5);z-index:1000}.active-replay .code-playground,.active-playground .code-replay{opacity:0;pointer-events:none}.button-replay,.button-playground{background-color:#444;color:#666}.button-replay:active,.button-playground:active{background-color:#8c1352;color:#ccc}.active-replay .button-replay,.active-playground .button-playground{background-color:#e12486}.button-playground{left:calc(var(--split) / 5)}.button-copy{background-color:#1a69b5;left:calc(var(--split) * 2 / 5)}.button-copy:active{background-color:#16599a}.button-run{background-color:#18a85e;left:calc(var(--split) * 3 / 5)}.button-run:active{background-color:#148f50}.button-clear{background-color:#d50000;left:calc(var(--split) * 4 / 5)}.button-clear:active{background-color:#8b0000}.rp-codebooth-output{background-color:#1e1e1e;color:#0f0;font-size:1rem;overflow-y:auto;padding:.25rem;user-select:text;-webkit-user-select:text;position:absolute;width:calc(100% - var(--split));right:0;height:calc(var(--rp-height) - var(--rp-controls-height));top:0;white-space:pre-wrap;overflow-wrap:anywhere}.rp-codebooth-output .error{color:#f00}.rp-codebooth-output > .ui-resizable{position:relative}.rp-codebooth-output > .ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.rp-codebooth-output > .ui-resizable-disabled .ui-resizable-handle,.rp-codebooth-output .ui-resizable-autohide .ui-resizable-handle{display:none}.rp-codebooth-output > .ui-resizable-ew{cursor:ew-resize;width:7px;left:-5px;top:0;height:100%} -.rp-paint-layer{background:transparent;height:100%;width:100%;position:absolute;left:0;top:0;z-index:2}.rp-paint-layer.noinput{pointer-events:none}.rp-paint-canvas-container:not(.visible){opacity:0;pointer-events:none}.rp-paint-settings{background:#333;border:1px solid #222;border-radius:.25rem;box-shadow:.2rem .2rem .2rem rgba(0,0,0,0.267);box-sizing:content-box;padding:.4rem;position:absolute;height:4.8rem;z-index:20000;white-space:nowrap;left:80%;top:1rem}.rp-paint-settings > *{display:inline-block;margin:0;vertical-align:top}.rp-paint-settings > ul > li{border:1px solid #999;height:4rem;width:4rem;display:inline-block;list-style-type:none;margin:0 .15rem;vertical-align:top}.rp-paint-settings > ul > li > input[type="radio"]{box-shadow:inset 0 0 2px #000;border:0;cursor:pointer;height:100%;width:100%;vertical-align:top;-webkit-appearance:none}.rp-paint-drag-handle,.rp-paint-drag-handle:empty{width:1rem;height:100%;cursor:move}.rp-paint-drag-handle::before,.rp-paint-drag-handle:empty::before{content:"°";color:#fff;vertical-align:middle;line-height:4.8rem}.rp-paint-tool{background:#222;border:1px solid #000;height:100%;display:inline-block;padding:2px;margin-right:2px;width:4.8rem}.rp-paint-tool.selected{border:1px solid #ffd700;background:#444}.rp-paint-tool > svg{height:100%}.rp-paint-eraser{background:#444}.rp-paint-palette{background:#444;box-shadow:.2rem .2rem .2rem rgba(0,0,0,0.267);padding:.2em;height:calc(4.8rem + 2 * 0.2em);position:absolute;top:4.8rem;left:calc(1rem + 1 * (4.8rem + 2px) + 2px)}.rp-sheets-dialog{background:#444;box-shadow:0 .2rem .5rem #000;padding:.2em;position:absolute;top:calc(4.8rem + 0.8rem);left:calc(1rem + 3 * (4.8rem + 2px) + 2px)}.rp-sheets-dialog > ol{list-style-position:inside}.rp-sheets-dialog > ol > li{color:#fff;height:5em;vertical-align:top}.rp-sheets-dialog > ol > li.selected{background:#666}.rp-sheets-dialog > ol > li > img{height:100%;vertical-align:top}.rp-paint-color{border:1px solid #000;display:inline-block;height:4.8rem;line-height:4.8rem;width:4.8rem;margin-right:.5em;position:relative}.rp-paint-color > input{border:none;height:100%;width:100%}.rp-paint-color > kbd{color:#fff;font-size:2em;position:absolute;left:0;height:0;width:100%;height:100%;pointer-events:none;text-align:center;vertical-align:middle} -.rp-prompt{border-radius:2px;color:#fff;position:absolute;width:35em}.rp-prompt > :first-child,.rp-prompt > .rp-prompt-cue.active{border-radius:2px 2px 0 0}.rp-prompt > :last-child{border-radius:0 0 2px 2px}.rp-prompt > *{display:none}.rp-prompt > .active,.rp-prompt .active ~ *{display:block}.rp-prompt > :not(.active){opacity:.2}.rp-prompt-cue{background:#ffa500;font-family:monospace;font-size:.625em;padding:2px 0 2px 1em}.rp-prompt-line{padding:.1em .5em}.rp-prompt-line:nth-of-type(odd){background:#555}.rp-prompt-line:nth-of-type(even){background:#333}.rp-prompt-measure{display:block !important;padding:.1em .5em} -@media (any-hover:none){.rp-controls-help{display:none}}.rp-controls-help{cursor:pointer;height:100%}.rp-help-dialog{background-color:rgba(0,0,0,0.85);color:#fff;font-size:1.5rem;height:100vh;padding:5vh 10vh;width:160vh;position:fixed;left:calc(50vw - 80vh);top:0;z-index:1001}.rp-help-dialog > button{background:none;border:none;color:#f00;cursor:pointer;font-family:sans-serif;font-size:5em;position:absolute;right:2%;top:-1%}.rp-help-tables{display:flex;justify-content:space-around}.rp-help-tables > table{border-collapse:separate;border-spacing:1em 1.5em;font-family:sans-serif;vertical-align:top}.rp-help-tables > table > caption{color:#1a69b5;font-family:sans-serif;font-size:1.2em;font-weight:bold}.rp-help-tables > table th{font-weight:normal;text-align:right}.rp-help-tables kbd{color:#ff0}.rp-loading-screen{background-color:rgba(0,0,0,0.7);display:none;height:100%;position:absolute;width:100%;z-index:10000}.rp-loading-spinner{border:16px solid #f3f3f3;border-top:16px solid #1a69b5;border-radius:50%;margin:40vmin auto 0 auto;width:20vmin;height:20vmin;animation:spin 1s linear infinite}.ractive-player.not-ready > .rp-loading-screen{display:block}@-moz-keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@-webkit-keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@-o-keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.rp-thumbnail-time{color:#222}h1{-webkit-background-clip:text;background-clip:text;color:#1a69b5;background-image:linear-gradient(90deg,#1a69b5 50%,#af1866 70%);-webkit-text-fill-color:transparent;font-family:"Alegreya","Georgia",serif;font-size:5rem;margin:.5em auto 0;text-align:center}h1 > img{height:2em;display:inline-block;margin:0 auto .2em;vertical-align:middle}#sec-intro > h2{color:#333;font-family:"Alegreya","Georgia",serif;font-size:3rem;margin:0 auto;text-align:center}.box{background:#fff;border-radius:.5em;margin:.5em auto;padding:.5em 1em;width:80%}.box > p{margin:.5em 0}#fiddle input{margin-left:.5em;vertical-align:middle}#diamond-age > img{height:100%}section > ul{font-size:1.5em;margin:2em auto;line-height:1.5;width:80%}section > ul list-style-position,section > ul > li{margin:1em 0}#sec-utils > ul{margin-top:-.5em}#sec-utils > ul > li{margin:1.5em 0}#utils-duck{position:absolute;top:0;left:0;width:10%}#utils-pig{position:absolute;top:57%;left:42.5%;width:15%}h2{color:#1a69b5;font-family:"Alegreya";font-size:4rem;margin-top:.5em;text-align:center}.rp-canvas{background:#eee}body{font-family:sans-serif}.draggable{cursor:grab;cursor:-webkit-grab}body.dragging .rp-canvas,body.dragging .draggable,.dragging{cursor:grabbing;cursor:-webkit-grabbing}section{font-size:1.5rem;height:100%;left:0;position:absolute;top:0;width:100%}.rp-prompt{color:#fff;font-size:1rem}:link,:visited{color:#1a69b5}#recording-https-link{display:block}.rp-cursor{width:2rem}#sec-cursor > p{font-size:2em;line-height:1.5;margin:1em} \ No newline at end of file +.rp-paint-layer { + background: transparent; + height: 100%; + width: 100%; + position: absolute; + left: 0; + top: 0; + z-index: 2; +} +.rp-paint-layer.noinput { + pointer-events: none; +} +.rp-paint-canvas-container:not(.visible) { + opacity: 0; + pointer-events: none; + position: unset; +} +.rp-paint-settings { + background: #333; + border: 1px solid #222; + border-radius: 0.25rem; + box-shadow: 0.2rem 0.2rem 0.2rem rgba(0,0,0,0.267); + box-sizing: content-box; + padding: 0.4rem; + position: absolute; + height: 4.8rem; + z-index: 20000; + white-space: nowrap; + left: 80%; + top: 1rem; +} +.rp-paint-settings > * { + display: inline-block; + margin: 0; + vertical-align: top; +} +.rp-paint-settings > ul > li { + border: 1px solid #999; + height: 4rem; + width: 4rem; + display: inline-block; + list-style-type: none; + margin: 0 0.15rem; + vertical-align: top; +} +.rp-paint-settings > ul > li > input[type="radio"] { + box-shadow: inset 0 0 2px #000; + border: 0; + cursor: pointer; + height: 100%; + width: 100%; + vertical-align: top; + -webkit-appearance: none; +} +.rp-paint-drag-handle, +.rp-paint-drag-handle:empty { + width: 1rem; + height: 100%; + cursor: move; +} +.rp-paint-drag-handle::before, +.rp-paint-drag-handle:empty::before { + content: "°"; + color: #fff; + vertical-align: middle; + line-height: 4.8rem; +} +.rp-paint-tool { + background: #222; + border: 1px solid #000; + height: 100%; + display: inline-block; + padding: 2px; + margin-right: 2px; + width: 4.8rem; +} +.rp-paint-tool.selected { + border: 1px solid #ffd700; + background: #444; +} +.rp-paint-tool > svg { + height: 100%; +} +.rp-paint-eraser { + background: #444; +} +.rp-paint-palette { + background: #444; + box-shadow: 0.2rem 0.2rem 0.2rem rgba(0,0,0,0.267); + padding: 0.2em; + height: calc(4.8rem + 2 * 0.2em); + position: absolute; + top: 4.8rem; + left: calc(1rem + 1 * (4.8rem + 2px) + 2px); +} +.rp-sheets-dialog { + background: #444; + box-shadow: 0 0.2rem 0.5rem #000; + padding: 0.2em; + position: absolute; + top: calc(4.8rem + 0.8rem); + left: calc(1rem + 3 * (4.8rem + 2px) + 2px); +} +.rp-sheets-dialog > ol { + list-style-position: inside; +} +.rp-sheets-dialog > ol > li { + color: #fff; + height: 5em; + vertical-align: top; +} +.rp-sheets-dialog > ol > li.selected { + background: #666; +} +.rp-sheets-dialog > ol > li > img { + height: 100%; + vertical-align: top; +} +.rp-paint-color { + border: 1px solid #000; + display: inline-block; + height: 4.8rem; + line-height: 4.8rem; + width: 4.8rem; + margin-right: 0.5em; + position: relative; +} +.rp-paint-color > input { + border: none; + height: 100%; + width: 100%; +} +.rp-paint-color > kbd { + color: #fff; + font-size: 2em; + position: absolute; + left: 0; + height: 0; + width: 100%; + height: 100%; + pointer-events: none; + text-align: center; + vertical-align: middle; +} + +@media (any-hover:none){.rp-controls-help{display:none}}.rp-controls-help{cursor:pointer;height:100%}.rp-help-dialog{background-color:rgba(0,0,0,0.85);color:#fff;font-size:1.5rem;height:100vh;padding:5vh 10vh;width:160vh;position:fixed;left:calc(50vw - 80vh);top:0;z-index:1001}.rp-help-dialog > button{background:none;border:none;color:#f00;cursor:pointer;font-family:sans-serif;font-size:5em;position:absolute;right:2%;top:-1%}.rp-help-tables{display:flex;justify-content:space-around}.rp-help-tables > table{border-collapse:separate;border-spacing:1em 1.5em;font-family:sans-serif;vertical-align:top}.rp-help-tables > table > caption{color:#1a69b5;font-family:sans-serif;font-size:1.2em;font-weight:bold}.rp-help-tables > table th{font-weight:normal;text-align:right}.rp-help-tables kbd{color:#ff0}.rp-loading-screen{background-color:rgba(0,0,0,0.7);display:none;height:100%;position:absolute;width:100%;z-index:10000}.rp-loading-spinner{border:16px solid #f3f3f3;border-top:16px solid #1a69b5;border-radius:50%;margin:40vmin auto 0 auto;width:20vmin;height:20vmin;animation:spin 1s linear infinite}.ractive-player.not-ready > .rp-loading-screen{display:block}@-moz-keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@-webkit-keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@-o-keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.lv-thumbnail-time{color:#222}h1{-webkit-background-clip:text;background-clip:text;color:#1a69b5;background-image:linear-gradient(90deg,#1a69b5 50%,#af1866 70%);-webkit-text-fill-color:transparent;font-family:"Alegreya","Georgia",serif;font-size:5rem;margin:.5em auto 0;text-align:center}h1 > img{height:2em;display:inline-block;margin:0 auto .2em;vertical-align:middle}#sec-intro > h2{color:#333;font-family:"Alegreya","Georgia",serif;font-size:3rem;margin:0 auto;text-align:center}.box{background:#fff;border-radius:.5em;margin:.5em auto;padding:.5em 1em;width:80%}.box > p{margin:.5em 0}#fiddle input{margin-left:.5em;vertical-align:middle}#diamond-age > img{height:100%}section > ul{font-size:1.5em;margin:2em auto;line-height:1.5;width:80%}section > ul list-style-position,section > ul > li{margin:1em 0}#sec-utils > ul{margin-top:-.5em}#sec-utils > ul > li{margin:1.5em 0}#utils-duck{position:absolute;top:0;left:0;width:10%}#utils-pig{position:absolute;top:57%;left:42.5%;width:15%}h2{color:#1a69b5;font-family:"Alegreya";font-size:4rem;margin-top:.5em;text-align:center}.lv-canvas{background:#eee}body{font-family:sans-serif}.draggable{cursor:grab;cursor:-webkit-grab}body.dragging .lv-canvas,body.dragging .draggable,.dragging{cursor:grabbing;cursor:-webkit-grabbing}section{font-size:1.5rem;height:100%;left:0;position:absolute;top:0;width:100%}.rp-prompt{color:#fff;font-size:1rem}:link,:visited{color:#1a69b5}#recording-https-link{display:block}.rp-cursor{width:2rem}#sec-cursor > p{font-size:2em;line-height:1.5;margin:1em}.lv-controls-buttons > button,.rp-controls-buttons > button,.lv-controls-right > button,.rp-controls-right > button,.lv-controls-volume > button,.rp-controls-volume > button{background:none;border:none;outline:none;cursor:pointer;opacity:.9;transition:opacity .1s cubic-bezier(.4,0,1,1);height:100%;padding:0;width:38px}.lv-controls-buttons > button:hover,.rp-controls-buttons > button:hover,.lv-controls-right > button:hover,.rp-controls-right > button:hover,.lv-controls-volume > button:hover,.rp-controls-volume > button:hover{opacity:1;transition:opacity .1s cubic-bezier(0,0,.2,1)}.lv-controls-buttons > button > svg,.rp-controls-buttons > button > svg,.lv-controls-right > button > svg,.rp-controls-right > button > svg,.lv-controls-volume > button > svg,.rp-controls-volume > button > svg{height:100%}.lv-controls-buttons > .lv-controls-volume > button > svg{padding:3px} \ No newline at end of file diff --git a/styl/style.styl b/styl/style.styl index 14dfaaa..d4a220c 100644 --- a/styl/style.styl +++ b/styl/style.styl @@ -1,6 +1,6 @@ @import "rp-codebooth/style.css" @import "rp-paint/style.css" -@import "rp-prompt/style.css" +// @import "rp-prompt/style.css" $blue = #1A69B5 $wine = #AF1866 @@ -8,7 +8,7 @@ $wine = #AF1866 @import "lib/help-control" @import "lib/loading-screen" -.rp-thumbnail-time +.lv-thumbnail-time color #222 @import "intro" @@ -22,7 +22,7 @@ h2 margin-top .5em text-align center -.rp-canvas +.lv-canvas background #EEE body @@ -32,7 +32,7 @@ body cursor grab cursor -webkit-grab -body.dragging .rp-canvas, body.dragging .draggable, .dragging +body.dragging .lv-canvas, body.dragging .draggable, .dragging cursor grabbing cursor -webkit-grabbing @@ -61,4 +61,30 @@ section font-size 2em line-height 1.5 margin 1em - \ No newline at end of file + + +.lv-controls-buttons, .rp-controls-buttons, +.lv-controls-right, .rp-controls-right, +.lv-controls-volume, .rp-controls-volume + > button + background none + border none + outline none + cursor pointer + opacity .9 + transition opacity .1s cubic-bezier(0.4,0,1,1) + height 100% + padding 0 + width 38px + + &:hover + opacity 1 + transition opacity .1s cubic-bezier(0,0,0.2,1) + + > svg + height 100% + +.lv-controls-buttons > .lv-controls-volume > button + > svg + padding 3px + diff --git a/tsconfig.json b/tsconfig.json index da41d9e..04f4361 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ "allowJs": true, "alwaysStrict": true, "incremental": true, - "jsx": "react", + "jsx": "react-jsx", "lib": ["es2015", "es2016", "es2017", "dom"], "moduleResolution": "node", "pretty": true, diff --git a/webpack.config.js b/webpack.config.js index 143b907..b518420 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,12 +1,13 @@ const TerserPlugin = require("terser-webpack-plugin"); +const path = require("path"); const mode = process.env.NODE_ENV ?? "development"; module.exports = { - entry: `${__dirname}/src/index.tsx`, + entry: path.join(__dirname, "src", "index.tsx"), output: { filename: "bundle.js", - path: process.cwd() + path: path.join(process.cwd(), "static") }, externals: { diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..de5aaff --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3695 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/runtime@^7.17.2", "@babel/runtime@^7.7.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" + integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== + dependencies: + regenerator-runtime "^0.13.4" + +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== + +"@cspotcode/source-map-support@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== + dependencies: + "@cspotcode/source-map-consumer" "0.8.0" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@eslint/eslintrc@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" + integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.3.1" + globals "^13.9.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.9.2": + version "0.9.5" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" + integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@jimp/bmp@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.16.1.tgz#6e2da655b2ba22e721df0795423f34e92ef13768" + integrity sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + bmp-js "^0.1.0" + +"@jimp/core@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/core/-/core-0.16.1.tgz#68c4288f6ef7f31a0f6b859ba3fb28dae930d39d" + integrity sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + any-base "^1.1.0" + buffer "^5.2.0" + exif-parser "^0.1.12" + file-type "^9.0.0" + load-bmfont "^1.3.1" + mkdirp "^0.5.1" + phin "^2.9.1" + pixelmatch "^4.0.2" + tinycolor2 "^1.4.1" + +"@jimp/custom@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.16.1.tgz#28b659c59e20a1d75a0c46067bd3f4bd302cf9c5" + integrity sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/core" "^0.16.1" + +"@jimp/gif@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.16.1.tgz#d1f7c3a58f4666482750933af8b8f4666414f3ca" + integrity sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + gifwrap "^0.9.2" + omggif "^1.0.9" + +"@jimp/jpeg@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.16.1.tgz#3b7bb08a4173f2f6d81f3049b251df3ee2ac8175" + integrity sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + jpeg-js "0.4.2" + +"@jimp/plugin-blit@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz#09ea919f9d326de3b9c2826fe4155da37dde8edb" + integrity sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-blur@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz#e614fa002797dcd662e705d4cea376e7db968bf5" + integrity sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-circle@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz#20e3194a67ca29740aba2630fd4d0a89afa27491" + integrity sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-color@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.16.1.tgz#0f298ba74dee818b663834cd80d53e56f3755233" + integrity sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + tinycolor2 "^1.4.1" + +"@jimp/plugin-contain@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz#3c5f5c495fd9bb08a970739d83694934f58123f2" + integrity sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-cover@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz#0e8caec16a40abe15b1b32e5383a603a3306dc41" + integrity sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-crop@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz#b362497c873043fe47ba881ab08604bf7226f50f" + integrity sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-displace@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz#4dd9db518c3e78de9d723f86a234bf98922afe8d" + integrity sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-dither@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz#b47de2c0bb09608bed228b41c3cd01a85ec2d45b" + integrity sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-fisheye@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz#f625047b6cdbe1b83b89e9030fd025ab19cdb1a4" + integrity sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-flip@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz#7a99ea22bde802641017ed0f2615870c144329bb" + integrity sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-gaussian@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz#0845e314085ccd52e34fad9a83949bc0d81a68e8" + integrity sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-invert@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz#7e6f5a15707256f3778d06921675bbcf18545c97" + integrity sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-mask@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz#e7f2460e05c3cda7af5e76f33ccb0579f66f90df" + integrity sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-normalize@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz#032dfd88eefbc4dedc8b1b2d243832e4f3af30c8" + integrity sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-print@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.16.1.tgz#66b803563f9d109825970714466e6ab9ae639ff6" + integrity sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + load-bmfont "^1.4.0" + +"@jimp/plugin-resize@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz#65e39d848ed13ba2d6c6faf81d5d590396571d10" + integrity sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-rotate@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz#53fb5d51a4b3d05af9c91c2a8fffe5d7a1a47c8c" + integrity sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-scale@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz#89f6ba59feed3429847ed226aebda33a240cc647" + integrity sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-shadow@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz#a7af892a740febf41211e10a5467c3c5c521a04c" + integrity sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-threshold@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz#34f3078f9965145b7ae26c53a32ad74b1195bbf5" + integrity sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugins@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.16.1.tgz#9f08544c97226d6460a16ced79f57e85bec3257b" + integrity sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/plugin-blit" "^0.16.1" + "@jimp/plugin-blur" "^0.16.1" + "@jimp/plugin-circle" "^0.16.1" + "@jimp/plugin-color" "^0.16.1" + "@jimp/plugin-contain" "^0.16.1" + "@jimp/plugin-cover" "^0.16.1" + "@jimp/plugin-crop" "^0.16.1" + "@jimp/plugin-displace" "^0.16.1" + "@jimp/plugin-dither" "^0.16.1" + "@jimp/plugin-fisheye" "^0.16.1" + "@jimp/plugin-flip" "^0.16.1" + "@jimp/plugin-gaussian" "^0.16.1" + "@jimp/plugin-invert" "^0.16.1" + "@jimp/plugin-mask" "^0.16.1" + "@jimp/plugin-normalize" "^0.16.1" + "@jimp/plugin-print" "^0.16.1" + "@jimp/plugin-resize" "^0.16.1" + "@jimp/plugin-rotate" "^0.16.1" + "@jimp/plugin-scale" "^0.16.1" + "@jimp/plugin-shadow" "^0.16.1" + "@jimp/plugin-threshold" "^0.16.1" + timm "^1.6.1" + +"@jimp/png@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/png/-/png-0.16.1.tgz#f24cfc31529900b13a2dd9d4fdb4460c1e4d814e" + integrity sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + pngjs "^3.3.3" + +"@jimp/tiff@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.16.1.tgz#0e8756695687d7574b6bc73efab0acd4260b7a12" + integrity sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ== + dependencies: + "@babel/runtime" "^7.7.2" + utif "^2.0.1" + +"@jimp/types@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/types/-/types-0.16.1.tgz#0dbab37b3202315c91010f16c31766d35a2322cc" + integrity sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/bmp" "^0.16.1" + "@jimp/gif" "^0.16.1" + "@jimp/jpeg" "^0.16.1" + "@jimp/png" "^0.16.1" + "@jimp/tiff" "^0.16.1" + timm "^1.6.1" + +"@jimp/utils@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.16.1.tgz#2f51e6f14ff8307c4aa83d5e1a277da14a9fe3f7" + integrity sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw== + dependencies: + "@babel/runtime" "^7.7.2" + regenerator-runtime "^0.13.3" + +"@liqvid/captioning@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@liqvid/captioning/-/captioning-1.0.0.tgz#8b9a20ffc2e06f3ce9aff7e355827504a321532f" + integrity sha512-xFFCvvEo4BmUO6hiUhneQt1eYXbO++iYfkJC2cZpUw3ztFLYNVrfz7BlJmauseW2FwItstBjSw52h0wkb9BokQ== + +"@liqvid/cli@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@liqvid/cli/-/cli-1.0.3.tgz#84ed3cd5bfc17df1ab5540e558711d534934e3e3" + integrity sha512-fHUIz7Y50ZQM3whBIvrBket46o/hD6A+oowBo/f0PGcCDLXGP+lsQAcGsvrgoz66BnUV1rOKqRSGpthq2UdWNA== + dependencies: + "@liqvid/captioning" "^1.0.0" + "@liqvid/renderer" "^1.0.2" + "@liqvid/server" "^1.0.0" + "@liqvid/utils" "^1.0.0" + cli-progress "^3.9.0" + execa "^5.1.1" + ts-node "^10.4.0" + webpack "^5.65.0" + yargs "^17.0.1" + yargs-parser "^20.2.9" + +"@liqvid/keymap@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@liqvid/keymap/-/keymap-1.1.2.tgz#789ecc3ff2f31c87ca34245f5b71ba2a9fcc8437" + integrity sha512-ErjRFBWt9MJixmGro6KZMHOAWjNv0mvJ2ixDBHatT/xaLtDovxtwiAe72mHPDmXvWm3aHRYzchtby7PccZktKA== + +"@liqvid/magic@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@liqvid/magic/-/magic-1.1.0.tgz#ba8b6ba47a5f6df2f1ad70edead4c266a530feee" + integrity sha512-vVT6odE52UUdG9yrRDoTpaxR0irg7QkAXj77ZCQD9Vp5KB0ARJssrHh5YCSgsCEvbVjUWKV8kYxyU0yuCaZanQ== + +"@liqvid/playback@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@liqvid/playback/-/playback-1.1.3.tgz#7d471cb8c44cec488847aacaf95245e763b64094" + integrity sha512-qy62IpkA+rlmd/nLfBjvu+m1rO1e1iAUBD2ORzkHqU/TqoLL5bJGZreM2GU848O+kZEBHYJsfIYcEgME1Le7sw== + dependencies: + "@liqvid/utils" "1.3.0" + "@lqv/playback" "^0.0.1" + "@types/events" "^3.0.0" + events "^3.3.0" + strict-event-emitter-types "^2.0.0" + +"@liqvid/renderer@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@liqvid/renderer/-/renderer-1.0.2.tgz#2447f94b4f2de1bb3a209ed60ee25d9f3501b0e9" + integrity sha512-wbS/O5RRj8yjDVtLU3r66fc2su/0tZon/OfkaWtKSVi87Pnq4jbVDDtKWr3W1hVXGXrXnp8ljs5VEPi99s0Ovw== + dependencies: + "@liqvid/utils" "^1.0.0" + cli-progress "^3.9.0" + execa "^5.0.0" + jimp "^0.16.1" + puppeteer-core "10.0.0" + puppeteer-mass-screenshots "^1.0.15" + puppeteer-video-recorder "^1.0.5" + yargs-parser "^20.2.7" + +"@liqvid/server@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@liqvid/server/-/server-1.0.1.tgz#7341636159aad6618f02b24b3e699a5acddec9dd" + integrity sha512-9yG6ZgSC7+k48KydWa8J1bqkT4s38WFiiK8zB2vNcgL0IlV1sKP8fiA3vYsdxYUOszTE6cC97lFAL56ZR32ESw== + dependencies: + "@liqvid/magic" "^1.0.0" + "@types/express" "^4.17.13" + "@types/node" "^16.11.13" + body-parser "^1.19.1" + compression "^1.7.4" + cookie-parser "^1.4.6" + express "^4.17.1" + livereload "^0.9.3" + typescript "^4.5.4" + webpack "^5.65.0" + +"@liqvid/utils@1.3.0", "@liqvid/utils@^1.0.0", "@liqvid/utils@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@liqvid/utils/-/utils-1.3.0.tgz#a30a09e74583dda9e16122f82897d8c3c11f295c" + integrity sha512-6EQjHjvQky+uoXY105P5UlS7XNNpUHwI81++4SvLrEhzxXBOEnnIzD0Ywnulv3+tvH0TZ8tyPTXkMW6/1SZ5jQ== + dependencies: + bezier-easing "^2.1.0" + +"@lqv/playback@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@lqv/playback/-/playback-0.0.1.tgz#f6c8bc1394ebd19eec6d8e03bc38d6c9737ca625" + integrity sha512-Bl5AFp7Igu1mjpthNtGfXlL/EBojKthmL7nRdpzj0ZlX4FRTosEyOJrjXaMellEyAwqzLX8gN/wuctUvKb+WZA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" + integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.4.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" + integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/events@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/express-serve-static-core@^4.17.18": + version "4.17.28" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" + integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@^4.17.13": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/node@*", "@types/node@^17.0.21": + version "17.0.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" + integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== + +"@types/node@^16.11.13": + version "16.11.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.26.tgz#63d204d136c9916fb4dcd1b50f9740fe86884e47" + integrity sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ== + +"@types/prop-types@*": + version "15.7.4" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" + integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/react-dom@^17.0.13": + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.13.tgz#a3323b974ee4280070982b3112351bb1952a7809" + integrity sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^17.0.40": + version "17.0.40" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.40.tgz#dc010cee6254d5239a138083f3799a16638e6bad" + integrity sha512-UrXhD/JyLH+W70nNSufXqMZNuUD2cXHu6UjCllC6pmOQgBX4SGXOH8fjRka0O0Ee0HrFxapDD8Bwn81Kmiz6jQ== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/yauzl@^2.9.1": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" + integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@^5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz#5119b67152356231a0e24b998035288a9cd21335" + integrity sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w== + dependencies: + "@typescript-eslint/scope-manager" "5.14.0" + "@typescript-eslint/type-utils" "5.14.0" + "@typescript-eslint/utils" "5.14.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.14.0.tgz#7c79f898aa3cff0ceee6f1d34eeed0f034fb9ef3" + integrity sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw== + dependencies: + "@typescript-eslint/scope-manager" "5.14.0" + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/typescript-estree" "5.14.0" + debug "^4.3.2" + +"@typescript-eslint/scope-manager@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz#ea518962b42db8ed0a55152ea959c218cb53ca7b" + integrity sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw== + dependencies: + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/visitor-keys" "5.14.0" + +"@typescript-eslint/type-utils@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz#711f08105860b12988454e91df433567205a8f0b" + integrity sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw== + dependencies: + "@typescript-eslint/utils" "5.14.0" + debug "^4.3.2" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.14.0.tgz#96317cf116cea4befabc0defef371a1013f8ab11" + integrity sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw== + +"@typescript-eslint/typescript-estree@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz#78b7f7385d5b6f2748aacea5c9b7f6ae62058314" + integrity sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA== + dependencies: + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/visitor-keys" "5.14.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.14.0.tgz#6c8bc4f384298cbbb32b3629ba7415f9f80dc8c4" + integrity sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.14.0" + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/typescript-estree" "5.14.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz#1927005b3434ccd0d3ae1b2ecf60e65943c36986" + integrity sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw== + dependencies: + "@typescript-eslint/types" "5.14.0" + eslint-visitor-keys "^3.0.0" + +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.1.tgz#9f53b1b7946a6efc2a749095a4f450e2932e8356" + integrity sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg== + +"@webpack-cli/info@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.1.tgz#2360ea1710cbbb97ff156a3f0f24556e0fc1ebea" + integrity sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA== + dependencies: + envinfo "^7.7.3" + +"@webpack-cli/serve@^1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.1.tgz#0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe" + integrity sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-base@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe" + integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg== + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-includes@^3.1.3, array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.flatmap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.19.0" + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bezier-easing@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bezier-easing/-/bezier-easing-2.1.0.tgz#c04dfe8b926d6ecaca1813d69ff179b7c2025d86" + integrity sha1-wE3+i5JtbsrKGBPWn/F5t8ICXYY= + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bmp-js@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" + integrity sha1-4Fpj95amwf8l9Hcex62twUjAcjM= + +body-parser@1.19.2, body-parser@^1.19.1: + version "1.19.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" + integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.8.1" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.9.7" + raw-body "2.4.3" + type-is "~1.6.18" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.14.5: + version "4.20.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.0.tgz#35951e3541078c125d36df76056e94738a52ebe9" + integrity sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ== + dependencies: + caniuse-lite "^1.0.30001313" + electron-to-chromium "^1.4.76" + escalade "^3.1.1" + node-releases "^2.0.2" + picocolors "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.2.0, buffer@^5.2.1, buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001313: + version "1.0.30001314" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz#65c7f9fb7e4594fca0a333bec1d8939662377596" + integrity sha512-0zaSO+TnCHtHJIbpLroX7nsD+vYuOVjl3uzFbJO1wMVbuveJA0RK2WcQA9ZUIOiO0/ArMiMgHJLxfEZhQiC0kw== + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +child-process@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/child-process/-/child-process-1.0.2.tgz#98974dc7ed1ee4c6229f8e305fa7313a6885a7f2" + integrity sha1-mJdNx+0e5MYin44wX6cxOmiFp/I= + +chokidar@^3.5.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +cli-progress@^3.9.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.10.0.tgz#63fd9d6343c598c93542fdfa3563a8b59887d78a" + integrity sha512-kLORQrhYCAtUPLZxqsAt2YJGOvRdt34+O6jl5cQGb7iF3dM55FQZlTR+rQyIK9JUcO9bBMwZsTlND+3dmFU2Cw== + dependencies: + string-width "^4.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.14: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-parser@^1.4.6: + version "1.4.6" + resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.6.tgz#3ac3a7d35a7a03bbc7e365073a26074824214594" + integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== + dependencies: + cookie "0.4.1" + cookie-signature "1.0.6" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + +cookie@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== + dependencies: + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.0" + +csstype@^3.0.2: + version "3.0.11" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" + integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.1, debug@^4.3.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +devtools-protocol@0.0.883894: + version "0.0.883894" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.883894.tgz#d403f2c75cd6d71c916aee8dde9258da988a4da9" + integrity sha512-33idhm54QJzf3Q7QofMgCvIVSd2o9H3kQPWaKT/fhoZh+digc+WSiMhbkeG3iN79WY4Hwr9G05NpbhEVrsOYAg== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.4.76: + version "1.4.82" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz#51e123ca434b1eba8c434ece2b54f095b304a651" + integrity sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.9.2: + version "5.9.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" + integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + +es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-plugin-react-hooks@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== + +eslint-plugin-react@^7.29.3: + version "7.29.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.3.tgz#f4eab757f2756d25d6d4c2a58a9e20b004791f05" + integrity sha512-MzW6TuCnDOcta67CkpDyRfRsEVx9FNMDV8wZsDqe1luHPdGTrQIUaUXD27Ja3gHsdOIs/cXzNchWGlqm+qRVRg== + dependencies: + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" + prop-types "^15.8.1" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.11.0.tgz#88b91cfba1356fc10bb9eb592958457dfe09fb37" + integrity sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA== + dependencies: + "@eslint/eslintrc" "^1.2.1" + "@humanwhocodes/config-array" "^0.9.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^9.3.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" + integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== + dependencies: + acorn "^8.7.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^3.3.0" + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +events@^3.2.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0, execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exif-parser@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" + integrity sha1-WKnS1ywCwfbwKg70qRZicrd2CSI= + +express@^4.17.1, express@^4.17.3: + version "4.17.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" + integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.19.2" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.4.2" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.9.7" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.17.2" + serve-static "1.14.2" + setprototypeof "1.2.0" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-type@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18" + integrity sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fs@0.0.1-security: + version "0.0.1-security" + resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" + integrity sha1-invTcYa23d84E/I4WLV+yq9eQdQ= + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +gifwrap@^0.9.2: + version "0.9.3" + resolved "https://registry.yarnpkg.com/gifwrap/-/gifwrap-0.9.3.tgz#66d939219bb038d19745abf6024a8ab231786bdb" + integrity sha512-HSLpe3qhAdAoIBbwuTjKnxMGemj80uRpr55IhDv1Xf25h1E0SrKr8nIBFXysKUlYm8ZCkDhAuvX7/hRQnE9rLw== + dependencies: + image-q "^1.1.1" + omggif "^1.0.10" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globals@^13.6.0, globals@^13.9.0: + version "13.12.1" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.1.tgz#ec206be932e6c77236677127577aa8e50bf1c5cb" + integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.4: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +http-errors@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.1" + +https-proxy-agent@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +image-q@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/image-q/-/image-q-1.1.1.tgz#fc84099664460b90ca862d9300b6bfbbbfbf8056" + integrity sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY= + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-core-module@^2.2.0, is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-weakref@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jimp@^0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.16.1.tgz#192f851a30e5ca11112a3d0aa53137659a78ca7a" + integrity sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/custom" "^0.16.1" + "@jimp/plugins" "^0.16.1" + "@jimp/types" "^0.16.1" + regenerator-runtime "^0.13.3" + +jpeg-js@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.2.tgz#8b345b1ae4abde64c2da2fe67ea216a114ac279d" + integrity sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw== + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + dependencies: + array-includes "^3.1.3" + object.assign "^4.1.2" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klona@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +liqvid@2.1.1, liqvid@^2.0.10: + version "2.1.1" + resolved "https://registry.yarnpkg.com/liqvid/-/liqvid-2.1.1.tgz#ce4cb4e5bf71eb7fb6b60698a74386b512c83a16" + integrity sha512-oiNS+GdpZrbDGjW3EWIS6NP8Zdyb6y2RbePl3yzSRd8/Ah1NI1WVx2Slz+qwLGMlFGDOPa3Dq+EW2Qf3FUwqrA== + dependencies: + "@liqvid/keymap" "1.1.2" + "@liqvid/playback" "1.1.3" + "@liqvid/utils" "^1.3.0" + "@types/events" "^3.0.0" + "@types/node" "^17.0.21" + "@types/react" "^17.0.40" + "@types/react-dom" "^17.0.13" + events "^3.3.0" + react "^17.0.2" + strict-event-emitter-types "^2.0.0" + +livereload-js@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-3.3.3.tgz#3e4f5699f741fdf8be6dc9c46c523e4fc1abbd0d" + integrity sha512-a7Jipme3XIBIryJluWP5LQrEAvhobDPyScBe+q+MYwxBiMT2Ck7msy4tAdF8TAa33FMdJqX4guP81Yhiu6BkmQ== + +livereload@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/livereload/-/livereload-0.9.3.tgz#a714816375ed52471408bede8b49b2ee6a0c55b1" + integrity sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw== + dependencies: + chokidar "^3.5.0" + livereload-js "^3.3.1" + opts ">= 1.2.0" + ws "^7.4.3" + +load-bmfont@^1.3.1, load-bmfont@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9" + integrity sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA== + dependencies: + buffer-equal "0.0.1" + mime "^1.3.4" + parse-bmfont-ascii "^1.0.3" + parse-bmfont-binary "^1.0.5" + parse-bmfont-xml "^1.1.4" + phin "^2.9.1" + xhr "^2.0.1" + xtend "^4.0.0" + +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^4.0.0, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.3.4: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + dependencies: + dom-walk "^0.1.0" + +minimatch@^3.0.4, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-fetch@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +omggif@^1.0.10, omggif@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" + integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +"opts@>= 1.2.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1" + integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@^1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-bmfont-ascii@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285" + integrity sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU= + +parse-bmfont-binary@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006" + integrity sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY= + +parse-bmfont-xml@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389" + integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ== + dependencies: + xml-parse-from-string "^1.0.0" + xml2js "^0.4.5" + +parse-headers@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf" + integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +path@^0.12.7: + version "0.12.7" + resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" + integrity sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8= + dependencies: + process "^0.11.1" + util "^0.10.3" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +pepjs@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/pepjs/-/pepjs-0.5.3.tgz#dc755f03d965c20e4b1bb65e42a03a97c382cfc7" + integrity sha512-5yHVB9OHqKd9fr/OIsn8ss0NgThQ9buaqrEuwr9Or5YjPp6h+WTDKWZI+xZLaBGZCtODTnFtlSHNmhFsq67THg== + +phin@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c" + integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pixelmatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" + integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ= + dependencies: + pngjs "^3.0.0" + +pkg-dir@4.2.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pngjs@^3.0.0, pngjs@^3.3.3: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +process@^0.11.1, process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31" + integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg== + +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +puppeteer-core@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-10.0.0.tgz#5bf787ad95b5f70ea61634d8c80ffca9f2e92b6e" + integrity sha512-kaNsKhNYcayHnlwpkBf1w/lhyi1zUSHGLgh5z6DwhTbTrVN0pQHjWj7/TNBooop5Ehv0H7KFuH5QTbxrRFeDdA== + dependencies: + debug "4.3.1" + devtools-protocol "0.0.883894" + extract-zip "2.0.1" + https-proxy-agent "5.0.0" + node-fetch "2.6.1" + pkg-dir "4.2.0" + progress "2.0.1" + proxy-from-env "1.1.0" + rimraf "3.0.2" + tar-fs "2.0.0" + unbzip2-stream "1.3.3" + ws "7.4.6" + +puppeteer-mass-screenshots@^1.0.14, puppeteer-mass-screenshots@^1.0.15: + version "1.0.15" + resolved "https://registry.yarnpkg.com/puppeteer-mass-screenshots/-/puppeteer-mass-screenshots-1.0.15.tgz#0f1b67fcab5ad2161b1d86f5010a1cd2f13c7c22" + integrity sha512-QasQ6pxkXocZTyVkgIx2uXM5VOTUhXvHw44TJNgoQ2I/pj+DOKqXI0TD5VUOiKAWkjJhCtsJaL9ImQFBJrPWPg== + dependencies: + fs "0.0.1-security" + path "^0.12.7" + +puppeteer-video-recorder@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/puppeteer-video-recorder/-/puppeteer-video-recorder-1.0.5.tgz#290f2feedac5f0c8ef9f839210f51c5fad0456a1" + integrity sha512-bulReIiRpf8j9davQwtMcUePW++znA1kpXfA1LP3P+nvpCHW7vuUToXuYXXXYyDQBkaAF7NWroEuoIjW8IENKA== + dependencies: + child-process "^1.0.2" + fs "0.0.1-security" + path "^0.12.7" + puppeteer-mass-screenshots "^1.0.14" + +qs@6.9.7: + version "6.9.7" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" + integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +rangetouch@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/rangetouch/-/rangetouch-2.0.1.tgz#c01105110fd3afca2adcb1a580692837d883cb70" + integrity sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA== + +raw-body@2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" + integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== + dependencies: + bytes "3.1.2" + http-errors "1.8.1" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +readable-stream@^3.1.1, readable-stream@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regexp.prototype.flags@^1.3.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.9.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@3.0.2, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rp-codebooth@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/rp-codebooth/-/rp-codebooth-1.2.0.tgz#ab1a3632c1f7599f731d0a68d8303f6f84d302c5" + integrity sha512-q2hK6+/7RmkGQmuVvdnrrJh0mrxshYYH4aCS2ct6RXHoUYCo0P5fAIrUTBy6dNuVgXHLSIAmqtWC582Qne7jSg== + dependencies: + liqvid "^2.0.10" + rp-codemirror "^1.0.0" + rp-recording "^2.1.1" + zustand "^3.3.1" + +rp-codemirror@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rp-codemirror/-/rp-codemirror-1.0.0.tgz#05a0810afca00cb3fdca5d8a43ce7ae320c2df50" + integrity sha512-1Lz2rTTNWa2ehPYhMZILpsdMdEc9P+IPsfAmEqhp/8zLve2vDEHoGMeqqIz2AKcTuOGvnXjp1nNafgzOAtpc8g== + +rp-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/rp-cursor/-/rp-cursor-2.1.0.tgz#b457155b375874f395885e6aab8e59ae83b4403c" + integrity sha512-kTvubp5N7uuCQnqyxH6xn0T+v2+4gKx6uF6XZk+A11eFL5tL1lx6ej7UOum+bMc1j6gLfTlD8RZPAKIywnNzdw== + +rp-paint@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/rp-paint/-/rp-paint-0.10.0.tgz#1afd4c4056d352e44c15118fa13ae8db869855b7" + integrity sha512-qKdCqopBsoHOuyWkYO3rD3apMObDoWkotYYPx1Yan3zwBoj9LMT9ZTknNqj5K7a8+s4mGvp0eJtsLPqvBomisA== + +rp-prompt@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/rp-prompt/-/rp-prompt-1.2.0.tgz#636b90604a4e7ec025333ea00250f2ba6d86d877" + integrity sha512-MbMGg/5boRi0xVctiFPH61jLdBW0WyoGQtRLKPX0Y56JZqnkxcWHqbZ0diFBYeqHOxFRxSxZ7LzoqXtiS9jvKw== + +rp-recording@^2.1.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/rp-recording/-/rp-recording-2.2.3.tgz#eecc1c225dce34f4fcfaf46b0d8d83e34f4542db" + integrity sha512-01pfRMKygkvGOp/zhRmMr6/G2z2rZmfYXkUxkVq9I0onq7xyBiT80eeZ2ICBP2jbelNX9vHMvekPLN2363luZA== + dependencies: + events "^3.3.0" + strict-event-emitter-types "^2.0.0" + +rp-recording@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/rp-recording/-/rp-recording-2.3.0.tgz#79b3882977d6467d5d127f0ae66722ff835b8e71" + integrity sha512-qLZJRCY6GZDuqaj3ygw26prIT5FL++X42yvmwmzjMoZHNZvzh+Bx58rW+DOTbH6bHuy1uWaxikGaYAsVYl+7WQ== + dependencies: + events "^3.3.0" + strict-event-emitter-types "^2.0.0" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@>=0.6.0, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +send@0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" + integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "1.8.1" + mime "1.6.0" + ms "2.1.3" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serve-static@1.14.2: + version "1.14.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" + integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.2" + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3, source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +strict-event-emitter-types@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz#05e15549cb4da1694478a53543e4e2f4abcf277f" + integrity sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA== + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +stylus-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-6.2.0.tgz#0ba499e744e7fb9d9b3977784c8639728a7ced8c" + integrity sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg== + dependencies: + fast-glob "^3.2.7" + klona "^2.0.4" + normalize-path "^3.0.0" + +stylus@^0.56.0: + version "0.56.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.56.0.tgz#13fc85c48082db483c90d2530942fe8b0be988eb" + integrity sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA== + dependencies: + css "^3.0.0" + debug "^4.3.2" + glob "^7.1.6" + safer-buffer "^2.1.2" + sax "~1.2.4" + source-map "^0.7.3" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar-fs@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad" + integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA== + dependencies: + chownr "^1.1.1" + mkdirp "^0.5.1" + pump "^3.0.0" + tar-stream "^2.0.0" + +tar-stream@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +terser-webpack-plugin@^5.1.3: + version "5.3.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" + integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== + dependencies: + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + terser "^5.7.2" + +terser@^5.7.2: + version "5.12.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" + integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timm@^1.6.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/timm/-/timm-1.7.1.tgz#96bab60c7d45b5a10a8a4d0f0117c6b7e5aff76f" + integrity sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw== + +tinycolor2@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +ts-loader@^9.2.8: + version "9.2.8" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.8.tgz#e89aa32fa829c5cad0a1d023d6b3adecd51d5a48" + integrity sha512-gxSak7IHUuRtwKf3FIPSW1VpZcqF9+MBrHOvBp9cjHh+525SjtCIJKVGjRKIAfxBwDGDGCFF00rTfzB1quxdSw== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + +ts-node@^10.4.0, ts-node@^10.7.0: + version "10.7.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== + dependencies: + "@cspotcode/source-map-support" "0.7.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.0" + yn "3.1.1" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@^4.5.4, typescript@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" + integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unbzip2-stream@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a" + integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +utif@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/utif/-/utif-2.0.1.tgz#9e1582d9bbd20011a6588548ed3266298e711759" + integrity sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg== + dependencies: + pako "^1.0.5" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +v8-compile-cache-lib@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" + integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +watchpack@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" + integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +webpack-cli@^4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.2.tgz#77c1adaea020c3f9e2db8aad8ea78d235c83659d" + integrity sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.1.1" + "@webpack-cli/info" "^1.4.1" + "@webpack-cli/serve" "^1.6.1" + colorette "^2.0.14" + commander "^7.0.0" + execa "^5.0.0" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" + +webpack-merge@^5.7.3: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.65.0, webpack@^5.70.0: + version "5.70.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" + integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.2" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +ws@^7.4.3: + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + +xhr@^2.0.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xml-parse-from-string@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" + integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= + +xml2js@^0.4.5: + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.7, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + +yargs@^17.0.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +zustand@^3.3.1, zustand@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.1.tgz#7388f0a7175a6c2fd9a2880b383a4bf6cdf6b7c6" + integrity sha512-wHBCZlKj+bg03/hP+Tzv24YhnqqP8MCeN9ECPDXoF01062SIbnfl3j9O0znkDw1lNTY0a8WN3F///a0UhhaEqg==