From cd3961d99d5123e8c42c0dc4af6fbc1843f9fd2e Mon Sep 17 00:00:00 2001 From: rhosseinr Date: Thu, 6 Apr 2023 03:49:45 +0430 Subject: [PATCH 01/21] update package migrate to vite --- .babelrc | 6 - .eslintignore | 15 + .eslintrc.json | 15 + demo/app.vue | 80 - demo/example.mp3 | Bin 18000 -> 0 bytes demo/index.html | 12 - demo/index.js | 14 - dist/rhr-vue2-audio-recorder.cjs.js | 1 + dist/rhr-vue2-audio-recorder.es.js | 704 ++ dist/rhr-vue2-audio-recorder.umd.js | 1 + dist/style.css | 1 + dist/vue-audio-recorder.min.js | 2 - dist/vue-audio-recorder.min.js.map | 1 - index.html | 19 + package-lock.json | 12555 ++++++-------------------- package.json | 74 +- src/App.vue | 179 + src/api/Service.js | 22 + src/components/IconButton.vue | 53 + src/components/LineControl.vue | 63 + src/components/PlayerWidget.vue | 234 + src/components/RecorderWidget.vue | 216 + src/components/SubmitButton.vue | 35 + src/components/VolumeControl.vue | 66 + src/components/downloader.vue | 51 +- src/components/icon-button.vue | 25 - src/components/line-control.vue | 61 - src/components/player.vue | 219 - src/components/recorder.vue | 414 - src/components/volume-control.vue | 65 - src/index.js | 24 - src/lib/WavEncoder.js | 66 + src/lib/mp3-encoder.js | 49 - src/lib/recorder.js | 187 +- src/lib/utils.js | 29 +- src/lib/wav-encoder.js | 65 - src/main.js | 6 + src/mixins/uploader-props.js | 8 - src/moduleIndex.js | 4 + src/scss/icons.scss | 78 - vite.config.js | 37 + webpack.config.js | 70 - webpack.dev.js | 16 - webpack.prod.js | 37 - 44 files changed, 4701 insertions(+), 11178 deletions(-) delete mode 100644 .babelrc create mode 100644 .eslintignore create mode 100644 .eslintrc.json delete mode 100644 demo/app.vue delete mode 100644 demo/example.mp3 delete mode 100644 demo/index.html delete mode 100644 demo/index.js create mode 100644 dist/rhr-vue2-audio-recorder.cjs.js create mode 100644 dist/rhr-vue2-audio-recorder.es.js create mode 100644 dist/rhr-vue2-audio-recorder.umd.js create mode 100644 dist/style.css delete mode 100644 dist/vue-audio-recorder.min.js delete mode 100644 dist/vue-audio-recorder.min.js.map create mode 100644 index.html create mode 100644 src/App.vue create mode 100644 src/api/Service.js create mode 100644 src/components/IconButton.vue create mode 100644 src/components/LineControl.vue create mode 100644 src/components/PlayerWidget.vue create mode 100644 src/components/RecorderWidget.vue create mode 100644 src/components/SubmitButton.vue create mode 100644 src/components/VolumeControl.vue delete mode 100644 src/components/icon-button.vue delete mode 100644 src/components/line-control.vue delete mode 100644 src/components/player.vue delete mode 100644 src/components/recorder.vue delete mode 100644 src/components/volume-control.vue delete mode 100644 src/index.js create mode 100644 src/lib/WavEncoder.js delete mode 100644 src/lib/mp3-encoder.js delete mode 100644 src/lib/wav-encoder.js create mode 100644 src/main.js delete mode 100644 src/mixins/uploader-props.js create mode 100644 src/moduleIndex.js delete mode 100644 src/scss/icons.scss create mode 100644 vite.config.js delete mode 100644 webpack.config.js delete mode 100644 webpack.dev.js delete mode 100644 webpack.prod.js diff --git a/.babelrc b/.babelrc deleted file mode 100644 index e812394..0000000 --- a/.babelrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "presets": [ - ["env", { "modules": false }], - "stage-3" - ] -} diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..9fa0f00 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,15 @@ +/node_modules/** +/build/** +/coverage/** +/docs/** +!/docs/.eleventy.js +/jsdoc/** +/templates/** +/tests/bench/** +/tests/fixtures/** +/tests/performance/** +/tmp/** +/tools/internal-rules/node_modules/** +test.js +!.eslintrc.js +!.eslintrc.json \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..ec480a6 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,15 @@ +{ + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/vue3-essential" + ], + "rules": { + "quotes": "off" + }, + "plugins": [ + "vue" + ] +} \ No newline at end of file diff --git a/demo/app.vue b/demo/app.vue deleted file mode 100644 index 44ea3fc..0000000 --- a/demo/app.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/demo/example.mp3 b/demo/example.mp3 deleted file mode 100644 index 56e01bfc51cc622535c9534f2d7c5cca3b68fcad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18000 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

)iSy+Oi2{k){ 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%0DUQ4>|AoQ@B;B98-0U902UeXsql~pgAu$gMN6 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 - - - - - vue-audio-recorder | demo - - - -

- - diff --git a/demo/index.js b/demo/index.js deleted file mode 100644 index 588c4f5..0000000 --- a/demo/index.js +++ /dev/null @@ -1,14 +0,0 @@ -import Vue from 'vue' -import axios from 'axios' -import app from './app' - -import AudioRecorder from '@/index' - -Vue.prototype.$http = axios - -Vue.use(AudioRecorder) - -new Vue({ - el: '#app', - render: h => h(app) -}) diff --git a/dist/rhr-vue2-audio-recorder.cjs.js b/dist/rhr-vue2-audio-recorder.cjs.js new file mode 100644 index 0000000..1ed98e9 --- /dev/null +++ b/dist/rhr-vue2-audio-recorder.cjs.js @@ -0,0 +1 @@ +"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});class B{constructor(t){this.backendEndpoint=t}async postBackend(t){try{return!!(await fetch(this.backendEndpoint,{method:"POST",body:t})).ok}catch{return!1}}}function c(e){return e?new Date(e*1e3).toISOString().substring(14,19):null}class x{constructor(t){this.bufferSize=t.bufferSize||4096,this.sampleRate=t.sampleRate,this.samples=t.samples}finish(){this._joinSamples();const t=new ArrayBuffer(44+this.samples.length*2),s=new DataView(t);this._writeString(s,0,"RIFF"),s.setUint32(4,36+this.samples.length*2,!0),this._writeString(s,8,"WAVE"),this._writeString(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,this.sampleRate,!0),s.setUint32(28,this.sampleRate*4,!0),s.setUint16(32,4,!0),s.setUint16(34,16,!0),this._writeString(s,36,"data"),s.setUint32(40,this.samples.length*2,!0),this._floatTo16BitPCM(s,44,this.samples);const i=new Blob([s],{type:"audio/wav"});return{id:Date.now(),blob:i,url:URL.createObjectURL(i)}}_floatTo16BitPCM(t,s,i){for(let r=0;ri.stop()),this.input.disconnect(),this.processor.disconnect(),this.context.close();let t=null;t=new x({bufferSize:this.bufferSize,sampleRate:this.encoderOptions.sampleRate,samples:this.wavSamples}).finish(),this.wavSamples=[],t.duration=c(this.duration),this.records.push(t),this._duration=0,this.duration=0,this.isPause=!1,this.isRecording=!1,this.afterRecording&&this.afterRecording(t)}pause(){this.stream.getTracks().forEach(t=>t.stop()),this.input.disconnect(),this.processor.disconnect(),this._duration=this.duration,this.isPause=!0,this.pauseRecording&&this.pauseRecording("pause recording")}recordList(){return this.records}lastRecord(){return this.records.slice(-1).pop()}_micCaptured(t){this.context=new(window.AudioContext||window.webkitAudioContext),this.duration=this._duration,this.input=this.context.createMediaStreamSource(t),this.processor=this.context.createScriptProcessor(this.bufferSize,1,1),this.stream=t,this.processor.onaudioprocess=s=>{const i=s.inputBuffer.getChannelData(0);let r=0;this.wavSamples.push(new Float32Array(i));for(let a=0;a',mic:'',pause:'',play:'',save:'',stop:'',volume:'',volumeMute:''}}},methods:{onClick(){this.$emit("click")}}},m={};var L=u(T,U,A,!1,k,null,null,null);function k(e){for(let t in m)this[t]=m[t]}var h=function(){return L.exports}(),F=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("button",{staticClass:"submit-button shadow-md",style:{"background-color":e.color},on:{click:e.clickButton}},[e._v(" Submit ")])},V=[];const I={emits:["submit"],props:{color:{type:String}},methods:{clickButton(){this.$emit("submit")}}},g={};var Z=u(I,F,V,!1,z,null,null,null);function z(e){for(let t in g)this[t]=g[t]}var N=function(){return Z.exports}();function d(e,t){const s=t.getBoundingClientRect().width,i=e.target.getBoundingClientRect().left;let r=(e.clientX-i)/s;try{if(!e.target.className.match(/^ar\-line\-control/))return}catch{return}return r=r<0?0:r,r=r>1?1:r,r}var O=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{ref:e.refId,staticClass:"ar-line-control",on:{mousedown:e.onMouseDown}},[s("div",{staticClass:"ar-line-control__head",style:e.calculateSize})])},W=[];const D={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},computed:{calculateSize(){const e=this.percentage<1?this.percentage*100:this.percentage;return`${this.rowDirection?"width":"height"}: ${e}%`}},methods:{onMouseDown(e){const t=d(e,this.$refs[this.refId]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp(e){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);const t=d(e,this.$refs[this.refId]);this.$emit("change-linehead",t)},onMouseMove(e){const t=d(e,this.$refs[this.refId]);this.$emit("change-linehead",t)}}},f={};var j=u(D,O,W,!1,H,null,null,null);function H(e){for(let t in f)this[t]=f[t]}var M=function(){return j.exports}(),G=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"ar-volume"},[s("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),s("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:e.volume},on:{"change-linehead":e.onChangeLinehead}})],1)},q=[];const X={data(){return{volume:.8}},components:{IconButton:h,LineControl:M},methods:{onChangeLinehead(e){this.$emit("change-volume",e),this.volume=e}}},y={};var Y=u(X,G,q,!1,J,null,null,null);function J(e){for(let t in y)this[t]=y[t]}var K=function(){return Y.exports}(),Q=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:e.custom,expression:"custom"}],staticClass:"ar-player"},[s("div",{staticClass:"ar-player-actions"},[s("icon-button",{staticClass:"ar-icon ar-icon__lg ar-player__play",class:{"ar-player__play--active":e.isPlaying,disabled:e.disablePlayButton},attrs:{id:"play",name:e.playBtnIcon},on:{click:e.playback}})],1),s("div",{staticClass:"ar-player-bar"},[s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.playedTime))]),s("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:e.progress},on:{"change-linehead":e._onUpdateProgress}}),s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.duration))]),s("volume-control",{class:{disabled:e.disablePlayButton},on:{"change-volume":e._onChangeVolume}})],1),s("audio",{attrs:{id:e.playerUniqId,src:e.audioSource,type:"audio/mpeg"}})]),s("div",{directives:[{name:"show",rawName:"v-show",value:!e.custom,expression:"!custom"}]},[s("figure",{staticClass:"recorder-player"},[s("audio",{staticClass:"mx-auto",attrs:{controls:"",src:e.audioSource,type:"audio/mpeg"}},[e._v(" Your browser does not support the "),s("code",[e._v("audio")]),e._v(" element. ")])])])])},ee=[];const te={name:"PlayerWidget",components:{IconButton:h,LineControl:M,VolumeControl:K},props:{src:{type:String},record:{type:Object},filename:{type:String},custom:{type:Boolean,default:!1}},data(){return{isPlaying:!1,duration:c(0),playedTime:c(0),progress:0}},mounted(){this.player=document.getElementById(this.playerUniqId);debugger;this.player&&(this.player.addEventListener("ended",()=>{this.isPlaying=!1}),this.player.addEventListener("loadeddata",e=>{this._resetProgress(),this.duration=c(this.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate),this.$eventBus.$on("remove-record",()=>{this._resetProgress()}))},computed:{disablePlayButton(){return!!this.src},audioSource(){return!this.src&&this.record?this.record.url:this.src},playBtnIcon(){return this.isPlaying?"pause":"play"},playerUniqId(){return`audio-player${this._uid}`}},methods:{playback(){!this.audioSource||(this.isPlaying?this.player.pause():setTimeout(()=>{this.player.play()},0),this.isPlaying=!this.isPlaying)},_resetProgress(){this.isPlaying&&this.player.pause(),this.duration=c(0),this.playedTime=c(0),this.progress=0,this.isPlaying=!1},_onTimeUpdate(){this.playedTime=c(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100},_onUpdateProgress(e){e&&(this.player.currentTime=e*this.player.duration)},_onChangeVolume(e){e&&(this.player.volume=e)}}},w={};var se=u(te,Q,ee,!1,re,null,null,null);function re(e){for(let t in w)this[t]=w[t]}var C=function(){return se.exports}(),ie=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"recorder-container"},[s("div",{staticClass:"recorder-action"},[s("icon-button",{attrs:{name:e.recording?"stop":"mic"},on:{click:function(i){return e.toggleRecording()}}}),s("span",{staticClass:"recorder-timer"},[e._v(e._s(e.recordedTime))])],1),s("div",{staticClass:"recorder-message"},[e.instructionMessage?s("span",{staticClass:"color-primary"},[e._v(" "+e._s(e.instructionMessage)+" ")]):e._e(),e.successMessage?s("span",{staticClass:"color-success"},[e._v(" "+e._s(e.successMessage)+" ")]):e._e(),e.errorMessage?s("span",{staticClass:"color-danger"},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()]),e.compact?e._e():s("player-widget",{attrs:{custom:e.customPlayer,src:e.recordedAudio,record:e.recordedBlob}}),s("submit-button",{attrs:{color:e.buttonColor},on:{submit:e.sendData}})],1)},ae=[];const b="Click icon to start recording message.",oe="Click icon again to stop recording.",ne="Failed to use microphone. Please refresh and try again and permit the use of a microphone.",le="Successfully recorded message!",ce="Successfully submitted audio message! Thank you!",ue="Error submitting audio message! Please try again later.",de={name:"RecorderWidget",components:{IconButton:h,SubmitButton:N,PlayerWidget:C},props:{time:{type:Number,default:1},bitRate:{type:Number,default:128},sampleRate:{type:Number,default:44100},backendEndpoint:{type:String},buttonColor:{type:String,default:"green"},compact:{type:Boolean,default:!1},customPlayer:{type:Boolean,default:!1},afterRecording:{type:Function},successfulUpload:{type:Function},failedUpload:{type:Function},customUpload:{type:Function,default:null}},data(){return{recording:!1,recordedAudio:null,recordedBlob:null,recorder:null,successMessage:null,errorMessage:null,instructionMessage:b}},computed:{recordedTime(){var e,t;return this.time&&((e=this.recorder)==null?void 0:e.duration)>=this.time*60&&this.toggleRecording(),c((t=this.recorder)==null?void 0:t.duration)}},beforeUnmount(){this.recording&&this.stopRecorder()},methods:{toggleRecording(){this.recording=!this.recording,this.recording?this.initRecorder():this.stopRecording()},initRecorder(){this.recorder=new P({micFailed:this.micFailed,bitRate:this.bitRate,sampleRate:this.sampleRate}),this.recorder.start(),this.successMessage=null,this.errorMessage=null,this.instructionMessage=oe,this.service=new B(this.backendEndpoint)},stopRecording(){this.recorder.stop();const e=this.recorder.recordList();this.recordedAudio=e[0].url,this.recordedBlob=e[0].blob,this.recordedAudio&&(this.successMessage=le,this.instructionMessage=null),this.afterRecording&&this.afterRecording()},async sendData(){if(!this.recordedBlob)return;let e=null;this.customUpload?e=await this.customUpload(this.recordedBlob):e=await this.service.postBackend(this.recordedBlob),e?(this.errorMessage=null,this.successMessage=ce,this.successfulUpload&&this.successfulUpload()):(this.successMessage=null,this.errorMessage=ue,this.failedUpload&&this.failedUpload())},micFailed(){this.recording=!1,this.instructionMessage=b,this.errorMessage=ne}}},S={};var he=u(de,ie,ae,!1,pe,null,null,null);function pe(e){for(let t in S)this[t]=S[t]}var _e=function(){return he.exports}();exports.PlayerWidget=C;exports.RecorderWidget=_e; diff --git a/dist/rhr-vue2-audio-recorder.es.js b/dist/rhr-vue2-audio-recorder.es.js new file mode 100644 index 0000000..c3e0b4c --- /dev/null +++ b/dist/rhr-vue2-audio-recorder.es.js @@ -0,0 +1,704 @@ +class Service { + constructor(backendEndpoint) { + this.backendEndpoint = backendEndpoint; + } + async postBackend(recordedBlob) { + try { + const response = await fetch(this.backendEndpoint, { + method: "POST", + body: recordedBlob + }); + if (!response.ok) { + return false; + } + return true; + } catch (error) { + return false; + } + } +} +function convertTimeMMSS(seconds) { + if (!seconds) { + return null; + } + return new Date(seconds * 1e3).toISOString().substring(14, 19); +} +class WavEncoder { + constructor(options) { + this.bufferSize = options.bufferSize || 4096; + this.sampleRate = options.sampleRate; + this.samples = options.samples; + } + finish() { + this._joinSamples(); + const buffer = new ArrayBuffer(44 + this.samples.length * 2); + const view = new DataView(buffer); + this._writeString(view, 0, "RIFF"); + view.setUint32(4, 36 + this.samples.length * 2, true); + this._writeString(view, 8, "WAVE"); + this._writeString(view, 12, "fmt "); + view.setUint32(16, 16, true); + view.setUint16(20, 1, true); + view.setUint16(22, 1, true); + view.setUint32(24, this.sampleRate, true); + view.setUint32(28, this.sampleRate * 4, true); + view.setUint16(32, 4, true); + view.setUint16(34, 16, true); + this._writeString(view, 36, "data"); + view.setUint32(40, this.samples.length * 2, true); + this._floatTo16BitPCM(view, 44, this.samples); + const blob = new Blob([view], { type: "audio/wav" }); + return { + id: Date.now(), + blob, + url: URL.createObjectURL(blob) + }; + } + _floatTo16BitPCM(output, offset, input) { + for (let i = 0; i < input.length; i++, offset += 2) { + const s = Math.max(-1, Math.min(1, input[i])); + output.setInt16(offset, s < 0 ? s * 32768 : s * 32767, true); + } + } + _joinSamples() { + const recordLength = this.samples.length * this.bufferSize; + const joinedSamples = new Float64Array(recordLength); + let offset = 0; + for (let i = 0; i < this.samples.length; i++) { + const sample = this.samples[i]; + joinedSamples.set(sample, offset); + offset += sample.length; + } + this.samples = joinedSamples; + } + _writeString(view, offset, string) { + for (let i = 0; i < string.length; i++) { + view.setUint8(offset + i, string.charCodeAt(i)); + } + } +} +class Recorder { + constructor(options = {}) { + this.beforeRecording = options.beforeRecording; + this.pauseRecording = options.pauseRecording; + this.afterRecording = options.afterRecording; + this.micFailed = options.micFailed; + this.encoderOptions = { + bitRate: options.bitRate, + sampleRate: options.sampleRate + }; + this.bufferSize = 4096; + this.records = []; + this.isPause = false; + this.isRecording = false; + this.duration = 0; + this.volume = 0; + this.wavSamples = []; + this._duration = 0; + } + start() { + const constraints = { + video: false, + audio: { + channelCount: 1, + echoCancellation: false + } + }; + this.beforeRecording && this.beforeRecording("start recording"); + navigator.mediaDevices.getUserMedia(constraints).then(this._micCaptured.bind(this)).catch(this._micError.bind(this)); + this.isPause = false; + this.isRecording = true; + } + stop() { + this.stream.getTracks().forEach((track) => track.stop()); + this.input.disconnect(); + this.processor.disconnect(); + this.context.close(); + let record = null; + const wavEncoder = new WavEncoder({ + bufferSize: this.bufferSize, + sampleRate: this.encoderOptions.sampleRate, + samples: this.wavSamples + }); + record = wavEncoder.finish(); + this.wavSamples = []; + record.duration = convertTimeMMSS(this.duration); + this.records.push(record); + this._duration = 0; + this.duration = 0; + this.isPause = false; + this.isRecording = false; + this.afterRecording && this.afterRecording(record); + } + pause() { + this.stream.getTracks().forEach((track) => track.stop()); + this.input.disconnect(); + this.processor.disconnect(); + this._duration = this.duration; + this.isPause = true; + this.pauseRecording && this.pauseRecording("pause recording"); + } + recordList() { + return this.records; + } + lastRecord() { + return this.records.slice(-1).pop(); + } + _micCaptured(stream) { + this.context = new (window.AudioContext || window.webkitAudioContext)(); + this.duration = this._duration; + this.input = this.context.createMediaStreamSource(stream); + this.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1); + this.stream = stream; + this.processor.onaudioprocess = (ev) => { + const sample = ev.inputBuffer.getChannelData(0); + let sum = 0; + this.wavSamples.push(new Float32Array(sample)); + for (let i = 0; i < sample.length; ++i) { + sum += sample[i] * sample[i]; + } + this.duration = parseFloat(this._duration) + parseFloat(this.context.currentTime.toFixed(2)); + this.volume = Math.sqrt(sum / sample.length).toFixed(2); + }; + this.input.connect(this.processor); + this.processor.connect(this.context.destination); + } + _micError(error) { + this.micFailed && this.micFailed(error); + } +} +var render$5 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("button", { staticClass: "icon-button", attrs: { "type": "button" }, on: { "click": function($event) { + return _vm.onClick(); + } } }, [_c("span", { domProps: { "innerHTML": _vm._s(_vm.icons[_vm.name]) } })]); +}; +var staticRenderFns$5 = []; +var IconButton_vue_vue_type_style_index_0_lang = ""; +function normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) { + var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports; + if (render2) { + options.render = render2; + options.staticRenderFns = staticRenderFns2; + options._compiled = true; + } + if (functionalTemplate) { + options.functional = true; + } + if (scopeId) { + options._scopeId = "data-v-" + scopeId; + } + var hook; + if (moduleIdentifier) { + hook = function(context) { + context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; + if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") { + context = __VUE_SSR_CONTEXT__; + } + if (injectStyles) { + injectStyles.call(this, context); + } + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; + options._ssrRegister = hook; + } else if (injectStyles) { + hook = shadowMode ? function() { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ); + } : injectStyles; + } + if (hook) { + if (options.functional) { + options._injectStyles = hook; + var originalRender = options.render; + options.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + var existing = options.beforeCreate; + options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + return { + exports: scriptExports, + options + }; +} +const __vue2_script$5 = { + props: { + name: { type: String } + }, + data() { + return { + icons: { + download: '', + mic: '', + pause: '', + play: '', + save: '', + stop: '', + volume: '', + volumeMute: '' + } + }; + }, + methods: { + onClick() { + this.$emit("click"); + } + } +}; +const __cssModules$5 = {}; +var __component__$5 = /* @__PURE__ */ normalizeComponent( + __vue2_script$5, + render$5, + staticRenderFns$5, + false, + __vue2_injectStyles$5, + null, + null, + null +); +function __vue2_injectStyles$5(context) { + for (let o in __cssModules$5) { + this[o] = __cssModules$5[o]; + } +} +var IconButton = /* @__PURE__ */ function() { + return __component__$5.exports; +}(); +var render$4 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("button", { staticClass: "submit-button shadow-md", style: { "background-color": _vm.color }, on: { "click": _vm.clickButton } }, [_vm._v(" Submit ")]); +}; +var staticRenderFns$4 = []; +var SubmitButton_vue_vue_type_style_index_0_lang = ""; +const __vue2_script$4 = { + emits: ["submit"], + props: { + color: { + type: String + } + }, + methods: { + clickButton() { + this.$emit("submit"); + } + } +}; +const __cssModules$4 = {}; +var __component__$4 = /* @__PURE__ */ normalizeComponent( + __vue2_script$4, + render$4, + staticRenderFns$4, + false, + __vue2_injectStyles$4, + null, + null, + null +); +function __vue2_injectStyles$4(context) { + for (let o in __cssModules$4) { + this[o] = __cssModules$4[o]; + } +} +var SubmitButton = /* @__PURE__ */ function() { + return __component__$4.exports; +}(); +function calculateLineHeadPosition(ev, element) { + const progressWidth = element.getBoundingClientRect().width; + const leftPosition = ev.target.getBoundingClientRect().left; + let pos = (ev.clientX - leftPosition) / progressWidth; + try { + if (!ev.target.className.match(/^ar\-line\-control/)) { + return; + } + } catch (err) { + return; + } + pos = pos < 0 ? 0 : pos; + pos = pos > 1 ? 1 : pos; + return pos; +} +var render$3 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { ref: _vm.refId, staticClass: "ar-line-control", on: { "mousedown": _vm.onMouseDown } }, [_c("div", { staticClass: "ar-line-control__head", style: _vm.calculateSize })]); +}; +var staticRenderFns$3 = []; +var LineControl_vue_vue_type_style_index_0_lang = ""; +const __vue2_script$3 = { + props: { + refId: { type: String }, + eventName: { type: String }, + percentage: { type: Number, default: 0 }, + rowDirection: { type: Boolean, default: true } + }, + computed: { + calculateSize() { + const value = this.percentage < 1 ? this.percentage * 100 : this.percentage; + return `${this.rowDirection ? "width" : "height"}: ${value}%`; + } + }, + methods: { + onMouseDown(ev) { + const seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]); + this.$emit("change-linehead", seekPos); + document.addEventListener("mousemove", this.onMouseMove); + document.addEventListener("mouseup", this.onMouseUp); + }, + onMouseUp(ev) { + document.removeEventListener("mouseup", this.onMouseUp); + document.removeEventListener("mousemove", this.onMouseMove); + const seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]); + this.$emit("change-linehead", seekPos); + }, + onMouseMove(ev) { + const seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]); + this.$emit("change-linehead", seekPos); + } + } +}; +const __cssModules$3 = {}; +var __component__$3 = /* @__PURE__ */ normalizeComponent( + __vue2_script$3, + render$3, + staticRenderFns$3, + false, + __vue2_injectStyles$3, + null, + null, + null +); +function __vue2_injectStyles$3(context) { + for (let o in __cssModules$3) { + this[o] = __cssModules$3[o]; + } +} +var LineControl = /* @__PURE__ */ function() { + return __component__$3.exports; +}(); +var render$2 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "ar-volume" }, [_c("icon-button", { staticClass: "ar-volume__icon", attrs: { "name": "volume" } }), _c("line-control", { staticClass: "ar-volume-bar", attrs: { "ref-id": "volume", "percentage": _vm.volume }, on: { "change-linehead": _vm.onChangeLinehead } })], 1); +}; +var staticRenderFns$2 = []; +var VolumeControl_vue_vue_type_style_index_0_lang = ""; +const __vue2_script$2 = { + data() { + return { + volume: 0.8 + }; + }, + components: { + IconButton, + LineControl + }, + methods: { + onChangeLinehead(val) { + this.$emit("change-volume", val); + this.volume = val; + } + } +}; +const __cssModules$2 = {}; +var __component__$2 = /* @__PURE__ */ normalizeComponent( + __vue2_script$2, + render$2, + staticRenderFns$2, + false, + __vue2_injectStyles$2, + null, + null, + null +); +function __vue2_injectStyles$2(context) { + for (let o in __cssModules$2) { + this[o] = __cssModules$2[o]; + } +} +var VolumeControl = /* @__PURE__ */ function() { + return __component__$2.exports; +}(); +var render$1 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.custom, expression: "custom" }], staticClass: "ar-player" }, [_c("div", { staticClass: "ar-player-actions" }, [_c("icon-button", { staticClass: "ar-icon ar-icon__lg ar-player__play", class: { + "ar-player__play--active": _vm.isPlaying, + disabled: _vm.disablePlayButton + }, attrs: { "id": "play", "name": _vm.playBtnIcon }, on: { "click": _vm.playback } })], 1), _c("div", { staticClass: "ar-player-bar" }, [_c("div", { staticClass: "ar-player__time" }, [_vm._v(_vm._s(_vm.playedTime))]), _c("line-control", { staticClass: "ar-player__progress", attrs: { "ref-id": "progress", "percentage": _vm.progress }, on: { "change-linehead": _vm._onUpdateProgress } }), _c("div", { staticClass: "ar-player__time" }, [_vm._v(_vm._s(_vm.duration))]), _c("volume-control", { class: { disabled: _vm.disablePlayButton }, on: { "change-volume": _vm._onChangeVolume } })], 1), _c("audio", { attrs: { "id": _vm.playerUniqId, "src": _vm.audioSource, "type": "audio/mpeg" } })]), _c("div", { directives: [{ name: "show", rawName: "v-show", value: !_vm.custom, expression: "!custom" }] }, [_c("figure", { staticClass: "recorder-player" }, [_c("audio", { staticClass: "mx-auto", attrs: { "controls": "", "src": _vm.audioSource, "type": "audio/mpeg" } }, [_vm._v(" Your browser does not support the "), _c("code", [_vm._v("audio")]), _vm._v(" element. ")])])])]); +}; +var staticRenderFns$1 = []; +var PlayerWidget_vue_vue_type_style_index_0_lang = ""; +const __vue2_script$1 = { + name: "PlayerWidget", + components: { + IconButton, + LineControl, + VolumeControl + }, + props: { + src: { type: String }, + record: { type: Object }, + filename: { type: String }, + custom: { type: Boolean, default: false } + }, + data() { + return { + isPlaying: false, + duration: convertTimeMMSS(0), + playedTime: convertTimeMMSS(0), + progress: 0 + }; + }, + mounted() { + this.player = document.getElementById(this.playerUniqId); + debugger; + if (!!this.player) { + this.player.addEventListener("ended", () => { + this.isPlaying = false; + }); + this.player.addEventListener("loadeddata", (ev) => { + this._resetProgress(); + this.duration = convertTimeMMSS(this.player.duration); + }); + this.player.addEventListener("timeupdate", this._onTimeUpdate); + this.$eventBus.$on("remove-record", () => { + this._resetProgress(); + }); + } + }, + computed: { + disablePlayButton() { + return !!this.src; + }, + audioSource() { + if (!this.src && this.record) { + return this.record.url; + } + return this.src; + }, + playBtnIcon() { + return this.isPlaying ? "pause" : "play"; + }, + playerUniqId() { + return `audio-player${this._uid}`; + } + }, + methods: { + playback() { + if (!this.audioSource) { + return; + } + if (this.isPlaying) { + this.player.pause(); + } else { + setTimeout(() => { + this.player.play(); + }, 0); + } + this.isPlaying = !this.isPlaying; + }, + _resetProgress() { + if (this.isPlaying) { + this.player.pause(); + } + this.duration = convertTimeMMSS(0); + this.playedTime = convertTimeMMSS(0); + this.progress = 0; + this.isPlaying = false; + }, + _onTimeUpdate() { + this.playedTime = convertTimeMMSS(this.player.currentTime); + this.progress = this.player.currentTime / this.player.duration * 100; + }, + _onUpdateProgress(pos) { + if (pos) { + this.player.currentTime = pos * this.player.duration; + } + }, + _onChangeVolume(val) { + if (val) { + this.player.volume = val; + } + } + } +}; +const __cssModules$1 = {}; +var __component__$1 = /* @__PURE__ */ normalizeComponent( + __vue2_script$1, + render$1, + staticRenderFns$1, + false, + __vue2_injectStyles$1, + null, + null, + null +); +function __vue2_injectStyles$1(context) { + for (let o in __cssModules$1) { + this[o] = __cssModules$1[o]; + } +} +var PlayerWidget = /* @__PURE__ */ function() { + return __component__$1.exports; +}(); +var render = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "recorder-container" }, [_c("div", { staticClass: "recorder-action" }, [_c("icon-button", { attrs: { "name": _vm.recording ? "stop" : "mic" }, on: { "click": function($event) { + return _vm.toggleRecording(); + } } }), _c("span", { staticClass: "recorder-timer" }, [_vm._v(_vm._s(_vm.recordedTime))])], 1), _c("div", { staticClass: "recorder-message" }, [_vm.instructionMessage ? _c("span", { staticClass: "color-primary" }, [_vm._v(" " + _vm._s(_vm.instructionMessage) + " ")]) : _vm._e(), _vm.successMessage ? _c("span", { staticClass: "color-success" }, [_vm._v(" " + _vm._s(_vm.successMessage) + " ")]) : _vm._e(), _vm.errorMessage ? _c("span", { staticClass: "color-danger" }, [_vm._v(" " + _vm._s(_vm.errorMessage) + " ")]) : _vm._e()]), !_vm.compact ? _c("player-widget", { attrs: { "custom": _vm.customPlayer, "src": _vm.recordedAudio, "record": _vm.recordedBlob } }) : _vm._e(), _c("submit-button", { attrs: { "color": _vm.buttonColor }, on: { "submit": _vm.sendData } })], 1); +}; +var staticRenderFns = []; +var RecorderWidget_vue_vue_type_style_index_0_lang = ""; +const INSTRUCTION_MESSAGE = "Click icon to start recording message."; +const INSTRUCTION_MESSAGE_STOP = "Click icon again to stop recording."; +const ERROR_MESSAGE = "Failed to use microphone. Please refresh and try again and permit the use of a microphone."; +const SUCCESS_MESSAGE = "Successfully recorded message!"; +const SUCCESS_MESSAGE_SUBMIT = "Successfully submitted audio message! Thank you!"; +const ERROR_SUBMITTING_MESSAGE = "Error submitting audio message! Please try again later."; +const __vue2_script = { + name: "RecorderWidget", + components: { + IconButton, + SubmitButton, + PlayerWidget + }, + props: { + time: { type: Number, default: 1 }, + bitRate: { type: Number, default: 128 }, + sampleRate: { type: Number, default: 44100 }, + backendEndpoint: { type: String }, + buttonColor: { type: String, default: "green" }, + compact: { type: Boolean, default: false }, + customPlayer: { type: Boolean, default: false }, + afterRecording: { type: Function }, + successfulUpload: { type: Function }, + failedUpload: { type: Function }, + customUpload: { type: Function, default: null } + }, + data() { + return { + recording: false, + recordedAudio: null, + recordedBlob: null, + recorder: null, + successMessage: null, + errorMessage: null, + instructionMessage: INSTRUCTION_MESSAGE + }; + }, + computed: { + recordedTime() { + var _a, _b; + if (this.time && ((_a = this.recorder) == null ? void 0 : _a.duration) >= this.time * 60) { + this.toggleRecording(); + } + return convertTimeMMSS((_b = this.recorder) == null ? void 0 : _b.duration); + } + }, + beforeUnmount() { + if (this.recording) { + this.stopRecorder(); + } + }, + methods: { + toggleRecording() { + this.recording = !this.recording; + if (this.recording) { + this.initRecorder(); + } else { + this.stopRecording(); + } + }, + initRecorder() { + this.recorder = new Recorder({ + micFailed: this.micFailed, + bitRate: this.bitRate, + sampleRate: this.sampleRate + }); + this.recorder.start(); + this.successMessage = null; + this.errorMessage = null; + this.instructionMessage = INSTRUCTION_MESSAGE_STOP; + this.service = new Service(this.backendEndpoint); + }, + stopRecording() { + this.recorder.stop(); + const recordList = this.recorder.recordList(); + this.recordedAudio = recordList[0].url; + this.recordedBlob = recordList[0].blob; + if (this.recordedAudio) { + this.successMessage = SUCCESS_MESSAGE; + this.instructionMessage = null; + } + if (this.afterRecording) { + this.afterRecording(); + } + }, + async sendData() { + if (!this.recordedBlob) { + return; + } + let result = null; + if (this.customUpload) { + result = await this.customUpload(this.recordedBlob); + } else { + result = await this.service.postBackend(this.recordedBlob); + } + if (result) { + this.errorMessage = null; + this.successMessage = SUCCESS_MESSAGE_SUBMIT; + if (this.successfulUpload) { + this.successfulUpload(); + } + } else { + this.successMessage = null; + this.errorMessage = ERROR_SUBMITTING_MESSAGE; + if (this.failedUpload) { + this.failedUpload(); + } + } + }, + micFailed() { + this.recording = false; + this.instructionMessage = INSTRUCTION_MESSAGE; + this.errorMessage = ERROR_MESSAGE; + } + } +}; +const __cssModules = {}; +var __component__ = /* @__PURE__ */ normalizeComponent( + __vue2_script, + render, + staticRenderFns, + false, + __vue2_injectStyles, + null, + null, + null +); +function __vue2_injectStyles(context) { + for (let o in __cssModules) { + this[o] = __cssModules[o]; + } +} +var RecorderWidget = /* @__PURE__ */ function() { + return __component__.exports; +}(); +export { PlayerWidget, RecorderWidget }; diff --git a/dist/rhr-vue2-audio-recorder.umd.js b/dist/rhr-vue2-audio-recorder.umd.js new file mode 100644 index 0000000..933caaf --- /dev/null +++ b/dist/rhr-vue2-audio-recorder.umd.js @@ -0,0 +1 @@ +(function(u,h){typeof exports=="object"&&typeof module!="undefined"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(u=typeof globalThis!="undefined"?globalThis:u||self,h(u["rhr-vue2-audio-recorder"]={}))})(this,function(u){"use strict";class h{constructor(t){this.backendEndpoint=t}async postBackend(t){try{return!!(await fetch(this.backendEndpoint,{method:"POST",body:t})).ok}catch{return!1}}}function l(e){return e?new Date(e*1e3).toISOString().substring(14,19):null}class E{constructor(t){this.bufferSize=t.bufferSize||4096,this.sampleRate=t.sampleRate,this.samples=t.samples}finish(){this._joinSamples();const t=new ArrayBuffer(44+this.samples.length*2),s=new DataView(t);this._writeString(s,0,"RIFF"),s.setUint32(4,36+this.samples.length*2,!0),this._writeString(s,8,"WAVE"),this._writeString(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,this.sampleRate,!0),s.setUint32(28,this.sampleRate*4,!0),s.setUint16(32,4,!0),s.setUint16(34,16,!0),this._writeString(s,36,"data"),s.setUint32(40,this.samples.length*2,!0),this._floatTo16BitPCM(s,44,this.samples);const r=new Blob([s],{type:"audio/wav"});return{id:Date.now(),blob:r,url:URL.createObjectURL(r)}}_floatTo16BitPCM(t,s,r){for(let i=0;ir.stop()),this.input.disconnect(),this.processor.disconnect(),this.context.close();let t=null;t=new E({bufferSize:this.bufferSize,sampleRate:this.encoderOptions.sampleRate,samples:this.wavSamples}).finish(),this.wavSamples=[],t.duration=l(this.duration),this.records.push(t),this._duration=0,this.duration=0,this.isPause=!1,this.isRecording=!1,this.afterRecording&&this.afterRecording(t)}pause(){this.stream.getTracks().forEach(t=>t.stop()),this.input.disconnect(),this.processor.disconnect(),this._duration=this.duration,this.isPause=!0,this.pauseRecording&&this.pauseRecording("pause recording")}recordList(){return this.records}lastRecord(){return this.records.slice(-1).pop()}_micCaptured(t){this.context=new(window.AudioContext||window.webkitAudioContext),this.duration=this._duration,this.input=this.context.createMediaStreamSource(t),this.processor=this.context.createScriptProcessor(this.bufferSize,1,1),this.stream=t,this.processor.onaudioprocess=s=>{const r=s.inputBuffer.getChannelData(0);let i=0;this.wavSamples.push(new Float32Array(r));for(let a=0;a',mic:'',pause:'',play:'',save:'',stop:'',volume:'',volumeMute:''}}},methods:{onClick(){this.$emit("click")}}},m={};var A=d(U,B,P,!1,T,null,null,null);function T(e){for(let t in m)this[t]=m[t]}var p=function(){return A.exports}(),L=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("button",{staticClass:"submit-button shadow-md",style:{"background-color":e.color},on:{click:e.clickButton}},[e._v(" Submit ")])},k=[],ge="";const F={emits:["submit"],props:{color:{type:String}},methods:{clickButton(){this.$emit("submit")}}},v={};var V=d(F,L,k,!1,I,null,null,null);function I(e){for(let t in v)this[t]=v[t]}var Z=function(){return V.exports}();function _(e,t){const s=t.getBoundingClientRect().width,r=e.target.getBoundingClientRect().left;let i=(e.clientX-r)/s;try{if(!e.target.className.match(/^ar\-line\-control/))return}catch{return}return i=i<0?0:i,i=i>1?1:i,i}var z=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{ref:e.refId,staticClass:"ar-line-control",on:{mousedown:e.onMouseDown}},[s("div",{staticClass:"ar-line-control__head",style:e.calculateSize})])},N=[],fe="";const O={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},computed:{calculateSize(){const e=this.percentage<1?this.percentage*100:this.percentage;return`${this.rowDirection?"width":"height"}: ${e}%`}},methods:{onMouseDown(e){const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp(e){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)},onMouseMove(e){const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)}}},g={};var W=d(O,z,N,!1,j,null,null,null);function j(e){for(let t in g)this[t]=g[t]}var f=function(){return W.exports}(),D=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"ar-volume"},[s("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),s("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:e.volume},on:{"change-linehead":e.onChangeLinehead}})],1)},H=[],ye="";const G={data(){return{volume:.8}},components:{IconButton:p,LineControl:f},methods:{onChangeLinehead(e){this.$emit("change-volume",e),this.volume=e}}},y={};var q=d(G,D,H,!1,X,null,null,null);function X(e){for(let t in y)this[t]=y[t]}var Y=function(){return q.exports}(),J=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:e.custom,expression:"custom"}],staticClass:"ar-player"},[s("div",{staticClass:"ar-player-actions"},[s("icon-button",{staticClass:"ar-icon ar-icon__lg ar-player__play",class:{"ar-player__play--active":e.isPlaying,disabled:e.disablePlayButton},attrs:{id:"play",name:e.playBtnIcon},on:{click:e.playback}})],1),s("div",{staticClass:"ar-player-bar"},[s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.playedTime))]),s("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:e.progress},on:{"change-linehead":e._onUpdateProgress}}),s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.duration))]),s("volume-control",{class:{disabled:e.disablePlayButton},on:{"change-volume":e._onChangeVolume}})],1),s("audio",{attrs:{id:e.playerUniqId,src:e.audioSource,type:"audio/mpeg"}})]),s("div",{directives:[{name:"show",rawName:"v-show",value:!e.custom,expression:"!custom"}]},[s("figure",{staticClass:"recorder-player"},[s("audio",{staticClass:"mx-auto",attrs:{controls:"",src:e.audioSource,type:"audio/mpeg"}},[e._v(" Your browser does not support the "),s("code",[e._v("audio")]),e._v(" element. ")])])])])},K=[],we="";const Q={name:"PlayerWidget",components:{IconButton:p,LineControl:f,VolumeControl:Y},props:{src:{type:String},record:{type:Object},filename:{type:String},custom:{type:Boolean,default:!1}},data(){return{isPlaying:!1,duration:l(0),playedTime:l(0),progress:0}},mounted(){this.player=document.getElementById(this.playerUniqId);debugger;this.player&&(this.player.addEventListener("ended",()=>{this.isPlaying=!1}),this.player.addEventListener("loadeddata",e=>{this._resetProgress(),this.duration=l(this.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate),this.$eventBus.$on("remove-record",()=>{this._resetProgress()}))},computed:{disablePlayButton(){return!!this.src},audioSource(){return!this.src&&this.record?this.record.url:this.src},playBtnIcon(){return this.isPlaying?"pause":"play"},playerUniqId(){return`audio-player${this._uid}`}},methods:{playback(){!this.audioSource||(this.isPlaying?this.player.pause():setTimeout(()=>{this.player.play()},0),this.isPlaying=!this.isPlaying)},_resetProgress(){this.isPlaying&&this.player.pause(),this.duration=l(0),this.playedTime=l(0),this.progress=0,this.isPlaying=!1},_onTimeUpdate(){this.playedTime=l(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100},_onUpdateProgress(e){e&&(this.player.currentTime=e*this.player.duration)},_onChangeVolume(e){e&&(this.player.volume=e)}}},w={};var ee=d(Q,J,K,!1,te,null,null,null);function te(e){for(let t in w)this[t]=w[t]}var b=function(){return ee.exports}(),se=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"recorder-container"},[s("div",{staticClass:"recorder-action"},[s("icon-button",{attrs:{name:e.recording?"stop":"mic"},on:{click:function(r){return e.toggleRecording()}}}),s("span",{staticClass:"recorder-timer"},[e._v(e._s(e.recordedTime))])],1),s("div",{staticClass:"recorder-message"},[e.instructionMessage?s("span",{staticClass:"color-primary"},[e._v(" "+e._s(e.instructionMessage)+" ")]):e._e(),e.successMessage?s("span",{staticClass:"color-success"},[e._v(" "+e._s(e.successMessage)+" ")]):e._e(),e.errorMessage?s("span",{staticClass:"color-danger"},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()]),e.compact?e._e():s("player-widget",{attrs:{custom:e.customPlayer,src:e.recordedAudio,record:e.recordedBlob}}),s("submit-button",{attrs:{color:e.buttonColor},on:{submit:e.sendData}})],1)},ie=[],be="";const S="Click icon to start recording message.",re="Click icon again to stop recording.",ae="Failed to use microphone. Please refresh and try again and permit the use of a microphone.",ne="Successfully recorded message!",oe="Successfully submitted audio message! Thank you!",le="Error submitting audio message! Please try again later.",ce={name:"RecorderWidget",components:{IconButton:p,SubmitButton:Z,PlayerWidget:b},props:{time:{type:Number,default:1},bitRate:{type:Number,default:128},sampleRate:{type:Number,default:44100},backendEndpoint:{type:String},buttonColor:{type:String,default:"green"},compact:{type:Boolean,default:!1},customPlayer:{type:Boolean,default:!1},afterRecording:{type:Function},successfulUpload:{type:Function},failedUpload:{type:Function},customUpload:{type:Function,default:null}},data(){return{recording:!1,recordedAudio:null,recordedBlob:null,recorder:null,successMessage:null,errorMessage:null,instructionMessage:S}},computed:{recordedTime(){var e,t;return this.time&&((e=this.recorder)==null?void 0:e.duration)>=this.time*60&&this.toggleRecording(),l((t=this.recorder)==null?void 0:t.duration)}},beforeUnmount(){this.recording&&this.stopRecorder()},methods:{toggleRecording(){this.recording=!this.recording,this.recording?this.initRecorder():this.stopRecording()},initRecorder(){this.recorder=new x({micFailed:this.micFailed,bitRate:this.bitRate,sampleRate:this.sampleRate}),this.recorder.start(),this.successMessage=null,this.errorMessage=null,this.instructionMessage=re,this.service=new h(this.backendEndpoint)},stopRecording(){this.recorder.stop();const e=this.recorder.recordList();this.recordedAudio=e[0].url,this.recordedBlob=e[0].blob,this.recordedAudio&&(this.successMessage=ne,this.instructionMessage=null),this.afterRecording&&this.afterRecording()},async sendData(){if(!this.recordedBlob)return;let e=null;this.customUpload?e=await this.customUpload(this.recordedBlob):e=await this.service.postBackend(this.recordedBlob),e?(this.errorMessage=null,this.successMessage=oe,this.successfulUpload&&this.successfulUpload()):(this.successMessage=null,this.errorMessage=le,this.failedUpload&&this.failedUpload())},micFailed(){this.recording=!1,this.instructionMessage=S,this.errorMessage=ae}}},M={};var ue=d(ce,se,ie,!1,de,null,null,null);function de(e){for(let t in M)this[t]=M[t]}var he=function(){return ue.exports}();u.PlayerWidget=b,u.RecorderWidget=he,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); diff --git a/dist/style.css b/dist/style.css new file mode 100644 index 0000000..bc343f8 --- /dev/null +++ b/dist/style.css @@ -0,0 +1 @@ +.icon-button{border:none;border-radius:50%;height:3em;width:3em;cursor:pointer;fill:currentColor}.icon-button svg{height:1.5em;width:1.5em}.submit-button{display:flex;align-items:center;padding:.5em;border:none;border-radius:4px}.ar-line-control{position:relative;height:8px;border-radius:5px;background-color:#e6e6e6}.ar-line-control__head{position:absolute;height:inherit;background-color:#616161;border-radius:inherit}.ar-volume{display:flex;align-items:center;line-height:10px}.ar-volume-bar{width:50px;height:6px;background:#e6e6e6;border-radius:4px;position:relative}.ar-volume__icon{fill:#747474;width:24px;height:24px;border:0;border-radius:0;padding:0;background-color:unset;margin-right:3px}@media (min-device-width: 320px) and (max-device-width: 700px){.ar-volume{display:none}}.ar-player{width:100%;height:unset;border:0;border-radius:0;display:flex;flex-direction:row;align-items:center;justify-content:center;background-color:unset}.ar-player>.ar-player-bar{border:1px solid #ddd;border-radius:1em;margin:0 0 0 5px}.ar-player>.ar-player-bar>.ar-player__progress{width:100%}.ar-player-bar{display:flex;align-items:center;height:38px;padding:0 12px;margin:0 5px;flex:1}.ar-player-actions{width:55%;display:flex;align-items:center;justify-content:space-around;flex:0}.ar-player__progress{width:160px;margin:0 8px}.ar-player__time{color:#54545480;font-size:16px;width:41px}.ar-player__play{width:32px;height:32px;background-color:#fff;box-shadow:0 1px 2px 2px #00000012}.ar-player__play--active{fill:#fff!important;background-color:#05cbcd!important}.ar-player__play--active:not(.disabled):hover{fill:#505050!important}div.disabled{color:gray;border-color:#fff;pointer-events:none;opacity:.6;cursor:not-allowed!important;user-select:none}.recorder-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1em;margin:1em}.recorder-action{display:flex;flex-direction:column;align-items:center;justify-content:center}.recorder-action .recorder-timer{font-size:.9em}.recorder-message>span{display:block;padding:.5em;border-radius:1em;margin:.5em 0}.recorder-message>span.color-primary{background-color:#b4d6fa}.recorder-message>span.color-success{background-color:#9fd89f}.recorder-message>span.color-danger{background-color:#f4bfab} diff --git a/dist/vue-audio-recorder.min.js b/dist/vue-audio-recorder.min.js deleted file mode 100644 index f1866b5..0000000 --- a/dist/vue-audio-recorder.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("VueAudioRecorder",[],t):"object"==typeof exports?exports.VueAudioRecorder=t():e.VueAudioRecorder=t()}(window,function(){return a={},r.m=n=[function(e,t){function s(e){return new Int16Array(e)}function i(e){return new Int32Array(e)}function o(e){return new Float32Array(e)}var n={fill:function(e,t,n,a){if(2==arguments.length)for(var r=0;r=j.BLKSIZE+e.framesize-j.FFTOFFSET),U(r.mf_size>=512+e.framesize-32)}}(e,h),p.padding=0,(p.slot_lag-=p.frac_SpF)<0&&(p.slot_lag+=e.out_samplerate,p.padding=1),0!=p.psymodel){var g=[null,null],w=0,S=q(2);for(u=0;u=a?(e.ATH.adjust*=.075*a+.925,e.ATH.adjust=a?e.ATH.adjust=a:e.ATH.adjustn.parts.length&&(a.parts.length=n.parts.length)}else{var s=[];for(r=0;re.sampleWindow-e.totsamp?e.sampleWindow-e.totsamp:f,hMAX_ORDER-h&&(u=MAX_ORDER-h)):(o=n+h,_=t,l=r+h,c=a),g(_,o,e.lstepbuf,e.lstep+e.totsamp,u,b[e.reqindex]),g(c,l,e.rstepbuf,e.rstep+e.totsamp,u,b[e.reqindex]),w(e.lstepbuf,e.lstep+e.totsamp,e.loutbuf,e.lout+e.totsamp,u,v[e.reqindex]),w(e.rstepbuf,e.rstep+e.totsamp,e.routbuf,e.rout+e.totsamp,u,v[e.reqindex]),o=e.lout+e.totsamp,_=e.loutbuf,l=e.rout+e.totsamp,c=e.routbuf;for(var p=u%8;0!=p--;)e.lsum+=S(_[o++]),e.rsum+=S(c[l++]);for(p=u/8;0!=p--;)e.lsum+=S(_[o+0])+S(_[o+1])+S(_[o+2])+S(_[o+3])+S(_[o+4])+S(_[o+5])+S(_[o+6])+S(_[o+7]),o+=8,e.rsum+=S(c[l+0])+S(c[l+1])+S(c[l+2])+S(c[l+3])+S(c[l+4])+S(c[l+5])+S(c[l+6])+S(c[l+7]),l+=8;if(f-=u,h+=u,e.totsamp+=u,e.totsamp==e.sampleWindow){var d=10*M.STEPS_per_dB*Math.log10((e.lsum+e.rsum)/e.totsamp*.5+1e-37),m=d<=0?0:0|d;m>=e.A.length&&(m=e.A.length-1),e.A[m]++,e.lsum=e.rsum=0,y.arraycopy(e.loutbuf,e.totsamp,e.loutbuf,0,MAX_ORDER),y.arraycopy(e.routbuf,e.totsamp,e.routbuf,0,MAX_ORDER),y.arraycopy(e.lstepbuf,e.totsamp,e.lstepbuf,0,MAX_ORDER),y.arraycopy(e.rstepbuf,e.totsamp,e.rstepbuf,0,MAX_ORDER),e.totsamp=0}if(e.totsamp>e.sampleWindow)return GAIN_ANALYSIS_ERROR}return s=l),e.header[e.w_ptr].write_timing==l&&(r=e,R.arraycopy(r.header[r.w_ptr].buf,0,p,d,r.sideinfo_len),d+=r.sideinfo_len,l+=8*r.sideinfo_len,r.w_ptr=r.w_ptr+1&V.MAX_HEADER_BUF-1),p[d]=0),a=Math.min(n,m),m-=a,k((n-=a)>n<>n<>3]|=t>>n<<8-(7&a)-r,a+=r}e.header[e.h_ptr].ptr=a}function r(e,t){e<<=8;for(var n=0;n<8;n++)0!=(65536&((t<<=1)^(e<<=1)))&&(t^=32773);return t}function g(e,t){var n,a=L.ht[t.count1table_select+32],r=0,s=t.big_values,i=t.big_values;for(k(t.count1table_select<2),n=(t.count1-t.big_values)/4;0t.big_values&&(n=t.big_values);var a=w(e,t.table_select[0],0,n,t);return a+=w(e,t.table_select[1],n,t.big_values,t)}function y(e,t){var n,a,r,s;n=t.big_values,k(0<=n&&n<=576);var i=t.region0_count+1;return k(0<=i),k(i>8),t[5]=byte(255&n)},this.flush_bitstream=function(e){var t,n,a=e.internal_flags,r=a.h_ptr-1;if(-1==r&&(r=V.MAX_HEADER_BUF-1),t=a.l3_side,!((n=x(e,new M))<0)){if(o(e,n),k(a.header[r].write_timing+this.getframebits(e)==l),a.ResvSize=0,t.main_data_begin=0,a.findReplayGain){var s=f.GetTitleGain(a.rgdata);k(NEQ(s,GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES)),a.RadioGain=0|Math.floor(10*s+.5)}a.findPeakSample&&(a.noclipGainChange=0|Math.ceil(20*Math.log10(a.PeakSample/32767)*10),0 ResvSize"),8*t.main_data_begin!=n.ResvSize&&(R.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n",8*t.main_data_begin,n.ResvSize,t.resvDrain_post,t.resvDrain_pre,8*n.sideinfo_len,r-t.resvDrain_post-8*n.sideinfo_len,r,r%8,a),R.err.println("This is a fatal error. It has several possible causes:"),R.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"),R.err.println(" 9%% Your system is overclocked"),R.err.println(" 1%% bug in LAME encoding library"),n.ResvSize=8*t.main_data_begin),k(l%8==0),1e9e.PeakSample?e.PeakSample=_[0][o]:-_[0][o]>e.PeakSample&&(e.PeakSample=-_[0][o]);if(1e.PeakSample?e.PeakSample=_[1][o]:-_[1][o]>e.PeakSample&&(e.PeakSample=-_[1][o])}if(e.findReplayGain&&f.AnalyzeSamples(e.rgdata,_[0],0,_[1],0,c,e.channels_out)==GainAnalysis.GAIN_ANALYSIS_ERROR)return-6}}return s},this.init_bit_stream_w=function(e){p=B(Lame.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,d=-1,l=m=0}}r.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},r.NEQ=function(e,t){return!r.EQ(e,t)},e.exports=r},function(e,t,n){var a=n(0),x=a.System,R=(a.VbrMode,a.Float,a.ShortBlock,a.Util,a.Arrays),A=(a.new_array_n,a.new_byte,a.new_double,a.new_float,a.new_float_n,a.new_int),B=(a.new_int_n,a.assert),E=n(1),T=n(7),k=n(6),P=n(15);e.exports=function e(){var S=null;function b(e){this.bits=0|e}this.qupvt=null,this.setModules=function(e){this.qupvt=e,S=e};var r=[[0,0],[0,0],[0,0],[0,0],[0,0],[0,1],[1,1],[1,1],[1,2],[2,2],[2,3],[2,3],[3,4],[3,4],[3,4],[4,5],[4,5],[4,6],[5,6],[5,6],[5,7],[6,7],[6,7]];function y(e,t,n,a,r,s){var i=.5946/t;for(B(0>=1;0!=e--;)r[s++]=i>n[a++]?0:1,r[s++]=i>n[a++]?0:1}function M(e,t,n,a,r,s){B(0>=1)%2;for(e>>=1;0!=e--;){var o,_,l,c,f,u,h,p;o=n[a++]*t,_=n[a++]*t,f=0|o,l=n[a++]*t,u=0|_,c=n[a++]*t,h=0|l,o+=S.adj43[f],p=0|c,_+=S.adj43[u],r[s++]=0|o,l+=S.adj43[h],r[s++]=0|_,c+=S.adj43[p],r[s++]=0|l,r[s++]=0|c}0!=i&&(f=0|(o=n[a++]*t),u=0|(_=n[a++]*t),o+=S.adj43[f],_+=S.adj43[u],r[s++]=0|o,r[s++]=0|_)}var o=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function v(e,t,n,a){var r=function(e,t,n){var a=0,r=0;do{var s=e[t++],i=e[t++];a>=16)&&(o=s,a++),r.bits+=o,a}(e,t,n,o[r-1],a);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,n,a,r){var s=0,i=0,o=0,_=T.ht[a].xlen,l=T.ht[a].hlen,c=T.ht[a+1].hlen,f=T.ht[a+2].hlen;do{var u=e[t+0]*_+e[t+1];t+=2,s+=l[u],i+=c[u],o+=f[u]}while(tP.IXMAX_VAL)return a.bits=P.LARGE_BITS,-1;var s,i;for(r-=15,s=24;s<32&&!(T.ht[s].linmax>=r);s++);for(i=s-8;i<24&&!(T.ht[i].linmax>=r);i++);return function(e,t,n,a,r,s){var i,o=65536*T.ht[a].xlen+T.ht[r].xlen,_=0;do{var l=e[t++],c=e[t++];0!=l&&(14>=16)&&(_=i,a=r),s.bits+=_,a}(e,t,n,i,s,a)}}function h(e,t,n,a,r,s,i,o){for(var _=t.big_values,l=2;l>1<<1);for(null!=n&&(n.sfb_count1=0);1t.big_values&&(s=t.big_values),i=t.big_values;else if(t.block_type==E.NORM_TYPE){if(B(r<=576),s=t.region0_count=e.bv_scf[r-2],i=t.region1_count=e.bv_scf[r-1],B(s+i+2s)return P.LARGE_BITS;if(function(e,t,n,a,r){var s,i,o,_=0,l=0,c=0,f=0,u=t,h=0,p=u,d=0,m=e,b=0;for(o=null!=r&&a.global_gain==r.global_gain,i=a.block_type==E.SHORT_TYPE?38:21,s=0;s<=i;s++){var v=-1;if(!o&&a.block_type!=E.NORM_TYPE||(v=a.global_gain-(a.scalefac[s]+(0!=a.preflag?S.pretab[s]:0)<a.max_nonzero_coeff&&(g=a.max_nonzero_coeff-_+1,R.fill(t,a.max_nonzero_coeff,576,0),(w=g)<0&&(w=0),s=i+1),0==l&&0==c&&(p=u,d=h,m=e,b=f),null!=r&&0=r.sfb_count1&&0=r.step[s]?(0!=l&&(M(l,n,m,b,p,d),l=0,p=u,d=h,m=e,b=f),c+=w):(0!=c&&(y(c,n,m,b,p,d),c=0,p=u,d=h,m=e,b=f),l+=w),w<=0){0!=c&&(y(c,n,m,b,p,d),c=0),0!=l&&(M(l,n,m,b,p,d),l=0);break}}s<=i&&(h+=a.width[s],f+=a.width[s],_+=a.width[s])}0!=l&&(M(l,n,m,b,p,d),l=0),0!=c&&(y(c,n,m,b,p,d),c=0)}(t,r,S.IPOW20(n.global_gain),n,a),0!=(2&e.substep_shaping))for(var i=0,o=n.global_gain+n.scalefac_scale,_=.634521682242439/S.IPOW20(o),l=0;l=_?r[c]:0}return this.noquant_count_bits(e,n,a)},this.best_huffman_divide=function(e,t){var n=new k,a=t.l3_enc,r=A(23),s=A(23),i=A(23),o=A(23);if(t.block_type!=E.SHORT_TYPE||1!=e.mode_gr){n.assign(t),t.block_type==E.NORM_TYPE&&(function(e,t,n,a,r,s,i){for(var o=t.big_values,_=0;_<=22;_++)a[_]=P.LARGE_BITS;for(_=0;_<16;_++){var l=e.scalefac_band.l[_+1];if(o<=l)break;var c=0,f=new b(c),u=v(n,0,l,f);c=f.bits;for(var h=0;h<8;h++){var p=e.scalefac_band.l[_+h+2];if(o<=p)break;var d=c,m=v(n,l,p,f=new b(d));d=f.bits,a[_+h]>d&&(a[_+h]=d,s[(r[_+h]=_)+h]=u,i[_+h]=m)}}}(e,t,a,r,s,i,o),h(e,n,t,a,r,s,i,o));var _=n.big_values;if(!(0==_||1<(a[_-2]|a[_-1])||576<(_=t.count1+2))){n.assign(t),n.count1=_;var l=0,c=0;for(B(_<=576);_>n.big_values;_-=4){var f=2*(2*(2*a[_-4]+a[_-3])+a[_-2])+a[_-1];l+=T.t32l[f],c+=T.t33l[f]}if(n.big_values=_,n.count1table_select=0,cn.part2_3_length&&t.assign(n)}}}};var u=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],p=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],d=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],m=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];e.slen1_tab=d,e.slen2_tab=m,this.best_scalefac_store=function(e,t,n,a){var r,s,i,o,_=a.tt[t][n],l=0;for(r=i=0;r<_.sfbmax;r++){var c=_.width[r];for(B(0<=c),i+=c,o=-c;o<0&&0==_.l3_enc[o+i];o++);0==o&&(_.scalefac[r]=l=-2)}if(0==_.scalefac_scale&&0==_.preflag){var f=0;for(r=0;r<_.sfbmax;r++)0<_.scalefac[r]&&(f|=_.scalefac[r]);if(0==(1&f)&&0!=f){for(r=0;r<_.sfbmax;r++)0<_.scalefac[r]&&(_.scalefac[r]>>=1);_.scalefac_scale=l=1}}if(0==_.preflag&&_.block_type!=E.SHORT_TYPE&&2==e.mode_gr){for(r=11;rc&&(a.part2_length=c,a.scalefac_compress=s)}}(n,a),l=0),r=0;r<_.sfbmax;r++)-2==_.scalefac[r]&&(_.scalefac[r]=0);0!=l&&(2==e.mode_gr?this.scale_bitcount(_):this.scale_bitcount_lsf(e,_))};var _=[0,18,36,54,54,36,54,72,54,72,90,72,90,108,108,126],l=[0,18,36,54,51,35,53,71,52,70,88,69,87,105,104,122],c=[0,10,20,30,33,21,31,41,32,42,52,43,53,63,64,74];this.scale_bitcount=function(e){var t,n,a,r=0,s=0,i=e.scalefac;if(B(function(e,t){for(var n=0;na[t]&&(e.part2_length=a[t],e.scalefac_compress=t);return e.part2_length==P.LARGE_BITS};var g=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(e,t){var n,a,r,s,i,o,_,l,c=A(4),f=t.scalefac;for(n=0!=t.preflag?2:0,_=0;_<4;_++)c[_]=0;if(t.block_type==E.SHORT_TYPE){a=1;var u=S.nr_of_sfb_block[n][a];for(r=l=0;r<4;r++)for(s=u[r]/3,_=0;_c[r]&&(c[r]=f[3*l+i])}else for(a=0,u=S.nr_of_sfb_block[n][a],r=l=0;r<4;r++)for(s=u[r],_=0;_c[r]&&(c[r]=f[l]);for(o=!1,r=0;r<4;r++)c[r]>g[n][r]&&(o=!0);if(!o){var h,p,d,m;for(t.sfb_partition_table=S.nr_of_sfb_block[n][a],r=0;r<4;r++)t.slen[r]=w[c[r]];switch(h=t.slen[0],p=t.slen[1],d=t.slen[2],m=t.slen[3],n){case 0:t.scalefac_compress=(5*h+p<<4)+(d<<2)+m;break;case 1:t.scalefac_compress=400+(5*h+p<<2)+d;break;case 2:t.scalefac_compress=500+3*h+p;break;default:x.err.printf("intensity stereo not implemented yet\n")}}if(!o)for(B(null!=t.sfb_partition_table),r=t.part2_length=0;r<4;r++)t.part2_length+=t.slen[r]*t.sfb_partition_table[r];return o};var w=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var n,a=0;e.scalefac_band.l[++a]t;)n--;for(n<0&&(n=r[a][0]),e.bv_scf[t-2]=n,n=r[a][1];e.scalefac_band.l[n+e.bv_scf[t-2]+2]>t;)n--;n<0&&(n=r[a][1]),e.bv_scf[t-1]=n}}}},function(e,t,n){var s=n(10),a=n(0),T=(a.System,a.VbrMode),v=a.Float,A=(a.ShortBlock,a.Util),S=(a.Arrays,a.new_array_n,a.new_byte,a.new_double,a.new_float),g=(a.new_float_n,a.new_int),B=(a.new_int_n,a.assert),k=n(1),w=n(12),y=n(4);function P(){var l=null,d=null,a=null;this.setModules=function(e,t,n){l=e,d=t,a=n},this.IPOW20=function(e){return B(0<=e&&e>2&63)&&(t-=64),r=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>8&63)&&(t-=64),s=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>14&63)&&(t-=64),i=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>20&63)&&(t-=64),o=i*Math.pow(10,t/4/10),t=0;ty.MAX_BITS_PER_GRANULE&&(h=y.MAX_BITS_PER_GRANULE),o=i=0;o<_.channels_out;++o)n[o]=Math.min(y.MAX_BITS_PER_CHANNEL,l/_.channels_out),c[o]=0|n[o]*t[r][o]/700-n[o],c[o]>3*a/4&&(c[o]=3*a/4),c[o]<0&&(c[o]=0),c[o]+n[o]>y.MAX_BITS_PER_CHANNEL&&(c[o]=Math.max(0,y.MAX_BITS_PER_CHANNEL-n[o])),i+=c[o];if(uy.MAX_BITS_PER_GRANULE){var p=0;for(o=0;o<_.channels_out;++o)n[o]*=y.MAX_BITS_PER_GRANULE,n[o]/=i,p+=n[o];B(p<=y.MAX_BITS_PER_GRANULE)}return h},this.reduce_side=function(e,t,n,a){B(a<=y.MAX_BITS_PER_GRANULE),B(e[0]+e[1]<=y.MAX_BITS_PER_GRANULE);var r=.33*(.5-t)/.5;r<0&&(r=0),.5y.MAX_BITS_PER_CHANNEL-e[0]&&(s=y.MAX_BITS_PER_CHANNEL-e[0]),s<0&&(s=0),125<=e[1]&&(125>1,x=0;do{x+=A=c[o]*c[o],S+=A>1;w=v/m,S=E;do{var A,B;x+=A=c[o]*c[o],S+=Aa[s-3+1]&&(a[s-3+1]+=(a[s-3]-a[s-3+1])*i.decay),a[s-3+1]>a[s-3+2]&&(a[s-3+2]+=(a[s-3+1]-a[s-3+2])*i.decay))}return _},this.calc_noise_core=function(e,t,n,a){var r=0,s=t.s,i=e.l3_enc;if(s>e.count1)for(;0!=n--;){_=e.xr[s],s++,r+=_*_,_=e.xr[s],s++,r+=_*_}else if(s>e.big_values){var o=S(2);for(o[0]=0,o[1]=a;0!=n--;){_=Math.abs(e.xr[s])-o[i[s]],s++,r+=_*_,_=Math.abs(e.xr[s])-o[i[s]],s++,r+=_*_}}else for(;0!=n--;){var _;_=Math.abs(e.xr[s])-p[i[s]]*a,s++,r+=_*_,_=Math.abs(e.xr[s])-p[i[s]]*a,s++,r+=_*_}return t.s=s,r},this.calc_noise=function(e,t,n,a,r){var s,i,o,_=0,l=0,c=0,f=0,u=0,h=-20,p=0,d=e.scalefac,m=0;for(s=a.over_SSD=0;s>1,p+e.width[s]>e.max_nonzero_coeff)i=0<(w=e.max_nonzero_coeff-p+1)?w>>1:0;var y=new R(p);g=this.calc_noise_core(e,y,i,S),p=y.s,null!=r&&(r.step[s]=v,r.noise[s]=g),g=n[_++]=g/t[l++],g=A.FAST_LOG10(Math.max(g,1e-20)),null!=r&&(r.noise_log[s]=g)}if(null!=r&&(r.global_gain=e.global_gain),u+=g,0g&&(g=e.length,S=y(w=0|1.25*g+7200));var n=r.lame_encode_buffer(b,e,t,e.length,S,0,w);return new Int8Array(S.subarray(0,n))},this.flush=function(){var e=r.lame_encode_flush(b,S,0,w);return new Int8Array(S.subarray(0,e))}},e.exports.WavHeader=o},function(e,t,n){var a=n(18);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("9d62102e",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-player {\n width: 380px;\n height: unset;\n border: 0;\n border-radius: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n background-color: unset;\n font-family: 'Roboto', sans-serif;\n}\n.ar-player > .ar-player-bar {\n border: 1px solid #E8E8E8;\n border-radius: 24px;\n margin: 0 0 0 5px;\n}\n.ar-player > .ar-player-bar > .ar-player__progress {\n width: 125px;\n}\n.ar-player-bar {\n display: flex;\n align-items: center;\n height: 38px;\n padding: 0 12px;\n margin: 0 5px;\n}\n.ar-player-actions {\n width: 55%;\n display: flex;\n align-items: center;\n justify-content: space-around;\n}\n.ar-player__progress {\n width: 160px;\n margin: 0 8px;\n}\n.ar-player__time {\n color: rgba(84, 84, 84, 0.5);\n font-size: 16px;\n width: 41px;\n}\n.ar-player__play {\n width: 45px;\n height: 45px;\n background-color: #FFFFFF;\n box-shadow: 0 2px 11px 11px rgba(0, 0, 0, 0.07);\n}\n.ar-player__play--active {\n fill: white !important;\n background-color: #05CBCD !important;\n}\n.ar-player__play--active:not(.disabled):hover {\n fill: #505050 !important;\n}\ndiv.disabled {\n color: grey;\n border-color: white;\n opacity: .6;\n cursor: not-allowed !important;\n user-select: none;\n}\ndiv.disabled:hover {\n cursor: not-allowed !important;\n}\n@media (min-device-width: 320px) and (max-device-width: 700px) {\n.ar-player {\n width: 85vw;\n}\n}\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon:hover {\n fill: #505050;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n@media (min-device-width: 320px) and (max-device-width: 700px) {\n.ar-icon .ar-icon__lg {\n width: 35px;\n height: 35px;\n}\n.ar-icon audio::-webkit-media-controls-mute-button {\n display: none !important;\n}\n.ar-icon audio::-webkit-media-controls-volume-slider {\n display: none !important;\n}\n}\n",""])},function(e,t,n){var a=n(20);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("722c44a2",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-line-control {\n position: relative;\n height: 8px;\n border-radius: 5px;\n background-color: #E6E6E6;\n}\n.ar-line-control__head {\n position: absolute;\n height: inherit;\n background-color: #616161;\n border-radius: inherit;\n}\n",""])},function(e,t,n){var a=n(22);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("7e43270a",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-volume {\n display: flex;\n align-items: center;\n line-height: 10px;\n}\n.ar-volume-bar {\n width: 50px;\n height: 6px;\n background: #E6E6E6;\n border-radius: 4px;\n position: relative;\n}\n.ar-volume__icon {\n fill: #747474;\n width: 24px;\n height: 24px;\n border: 0;\n border-radius: 0;\n padding: 0;\n background-color: unset;\n margin-right: 3px;\n}\n@media (min-device-width: 320px) and (max-device-width: 700px) {\n.ar-volume {\n display: none;\n}\n}\n",""])},function(e,t,n){var a=n(24);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("00c7c6ba",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar {\n width: 420px;\n font-family: 'Roboto', sans-serif;\n border-radius: 16px;\n background-color: #FAFAFA;\n box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.17);\n position: relative;\n box-sizing: content-box;\n}\n.ar-content {\n padding: 16px;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ar-records {\n height: 138px;\n padding-top: 1px;\n overflow-y: auto;\n margin-bottom: 20px;\n}\n.ar-records__record {\n width: 320px;\n height: 45px;\n padding: 0 10px;\n margin: 0 auto;\n line-height: 45px;\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #E8E8E8;\n position: relative;\n}\n.ar-records__record--selected {\n border: 1px solid #E8E8E8;\n border-radius: 24px;\n background-color: #FFFFFF;\n margin-top: -1px;\n padding: 0 34px;\n}\n.ar-recorder {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ar-recorder__duration {\n color: #AEAEAE;\n font-size: 32px;\n font-weight: 500;\n margin-top: 30px;\n margin-bottom: 16px;\n}\n.ar-recorder__stop {\n position: absolute;\n top: 10px;\n right: -52px;\n}\n.ar-recorder__time-limit {\n position: absolute;\n color: #AEAEAE;\n font-size: 14px;\n top: 135px;\n}\n.ar-recorder__records-limit {\n position: absolute;\n color: #AEAEAE;\n font-size: 14px;\n top: 75px;\n}\n.ar-recorder__time-remaining {\n position: absolute;\n color: #AEAEAE;\n font-size: 14px;\n top: 90px;\n}\n.ar-spinner {\n display: flex;\n height: 30px;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n width: 144px;\n z-index: 10;\n}\n.ar-spinner__dot {\n display: block;\n margin: 0 8px;\n border-radius: 50%;\n width: 30px;\n height: 30px;\n background: #05CBCD;\n animation-name: blink;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-fill-mode: both;\n}\n.ar-spinner__dot:nth-child(2) {\n animation-delay: .2s;\n}\n.ar-spinner__dot:nth-child(3) {\n animation-delay: .4s;\n}\n@keyframes blink {\n0% {\n opacity: .2;\n}\n20% {\n opacity: 1;\n}\n100% {\n opacity: .2;\n}\n}\n.ar__text {\n color: rgba(84, 84, 84, 0.5);\n font-size: 16px;\n}\n.ar__blur {\n filter: blur(2px);\n opacity: 0.7;\n}\n.ar__overlay {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n}\n.ar__upload-status {\n text-align: center;\n font-size: 10px;\n padding: 2px;\n letter-spacing: 1px;\n position: absolute;\n bottom: 0;\n}\n.ar__upload-status--success {\n color: green;\n}\n.ar__upload-status--fail {\n color: red;\n}\n.ar__rm {\n cursor: pointer;\n position: absolute;\n width: 6px;\n height: 6px;\n padding: 6px;\n line-height: 6px;\n margin: auto;\n left: 10px;\n bottom: 0;\n top: 0;\n color: #f4785a;\n}\n.ar__downloader, .ar__uploader {\n position: absolute;\n top: 0;\n bottom: 0;\n margin: auto;\n}\n.ar__downloader {\n right: 115px;\n}\n.ar__uploader {\n right: 85px;\n}\n@media (min-device-width: 320px) and (max-device-width: 700px) {\n.ar {\n width: 90vw;\n}\n}\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon:hover {\n fill: #505050;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n@media (min-device-width: 320px) and (max-device-width: 700px) {\n.ar-icon .ar-icon__lg {\n width: 35px;\n height: 35px;\n}\n.ar-icon audio::-webkit-media-controls-mute-button {\n display: none !important;\n}\n.ar-icon audio::-webkit-media-controls-volume-slider {\n display: none !important;\n}\n}\n",""])},function(e,t,n){var a=n(26);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("07a135de",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon:hover {\n fill: #505050;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n@media (min-device-width: 320px) and (max-device-width: 700px) {\n.ar-icon .ar-icon__lg {\n width: 35px;\n height: 35px;\n}\n.ar-icon audio::-webkit-media-controls-mute-button {\n display: none !important;\n}\n.ar-icon audio::-webkit-media-controls-volume-slider {\n display: none !important;\n}\n}\n",""])},function(e,t,n){var a=n(0),X=a.System,Y=a.VbrMode,q=(a.Float,a.ShortBlock),U=(a.Util,a.Arrays,a.new_array_n,a.new_byte,a.new_double,a.new_float),j=(a.new_float_n,a.new_int,a.new_int_n),d=a.new_short_n,z=a.assert,G=n(28),s=n(32),K=n(4),Z=n(36),Q=n(37),W=n(38),$=n(13),J=n(7),ee=n(1);e.exports=function e(){var o=this;e.V9=410,e.V8=420,e.V7=430,e.V6=440,e.V5=450,e.V4=460,e.V3=470,e.V2=480,e.V1=490,e.V0=500,e.R3MIX=1e3,e.STANDARD=1001,e.EXTREME=1002,e.INSANE=1003,e.STANDARD_FAST=1004,e.EXTREME_FAST=1005,e.MEDIUM=1006,e.MEDIUM_FAST=1007;var y,M,g,w,S;e.LAME_MAXMP3BUFFER=147456;var x,R,A,B=new G;function E(){this.mask_adjust=0,this.mask_adjust_short=0,this.bo_l_weight=U(ee.SBMAX_l),this.bo_s_weight=U(ee.SBMAX_s)}function T(){this.lowerlimit=0}function r(e,t){this.lowpass=t}this.enc=new ee,this.setModules=function(e,t,n,a,r,s,i,o,_){y=e,M=t,g=n,w=a,S=r,x=s,R=o,A=_,this.enc.setModules(M,B,w,x)};var k=4294479419;function P(e){return 1=t),t}function N(e,t,n,a,r,s){var i=o.enc.lame_encode_mp3_frame(e,t,n,a,r,s);return e.frameNum++,i}function F(){this.n_in=0,this.n_out=0}function c(){this.num_used=0}function C(e,t,n){var a=Math.PI*t;(e/=n)<0&&(e=0),1K.BPC&&(h=K.BPC);var p=Math.abs(f.resample_ratio-Math.floor(.5+f.resample_ratio))<1e-4?1:0,d=1/f.resample_ratio;1=b)for(l=0;le.in_samplerate&&(e.lowpassfreq=e.in_samplerate/2),e.out_samplerate=(t=0|e.lowpassfreq,n=e.in_samplerate,a=44100,48e3<=n?a=48e3:44100<=n?a=44100:32e3<=n?a=32e3:24e3<=n?a=24e3:22050<=n?a=22050:16e3<=n?a=16e3:12e3<=n?a=12e3:11025<=n?a=11025:8e3<=n&&(a=8e3),-1==t?a:(t<=15960&&(a=44100),t<=15250&&(a=32e3),t<=11220&&(a=24e3),t<=9970&&(a=22050),t<=7230&&(a=16e3),t<=5420&&(a=12e3),t<=4510&&(a=11025),t<=3970&&(a=8e3),n=t.lowpass2&&(n=Math.min(n,s)),t.lowpass1t.highpass1?P((t.highpass2-l)/(t.highpass2-t.highpass1+1e-20)):1,_=t.lowpass2>t.lowpass1?P((l-t.lowpass1)/(t.lowpass2-t.lowpass1+1e-20)):1,t.amp_filter[s]=o*_}}(e),r.samplerate_index=L(e.out_samplerate,e),r.samplerate_index<0)return e.internal_flags=null,-1;if(e.VBR==Y.vbr_off){if(e.free_format)r.bitrate_index=0;else if(e.brate=I(e.brate,e.version,e.out_samplerate),r.bitrate_index=V(e.brate,e.version,e.out_samplerate),r.bitrate_index<=0)return e.internal_flags=null,-1}else r.bitrate_index=1;e.analysis&&(e.bWriteVbrTag=!1),null!=r.pinfo&&(e.bWriteVbrTag=!1),M.init_bit_stream_w(r);for(var f,u,h,p=r.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),d=0;d=c){var S=i-h;if(0==i&&(S=0),(o=N(e,p[0],p[1],r,s,S))<0)return o;for(s+=o,h+=o,u.mf_size-=e.framesize,u.mf_samples_to_encode-=e.framesize,l=0;lO[h+3-2]?(ke(010*Q?(ke(0H&&(Y[h/3]=h%3+1);for(h=1;h<4;h++){(N[h-1]>N[h]?(ke(01.58*e.thm[1].l[t]||e.thm[1].l[t]>1.58*e.thm[0].l[t])){var n=e.mld_l[t]*e.en[3].l[t],a=Math.max(e.thm[2].l[t],Math.min(e.thm[3].l[t],n));n=e.mld_l[t]*e.en[2].l[t];var r=Math.max(e.thm[3].l[t],Math.min(e.thm[2].l[t],n));e.thm[2].l[t]=a,e.thm[3].l[t]=r}for(t=0;t1.58*e.thm[1].s[t][s]||e.thm[1].s[t][s]>1.58*e.thm[0].s[t][s])){n=e.mld_s[t]*e.en[3].s[t][s],a=Math.max(e.thm[2].s[t][s],Math.min(e.thm[3].s[t][s],n));n=e.mld_s[t]*e.en[2].s[t][s];r=Math.max(e.thm[3].s[t][s],Math.min(e.thm[2].s[t][s],n));e.thm[2].s[t][s]=a,e.thm[3].s[t][s]=r}}(w),g=e.msfix,0g&&(a[_]=g),1n[_]&&(a[_]=n[_]),l.masking_lower<1&&(a[_]*=l.masking_lower),ke(0<=a[_])}for(;_c&&(a[s]=c),1n[s]&&(a[s]=n[s]),e.masking_lower<1&&(a[s]*=e.masking_lower),ke(0<=a[s])}for(;sS[m+3-2]?(ke(010*k?(ke(0R&&(_[p][m/3]=m%3+1);for(m=1;m<4;m++){var V=y[m-1],H=y[m];Math.max(V,H)<4e4&&V<1.7*H&&H<1.7*V&&(1==m&&_[p][0]<=_[p][m]&&(_[p][0]=0),_[p][m]=0)}_[p][0]<=f.nsPsy.lastAttacks[p]&&(_[p][0]=0),3!=f.nsPsy.lastAttacks[p]&&_[p][0]+_[p][1]+_[p][2]+_[p][3]==0||((A=0)!=_[p][1]&&0!=_[p][0]&&(_[p][1]=0),0!=_[p][2]&&0!=_[p][1]&&(_[p][2]=0),0!=_[p][3]&&0!=_[p][2]&&(_[p][3]=0)),p<2?l[p]=A:0==A&&(l[0]=l[1]=0),i[p]=f.tot_ener[p]}}(e,t,n,a,r,s,_,y,M,x),function(e,t){var n=e.internal_flags;e.short_blocks!=Re.short_block_coupled||0!=t[0]&&0!=t[1]||(t[0]=t[1]=0);for(var a=0;a=r&&(d=i*(l[t]-r)/(24-r)+s*(24-l[t])/(24-r)),f[t]=Math.pow(10,d/10),0=r&&(d=_*(l[t]-r)/(24-r)+o*(24-l[t])/(24-r)),f[t]=Math.pow(10,d/10),g=G.MAX_VALUE;for(b=0;bn.npart_l-1&&(n.s3ind[S][1]=n.npart_l-1);var y=576*n.mode_gr/u;if(n.ATH.decay=Math.pow(10,-1.2*y),n.ATH.adjust=.01,n.ATH.adjustLimit=1,ke(n.bo_l[Pe.SBMAX_l-1]<=n.npart_l),ke(n.bo_s[Pe.SBMAX_s-1]<=n.npart_s),-1!=e.ATHtype){var M=e.out_samplerate/Pe.BLKSIZE,x=0;for(t=v=0;t>1,h=(u=(f=a)<<1)+f,a=u<<1,s=(r=t)+p;do{S=e[r+0]-e[r+f],w=e[r+0]+e[r+f],R=e[r+u]-e[r+h],M=e[r+u]+e[r+h],e[r+u]=w-M,e[r+0]=w+M,e[r+h]=S-R,e[r+f]=S+R,S=e[s+0]-e[s+f],w=e[s+0]+e[s+f],R=E.SQRT2*e[s+h],M=E.SQRT2*e[s+u],e[s+u]=w-M,e[s+0]=w+M,e[s+h]=S-R,e[s+f]=S+R,s+=a,r+=a}while(rn.max_noise-.2&&n.tot_noisen.max_noise-.2&&n.tot_noisen.max_noise-.1&&n.tot_noise+n.over_noisen.max_noise-.15&&n.tot_noise+n.over_noise+n.over_noiset.xrpow_max&&(t.xrpow_max=a[c+f]);if(2==i.noise_shaping_amp)return}}}(e,t,n,a,r);var i=o(t);return!i&&(!(i=2==s.mode_gr?y.scale_bitcount(t):y.scale_bitcount_lsf(s,t))||(1e.xrpow_max&&(e.xrpow_max=t[n+i])}e.scalefac[a]=s>>1}e.preflag=0,e.scalefac_scale=1}(t,a),i=!1):t.block_type==L.SHORT_TYPE&&0>t.scalefac_scale))r[a]=c,_+=3*l;else{r[a]=0;var f=210+(c<t.xrpow_max&&(t.xrpow_max=n[_+u]);_+=l*(3-s-1)}}var h=S.IPOW20(202);_+=t.width[a]*(s+1);for(u=-t.width[a];u<0;u++)n[_+u]*=h,n[_+u]>t.xrpow_max&&(t.xrpow_max=n[_+u])}}return!1}(s,t,a)||o(t))),!(i=i||(2==s.mode_gr?y.scale_bitcount(t):y.scale_bitcount_lsf(s,t)))))}this.setModules=function(e,t,n,a){b=e,g=t,this.rv=t,S=n,this.qupvt=n,y=a,r.setModules(S,y)},this.ms_convert=function(e,t){for(var n=0;n<576;++n){var a=e.tt[t][0].xr[n],r=e.tt[t][1].xr[n];e.tt[t][0].xr[n]=(a+r)*(.5*i.SQRT2),e.tt[t][1].xr[n]=(a-r)*(.5*i.SQRT2)}},this.init_xrpow=function(e,t,n){var a=0,r=0|t.max_nonzero_coeff;if(T(null!=n),t.xrpow_max=0,T(0<=r&&r<=575),m.fill(n,r,576,0),1e-20<(a=function(e,t,n,a){for(var r=a=0;r<=n;++r){var s=Math.abs(e.xr[r]);a+=s,t[r]=Math.sqrt(s*Math.sqrt(s)),t[r]>e.xrpow_max&&(e.xrpow_max=t[r])}return a}(t,n,r,a))){var s=0;0!=(2&e.substep_shaping)&&(s=1);for(var i=0;iw&&o.global_gain<=g;)o.global_gain++;if(o.global_gain>g)break;if(0==c.over_count){for(;(o.part2_3_length=y.count_bits(i,a,o,f))>u&&o.global_gain<=g;)o.global_gain++;if(o.global_gain>g)break}if(S.calc_noise(o,n,l,v,f),v.bits=o.part2_3_length,0!=(x(t.block_type!=L.SHORT_TYPE?e.quant_comp:e.quant_comp_short,c,v,o,l)?1:0))u=t.part2_3_length,c=v,t.assign(o),m=0,A.arraycopy(a,0,_,0,576);else if(0==i.full_outer_loop){if(++m>b&&0==c.over_count)break;if(3==i.noise_shaping_amp&&p&&30s[c.VBR_max_bitrate]&&(o[d][b]*=s[c.VBR_max_bitrate],o[d][b]/=h),i[d][b]>o[d][b]&&(i[d][b]=o[d][b]);return u},this.bitpressure_strategy=function(e,t,n,a){for(var r=0;rLameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[o][_]=LameInternalFlags.MAX_BITS_PER_CHANNEL),p+=a[o][_]}if(p>LameInternalFlags.MAX_BITS_PER_GRANULE)for(_=0;_LameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[o][_]=LameInternalFlags.MAX_BITS_PER_CHANNEL),l+=a[o][_];if(l>s[0])for(o=0;oi&&(a.ResvMax=i),(a.ResvMax<0||e.disable_reservoir)&&(a.ResvMax=0);var o=t.bits*a.mode_gr+Math.min(a.ResvSize,a.ResvMax);return n>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=255&n}function H(e,t,n){e[t+0]=n>>8&255,e[t+1]=255&n}function o(e,t,n){return 255&(e<>8^n[255&(t^e)]}this.addVbrFrame=function(e){var t=e.internal_flags,n=Tables.bitrate_table[e.version][t.bitrate_index];r(null!=t.VBR_seek_table.bag),function(e,t){if(e.nVbrNumFrames++,e.sum+=t,e.seen++,!(e.seen>3&1,i=e[n+2]>>2&3,o=e[n+3]>>6&3,_=e[n+2]>>4&15;if(_=Tables.bitrate_table[s][_],e[n+1]>>4==14?t.samprate=Tables.samplerate_table[2][i]:t.samprate=Tables.samplerate_table[s][i],a=e,r=n+=0!=s?3!=o?36:21:3!=o?21:13,!new String(a,r,p.length(),null).equals(p)&&!new String(a,r,d.length(),null).equals(d))return null;n+=4,t.hId=s;var l=t.flags=m(e,n);if(n+=4,0!=(1&l)&&(t.frames=m(e,n),n+=4),0!=(2&l)&&(t.bytes=m(e,n),n+=4),0!=(4&l)){if(null!=t.toc)for(var c=0;c>4;var u=(15&e[n+1])<<8;return(f<0||3e3e.pos-1&&(r=e.pos-1);var s=0|256*e.bag[r]/e.sum;255e.scale_right||e.disable_reservoir&&e.brate<320||e.noATH||e.ATHonly||0==k||e.in_samplerate<=32e3)&&(y=1),i=w+(S<<2)+(y<<5)+(M<<6),o=c.nMusicCRC,V(n,a+f,p),f+=4;for(var P=0;P<9;P++)n[a+f+P]=255&d.charAt(P);n[a+(f+=9)]=255&s,n[a+ ++f]=255&b,V(n,a+ ++f,v),H(n,a+(f+=4),g),H(n,a+(f+=2),0),n[a+(f+=2)]=255&_,n[a+ ++f]=255<=l?255:255&l,n[a+ ++f]=255&u>>4,n[a+f+1]=255&(u<<4)+(h>>8),n[a+f+2]=255&h,n[a+(f+=3)]=255&i,f++,n[a+f++]=0,H(n,a+f,e.preset),V(n,a+(f+=2),t),H(n,a+(f+=4),o),f+=2;for(var L=0;La.length?-1:(r<1||t.write(a,0,r),0)}}s.NUMTOCENTRIES=100,s.MAXFRAMESIZE=2880,e.exports=s},function(e,t,n){var a=n(48);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("5b0bec03",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon:hover {\n fill: #505050;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n@media (min-device-width: 320px) and (max-device-width: 700px) {\n.ar-icon .ar-icon__lg {\n width: 35px;\n height: 35px;\n}\n.ar-icon audio::-webkit-media-controls-mute-button {\n display: none !important;\n}\n.ar-icon audio::-webkit-media-controls-volume-slider {\n display: none !important;\n}\n}\n",""])},function(e,t,n){"use strict";n.r(t),n.d(t,"AudioPlayer",function(){return y}),n.d(t,"AudioRecorder",function(){return U});function a(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{domProps:{innerHTML:e._s(e.icons[e.name])}})}var r={props:{name:{type:String}},data:function(){return{icons:{download:'',mic:'',pause:'',play:'',save:'',stop:'',volume:''}}}};function s(e,t,n,a,r,s,i,o){var _=typeof(e=e||{}).default;"object"!=_&&"function"!=_||(e=e.default);var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),s&&(c._scopeId=s),i?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=l):r&&(l=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var f=c.render;c.render=function(e,t){return l.call(t),f(e,t)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:c}}a._withStripped=!0;var i=s(r,a,[],!1,null,null,null);i.options.__file="src/components/icon-button.vue";var o=i.exports;function _(e,t){var n=t.getBoundingClientRect().width,a=e.target.getBoundingClientRect().left,r=(e.clientX-a)/n;try{if(!e.target.className.match(/^ar\-line\-control/))return}catch(e){return}return r=1<(r=r<0?0:r)?1:r}function l(e){return new Date(1e3*e).toISOString().substr(14,5)}function c(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:e.refId,staticClass:"ar-line-control",on:{mousedown:e.onMouseDown}},[n("div",{staticClass:"ar-line-control__head",style:e.calculateSize})])}var f={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},methods:{onMouseDown:function(e){var t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp:function(e){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);var t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)},onMouseMove:function(e){var t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)}},computed:{calculateSize:function(){var e=this.percentage<1?100*this.percentage:this.percentage;return(this.rowDirection?"width":"height")+": "+e+"%"}}};c._withStripped=!0;var u=s(f,c,[],!1,function(e){n(19)},null,null);u.options.__file="src/components/line-control.vue";function h(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"ar-volume"},[n("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),e._v(" "),n("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:e.volume},on:{"change-linehead":e.onChangeLinehead}})],1)}var p=u.exports,d={data:function(){return{volume:.8}},components:{IconButton:o,LineControl:p},methods:{onChangeLinehead:function(e){this.$emit("change-volume",e),this.volume=e}}};h._withStripped=!0;var m=s(d,h,[],!1,function(e){n(21)},null,null);m.options.__file="src/components/volume-control.vue";function b(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ar-player"},[n("div",{staticClass:"ar-player-actions"},[n("icon-button",{staticClass:"ar-icon ar-icon__lg ar-player__play",class:{"ar-player__play--active":t.isPlaying,disabled:t.disablePlayButton},attrs:{id:"play",name:t.playBtnIcon},nativeOn:{click:function(e){return t.playback(e)}}})],1),t._v(" "),n("div",{staticClass:"ar-player-bar"},[n("div",{staticClass:"ar-player__time"},[t._v(t._s(t.playedTime))]),t._v(" "),n("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:t.progress},on:{"change-linehead":t._onUpdateProgress}}),t._v(" "),n("div",{staticClass:"ar-player__time"},[t._v(t._s(t.duration))]),t._v(" "),n("volume-control",{class:{disabled:t.disablePlayButton},on:{"change-volume":t._onChangeVolume}})],1),t._v(" "),n("audio",{attrs:{id:t.playerUniqId,src:t.audioSource}})])}var v=m.exports,g={props:{src:{type:String},record:{type:Object},filename:{type:String}},data:function(){return{isPlaying:!1,duration:l(0),playedTime:l(0),progress:0,disablePlayButton:!0}},components:{IconButton:o,LineControl:p,VolumeControl:v},mounted:function(){var t=this;this.player=document.getElementById(this.playerUniqId),this.player.addEventListener("ended",function(){t.isPlaying=!1}),this.player.addEventListener("loadeddata",function(e){t._resetProgress(),t.duration=l(t.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate),this.$eventBus.$on("remove-record",function(){t._resetProgress()})},computed:{audioSource:function(){var e=this.src;if(!this.src&&this.record&&(e=this.record.url),e)return this.disablePlayButton=!1,e;this.disablePlayButton=!0,this._resetProgress()},playBtnIcon:function(){return this.isPlaying?"pause":"play"},playerUniqId:function(){return"audio-player"+this._uid}},methods:{playback:function(){var e=this;this.audioSource&&(this.isPlaying?this.player.pause():setTimeout(function(){e.player.play()},0),this.isPlaying=!this.isPlaying)},_resetProgress:function(){this.isPlaying&&this.player.pause(),this.duration=l(0),this.playedTime=l(0),this.progress=0,this.isPlaying=!1},_onTimeUpdate:function(){this.playedTime=l(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100},_onUpdateProgress:function(e){e&&(this.player.currentTime=e*this.player.duration)},_onChangeVolume:function(e){e&&(this.player.volume=e)}}};b._withStripped=!0;var w=s(g,b,[],!1,function(e){n(17)},null,null);w.options.__file="src/components/player.vue";function S(){var t=this,e=t.$createElement;return(t._self._c||e)("icon-button",{staticClass:"ar-icon ar-icon__xs ar-icon--no-border",attrs:{id:"download",name:"download"},nativeOn:{click:function(e){return t.download(e)}}})}var y=w.exports,M={props:{record:{type:Object},filename:{type:String}},components:{IconButton:o},methods:{download:function(){if(this.record.url){var e=this.record.blob.type.split("/")[1],t=document.createElement("a");t.href=this.record.url,t.download=this.filename+"."+e,t.click()}}}};S._withStripped=!0;var x=s(M,S,[],!1,function(e){n(25)},null,null);x.options.__file="src/components/downloader.vue";var R=x.exports,A=n(16);function B(e,t){for(var n=0;n=this.attempts||(this.isRecording&&this.minimalMode?this.stopRecorder():!this.isRecording||this.isRecording&&this.isPause?(this.minimalMode&&(this.selected={},this.recordList=[]),this.recorder.start()):this.recorder.pause())},stopRecorder:function(){this.isRecording&&(this.recorder.stop(),this.recordList=this.recorder.recordList(),this.minimalMode&&(this.selected=this.recordList[this.recordList.length-1]))},removeRecord:function(e){this.recordList.splice(e,1),this.$set(this.selected,"url",null),this.$eventBus.$emit("remove-record")},choiceRecord:function(e){this.selected!==e&&(this.selected=e,this.selectRecord&&this.selectRecord(e))},_initRecorder:function(){return new O({beforeRecording:this.beforeRecording,afterRecording:this.afterRecording,pauseRecording:this.pauseRecording,micFailed:this.micFailed,bitRate:this.bitRate,sampleRate:this.sampleRate,format:this.format})}},computed:{attemptsLeft:function(){return this.attempts-this.recordList.length},iconButtonType:function(){return this.isRecording&&this.isPause?"mic":this.isRecording&&this.minimalMode?"stop":this.isRecording?"pause":"mic"},isPause:function(){return this.recorder.isPause},isRecording:function(){return this.recorder.isRecording},recordedTime:function(){return this.time&&this.recorder.duration>=this.time&&this.stopRecorder(),this.countdown?l(this.time-this.recorder.duration):l(this.recorder.duration)},volume:function(){return parseFloat(this.recorder.volume)}}};D._withStripped=!0;var q=s(Y,D,[],!1,function(e){n(23)},null,null);q.options.__file="src/components/recorder.vue";var U=q.exports,j={AudioPlayer:y,AudioRecorder:U,install:function(e){this.installed||(this.installed=!0,e.prototype.$eventBus=e.prototype.$eventBus||new e,e.component("audio-player",y),e.component("audio-recorder",U))}};t.default=j}],r.c=a,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(n,a,function(e){return t[e]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=49).default;function r(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}var n,a}); -//# sourceMappingURL=vue-audio-recorder.min.js.map \ No newline at end of file diff --git a/dist/vue-audio-recorder.min.js.map b/dist/vue-audio-recorder.min.js.map deleted file mode 100644 index 0d706b9..0000000 --- a/dist/vue-audio-recorder.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://VueAudioRecorder/webpack/universalModuleDefinition","webpack://VueAudioRecorder/webpack/bootstrap","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/common.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Encoder.js","webpack://VueAudioRecorder/./node_modules/css-loader/lib/css-base.js","webpack://VueAudioRecorder/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueAudioRecorder/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/LameInternalFlags.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/L3Side.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/GrInfo.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Tables.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/III_psy_xmin.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/MPEGMode.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/ScaleFac.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/GainAnalysis.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/MeanBits.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/BitStream.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Takehiro.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/QuantizePVT.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/index.js","webpack://VueAudioRecorder/./src/components/player.vue?e17b","webpack://VueAudioRecorder/./src/components/player.vue?6152","webpack://VueAudioRecorder/./src/components/line-control.vue?0c7f","webpack://VueAudioRecorder/./src/components/line-control.vue?bded","webpack://VueAudioRecorder/./src/components/volume-control.vue?a8e8","webpack://VueAudioRecorder/./src/components/volume-control.vue?dd52","webpack://VueAudioRecorder/./src/components/recorder.vue?3849","webpack://VueAudioRecorder/./src/components/recorder.vue?1864","webpack://VueAudioRecorder/./src/components/downloader.vue?7136","webpack://VueAudioRecorder/./src/components/downloader.vue?a86c","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Lame.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/PsyModel.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/FFT.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/NewMDCT.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/III_psy_ratio.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/LameGlobalFlags.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/IIISideInfo.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/NsPsy.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/VBRSeekInfo.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/ATH.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/ReplayGain.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/CBRNewIterationLoop.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Presets.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Quantize.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/VBRQuantize.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/CalcNoiseResult.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/CalcNoiseData.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Reservoir.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/Version.js","webpack://VueAudioRecorder/./node_modules/lamejs/src/js/VBRTag.js","webpack://VueAudioRecorder/./src/components/uploader.vue?9ee4","webpack://VueAudioRecorder/./src/components/uploader.vue?fbe4","webpack://VueAudioRecorder/./src/components/icon-button.vue?4ae5","webpack://VueAudioRecorder/src/components/icon-button.vue","webpack://VueAudioRecorder/./node_modules/vue-loader/lib/runtime/component-normalizer.js","webpack://VueAudioRecorder/./src/components/icon-button.vue","webpack://VueAudioRecorder/./src/lib/utils.js","webpack://VueAudioRecorder/./src/components/line-control.vue?701b","webpack://VueAudioRecorder/src/components/line-control.vue","webpack://VueAudioRecorder/./src/components/line-control.vue","webpack://VueAudioRecorder/./src/components/volume-control.vue?cf86","webpack://VueAudioRecorder/src/components/volume-control.vue","webpack://VueAudioRecorder/./src/components/volume-control.vue","webpack://VueAudioRecorder/./src/components/player.vue?a8a2","webpack://VueAudioRecorder/src/components/player.vue","webpack://VueAudioRecorder/./src/components/player.vue","webpack://VueAudioRecorder/./src/components/downloader.vue?d603","webpack://VueAudioRecorder/src/components/downloader.vue","webpack://VueAudioRecorder/./src/components/downloader.vue","webpack://VueAudioRecorder/./src/lib/mp3-encoder.js","webpack://VueAudioRecorder/./src/lib/wav-encoder.js","webpack://VueAudioRecorder/./src/lib/recorder.js","webpack://VueAudioRecorder/./src/components/uploader.vue?76dc","webpack://VueAudioRecorder/./src/mixins/uploader-props.js","webpack://VueAudioRecorder/src/components/uploader.vue","webpack://VueAudioRecorder/./src/components/uploader.vue","webpack://VueAudioRecorder/./src/components/recorder.vue?1c2b","webpack://VueAudioRecorder/src/components/recorder.vue","webpack://VueAudioRecorder/./src/components/recorder.vue","webpack://VueAudioRecorder/./src/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","m","new_short","count","Int16Array","new_int","Int32Array","new_float","Float32Array","Arrays","a","fromIndex","toIndex","val","arguments","length","i","System","src","srcPos","dest","destPos","srcEnd","Util","ShortBlock","ordinal","this","SQRT2","FAST_LOG10","x","Math","log10","FAST_LOG10_X","y","short_block_allowed","short_block_coupled","short_block_dispensed","short_block_forced","Float","VbrMode","MAX_VALUE","vbr_off","vbr_mt","vbr_rh","vbr_abr","vbr_mtrh","vbr_default","new_array_n","args","Array","sz","slice","A","push","Int8Array","Float64Array","new_float_n","new_int_n","new_short_n","common","new_byte","new_double","assert","Encoder","NewMDCT","III_psy_ratio","FFTOFFSET","MPG_MD_MS_LR","bs","psy","vbr","qupvt","setModules","_bs","_psy","_qupvt","_vbr","newMDCT","lame_encode_mp3_frame","gfp","inbuf_l","inbuf_r","mp3buf","mp3bufPos","mp3buf_size","mp3count","masking_LR","masking","masking_MS","pe_use","ch","gr","inbuf","gfc","internal_flags","tot_ener","ms_ener_ratio","pe","pe_MS","lame_encode_frame_init","j","primebuff0","primebuff1","mode_gr","channels_out","l3_side","tt","block_type","SHORT_TYPE","mdct_sub48","mf_size","BLKSIZE","framesize","padding","slot_lag","frac_SpF","out_samplerate","psymodel","bufp","bufpPos","blocktype","VBR","L3psycho_anal_vbr","L3psycho_anal_ns","mode","MPEGMode","JOINT_STEREO","cod_info","mixed_block_flag","NORM_TYPE","gr2_max","max_pow","ATH","useAdjust","loudness_sq","max","aaSensitivityP","adjust","adjustLimit","adj_lim_new","adjust_ATH","mode_ext","MPG_MD_LR_LR","force_ms","sum_pe_MS","sum_pe_LR","gi0","gi1","analysis","pinfo","ms_ratio","arraycopy","xr","ers","energy","f","nsPsy","pefirbuf","fircoef","iteration_loop","format_bitstream","copy_buffer","bWriteVbrTag","addVbrFrame","pcmdata","set_frame_pinfo","bitrate_index","bitrate_stereoMode_Hist","bt","bitrate_blockType_Hist","updateStats","ENCDELAY","POSTDELAY","MDCTDELAY","DECDELAY","SBLIMIT","CBANDS","SBPSY_l","SBPSY_s","SBMAX_l","SBMAX_s","PSFB21","PSFB12","HBLKSIZE","HBLKSIZE_s","BLKSIZE_s","START_TYPE","STOP_TYPE","MPG_MD_LR_I","MPG_MD_MS_I","useSourceMap","list","toString","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","toComment","sourceURLs","sources","source","sourceRoot","concat","join","cssWithMappingToString","modules","mediaQuery","alreadyImportedModules","id","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","document","DEBUG","Error","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","options","ssrIdKey","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","addStyle","createStyleElement","styleElement","createElement","type","appendChild","obj","update","remove","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","bind","setAttribute","ssrId","styleSheet","cssText","firstChild","createTextNode","newObj","textStore","replaceText","index","replacement","filter","Boolean","cssNode","childNodes","insertBefore","IIISideInfo","ScaleFac","NsPsy","VBRSeekInfo","III_psy_xmin","L3Side","LameInternalFlags","MAX_HEADER_LEN","Header","write_timing","ptr","buf","Class_ID","iteration_init_init","fill_buffer_resample_init","mfbuf","MFSIZE","channels_in","resample_ratio","mf_samples_to_encode","VBR_min_bitrate","VBR_max_bitrate","samplerate_index","lowpass1","lowpass2","highpass1","highpass2","noise_shaping","noise_shaping_amp","substep_shaping","noise_shaping_stop","subblock_gain","use_best_huffman","full_outer_loop","tag_spec","nMusicCRC","OldValue","CurrentStep","masking_lower","bv_scf","pseudohalf","SFBMAX","sfb21_extra","inbuf_old","blackfilt","BPC","itime","sideinfo_len","sb_sample","amp_filter","header","MAX_HEADER_BUF","h_ptr","w_ptr","ancillary_flag","ResvSize","ResvMax","scalefac_band","minval_l","minval_s","nb_1","nb_2","nb_s1","nb_s2","s3_ss","s3_ll","decay","thm","en","loudness_sq_save","mld_l","mld_s","bm_l","bo_l","bm_s","bo_s","npart_l","npart_s","s3ind","s3ind_s","numlines_s","numlines_l","rnumlines_l","mld_cb_l","mld_cb_s","numlines_s_num1","numlines_l_num1","ms_ratio_s_old","ms_ratio_l_old","ms_ener_ratio_old","blocktype_old","VBR_seek_table","PSY","nogap_total","nogap_current","decode_on_the_fly","findReplayGain","findPeakSample","PeakSample","RadioGain","AudiophileGain","rgdata","noclipGainChange","noclipScale","hip","in_buffer_nsamples","in_buffer_0","in_buffer_1","MAX_BITS_PER_CHANNEL","MAX_BITS_PER_GRANULE","l3_enc","scalefac","xrpow_max","part2_3_length","big_values","count1","global_gain","scalefac_compress","table_select","region0_count","region1_count","preflag","scalefac_scale","count1table_select","part2_length","sfb_lmax","sfb_smin","psy_lmax","sfbmax","psymax","sfbdivide","width","count1bits","sfb_partition_table","slen","max_nonzero_coeff","self","clone_int","array","assign","other","HuffCodeTab","len","tab","hl","xlen","linmax","table","hlen","Tables","ht","t1HB","t1l","t2HB","t2l","t3HB","t3l","t5HB","t5l","t6HB","t6l","t7HB","t7l","t8HB","t8l","t9HB","t9l","t10HB","t10l","t11HB","t11l","t12HB","t12l","t13HB","t13l","t16_5l","t15HB","t15l","t16HB","t16l","t24HB","t24l","t32HB","t32l","t33HB","t33l","largetbl","table23","table56","bitrate_table","samplerate_table","scfsi_band","l","s","iii_psy_xmin","_ordinal","STEREO","DUAL_CHANNEL","MONO","NOT_SET","arrL","arrS","arr21","arr12","psfb21","psfb12","min","GainAnalysis","RMS_WINDOW_TIME_NUMERATOR","RMS_WINDOW_TIME_DENOMINATOR","ABYule","ABButter","filterYule","input","inputPos","output","outputPos","nSamples","kernel","filterButter","fsqr","d","InitGainAnalysis","rgData","samplefreq","MAX_ORDER","linprebuf","lstepbuf","loutbuf","rinprebuf","rstepbuf","routbuf","reqindex","INIT_GAIN_ANALYSIS_ERROR","sampleWindow","lsum","rsum","totsamp","ill","INIT_GAIN_ANALYSIS_OK","ResetSampleFrequency","linpre","rinpre","lstep","rstep","lout","rout","fill","B","AnalyzeSamples","left_samples","left_samplesPos","right_samples","right_samplesPos","num_samples","num_channels","curleft","curleftBase","curright","currightBase","batchsamples","cursamples","cursamplepos","GAIN_ANALYSIS_OK","GAIN_ANALYSIS_ERROR","STEPS_per_dB","ival","GetTitleGain","retval","elems","GAIN_NOT_ENOUGH_SAMPLES","upper","ceil","analyzeResult","MAX_dB","YULE_ORDER","MAX_SAMPLES_PER_WINDOW","MAX_SAMP_FREQ","meanBits","bits","Takehiro","BitStream","MAX_LENGTH","ga","mpg","ver","_ga","_mpg","_ver","totbit","bufByteIdx","bufBitIdx","putbits2","k","Lame","LAME_MAXMP3BUFFER","putbits_noheaders","drain_into_ancillary","remainingBits","version","getLameShortVersion","charAt","disable_reservoir","writeheader","CRC_update","value","crc","huffman_coder_count1","gi","h","ix","v","huffbits","p","Huffmancode","tableindex","start","end","cbits","xbits","linbits","ext","x1","x2","linbits_x1","linbits_x2","ShortHuffmancodebits","region1Start","LongHuffmancodebits","bigvalues","region2Start","TotalBytes","total","compute_flushbits","total_bytes_output","flushbits","remaining_headers","bitsPerFrame","last_ptr","first_ptr","getframebits","err","println","bit_rate","brate","CRC_writeheader","flush_bitstream","main_data_begin","NEQ","floor","EQ","scale","add_dummy_byte","n","resvDrain_pre","error_protection","private_bits","band","scfsi","old","encodeSideInfo2","sfb","data_bits","tot_bits","slen1","slen1_tab","slen2","slen2_tab","sfb_partition","scale_bits","sfbs","writeMainData","resvDrain_post","printf","buffer","bufferPos","size","mp3data","minimum","updateMusicCRC","nBytesWritten","pcm_buf","mp3_in","samples_out","hip_decode1_unclipped","init_bit_stream_w","b","abs","GrInfo","QuantizePVT","Bits","subdv_table","quantize_lines_xrpow_01","istep","xrPos","ixPos","compareval0","quantize_lines_xrpow","remaining","x0","x3","rx0","rx1","rx2","rx3","adj43","huf_tbl_noESC","choose_table","endPos","max1","max2","ix_max","sum1","hlen1","count_bit_noESC","t1","sum2","sum","count_bit_noESC_from2","sum3","hlen2","hlen3","t","count_bit_noESC_from3","IXMAX_VAL","LARGE_BITS","choice2","choice","t2","count_bit_ESC","recalc_divide_sub","cod_info2","r01_bits","r01_div","r0_tbl","r1_tbl","bigv","r2","a2","bi","r2t","noquant_count_bits","prev_noise","sfb_count1","a1","best_huffman_divide","count_bits","w","IPOW20","xp","pi","codInfo","prevNoise","prev_data_use","accumulate","accumulate01","xpPos","iData","iDataPos","acc_iData","acc_iDataPos","acc_xp","acc_xpPos","step","pretab","usefullsize","quantize_xrpow","gain","roundfac","r0","r0bits","r0t","r1","r1t","recalc_divide_init","slen1_n","slen2_n","best_scalefac_store","recalc","g0","s1","c1","s2","c2","c","scfsi_calc","scale_bitcount","scale_bitcount_lsf","scale_short","scale_mixed","scale_long","max_slen1","max_slen2","all_scalefactors_not_negative","max_range_sfac_tab","table_number","row_in_table","partition","nr_sfb","over","max_sfac","partition_table","nr_of_sfb_block","slen3","slen4","log2tab","huffman_init","bv_index","scfb_anz","MeanBits","tak","rv","_tk","_rv","Q_MAX","ipow20","DBL_EPSILON","PRECALC_SIZE","Q_MAX2","NSATHSCALE","sfBandIndex","pow20","pow43","ATHmdct","ath","ATHformula","pow","ATHlower","StartLine","iteration_init","ATH_l","ATH_psfb21","ATH_s","ATH_psfb12","samp_freq","ATH_f","noATH","compute_ath","bass","alto","treble","sfb21","exp_nspsytune","longfact","shortfact","on_pe","targ_bits","mean_bits","cbr","tbits","add_bits","mb","extra_bits","ResvMaxBits","max_bits","reduce_side","fac","move_bits","athAdjust","athFloor","o","u","calc_xmin","ratio","pxmin","gsfb","pxminPos","ath_over","enable_athaa_fix","rh1","xmin","rh2","en0","xa","xb","ATHonly","e","max_nonzero","tmpATH","ATHshort","useTemporal","calc_noise_core","startline","noise","temp","ix01","calc_noise","l3_xmin","distort","res","distortPos","l3_xminPos","over_noise_db","tot_noise_db","max_noise","scalefacPos","over_SSD","tmp","noise_log","sl","over_count","tot_noise","over_noise","set_pinfo","sfb2","en1","ifqstep","xfsf","CalcNoiseResult","bw","thr","LAMEsfb","en_s","xfsf_s","thr_s","LAMEsfb_s","LAMEqss","LAMEmainbits","LAMEsfbits","Presets","Quantize","Reservoir","Version","VBRTag","GetAudio","parse2","mpg2","Parse","ver2","id32","pre2","pre","MPGLib","ID3Tag","_bits","WavHeader","dataOffset","dataLen","channels","sampleRate","fourccToInt","fourcc","charCodeAt","RIFF","WAVE","fmt_","data","readHeader","dataView","getUint32","fmtLen","pos","getUint16","Mp3Encoder","samplerate","kbps","console","error","lame","gaud","qu","id3","parse","enc","lame_init","in_samplerate","quality","write_id3tag_automatic","retcode","lame_init_params","maxSamples","encodeBuffer","left","right","_sz","lame_encode_buffer","subarray","flush","lame_encode_flush","locals","add","default","PsyModel","LameGlobalFlags","ReplayGain","CBRNewIterationLoop","V9","V8","V7","V6","V5","V4","V3","V2","V1","V0","R3MIX","STANDARD","EXTREME","INSANE","STANDARD_FAST","EXTREME_FAST","MEDIUM","MEDIUM_FAST","mpglib","mask_adjust","mask_adjust_short","bo_l_weight","bo_s_weight","LowPassHighPass","lowerlimit","BandPass","bitrate","lPass","lowpass","_p","_qu","_id3","_mpglib","LAME_ID","filter_coef","cos","PI","SmpFrqIndex","sample_freq","gpf","FindNearestBitrate","bRate","BitrateIndex","optimum_bandwidth","lh","freq_map","table_index","nearestBitrateFullIndex","calcNeeded","mf_needed","lame_encode_frame","ret","frameNum","InOut","n_in","n_out","NumUsed","num_used","blackman","fcn","wcn","bkwn","sin","fill_buffer_resample","outbuf","outbufPos","desired_len","in_bufferPos","bpc","gcd","intratio","filter_l","BLACKSIZE","offset","time0","joff","xvalue","j2","n_shift","fill_buffer","in_buffer","nsamples","io","numUsed","class_id","original","short_blocks","lowpassfreq","highpassfreq","lowpasswidth","highpasswidth","VBR_q","ATHcurve","VBR_mean_bitrate_kbps","VBR_min_bitrate_kbps","VBR_max_bitrate_kbps","VBR_hard_min","quant_comp","quant_comp_short","msfix","attackthre","attackthre_s","athaa_type","ATHtype","athaa_loudapprox","athaa_sensitivity","interChRatio","encoder_padding","preset","lame_allocated_gfp","full_bitrate_table","lower_range","lower_range_kbps","upper_range","upper_range_kbps","input_samplefreq","suggested_samplefreq","free_format","compression_ratio","map2MP3Frequency","VBR_q_frac","linear_int","decode_only","hip_decode_exit","hip_decode_init","encoder_delay","lowpass_band","highpass_band","minband","freq","maxband","fc1","fc2","lame_init_params_ppflt","id3tag_write_v2","InitVbrTag","apply_preset","LAME_DEFAULT_QUALITY","maskingadjust","maskingadjust_short","experimentalY","VBRNewIterationLoop","VBROldIterationLoop","vbrmode","ABRIterationLoop","tune","tune_value_a","lame_init_qval","NSATTACKTHRE","NSATTACKTHRE_S","psymodel_init","mp3buffer","mp3bufferPos","mp3buffer_size","mp3buffer_size_remaining","end_padding","frames_left","imp3","samples_to_encode","bunch","frame_num","id3tag_write_v1","buffer_l","buffer_r","mp3out","mp3size","scale_left","scale_right","in_buffer_ptr","inOut","buf_size","lame_encode_buffer_sample","FFT","fft","LOG10","rpelev","rpelev2","rpelev_s","rpelev2_s","DELBARK","VO_SCALE","NS_PREECHO_ATT2","NSFIRLEN","LN_TO_LOG10","NON_LINEAR_SCALE_ENERGY","psycho_loudness_approx","loudness_power","eql_w","compute_ffts","fftenergy","fftenergy_s","wsamp_l","wsamp_lPos","wsamp_s","wsamp_sPos","gr_out","chn","bufPos","fft_long","fft_short","r","re","im","totalenergy","energy_save","ma_max_i1","ma_max_i2","ma_max_m","I1LIMIT","I2LIMIT","MLIMIT","table1","table2","table3","mask_add","m1","m2","kk","shortblock","cb_s","cb_l","table2_","vbrpsy_mask_add","convert_partition2scalefac_s","eb","sblock","sb","enn","thmm","bo_s_sb","b_lim","w_curr","w_next","convert_partition2scalefac_l","bo_l_sb","compute_masking_s","ebb","el","ecb","NS_INTERP","regcoef_s","pecalc_s","mr","pe_s","regcoef_l","pecalc_l","pe_l","calc_energy","avg","calc_mask_index_l","mask_idx","last_tab_entry","vbrpsy_compute_fft_l","vbrpsy_compute_fft_s","masking_ratio","masking_MS_ratio","percep_entropy","percep_MS_entropy","blocktype_d","numchn","pcfact","wsamp_L","wsamp_S","eb_l","eb_s","uselongblock","ns_hpfsmpl","mask_idx_l","mask_idx_s","firbuf","firbufPos","attackThreshold","en_subshort","en_short","attack_intensity","ns_uselongblock","ns_attacks","last_en_subshort","pf","pfPos","pfe","ers_save","lastAttacks","idx","eb2","calc_interchannel_masking","mld","rmid","rside","msfix1","athadjust","msfix2","athlower","thmLR","thmM","thmS","ns_msfix","block_type_set","ppe","ppePos","fircoef_","vbrpsy_skip_masking_s","vbrpsy_skip_masking_l","vbrpsy_compute_masking_s","float","int","psyvbr_calc_mask_index_s","dd","dd_n","avg_mask","last","vbrpsy_compute_masking_l","ecb_limit","ecb_limit_2","ecb_limit_1","vbrpsy_compute_MS_thresholds","cb_mld","ath_cb","ebM","ebS","thmL","thmR","mld_m","thmMS","s3_func_x","bark","hf_slope","tempy","exp","norm_s3_func_x","lim_a","lim_b","freq2bark","atan","init_numline","numlines","bo","bm","bval","bval_width","bo_w","sfreq","blksize","scalepos","deltafreq","sbmax","b_frq","sample_freq_frac","ni","bark1","i1","i2","arg","f_tmp","bark2","init_s3_values","npart","norm","use_old_s3","tempx","s3","numberOfNoneZero","sqrt","s3_x_norm","stereo_demask","ATHformula_GB","sub_short_factor","n_chn_psy","n_chn_out","factor","vbrpsy_attack_detection","vbrpsy_compute_block_type","ch01","new_thmm","NS_PREECHO_ATT1","vbrpsy_apply_block_type","useOldS3","bvl_a","snr_l_a","snr_l_b","snr_s_a","snr_s_b","experimentalZ","snr","level","log","init_fft","frame_duration","freq_inc","eql_balance","window_s","costab","fht","fz","fzPos","k4","fi","tri","fn","k1","k2","k3","kx","f1","f0","f3","f2","g1","g2","g3","rv_tbl","x_real","jj","enwindow","win","tantab_l","cx","ca","cs","order","window_subband","x1Pos","wp","mdct_short","inout","inoutPos","tc0","tc1","tc2","ts0","ts1","ts2","w0","w1","out","outPos","_in","ct","st","tc3","tc4","ts5","ts6","ts7","ts8","ts3","ts4","tc5","tc6","tc7","tc8","wk","wkPos","mdct_enc","mdct_encPos","samp","sampPos","band0","band1","work","bu","bd","copyright","extension","emphasis","strict_ISO","seen","want","bag","nVbrNumFrames","TotalFrameSize","freqindex","first","_quantize","quantize","xrpow","ResvFrameBegin","ms_convert","masking_lower_db","init_outer_loop","init_xrpow","outer_loop","iteration_finish_one","ResvFrameEnd","VBRPresets","qual","comp","compS","shThreshold","shThresholdS","adj","adjShort","lower","curve","sens","inter","joint","mod","fix","vbr_q","quant_comp_s","expY","st_lrm","st_s","masking_adj","masking_adj_short","ath_lower","ath_curve","ath_sensitivity","interch","safejoint","sfb21mod","ABRPresets","sc","mask","interCh","sfScale","nsmsfix","nsbass","sfscale","_lame","vbr_old_switch_map","vbr_psy_switch_map","apply_vbr_preset","enforce","vbr_preset","q","set","lame_set_VBR_q","abr_switch_map","apply_abr_preset","actual_bitrate","VBRQuantize","CalcNoiseData","tk","BinSearchDirection","loop_break","quant_compare","best","calc","better","klemm_noise","get_klemm_noise","balance_noise","bRefine","ifqstep34","trigger","amp_scalefac_bands","status","inc_scalefac_scale","amp","inc_subblock_gain","init_xrpow_core","ixwork","stop","ath21","block","ath12","psfb21_analogsilence","BINSEARCH_NONE","BINSEARCH_UP","BINSEARCH_DOWN","trancate_smallspectrums","allowedNoise","trancateThreshold","nsame","sort","cod_info_w","save_xrpow","best_noise_info","best_part2_3_length","bEndOfSearch","best_ggain_pass1","desired_rate","nBits","flagGoneOver","Direction","bin_search_StepSize","age","search_limit","noise_info","maxggain","huff_bits","ResvAdjust","VBR_encode_granule","min_bits","dbits","bst_cod_info","bst_xrpow","Max_bits","real_bits","this_bits","found","get_framebits","frameBits","VBR_old_prepare","bands","analog_silence","mxb","bitpressure_strategy","VBR_new_prepare","maximum_framebits","calc_target_bits","analog_silence_bits","max_frame_bits","res_factor","totbits","maxmp3buf","frameLength","resvLimit","fullFrameBits","resvsize","over_bits","stuffingBits","mdb_bytes","getLameVersion","getLameVeryShortVersion","getPsyVersion","getLameUrl","getLameOsBitness","_v","NUMTOCENTRIES","MAXFRAMESIZE","LAMEHEADERSIZE","VBRTag0","VBRTag1","crc16Lookup","extractInteger","createInteger","createShort","shiftInBitsValue","setLameTagFrameHeader","bbyte","abyte","crcUpdateLookup","addVbr","getVbrTag","pTagData","VBRTagData","flags","hId","hSrIndex","hMode","hBitrate","samprate","String","equals","head_flags","frames","bytes","toc","vbrScale","headersize","encDelay","encPadding","kbps_header","totalFrameSize","headerSize","getLameTagFrame","indx","seek_point","xingSeekTable","streamIndex","FRAMES_FLAG","streamSize","musicLength","streamBuffer","streamBufferPos","revMethod","misc","musicCRC","abrBitrate","bytesWritten","vbrTypeTranslator","peakSignalAmplitude","radioReplayGain","noiseShaping","stereoMode","nonOptimal","sourceFreq","expNPsyTune","safeJoint","noGapMore","noGapPrevious","noGapCount","noGapCurr","athType","putLameVBR","putVbrTag","stream","seek","id3v2TagSize","fpStream","id3v2Header","readFully","startsWith","skipId3v2","write","render","_vm","_h","$createElement","_self","_c","domProps","innerHTML","_s","icons","name","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","_withStripped","Component","__file","calculateLineHeadPosition","ev","element","progressWidth","getBoundingClientRect","leftPosition","target","clientX","className","match","convertTimeMMSS","seconds","Date","toISOString","substr","ref","refId","staticClass","on","mousedown","onMouseDown","style","calculateSize","attrs","percentage","volume","onChangeLinehead","class","isPlaying","disabled","disablePlayButton","playBtnIcon","nativeOn","click","$event","playback","playedTime","progress","_onUpdateProgress","duration","_onChangeVolume","playerUniqId","audioSource","download","config","bitRate","dataBuffer","encoder","arrayBuffer","samples","_convertBuffer","blob","Blob","now","url","URL","createObjectURL","_floatTo16BitPCM","bufferSize","_joinSamples","ArrayBuffer","view","DataView","_writeString","setUint32","setUint16","setInt16","recordLength","joinedSamples","sample","string","setUint8","beforeRecording","pauseRecording","afterRecording","micFailed","format","encoderOptions","records","isPause","isRecording","wavSamples","_duration","upload","mediaDevices","getUserMedia","video","audio","channelCount","echoCancellation","then","_micCaptured","catch","_micError","_isMp3","lameEncoder","getTracks","forEach","track","disconnect","processor","close","record","finish","WavEncoder","AudioContext","webkitAudioContext","createMediaStreamSource","createScriptProcessor","onaudioprocess","inputBuffer","getChannelData","encode","parseFloat","currentTime","toFixed","connect","destination","props","filename","headers","Object","uploadUrl","isUploading","_e","ar__blur","iconButtonType","toggleRecorder","minimalMode","stopRecorder","attempts","attemptsLeft","countdown","countdownTitle","recordedTime","time","_l","recordList","key","selected","choiceRecord","removeRecord","showDownloadButton","showUploadButton","undefined","components","AudioPlayer","AudioRecorder","install","Vue","installed","prototype","$eventBus","component","getter","defineProperty","enumerable","get","Symbol","toStringTag","__esModule","ns","create","object","property","hasOwnProperty","moduleId"],"mappings":"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,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGhE,KAAc,CACV,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACtD,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACtD,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACtD,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACvD,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxD,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACzD,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGhE,OAAgB,CACZ,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxD,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxD,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACzD,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC1D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGhE,KAAc,CACV,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxD,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxD,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACzD,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC1D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGhE,KAAc,CACV,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACvD,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI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CA,mBACA,mBACA,kBACA,kBAAuB,mBAEvB,mBACA,mBACA,mBACA,kBACA,kBACA,kBACA,mBACA,kBACA,kBACA,mBACA,kBACA,mBACA,mBACA,oBACA,oBACA,kBACA,kBAAuB,mBAEvB,mBACA,mBACA,mBACA,kBACA,mBACA,mBACA,kBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,oBACA,oBACA,kBACA,kBAAuB,mBAEvB,kBACA,kBACA,kBACA,kBACA,mBACA,mBACA,kBACA,mBACA,mBACA,kBACA,kBACA,mBACA,kBACA,oBACA,mBACA,mBACA,kBAAuB,mBAEvB,mBACA,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,mBACA,oBACA,oBACA,kBACA,kBAAuB,mBAEvB,mBACA,kBACA,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,kBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,iBACA,kBAAuB,mBAEvB,mBACA,mBACA,kBACA,mBACA,mBACA,kBACA,mBACA,mBACA,mBACA,mBACA,kBACA,oBACA,mBACA,oBACA,oBACA,mBACA,mBACA,mBAEA,mBACA,mBACA,oBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,kBACA,kBACA,mBACA,oBACA,mBACA,mBACA,mBACA,kBAAuB,mBAEvB,kBACA,iBACA,oBACA,kBACA,mBACA,mBACA,kBACA,mBACA,kBACA,kBACA,mBACA,oBACA,oBACA,oBACA,iBACA,mBACA,kBAAuB,kBAEvB,kBACA,kBACA,oBACA,kBACA,kBACA,mBACA,kBACA,mBACA,oBACA,iBACA,kBACA,mBACA,oBACA,oBACA,mBACA,kBACA,kBAAuB,kBAEvB,kBACA,kBACA,oBACA,kBACA,mBACA,mBACA,kBACA,mBACA,oBACA,mBACA,mBACA,oBACA,oBACA,oBACA,oBACA,kBACA,iBAAuB,mBAEvB,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,mBACA,mBACA,oBACA,oBACA,mBACA,mBACA,kBACA,kBAAuB,mBAEvB,kBACA,iBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,oBACA,mBACA,mBACA,mBACA,oBACA,oBACA,mBACA,kBACA,mBAAuB,mBAEvB,iBACA,kBACA,oBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,oBACA,oBACA,oBACA,kBACA,mBAAuB,kBAEvB,WAAgB70C,EAAKI,MAAQ,GAAM,QACnC,WAAgBJ,EAAKI,MAAQ,GAAM,QACnC,WAAeJ,EAAKI,MAAQ,GAAM,QAClC,WAAeJ,EAAKI,MAAQ,GAAM,QAClC,UAAcJ,EAAKI,MAAQ,GAAM,QACjC,UAAcJ,EAAKI,MAAQ,GAAM,QACjC,UAAcJ,EAAKI,MAAQ,GAAM,QACjC,SAAaJ,EAAKI,MAAQ,GAAM,QAEhC,mBAA2B,mBAC3B,kBAAyB,SAAa,QACtC,mBAA0B,SAAa,SACtC,SAAa,SAMZ00C,EAAM,CACN,CACC,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,oBACA,qBACA,qBAEA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,sBAEC,sBACA,sBACA,sBACA,sBACA,sBACA,sBACA,sBACA,sBACA,sBAEA,sBACA,sBACA,sBACA,sBACA,sBACA,sBACA,sBACA,qBACA,sBAEF,CACC,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBAEA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,sBAEC,sBACA,sBACA,sBACA,sBACA,sBACA,sBACA,sBACA,qBACA,qBAED,EACA,EACA,EACA,EACA,EACA,GACC,sBACA,sBACA,sBAEF,CACC,kBACA,iBACA,kBAEA,kBACA,kBACA,iBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBAEA,iBACA,kBACA,kBACA,mBACC,mBACA,kBACD,kBACA,IAEC,mBACA,mBACA,mBACA,mBACA,oBACA,oBACA,oBACA,oBAED,kBACA,kBACA,kBACA,kBACA,kBAC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","file":"vue-audio-recorder.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"VueAudioRecorder\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueAudioRecorder\"] = factory();\n\telse\n\t\troot[\"VueAudioRecorder\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 49);\n","function new_byte(count) {\n return new Int8Array(count);\n}\n\nfunction new_short(count) {\n return new Int16Array(count);\n}\n\nfunction new_int(count) {\n return new Int32Array(count);\n}\n\nfunction new_float(count) {\n return new Float32Array(count);\n}\n\nfunction new_double(count) {\n return new Float64Array(count);\n}\n\nfunction new_float_n(args) {\n if (args.length == 1) {\n return new_float(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_float_n(args));\n }\n return A;\n}\nfunction new_int_n(args) {\n if (args.length == 1) {\n return new_int(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_int_n(args));\n }\n return A;\n}\n\nfunction new_short_n(args) {\n if (args.length == 1) {\n return new_short(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_short_n(args));\n }\n return A;\n}\n\nfunction new_array_n(args) {\n if (args.length == 1) {\n return new Array(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_array_n(args));\n }\n return A;\n}\n\n\nvar Arrays = {};\n\nArrays.fill = function (a, fromIndex, toIndex, val) {\n if (arguments.length == 2) {\n for (var i = 0; i < a.length; i++) {\n a[i] = arguments[1];\n }\n } else {\n for (var i = fromIndex; i < toIndex; i++) {\n a[i] = val;\n }\n }\n};\n\nvar System = {};\n\nSystem.arraycopy = function (src, srcPos, dest, destPos, length) {\n var srcEnd = srcPos + length;\n while (srcPos < srcEnd)\n dest[destPos++] = src[srcPos++];\n};\n\n\nvar Util = {};\nUtil.SQRT2 = 1.41421356237309504880;\nUtil.FAST_LOG10 = function (x) {\n return Math.log10(x);\n};\n\nUtil.FAST_LOG10_X = function (x, y) {\n return Math.log10(x) * y;\n};\n\nfunction ShortBlock(ordinal) {\n this.ordinal = ordinal;\n}\n/**\n * LAME may use them, even different block types for L/R.\n */\nShortBlock.short_block_allowed = new ShortBlock(0);\n/**\n * LAME may use them, but always same block types in L/R.\n */\nShortBlock.short_block_coupled = new ShortBlock(1);\n/**\n * LAME will not use short blocks, long blocks only.\n */\nShortBlock.short_block_dispensed = new ShortBlock(2);\n/**\n * LAME will not use long blocks, short blocks only.\n */\nShortBlock.short_block_forced = new ShortBlock(3);\n\nvar Float = {};\nFloat.MAX_VALUE = 3.4028235e+38;\n\nfunction VbrMode(ordinal) {\n this.ordinal = ordinal;\n}\nVbrMode.vbr_off = new VbrMode(0);\nVbrMode.vbr_mt = new VbrMode(1);\nVbrMode.vbr_rh = new VbrMode(2);\nVbrMode.vbr_abr = new VbrMode(3);\nVbrMode.vbr_mtrh = new VbrMode(4);\nVbrMode.vbr_default = VbrMode.vbr_mtrh;\n\nvar assert = function (x) {\n //console.assert(x);\n};\n\nmodule.exports = {\n \"System\": System,\n \"VbrMode\": VbrMode,\n \"Float\": Float,\n \"ShortBlock\": ShortBlock,\n \"Util\": Util,\n \"Arrays\": Arrays,\n \"new_array_n\": new_array_n,\n \"new_byte\": new_byte,\n \"new_double\": new_double,\n \"new_float\": new_float,\n \"new_float_n\": new_float_n,\n \"new_int\": new_int,\n \"new_int_n\": new_int_n,\n \"new_short\": new_short,\n \"new_short_n\": new_short_n,\n \"assert\": assert\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */\nEncoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */\nEncoder.POSTDELAY = 1152;\n\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */\nEncoder.MDCTDELAY = 48;\nEncoder.FFTOFFSET = (224 + Encoder.MDCTDELAY);\n\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */\nEncoder.DECDELAY = 528;\n\n/**\n * number of subbands\n */\nEncoder.SBLIMIT = 32;\n\n/**\n * parition bands bands\n */\nEncoder.CBANDS = 64;\n\n/**\n * number of critical bands/scale factor bands where masking is computed\n */\nEncoder.SBPSY_l = 21;\nEncoder.SBPSY_s = 12;\n\n/**\n * total number of scalefactor bands encoded\n */\nEncoder.SBMAX_l = 22;\nEncoder.SBMAX_s = 13;\nEncoder.PSFB21 = 6;\nEncoder.PSFB12 = 6;\n\n/**\n * FFT sizes\n */\nEncoder.BLKSIZE = 1024;\nEncoder.HBLKSIZE = (Encoder.BLKSIZE / 2 + 1);\nEncoder.BLKSIZE_s = 256;\nEncoder.HBLKSIZE_s = (Encoder.BLKSIZE_s / 2 + 1);\n\nEncoder.NORM_TYPE = 0;\nEncoder.START_TYPE = 1;\nEncoder.SHORT_TYPE = 2;\nEncoder.STOP_TYPE = 3;\n\n/**\n *
\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n *  -ms: MPG_MD_LR_LR\n *  -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n *  -mf: MPG_MD_MS_LR\n *  -mi: all\n * 
\n */\nEncoder.MPG_MD_LR_LR = 0;\nEncoder.MPG_MD_LR_I = 1;\nEncoder.MPG_MD_MS_LR = 2;\nEncoder.MPG_MD_MS_I = 3;\n\nEncoder.fircoef = [-0.0207887 * 5, -0.0378413 * 5,\n -0.0432472 * 5, -0.031183 * 5, 7.79609e-18 * 5, 0.0467745 * 5,\n 0.10091 * 5, 0.151365 * 5, 0.187098 * 5];\n\nfunction Encoder() {\n var NewMDCT = require('./NewMDCT.js');\n var III_psy_ratio = require('./III_psy_ratio.js');\n\n var FFTOFFSET = Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function (_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n\n var newMDCT = new NewMDCT();\n\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/\n\n /**\n *
\n     * layer III enc->dec delay:  1056 (1057?)   (observed)\n     * layer  II enc->dec delay:   480  (481?)   (observed)\n     *\n     * polyphase 256-16             (dec or enc)        = 240\n     * mdct      256+32  (9*32)     (dec or enc)        = 288\n     * total:    512+16\n     *\n     * My guess is that delay of polyphase filterbank is actualy 240.5\n     * (there are technical reasons for this, see postings in mp3encoder).\n     * So total Encode+Decode delay = ENCDELAY + 528 + 1\n     * 
\n */\n\n\n /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */\n//private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */\n return;\n }\n\n /* jd - 2001 mar 12, 27, jun 30 */\n /* loudness based on equal loudness curve; */\n /* use granule with maximum combined loudness */\n max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) {\n max_pow = Math.max(max_pow, gr2_max);\n }\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */\n\n /* jd - 2001 mar 31, jun 30 */\n /* user tuning of ATH adjustment region */\n max_pow *= gfc.ATH.aaSensitivityP;\n\n /*\n * adjust ATH depending on range of maximum value\n */\n\n /* jd - 2001 feb27, mar12,20, jun30, jul22 */\n /* continuous curves based on approximation */\n /* to GB's original values. */\n /* For an increase in approximate loudness, */\n /* set ATH adjust to adjust_limit immediately */\n /* after a delay of one frame. */\n /* For a loudness decrease, reduce ATH adjust */\n /* towards adjust_limit gradually. */\n /* max_pow is a loudness squared or a power. */\n if (max_pow > 0.03125) { /* ((1 - 0.000625)/ 31.98) from curve below */\n if (gfc.ATH.adjust >= 1.0) {\n gfc.ATH.adjust = 1.0;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n /* in case there is leading low volume */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n gfc.ATH.adjustLimit = 1.0;\n } else { /* adjustment curve */\n /* about 32 dB maximum adjust (0.000625) */\n var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) { /* descend gradually */\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) { /* stop descent */\n gfc.ATH.adjust = adj_lim_new;\n }\n } else { /* ascend */\n if (gfc.ATH.adjustLimit >= adj_lim_new) {\n gfc.ATH.adjust = adj_lim_new;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n\n /**\n *
\n     *  some simple statistics\n     *\n     *  bitrate index 0: free bitrate . not allowed in VBR mode\n     *  : bitrates, kbps depending on MPEG version\n     *  bitrate index 15: forbidden\n     *\n     *  mode_ext:\n     *  0:  LR\n     *  1:  LR-i\n     *  2:  MS\n     *  3:  MS-i\n     * 
\n */\n function updateStats(gfc) {\n var gr, ch;\n assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n\n /* count bitrate indices */\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n\n /* count 'em for every mode extension in case of 2 channel encoding */\n if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for (gr = 0; gr < gfc.mode_gr; ++gr) {\n for (ch = 0; ch < gfc.channels_out; ++ch) {\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0)\n bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n }\n\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n\n var ch, gr;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */\n var i, j;\n var primebuff0 = new_float(286 + 1152 + 576);\n var primebuff1 = new_float(286 + 1152 + 576);\n gfc.lame_encode_frame_init = 1;\n for (i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i) {\n if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2)\n primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2)\n primebuff1[i] = inbuf[1][j];\n ++j;\n }\n }\n /* polyphase filtering / mdct */\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.SHORT_TYPE;\n }\n }\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n\n /* check FFT will not use a negative starting offset */\n assert(576 >= Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */\n assert(gfc.mf_size >= (Encoder.BLKSIZE + gfp.framesize - Encoder.FFTOFFSET));\n /* check if we have enough data for polyphase filterbank */\n assert(gfc.mf_size >= (512 + gfp.framesize - 32));\n }\n\n }\n\n /**\n *
\n     * encodeframe()           Layer 3\n     *\n     * encode a single frame\n     *\n     *\n     *    lame_encode_frame()\n     *\n     *\n     *                           gr 0            gr 1\n     *    inbuf:           |--------------|--------------|--------------|\n     *\n     *\n     *    Polyphase (18 windows, each shifted 32)\n     *    gr 0:\n     *    window1          <----512---.\n     *    window18                 <----512---.\n     *\n     *    gr 1:\n     *    window1                         <----512---.\n     *    window18                                <----512---.\n     *\n     *\n     *\n     *    MDCT output:  |--------------|--------------|--------------|\n     *\n     *    FFT's                    <---------1024---------.\n     *                                             <---------1024-------.\n     *\n     *\n     *\n     *        inbuf = buffer of PCM data size=MP3 framesize\n     *        encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n     *        so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n     *\n     *        psy-model FFT has a 1 granule delay, so we feed it data for the\n     *        next granule.\n     *        FFT is centered over granule:  224+576+224\n     *        So FFT starts at:   576-224-MDCTDELAY\n     *\n     *        MPEG2:  FFT ends at:  BLKSIZE+576-224-MDCTDELAY      (1328)\n     *        MPEG1:  FFT ends at:  BLKSIZE+2*576-224-MDCTDELAY    (1904)\n     *\n     *        MPEG2:  polyphase first window:  [0..511]\n     *                          18th window:   [544..1055]          (1056)\n     *        MPEG1:            36th window:   [1120..1631]         (1632)\n     *                data needed:  512+framesize-32\n     *\n     *        A close look newmdct.c shows that the polyphase filterbank\n     *        only uses data from [0..510] for each window.  Perhaps because the window\n     *        used by the filterbank is zero for the last point, so Takehiro's\n     *        code doesn't bother to compute with it.\n     *\n     *        FFT starts at 576-224-MDCTDELAY (304)  = 576-FFTOFFSET\n     *\n     * 
\n */\n\n\n this.lame_encode_mp3_frame = function (gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = new_array_n([2, 2]);\n /*\n * LR masking &\n * energy\n */\n masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = new_array_n([2, 2]);\n /* MS masking & energy */\n masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */\n var inbuf = [null, null];\n var gfc = gfp.internal_flags;\n\n var tot_ener = new_float_n([2, 4]);\n var ms_ener_ratio = [.5, .5];\n var pe = [[0., 0.], [0., 0.]];\n var pe_MS = [[0., 0.], [0., 0.]];\n\n//float[][] pe_use;\n var pe_use;\n\n var ch, gr;\n\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* first run? */\n lame_encode_frame_init(gfp, inbuf);\n\n }\n\n /********************** padding *****************************/\n /**\n *
\n         * padding method as described in\n         * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n         * by Martin Sieler, Ralph Sperschneider\n         *\n         * note: there is no padding for the very first frame\n         *\n         * Robert Hegemann 2000-06-22\n         * 
\n */\n gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/\n\n if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */\n var ret;\n var bufp = [null, null];\n /* address of beginning of left & right granule */\n var bufpPos = 0;\n /* address of beginning of left & right granule */\n var blocktype = new_int(2);\n\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - Encoder.FFTOFFSET;\n }\n if (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) {\n ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n } else {\n ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n }\n if (ret != 0)\n return -4;\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0)\n ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n\n /* block type flags */\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n\n /* auto-adjust of ATH, useful for low volume */\n adjust_ATH(gfc);\n\n /****************************************\n * Stage 2: MDCT *\n ****************************************/\n\n /* polyphase filtering / mdct */\n newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/\n\n /* Here will be selected MS or LR coding of the 2 stereo channels */\n gfc.mode_ext = Encoder.MPG_MD_LR_LR;\n\n if (gfp.force_ms) {\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n } else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */\n\n /**\n *
\n             * [0] and [1] are the results for the two granules in MPEG-1,\n             * in MPEG-2 it's only a faked averaging of the same value\n             * _prev is the value of the last granule of the previous frame\n             * _next is the value of the first granule of the next frame\n             * 
\n */\n\n var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n }\n\n /* based on PE: M/S coding would not use much more bits than L/R */\n if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n\n if (gi0[0].block_type == gi0[1].block_type\n && gi1[0].block_type == gi1[1].block_type) {\n\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n }\n }\n }\n\n /* bit and noise allocation */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */\n pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */\n pe_use = pe;\n }\n\n /* copy data for MP3 frame analyzer */\n if (gfp.analysis && gfc.pinfo != null) {\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0,\n gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0,\n gfc.pinfo.energy[gr][ch], 0,\n gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n }\n\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/\n\n if (gfp.VBR == VbrMode.vbr_off || gfp.VBR == VbrMode.vbr_abr) {\n\n var i;\n var f;\n\n for (i = 0; i < 18; i++)\n gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n\n f = 0.0;\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++)\n f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n\n f = gfc.nsPsy.pefirbuf[9];\n for (i = 0; i < 9; i++)\n f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i])\n * Encoder.fircoef[i];\n\n f = (670 * 5 * gfc.mode_gr * gfc.channels_out) / f;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n pe_use[gr][ch] *= f;\n }\n }\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/\n\n /* write the frame to the bitstream */\n bs.format_bitstream(gfp);\n\n /* copy mp3 bit buffer into array */\n mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n\n if (gfp.bWriteVbrTag)\n vbr.addVbrFrame(gfp);\n\n if (gfp.analysis && gfc.pinfo != null) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var j;\n for (j = 0; j < FFTOFFSET; j++)\n gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j\n + gfp.framesize];\n for (j = FFTOFFSET; j < 1600; j++) {\n gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n\n updateStats(gfc);\n\n return mp3count;\n }\n}\n\n\nmodule.exports = Encoder;\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n\n\n\n\n","var disposed = false\nfunction injectStyle (context) {\n if (disposed) return\n require(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!sass-loader!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./line-control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./line-control.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./line-control.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ad219ad8\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./line-control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/line-control.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-ad219ad8\", Component.options)\n } else {\n hotAPI.reload(\"data-v-ad219ad8\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"ar-volume\" },\n [\n _c(\"icon-button\", {\n staticClass: \"ar-volume__icon\",\n attrs: { name: \"volume\" }\n }),\n _vm._v(\" \"),\n _c(\"line-control\", {\n staticClass: \"ar-volume-bar\",\n attrs: { \"ref-id\": \"volume\", percentage: _vm.volume },\n on: { \"change-linehead\": _vm.onChangeLinehead }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }\nif (module.hot) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-060e62ba\", { render: render, staticRenderFns: staticRenderFns })\n }\n}","\n\n\n\n\n","var disposed = false\nfunction injectStyle (context) {\n if (disposed) return\n require(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!sass-loader!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./volume-control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./volume-control.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./volume-control.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-060e62ba\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./volume-control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/volume-control.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-060e62ba\", Component.options)\n } else {\n hotAPI.reload(\"data-v-060e62ba\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"ar-player\" }, [\n _c(\n \"div\",\n { staticClass: \"ar-player-actions\" },\n [\n _c(\"icon-button\", {\n staticClass: \"ar-icon ar-icon__lg ar-player__play\",\n class: {\n \"ar-player__play--active\": _vm.isPlaying,\n disabled: _vm.disablePlayButton\n },\n attrs: { id: \"play\", name: _vm.playBtnIcon },\n nativeOn: {\n click: function($event) {\n return _vm.playback($event)\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"ar-player-bar\" },\n [\n _c(\"div\", { staticClass: \"ar-player__time\" }, [\n _vm._v(_vm._s(_vm.playedTime))\n ]),\n _vm._v(\" \"),\n _c(\"line-control\", {\n staticClass: \"ar-player__progress\",\n attrs: { \"ref-id\": \"progress\", percentage: _vm.progress },\n on: { \"change-linehead\": _vm._onUpdateProgress }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ar-player__time\" }, [\n _vm._v(_vm._s(_vm.duration))\n ]),\n _vm._v(\" \"),\n _c(\"volume-control\", {\n class: { disabled: _vm.disablePlayButton },\n on: { \"change-volume\": _vm._onChangeVolume }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"audio\", { attrs: { id: _vm.playerUniqId, src: _vm.audioSource } })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }\nif (module.hot) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-1bcde71e\", { render: render, staticRenderFns: staticRenderFns })\n }\n}","\n\n\n\n\n","var disposed = false\nfunction injectStyle (context) {\n if (disposed) return\n require(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!sass-loader!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./player.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./player.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./player.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1bcde71e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./player.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/player.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1bcde71e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1bcde71e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"icon-button\", {\n staticClass: \"ar-icon ar-icon__xs ar-icon--no-border\",\n attrs: { id: \"download\", name: \"download\" },\n nativeOn: {\n click: function($event) {\n return _vm.download($event)\n }\n }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }\nif (module.hot) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-35e07ec5\", { render: render, staticRenderFns: staticRenderFns })\n }\n}","\n\n\n\n\n","var disposed = false\nfunction injectStyle (context) {\n if (disposed) return\n require(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!sass-loader!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./downloader.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./downloader.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./downloader.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-35e07ec5\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./downloader.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/downloader.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-35e07ec5\", Component.options)\n } else {\n hotAPI.reload(\"data-v-35e07ec5\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n","import { Mp3Encoder } from 'lamejs'\n\nexport default class {\n constructor(config) {\n this.bitRate = config.bitRate\n this.sampleRate = config.sampleRate\n this.dataBuffer = []\n this.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n }\n\n encode(arrayBuffer) {\n const maxSamples = 1152\n const samples = this._convertBuffer(arrayBuffer)\n let remaining = samples.length\n\n for (let i = 0; remaining >= 0; i += maxSamples) {\n const left = samples.subarray(i, i + maxSamples)\n const buffer = this.encoder.encodeBuffer(left)\n this.dataBuffer.push(new Int8Array(buffer))\n remaining -= maxSamples\n }\n }\n\n finish() {\n this.dataBuffer.push(this.encoder.flush())\n const blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n this.dataBuffer = []\n\n return {\n id : Date.now(),\n blob : blob,\n url : URL.createObjectURL(blob)\n }\n }\n\n _floatTo16BitPCM(input, output) {\n for (let i = 0; i < input.length; i++) {\n const s = Math.max(-1, Math.min(1, input[i]))\n output[i] = (s < 0 ? s * 0x8000 : s * 0x7FFF)\n }\n }\n\n _convertBuffer(arrayBuffer) {\n const data = new Float32Array(arrayBuffer)\n const out = new Int16Array(arrayBuffer.length)\n this._floatTo16BitPCM(data, out)\n return out\n }\n}\n","export default class {\n constructor (options) {\n this.bufferSize = options.bufferSize || 4096\n this.sampleRate = options.sampleRate\n this.samples = options.samples\n }\n\n finish () {\n this._joinSamples()\n\n let buffer = new ArrayBuffer(44 + this.samples.length * 2)\n let view = new DataView(buffer)\n\n this._writeString(view, 0, 'RIFF') // RIFF identifier\n view.setUint32(4, 36 + this.samples.length * 2, true) // RIFF chunk length\n this._writeString(view, 8, 'WAVE') // RIFF type\n this._writeString(view, 12, 'fmt ') // format chunk identifier\n view.setUint32(16, 16, true) // format chunk length\n view.setUint16(20, 1, true) // sample format (raw)\n view.setUint16(22, 1, true) // channel count\n view.setUint32(24, this.sampleRate, true) // sample rate\n view.setUint32(28, this.sampleRate * 4, true) // byte rate (sample rate * block align)\n view.setUint16(32, 4, true) // block align (channel count * bytes per sample)\n view.setUint16(34, 16, true) // bits per sample\n this._writeString(view, 36, 'data') // data chunk identifier\n view.setUint32(40, this.samples.length * 2, true) // data chunk length\n\n this._floatTo16BitPCM(view, 44, this.samples)\n\n const blob = new Blob([view], {type: 'audio/wav'})\n\n return {\n id : Date.now(),\n blob : blob,\n url : URL.createObjectURL(blob)\n }\n }\n\n _floatTo16BitPCM (output, offset, input) {\n for (let i = 0; i < input.length; i++, offset += 2) {\n let s = Math.max(-1, Math.min(1, input[i]))\n output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true)\n }\n }\n\n _joinSamples () {\n let recordLength = this.samples.length * this.bufferSize\n let joinedSamples = new Float64Array(recordLength)\n let offset = 0\n\n for (let i = 0; i < this.samples.length; i++) {\n let sample = this.samples[i]\n joinedSamples.set(sample, offset)\n offset += sample.length\n }\n\n this.samples = joinedSamples\n }\n\n _writeString (view, offset, string) {\n for (let i = 0; i < string.length; i++) {\n view.setUint8(offset + i, string.charCodeAt(i))\n }\n }\n}\n","import Mp3Encoder from './mp3-encoder'\nimport WavEncoder from './wav-encoder'\nimport { convertTimeMMSS } from './utils'\n\nexport default class {\n constructor (options = {}) {\n this.beforeRecording = options.beforeRecording\n this.pauseRecording = options.pauseRecording\n this.afterRecording = options.afterRecording\n this.micFailed = options.micFailed\n this.format = options.format\n\n this.encoderOptions = {\n bitRate : options.bitRate,\n sampleRate : options.sampleRate\n }\n\n this.bufferSize = 4096\n this.records = []\n\n this.isPause = false\n this.isRecording = false\n\n this.duration = 0\n this.volume = 0\n\n this.wavSamples = []\n\n this._duration = 0\n }\n\n start () {\n const constraints = {\n video: false,\n audio: {\n channelCount: 1,\n echoCancellation: false\n }\n }\n\n this.beforeRecording && this.beforeRecording('start recording')\n\n navigator.mediaDevices\n .getUserMedia(constraints)\n .then(this._micCaptured.bind(this))\n .catch(this._micError.bind(this))\n\n this.isPause = false\n this.isRecording = true\n\n if (this._isMp3() && !this.lameEncoder) {\n this.lameEncoder = new Mp3Encoder(this.encoderOptions)\n }\n }\n\n stop () {\n if (this.stream){\n this.stream.getTracks().forEach((track) => track.stop())\n this.input.disconnect()\n this.processor.disconnect()\n this.context.close()\n\n let record = null\n\n if (this._isMp3()) {\n record = this.lameEncoder.finish()\n } else {\n let wavEncoder = new WavEncoder({\n bufferSize : this.bufferSize,\n sampleRate : this.encoderOptions.sampleRate,\n samples : this.wavSamples\n })\n record = wavEncoder.finish()\n this.wavSamples = []\n }\n\n record.duration = convertTimeMMSS(this.duration)\n this.records.push(record)\n\n this._duration = 0\n this.duration = 0\n\n this.isPause = false\n this.isRecording = false\n\n this.afterRecording && this.afterRecording(record)\n } else {\n this.isRecording = false\n }\n }\n\n pause () {\n this.stream.getTracks().forEach((track) => track.stop())\n this.input.disconnect()\n this.processor.disconnect()\n\n this._duration = this.duration\n this.isPause = true\n\n this.pauseRecording && this.pauseRecording('pause recording')\n }\n\n recordList () {\n return this.records\n }\n\n lastRecord () {\n return this.records.slice(-1)\n }\n\n _micCaptured (stream) {\n this.context = new(window.AudioContext || window.webkitAudioContext)()\n this.duration = this._duration\n this.input = this.context.createMediaStreamSource(stream)\n this.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n this.stream = stream\n\n this.processor.onaudioprocess = (ev) => {\n const sample = ev.inputBuffer.getChannelData(0)\n let sum = 0.0\n\n if (this._isMp3()) {\n this.lameEncoder.encode(sample)\n } else {\n this.wavSamples.push(new Float32Array(sample))\n }\n\n for (let i = 0; i < sample.length; ++i) {\n sum += sample[i] * sample[i]\n }\n\n this.duration = parseFloat(this._duration) + parseFloat(this.context.currentTime.toFixed(2))\n this.volume = Math.sqrt(sum / sample.length).toFixed(2)\n }\n\n this.input.connect(this.processor)\n this.processor.connect(this.context.destination)\n }\n\n _micError (error) {\n // TODO: Show permission error when not allowed\n this.stop()\n this.micFailed && this.micFailed(error)\n }\n\n _isMp3 () {\n return this.format.toLowerCase() === 'mp3'\n }\n}\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"icon-button\", {\n staticClass: \"ar-icon ar-icon__xs ar-icon--no-border\",\n attrs: { name: \"save\" },\n nativeOn: {\n click: function($event) {\n return _vm.upload($event)\n }\n }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }\nif (module.hot) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-5016f904\", { render: render, staticRenderFns: staticRenderFns })\n }\n}","export default {\n props: {\n filename : { type: String, default: 'record' },\n format : { type: String, default: 'mp3' },\n headers : { type: Object, default: () => ({}) },\n uploadUrl : { type: String }\n }\n}\n","\n\n\n\n\n","var disposed = false\nfunction injectStyle (context) {\n if (disposed) return\n require(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!sass-loader!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./uploader.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./uploader.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./uploader.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5016f904\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./uploader.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/uploader.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5016f904\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5016f904\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"ar\" }, [\n _vm.isUploading ? _c(\"div\", { staticClass: \"ar__overlay\" }) : _vm._e(),\n _vm._v(\" \"),\n _vm.isUploading\n ? _c(\"div\", { staticClass: \"ar-spinner\" }, [\n _c(\"div\", { staticClass: \"ar-spinner__dot\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ar-spinner__dot\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ar-spinner__dot\" })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"ar-content\", class: { ar__blur: _vm.isUploading } },\n [\n _c(\n \"div\",\n { staticClass: \"ar-recorder\" },\n [\n _c(\"icon-button\", {\n staticClass: \"ar-icon ar-icon__lg\",\n class: {\n \"ar-icon--rec\": _vm.isRecording,\n \"ar-icon--pulse\": _vm.isRecording && _vm.volume > 0.02\n },\n attrs: { name: _vm.iconButtonType },\n nativeOn: {\n click: function($event) {\n return _vm.toggleRecorder($event)\n }\n }\n }),\n _vm._v(\" \"),\n !_vm.minimalMode\n ? _c(\"icon-button\", {\n staticClass: \"ar-icon ar-icon__sm ar-recorder__stop\",\n attrs: { name: \"stop\" },\n nativeOn: {\n click: function($event) {\n return _vm.stopRecorder($event)\n }\n }\n })\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.attempts && !_vm.minimalMode\n ? _c(\"div\", { staticClass: \"ar-recorder__records-limit\" }, [\n _vm._v(\n \"Attempts: \" +\n _vm._s(_vm.attemptsLeft) +\n \"/\" +\n _vm._s(_vm.attempts)\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.countdown\n ? _c(\"div\", { staticClass: \"ar-recorder__time-remaining\" }, [\n _vm._v(_vm._s(_vm.countdownTitle))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ar-recorder__duration\" }, [\n _vm._v(_vm._s(_vm.recordedTime))\n ]),\n _vm._v(\" \"),\n _vm.time && !_vm.minimalMode\n ? _c(\"div\", { staticClass: \"ar-recorder__time-limit\" }, [\n _vm._v(\"Record duration is limited: \" + _vm._s(_vm.time) + \"s\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.minimalMode\n ? _c(\n \"div\",\n { staticClass: \"ar-records\" },\n _vm._l(_vm.recordList, function(record, idx) {\n return _c(\n \"div\",\n {\n key: record.id,\n staticClass: \"ar-records__record\",\n class: {\n \"ar-records__record--selected\":\n record.id === _vm.selected.id\n },\n on: {\n click: function($event) {\n return _vm.choiceRecord(record)\n }\n }\n },\n [\n record.id === _vm.selected.id\n ? _c(\n \"div\",\n {\n staticClass: \"ar__rm\",\n on: {\n click: function($event) {\n return _vm.removeRecord(idx)\n }\n }\n },\n [_vm._v(\"×\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ar__text\" }, [\n _vm._v(\"Record \" + _vm._s(idx + 1))\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ar__text\" }, [\n _vm._v(_vm._s(record.duration))\n ]),\n _vm._v(\" \"),\n record.id === _vm.selected.id && _vm.showDownloadButton\n ? _c(\"downloader\", {\n staticClass: \"ar__downloader\",\n attrs: { record: record, filename: _vm.filename }\n })\n : _vm._e(),\n _vm._v(\" \"),\n record.id === _vm.selected.id && _vm.showUploadButton\n ? _c(\"uploader\", {\n staticClass: \"ar__uploader\",\n attrs: {\n record: record,\n filename: _vm.filename,\n headers: _vm.headers,\n \"upload-url\": _vm.uploadUrl\n }\n })\n : _vm._e()\n ],\n 1\n )\n }),\n 0\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"audio-player\", {\n class: {\n disabled: _vm.selected === {} || _vm.selected === undefined\n },\n attrs: { record: _vm.selected }\n })\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }\nif (module.hot) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-ab2a3464\", { render: render, staticRenderFns: staticRenderFns })\n }\n}","\n\n\n\n\n\n","var disposed = false\nfunction injectStyle (context) {\n if (disposed) return\n require(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!sass-loader!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./recorder.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./recorder.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./recorder.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ab2a3464\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./recorder.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/recorder.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-ab2a3464\", Component.options)\n } else {\n hotAPI.reload(\"data-v-ab2a3464\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n","import AudioPlayer from '@/components/player.vue'\nimport AudioRecorder from '@/components/recorder.vue'\n\nconst components = {\n AudioPlayer,\n AudioRecorder,\n\n install (Vue) {\n if (this.installed) {\n return\n }\n\n this.installed = true\n\n Vue.prototype.$eventBus = Vue.prototype.$eventBus || new Vue\n\n Vue.component('audio-player', AudioPlayer)\n Vue.component('audio-recorder', AudioRecorder)\n }\n}\n\nexport default components\n\nexport { AudioPlayer, AudioRecorder }\n"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..b360cb6 --- /dev/null +++ b/index.html @@ -0,0 +1,19 @@ + + + + + + + vuejs2-audio-recorder + + + +
+ + + diff --git a/package-lock.json b/package-lock.json index 18dc49a..782f635 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,10497 +1,3562 @@ { - "name": "vue2-audio-recorder", - "version": "1.0.3", - "lockfileVersion": 1, + "name": "vuejs2-audio-recorder", + "version": "1.0.0", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dev": true, - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "packages": { + "": { + "name": "vuejs2-audio-recorder", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "core-js": "3.19.1" + }, + "devDependencies": { + "@originjs/vite-plugin-commonjs": "^1.0.1", + "eslint": "7.32.0", + "eslint-plugin-vue": "8.7.1", + "sass": "^1.60.0", + "vite": "^2.7.2", + "vite-plugin-env-compatible": "^1.1.1", + "vite-plugin-vue2": "^1.9.0" + }, + "peerDependencies": { + "vue": "2.7.14" } }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "13.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.1.tgz", - "integrity": "sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "node_modules/@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "engines": { + "node": ">=6.9.0" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "node_modules/@babel/core": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz", + "integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.9", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.9", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "node_modules/@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "dependencies": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dev": true, - "requires": { - "@xtuc/long": "4.2.2" + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@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==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", "dev": true, - "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-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "dependencies": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", + "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true, - "requires": { - "array-uniq": "^1.0.1" + "engines": { + "node": ">=6.9.0" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, - "requires": { - "safer-buffer": "~2.1.0" + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", - "dev": true - }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dev": true, - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "node_modules/@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true, - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "node_modules/@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz", + "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-loader": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", - "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", + "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", "dev": true, - "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", + "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "node_modules/@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "node_modules/@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "node_modules/@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "cpu": [ + "loong64" + ], "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } + "node_modules/@eslint/eslintrc/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==", + "dev": true }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" } }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } + "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==", + "dev": true }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" } }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "engines": { + "node": ">=6.0.0" } }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "engines": { + "node": ">=6.0.0" } }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "node_modules/@originjs/vite-plugin-commonjs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@originjs/vite-plugin-commonjs/-/vite-plugin-commonjs-1.0.3.tgz", + "integrity": "sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==", "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" + "dependencies": { + "esbuild": "^0.14.14" } }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", "dev": true, - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" } }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", + "dev": true }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "engines": { + "node": ">=4" } }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "node_modules/@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dev": true, - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "dev": true, - "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "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" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0", + "vue": "*" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true } } }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "node_modules/@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", "dev": true, - "requires": { - "tweetnacl": "^0.14.3" + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true + "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "node_modules/@vue/babel-sugar-v-model/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "requires": { - "inherits": "~2.0.0" + "engines": { + "node": ">=6" } }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "node_modules/@vue/compiler-sfc": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz", + "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==", + "peer": true, + "dependencies": { + "@babel/parser": "^7.18.4", + "postcss": "^8.4.14", + "source-map": "^0.6.1" + } }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true + "node_modules/@vue/compiler-sfc/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==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "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": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" } }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@vue/component-compiler-utils/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/@vue/component-compiler-utils/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "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==", "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "engines": { + "node": ">=6" } }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "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==", "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "engines": { + "node": ">=8" } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "requires": { - "pako": "~1.0.5" + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "engines": { + "node": ">= 4.0.0" } }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } + "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==", + "dev": true, + "engines": { + "node": ">=8" } }, - "caniuse-db": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001035.tgz", - "integrity": "sha512-kLUON4XN3tq5Nwl7ZICDw+7/vMynSpRMVYDRkzLL31lgnpa6M2YXYdjst3h+xbzjMgdcveRTnRGE1h/1IcKK6A==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "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==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "requires": { - "tslib": "^1.9.0" + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "requires": { - "chalk": "^1.1.3" + "engines": { + "node": ">=6" } }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "node_modules/caniuse-lite": { + "version": "1.0.30001474", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001474.tgz", + "integrity": "sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q==", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - } + ] }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "requires": { - "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==", - "dev": true + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" } + ], + "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" } }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "dependencies": { + "color-name": "1.1.3" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" - } + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", "dev": true, - "requires": { - "q": "^1.1.2" + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "node_modules/core-js": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.1.tgz", + "integrity": "sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "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==", "dev": true, - "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, - "requires": { - "color-name": "1.1.3" + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "peer": true }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", "dev": true, - "requires": { - "color-name": "^1.0.0" - } + "peer": true }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "requires": { - "color": "^0.11.0", - "css-color-names": "0.0.4", - "has": "^1.0.1" + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { - "delayed-stream": "~1.0.0" + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "node_modules/electron-to-chromium": { + "version": "1.4.352", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.352.tgz", + "integrity": "sha512-ikFUEyu5/q+wJpMOxWxTaEVk2M1qKqTGKKyfJmod1CPZxKfYnxVS41/GCBQg21ItBpZybyN8sNpRqCUGm+Zc4Q==", "dev": true }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "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==", "dev": true }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.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==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "node_modules/esbuild": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" } }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "consolidate": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", - "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", + "node_modules/esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "bluebird": "^3.1.1" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "node_modules/esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "safe-buffer": "5.1.2" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "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==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "node_modules/esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "safe-buffer": "~5.1.1" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } + "node_modules/esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-env": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", - "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.5" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", - "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": "^3.10.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.1.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "node_modules/esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "cpu": [ + "ia32" + ], "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "css-selector-tokenizer": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", - "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", + "node_modules/esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2", - "regexpu-core": "^4.6.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "node_modules/esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "node_modules/esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "array-find-index": "^1.0.1" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "cpu": [ + "mips64el" + ], "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "cpu": [ + "ppc64" + ], "dev": true, - "requires": { - "ms": "2.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "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=", - "dev": true + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "node_modules/esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "cpu": [ + "s390x" + ], "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "node_modules/esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "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==", + "node_modules/esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "object-keys": "^1.0.12" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" } }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true + "node_modules/esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - } + "node_modules/esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "node_modules/esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.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": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "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.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "node_modules/eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" } }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "node_modules/eslint-plugin-vue/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==", + "dev": true, + "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" + } }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true + "node_modules/eslint-plugin-vue/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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, - "requires": { - "repeating": "^2.0.0" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "node_modules/eslint-plugin-vue/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "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==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" + "engines": { + "node": ">=4" } }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "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==", "dev": true, - "requires": { - "utila": "~0.4" + "engines": { + "node": ">=10" } }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - } + "@babel/highlight": "^7.10.4" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/eslint/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==", "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.376", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz", - "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==", - "dev": true - }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/eslint/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==", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "node_modules/eslint/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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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==", + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, - "requires": { - "once": "^1.4.0" + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "node_modules/eslint/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==", + "dev": true, + "engines": { + "node": ">=8" } }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "node_modules/eslint/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==", "dev": true }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "node_modules/eslint/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==", "dev": true, - "requires": { - "prr": "~1.0.1" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/eslint/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, - "requires": { - "is-arrayish": "^0.2.1" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "node_modules/eslint/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==", "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/eslint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "engines": { + "node": ">=4" } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", - "dev": true - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "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": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "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==", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, - "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "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==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dev": true, - "requires": { - "debug": "=3.1.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "dev": true, - "optional": true, - "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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "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": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - }, - "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - } - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.12", - "minimatch": "~3.0.2" - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "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==", - "dev": true, - "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=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true - }, - "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.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==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "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==", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "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==", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "js-base64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", - "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "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==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "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==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "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==", - "dev": true - }, - "lamejs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/lamejs/-/lamejs-1.2.0.tgz", - "integrity": "sha1-Aln4PbRmYUGntnG4yqY2nZUXfQg=", - "requires": { - "use-strict": "1.0.1" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "loglevel": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", - "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-expression-evaluator": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.22.tgz", - "integrity": "sha512-L0j0tFVZBQQLeEjmWOvDLoRciIY8gQGWahvkztXUal8jH8R5Rlqo9GCvgqvXcy9LQhEWdQCVvzqAbxgYNt4blQ==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "dev": true, - "requires": { - "mime-db": "1.43.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - } - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } - } - }, - "node-sass": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", - "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "^2.2.4", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - } - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "object-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", - "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "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=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "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==", - "dev": true - }, - "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=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", - "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "^5.0.16" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", - "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-load-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", - "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0", - "postcss-load-options": "^1.2.0", - "postcss-load-plugins": "^2.3.0" - } - }, - "postcss-load-options": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", - "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0" - } - }, - "postcss-load-plugins": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", - "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.1", - "object-assign": "^4.1.0" - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "^5.0.5" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "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==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "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==", - "dev": true - }, - "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==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "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==", "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "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==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "engines": { + "node": ">=4.0" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "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==", "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } + "engines": { + "node": ">=4.0" } }, - "reduce-function-call": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", - "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "requires": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=4.0" } }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "requires": { - "regenerate": "^1.4.0" + "engines": { + "node": ">=0.10.0" } }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "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==", "dev": true }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.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==", + "dev": true }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "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==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "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==", "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "requires-port": { + "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "dependencies": { - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - } + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "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": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", "dev": true }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "requires": { - "glob": "^7.1.3" + "engines": { + "node": ">=6.9.0" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "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==", "dev": true, - "requires": { - "aproba": "^1.1.1" + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "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==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "requires": { - "ret": "~0.1.10" + "engines": { + "node": ">=4" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "sass-loader": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.7.tgz", - "integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==", + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "requires": { - "clone-deep": "^2.0.1", - "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", - "neo-async": "^2.5.0", - "pify": "^3.0.0" + "engines": { + "node": ">=4" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", "dev": true }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "peer": true, + "bin": { + "he": "bin/he" } }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "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==", "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } + "engines": { + "node": ">= 4" } }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", "dev": true }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "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==", "dev": true, - "requires": { - "node-forge": "0.9.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "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==", - "dev": true, - "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=", - "dev": true - } - } - }, - "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==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/import-fresh/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==", "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "engines": { + "node": ">=4" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "engines": { + "node": ">=0.8.19" } }, - "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "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==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" + "engines": { + "node": ">=0.10.0" } }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "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==", + "dev": true, + "engines": { + "node": ">=8" } }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "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==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" + "engines": { + "node": ">=0.12.0" } }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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==", "dev": true }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "requires": { - "source-map": "^0.5.6" + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "spdy": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", - "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "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==", "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "dependencies": { + "yallist": "^3.0.2" } }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" + "dependencies": { + "sourcemap-codec": "^1.4.8" } }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "source-map": "^0.6.1" } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "node_modules/merge-source-map/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } + "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==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", "dev": true }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "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==", "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "engines": { + "node": ">=0.10.0" } }, - "string.prototype.trimleft": { + "node_modules/nth-check": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "dependencies": { + "wrappy": "1" } }, - "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==", + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, - "requires": { - "safe-buffer": "~5.2.0" + "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/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==", + "dev": true, "dependencies": { - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - } + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "engines": { + "node": ">=0.10.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "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==", "dev": true, - "requires": { - "is-utf8": "^0.2.0" + "engines": { + "node": ">=8" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "requires": { - "get-stdin": "^4.0.1" + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, - "terser": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz", - "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==", + "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==", "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "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==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } + "engines": { + "node": ">= 0.8.0" } }, - "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.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==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "node_modules/prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" } }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, - "requires": { - "setimmediate": "^1.0.4" + "engines": { + "node": ">=6" } }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "engines": { + "node": ">=0.10.0" } }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "requires": { - "glob": "^7.1.2" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true + "node_modules/rollup": { + "version": "2.77.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", + "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true + "node_modules/sass": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz", + "integrity": "sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "requires": { - "safe-buffer": "^5.0.1" + "bin": { + "semver": "bin/semver.js" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "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==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "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==", "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "engines": { + "node": ">=8" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "uglifyjs-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", - "source-map": "^0.6.1", - "uglify-js": "^3.6.0", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "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==", - "dev": true - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.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==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "uglify-js": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz", - "integrity": "sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==", - "dev": true, - "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" - } - } + "node_modules/slice-ansi/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "node_modules/slice-ansi/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/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==", "dev": true }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "engines": { + "node": ">= 8" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", "dev": true }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "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==", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true + "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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "requires": { - "unique-slug": "^2.0.0" + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "unpipe": { + "node_modules/svg-tags": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "requires": { - "punycode": "^2.1.0" + "engines": { + "node": ">=4" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "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==", "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "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==", "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "use-strict": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/use-strict/-/use-strict-1.0.1.tgz", - "integrity": "sha1-C7gNlPSaSgUZK4Sox9NOlfGn46A=" - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "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==", "dev": true, - "requires": { - "inherits": "2.0.3" + "engines": { + "node": ">=10" }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "engines": { + "node": ">= 10.0.0" } }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", - "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "dependencies": { + "punycode": "^2.1.0" } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "vue": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", - "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, - "vue-loader": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-14.2.4.tgz", - "integrity": "sha512-bub2/rcTMJ3etEbbeehdH2Em3G2F5vZIjMK7ZUePj5UtgmZSTtOX1xVVawDpDsy021s3vQpO6VpWJ3z3nO8dDw==", + "node_modules/vite": { + "version": "2.9.15", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.15.tgz", + "integrity": "sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==", "dev": true, - "requires": { - "consolidate": "^0.14.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "lru-cache": "^4.1.1", - "postcss": "^6.0.8", - "postcss-load-config": "^1.1.0", - "postcss-selector-parser": "^2.0.0", - "prettier": "^1.16.0", - "resolve": "^1.4.0", - "source-map": "^0.6.1", - "vue-hot-reload-api": "^2.2.0", - "vue-style-loader": "^4.0.1", - "vue-template-es2015-compiler": "^1.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } + "dependencies": { + "esbuild": "^0.14.27", + "postcss": "^8.4.13", + "resolve": "^1.22.0", + "rollup": ">=2.59.0 <2.78.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": ">=12.2.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*" + }, + "peerDependenciesMeta": { + "less": { + "optional": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "sass": { + "optional": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "stylus": { + "optional": true } } }, - "vue-style-loader": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", - "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", + "node_modules/vite-plugin-env-compatible": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vite-plugin-env-compatible/-/vite-plugin-env-compatible-1.1.1.tgz", + "integrity": "sha512-4lqhBWhOzP+SaCPoCVdmpM5cXzjKQV5jgFauxea488oOeElXo/kw6bXkMIooZhrh9q7gclTl8en6N9NmnqUwRQ==", + "dev": true + }, + "node_modules/vite-plugin-vue2": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/vite-plugin-vue2/-/vite-plugin-vue2-1.9.3.tgz", + "integrity": "sha512-0KhHSEeht0VHJtt4Z2cJ9bWBq4dP3HoXpapqAHV+f+cUa6KywYdOd+z6sSGLpuGjN8F9YinrFIo8dfVmMOpc8Q==", "dev": true, - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" + "dependencies": { + "@babel/core": "^7.16.10", + "@babel/parser": "^7.16.10", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-decorators": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.8", + "@rollup/pluginutils": "^4.1.1", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-preset-jsx": "^1.2.4", + "@vue/component-compiler-utils": "^3.2.2", + "consolidate": "^0.16.0", + "debug": "^4.3.2", + "fs-extra": "^9.1.0", + "hash-sum": "^2.0.0", + "magic-string": "^0.25.7", + "prettier": "^2.4.1", + "querystring": "^0.2.1", + "rollup": "^2.58.0", + "slash": "^3.0.0", + "source-map": "^0.7.3", + "vue-template-es2015-compiler": "^1.9.1" + }, + "peerDependencies": { + "vite": "^2.0.0-beta.23", + "vue-template-compiler": "^2.2.0" } }, - "vue-template-compiler": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", - "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", + "node_modules/vite-plugin-vue2/node_modules/consolidate": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" + "dependencies": { + "bluebird": "^3.7.2" + }, + "engines": { + "node": ">= 0.10.0" } }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "node_modules/vite-plugin-vue2/node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", "dev": true }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webpack": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", - "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.0", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "node_modules/vue": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz", + "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==", + "peer": true, + "dependencies": { + "@vue/compiler-sfc": "2.7.14", + "csstype": "^3.1.0" } }, - "webpack-cli": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", - "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", - "dev": true, - "requires": { - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.1.0", - "findup-sync": "3.0.0", - "global-modules": "2.0.0", - "import-local": "2.0.0", - "interpret": "1.2.0", - "loader-utils": "1.2.3", - "supports-color": "6.1.0", - "v8-compile-cache": "2.0.3", - "yargs": "13.2.4" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "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==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.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==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "node_modules/vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "dependencies": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" } }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true - } + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "webpack-dev-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", - "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.2.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.6", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.25", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.4.0", - "spdy": "^4.0.1", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "12.0.5" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.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==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "requires": { - "lodash": "^4.17.15" + "engines": { + "node": ">=4.0" } }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/vue-eslint-parser/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==", "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, - "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "node_modules/vue-eslint-parser/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", "dev": true, - "requires": { - "isexe": "^2.0.0" + "peer": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" } }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "dev": true }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "errno": "~0.1.7" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "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==", "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "engines": { + "node": ">=0.10.0" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } } } } diff --git a/package.json b/package.json index 0c02097..d45cb09 100644 --- a/package.json +++ b/package.json @@ -1,62 +1,50 @@ { - "name": "vue2-audio-recorder", - "description": "New version of audio recorder for Vue.js 2. It allows to record, play, download and store records on a server. It is based on vue-audio-recorder which is not longer being supported by the original author (grishkovelli).", - "version": "1.0.4", - "author": "Jonathan Arias ", + "name": "vuejs2-audio-recorder", + "description": "New version of audio recorder for Vue.js 2 with vite", + "version": "1.0.0", + "author": "Hossein Rahimi", "license": "MIT", "scripts": { - "dev": "webpack-dev-server --env.NODE_ENV=development --mode development --open --hot --https", - "build": "webpack --env.NODE_ENV=production --mode production --progress --hide-modules" + "dev": "vite --open", + "build": "vite build", + "preview": "vite preview" }, "dependencies": { - "lamejs": "^1.2.0" + "core-js": "3.19.1" + }, + "peerDependencies": { + "vue": "2.7.14" }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not ie <= 8" - ], "devDependencies": { - "axios": "^0.18.0", - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.0", - "babel-preset-stage-3": "^6.24.1", - "cross-env": "^5.0.5", - "css-loader": "^0.28.7", - "file-loader": "^1.1.4", - "html-webpack-plugin": "^3.2.0", - "node-sass": "^4.5.3", - "sass-loader": "^6.0.6", - "uglifyjs-webpack-plugin": "^2.0.1", - "vue": "^2.5.16", - "vue-loader": "^14.2.2", - "vue-template-compiler": "^2.4.4", - "webpack": "^4.17.1", - "webpack-cli": "^3.1.2", - "webpack-dev-server": "^3.1.9", - "webpack-merge": "^4.1.3" + "@originjs/vite-plugin-commonjs": "^1.0.1", + "eslint": "7.32.0", + "eslint-plugin-vue": "8.7.1", + "sass": "^1.60.0", + "vite": "^2.7.2", + "vite-plugin-env-compatible": "^1.1.1", + "vite-plugin-vue2": "^1.9.0" }, - "main": "dist/vue-audio-recorder.min.js", "repository": { "type": "git", - "url": "git+https://github.com/jonalxh/vue-audio-recorder.git" + "url": "git+https://github.com/rhosseinr/vue-audio-recorder.git" + }, + "bugs": { + "url": "https://github.com/rhosseinr/vue-audio-recorder/issues" }, + "homepage": "https://github.com/rhosseinr/vue-audio-recorder#readme", + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 8" + ], "keywords": [ "vue", + "vite", "audio", "record", "microphone", "recorder", "player", - "voice", - "grabador", - "reproductor", - "voz", - "nota de voz" - ], - "bugs": { - "url": "https://github.com/jonalxh/vue-audio-recorder/issues" - }, - "homepage": "https://github.com/jonalxh/vue-audio-recorder#readme" + "voice" + ] } diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..442ed29 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/api/Service.js b/src/api/Service.js new file mode 100644 index 0000000..263f831 --- /dev/null +++ b/src/api/Service.js @@ -0,0 +1,22 @@ +export default class Service { + constructor(backendEndpoint) { + this.backendEndpoint = backendEndpoint; + } + + // returns true if successful, false if failed + async postBackend(recordedBlob) { + try { + const response = await fetch(this.backendEndpoint, { + method: "POST", + body: recordedBlob, + }); + if (!response.ok) { + return false; + } + + return true; + } catch (error) { + return false; + } + } +} diff --git a/src/components/IconButton.vue b/src/components/IconButton.vue new file mode 100644 index 0000000..ca5dabc --- /dev/null +++ b/src/components/IconButton.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/components/LineControl.vue b/src/components/LineControl.vue new file mode 100644 index 0000000..fc5fee4 --- /dev/null +++ b/src/components/LineControl.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/components/PlayerWidget.vue b/src/components/PlayerWidget.vue new file mode 100644 index 0000000..018e826 --- /dev/null +++ b/src/components/PlayerWidget.vue @@ -0,0 +1,234 @@ + + + + + diff --git a/src/components/RecorderWidget.vue b/src/components/RecorderWidget.vue new file mode 100644 index 0000000..17604de --- /dev/null +++ b/src/components/RecorderWidget.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/components/SubmitButton.vue b/src/components/SubmitButton.vue new file mode 100644 index 0000000..d3c7e1a --- /dev/null +++ b/src/components/SubmitButton.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/components/VolumeControl.vue b/src/components/VolumeControl.vue new file mode 100644 index 0000000..c0ae502 --- /dev/null +++ b/src/components/VolumeControl.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/components/downloader.vue b/src/components/downloader.vue index 1ee0213..3b14e3c 100644 --- a/src/components/downloader.vue +++ b/src/components/downloader.vue @@ -1,38 +1,35 @@ - - diff --git a/src/components/icon-button.vue b/src/components/icon-button.vue deleted file mode 100644 index e42858f..0000000 --- a/src/components/icon-button.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - - diff --git a/src/components/line-control.vue b/src/components/line-control.vue deleted file mode 100644 index 17dabc4..0000000 --- a/src/components/line-control.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - diff --git a/src/components/player.vue b/src/components/player.vue deleted file mode 100644 index 8d8deb2..0000000 --- a/src/components/player.vue +++ /dev/null @@ -1,219 +0,0 @@ - - - - - diff --git a/src/components/recorder.vue b/src/components/recorder.vue deleted file mode 100644 index 13f1734..0000000 --- a/src/components/recorder.vue +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - diff --git a/src/components/volume-control.vue b/src/components/volume-control.vue deleted file mode 100644 index a82f2e3..0000000 --- a/src/components/volume-control.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/src/index.js b/src/index.js deleted file mode 100644 index d5f6ea2..0000000 --- a/src/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import AudioPlayer from '@/components/player.vue' -import AudioRecorder from '@/components/recorder.vue' - -const components = { - AudioPlayer, - AudioRecorder, - - install (Vue) { - if (this.installed) { - return - } - - this.installed = true - - Vue.prototype.$eventBus = Vue.prototype.$eventBus || new Vue - - Vue.component('audio-player', AudioPlayer) - Vue.component('audio-recorder', AudioRecorder) - } -} - -export default components - -export { AudioPlayer, AudioRecorder } diff --git a/src/lib/WavEncoder.js b/src/lib/WavEncoder.js new file mode 100644 index 0000000..401172b --- /dev/null +++ b/src/lib/WavEncoder.js @@ -0,0 +1,66 @@ +/* eslint-disable */ +export default class { + constructor(options) { + this.bufferSize = options.bufferSize || 4096; + this.sampleRate = options.sampleRate; + this.samples = options.samples; + } + + finish() { + this._joinSamples(); + + const buffer = new ArrayBuffer(44 + this.samples.length * 2); + const view = new DataView(buffer); + + this._writeString(view, 0, "RIFF"); // RIFF identifier + view.setUint32(4, 36 + this.samples.length * 2, true); // RIFF chunk length + this._writeString(view, 8, "WAVE"); // RIFF type + this._writeString(view, 12, "fmt "); // format chunk identifier + view.setUint32(16, 16, true); // format chunk length + view.setUint16(20, 1, true); // sample format (raw) + view.setUint16(22, 1, true); // channel count + view.setUint32(24, this.sampleRate, true); // sample rate + view.setUint32(28, this.sampleRate * 4, true); // byte rate (sample rate * block align) + view.setUint16(32, 4, true); // block align (channel count * bytes per sample) + view.setUint16(34, 16, true); // bits per sample + this._writeString(view, 36, "data"); // data chunk identifier + view.setUint32(40, this.samples.length * 2, true); // data chunk length + + this._floatTo16BitPCM(view, 44, this.samples); + + const blob = new Blob([view], { type: "audio/wav" }); + + return { + id: Date.now(), + blob, + url: URL.createObjectURL(blob), + }; + } + + _floatTo16BitPCM(output, offset, input) { + for (let i = 0; i < input.length; i++, offset += 2) { + const s = Math.max(-1, Math.min(1, input[i])); + output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true); + } + } + + _joinSamples() { + const recordLength = this.samples.length * this.bufferSize; + const joinedSamples = new Float64Array(recordLength); + let offset = 0; + + for (let i = 0; i < this.samples.length; i++) { + const sample = this.samples[i]; + joinedSamples.set(sample, offset); + offset += sample.length; + } + + this.samples = joinedSamples; + } + + _writeString(view, offset, string) { + for (let i = 0; i < string.length; i++) { + view.setUint8(offset + i, string.charCodeAt(i)); + } + } +} diff --git a/src/lib/mp3-encoder.js b/src/lib/mp3-encoder.js deleted file mode 100644 index fd390ba..0000000 --- a/src/lib/mp3-encoder.js +++ /dev/null @@ -1,49 +0,0 @@ -import { Mp3Encoder } from 'lamejs' - -export default class { - constructor(config) { - this.bitRate = config.bitRate - this.sampleRate = config.sampleRate - this.dataBuffer = [] - this.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate) - } - - encode(arrayBuffer) { - const maxSamples = 1152 - const samples = this._convertBuffer(arrayBuffer) - let remaining = samples.length - - for (let i = 0; remaining >= 0; i += maxSamples) { - const left = samples.subarray(i, i + maxSamples) - const buffer = this.encoder.encodeBuffer(left) - this.dataBuffer.push(new Int8Array(buffer)) - remaining -= maxSamples - } - } - - finish() { - this.dataBuffer.push(this.encoder.flush()) - const blob = new Blob(this.dataBuffer, { type: 'audio/mp3' }) - this.dataBuffer = [] - - return { - id : Date.now(), - blob : blob, - url : URL.createObjectURL(blob) - } - } - - _floatTo16BitPCM(input, output) { - for (let i = 0; i < input.length; i++) { - const s = Math.max(-1, Math.min(1, input[i])) - output[i] = (s < 0 ? s * 0x8000 : s * 0x7FFF) - } - } - - _convertBuffer(arrayBuffer) { - const data = new Float32Array(arrayBuffer) - const out = new Int16Array(arrayBuffer.length) - this._floatTo16BitPCM(data, out) - return out - } -} diff --git a/src/lib/recorder.js b/src/lib/recorder.js index 60ce571..6afdadb 100644 --- a/src/lib/recorder.js +++ b/src/lib/recorder.js @@ -1,149 +1,128 @@ -import Mp3Encoder from './mp3-encoder' -import WavEncoder from './wav-encoder' -import { convertTimeMMSS } from './utils' - -export default class { - constructor (options = {}) { - this.beforeRecording = options.beforeRecording - this.pauseRecording = options.pauseRecording - this.afterRecording = options.afterRecording - this.micFailed = options.micFailed - this.format = options.format +/* eslint-disable */ +import { convertTimeMMSS } from "./Utils"; +import WavEncoder from "./WavEncoder"; + +export default class Recorder { + constructor(options = {}) { + this.beforeRecording = options.beforeRecording; + this.pauseRecording = options.pauseRecording; + this.afterRecording = options.afterRecording; + this.micFailed = options.micFailed; this.encoderOptions = { - bitRate : options.bitRate, - sampleRate : options.sampleRate - } + bitRate: options.bitRate, + sampleRate: options.sampleRate, + }; - this.bufferSize = 4096 - this.records = [] + this.bufferSize = 4096; + this.records = []; - this.isPause = false - this.isRecording = false + this.isPause = false; + this.isRecording = false; - this.duration = 0 - this.volume = 0 + this.duration = 0; + this.volume = 0; - this.wavSamples = [] + this.wavSamples = []; - this._duration = 0 + this._duration = 0; } - start () { + start() { const constraints = { video: false, audio: { channelCount: 1, - echoCancellation: false - } - } + echoCancellation: false, + }, + }; - this.beforeRecording && this.beforeRecording('start recording') + this.beforeRecording && this.beforeRecording("start recording"); navigator.mediaDevices - .getUserMedia(constraints) - .then(this._micCaptured.bind(this)) - .catch(this._micError.bind(this)) - - this.isPause = false - this.isRecording = true + .getUserMedia(constraints) + .then(this._micCaptured.bind(this)) + .catch(this._micError.bind(this)); - if (this._isMp3() && !this.lameEncoder) { - this.lameEncoder = new Mp3Encoder(this.encoderOptions) - } + this.isPause = false; + this.isRecording = true; } - stop () { - if (this.stream){ - this.stream.getTracks().forEach((track) => track.stop()) - this.input.disconnect() - this.processor.disconnect() - this.context.close() - - let record = null - - if (this._isMp3()) { - record = this.lameEncoder.finish() - } else { - let wavEncoder = new WavEncoder({ - bufferSize : this.bufferSize, - sampleRate : this.encoderOptions.sampleRate, - samples : this.wavSamples - }) - record = wavEncoder.finish() - this.wavSamples = [] - } + stop() { + this.stream.getTracks().forEach((track) => track.stop()); + this.input.disconnect(); + this.processor.disconnect(); + this.context.close(); + + let record = null; - record.duration = convertTimeMMSS(this.duration) - this.records.push(record) + const wavEncoder = new WavEncoder({ + bufferSize: this.bufferSize, + sampleRate: this.encoderOptions.sampleRate, + samples: this.wavSamples, + }); + record = wavEncoder.finish(); + this.wavSamples = []; - this._duration = 0 - this.duration = 0 + record.duration = convertTimeMMSS(this.duration); + this.records.push(record); - this.isPause = false - this.isRecording = false + this._duration = 0; + this.duration = 0; - this.afterRecording && this.afterRecording(record) - } else { - this.isRecording = false - } + this.isPause = false; + this.isRecording = false; + + this.afterRecording && this.afterRecording(record); } - pause () { - this.stream.getTracks().forEach((track) => track.stop()) - this.input.disconnect() - this.processor.disconnect() + pause() { + this.stream.getTracks().forEach((track) => track.stop()); + this.input.disconnect(); + this.processor.disconnect(); - this._duration = this.duration - this.isPause = true + this._duration = this.duration; + this.isPause = true; - this.pauseRecording && this.pauseRecording('pause recording') + this.pauseRecording && this.pauseRecording("pause recording"); } - recordList () { - return this.records + recordList() { + return this.records; } - lastRecord () { - return this.records.slice(-1) + lastRecord() { + return this.records.slice(-1).pop(); } - _micCaptured (stream) { - this.context = new(window.AudioContext || window.webkitAudioContext)() - this.duration = this._duration - this.input = this.context.createMediaStreamSource(stream) - this.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1) - this.stream = stream + _micCaptured(stream) { + this.context = new (window.AudioContext || window.webkitAudioContext)(); + this.duration = this._duration; + this.input = this.context.createMediaStreamSource(stream); + this.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1); + this.stream = stream; this.processor.onaudioprocess = (ev) => { - const sample = ev.inputBuffer.getChannelData(0) - let sum = 0.0 + const sample = ev.inputBuffer.getChannelData(0); + let sum = 0.0; - if (this._isMp3()) { - this.lameEncoder.encode(sample) - } else { - this.wavSamples.push(new Float32Array(sample)) - } + this.wavSamples.push(new Float32Array(sample)); for (let i = 0; i < sample.length; ++i) { - sum += sample[i] * sample[i] + sum += sample[i] * sample[i]; } - this.duration = parseFloat(this._duration) + parseFloat(this.context.currentTime.toFixed(2)) - this.volume = Math.sqrt(sum / sample.length).toFixed(2) - } - - this.input.connect(this.processor) - this.processor.connect(this.context.destination) - } + this.duration = + parseFloat(this._duration) + + parseFloat(this.context.currentTime.toFixed(2)); + this.volume = Math.sqrt(sum / sample.length).toFixed(2); + }; - _micError (error) { - // TODO: Show permission error when not allowed - this.stop() - this.micFailed && this.micFailed(error) + this.input.connect(this.processor); + this.processor.connect(this.context.destination); } - _isMp3 () { - return this.format.toLowerCase() === 'mp3' + _micError(error) { + this.micFailed && this.micFailed(error); } } diff --git a/src/lib/utils.js b/src/lib/utils.js index 82fa2cb..55012cb 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -1,22 +1,25 @@ -export function calculateLineHeadPosition (ev, element) { - const progressWidth = element.getBoundingClientRect().width - const leftPosition = ev.target.getBoundingClientRect().left - let pos = (ev.clientX - leftPosition) / progressWidth +export function convertTimeMMSS(seconds) { + if (!seconds) { + return null; + } + return new Date(seconds * 1000).toISOString().substring(14, 19); +} + +export function calculateLineHeadPosition(ev, element) { + const progressWidth = element.getBoundingClientRect().width; + const leftPosition = ev.target.getBoundingClientRect().left; + let pos = (ev.clientX - leftPosition) / progressWidth; try { if (!ev.target.className.match(/^ar\-line\-control/)) { - return + return; } } catch (err) { - return + return; } - pos = pos < 0 ? 0 : pos - pos = pos > 1 ? 1 : pos - - return pos -} + pos = pos < 0 ? 0 : pos; + pos = pos > 1 ? 1 : pos; -export function convertTimeMMSS (seconds) { - return new Date(seconds * 1000).toISOString().substr(14, 5) + return pos; } diff --git a/src/lib/wav-encoder.js b/src/lib/wav-encoder.js deleted file mode 100644 index f91fd4f..0000000 --- a/src/lib/wav-encoder.js +++ /dev/null @@ -1,65 +0,0 @@ -export default class { - constructor (options) { - this.bufferSize = options.bufferSize || 4096 - this.sampleRate = options.sampleRate - this.samples = options.samples - } - - finish () { - this._joinSamples() - - let buffer = new ArrayBuffer(44 + this.samples.length * 2) - let view = new DataView(buffer) - - this._writeString(view, 0, 'RIFF') // RIFF identifier - view.setUint32(4, 36 + this.samples.length * 2, true) // RIFF chunk length - this._writeString(view, 8, 'WAVE') // RIFF type - this._writeString(view, 12, 'fmt ') // format chunk identifier - view.setUint32(16, 16, true) // format chunk length - view.setUint16(20, 1, true) // sample format (raw) - view.setUint16(22, 1, true) // channel count - view.setUint32(24, this.sampleRate, true) // sample rate - view.setUint32(28, this.sampleRate * 4, true) // byte rate (sample rate * block align) - view.setUint16(32, 4, true) // block align (channel count * bytes per sample) - view.setUint16(34, 16, true) // bits per sample - this._writeString(view, 36, 'data') // data chunk identifier - view.setUint32(40, this.samples.length * 2, true) // data chunk length - - this._floatTo16BitPCM(view, 44, this.samples) - - const blob = new Blob([view], {type: 'audio/wav'}) - - return { - id : Date.now(), - blob : blob, - url : URL.createObjectURL(blob) - } - } - - _floatTo16BitPCM (output, offset, input) { - for (let i = 0; i < input.length; i++, offset += 2) { - let s = Math.max(-1, Math.min(1, input[i])) - output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true) - } - } - - _joinSamples () { - let recordLength = this.samples.length * this.bufferSize - let joinedSamples = new Float64Array(recordLength) - let offset = 0 - - for (let i = 0; i < this.samples.length; i++) { - let sample = this.samples[i] - joinedSamples.set(sample, offset) - offset += sample.length - } - - this.samples = joinedSamples - } - - _writeString (view, offset, string) { - for (let i = 0; i < string.length; i++) { - view.setUint8(offset + i, string.charCodeAt(i)) - } - } -} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..c6d0f16 --- /dev/null +++ b/src/main.js @@ -0,0 +1,6 @@ +import Vue from "vue"; +import App from "./App.vue"; + +new Vue({ + render: (h) => h(App), +}).$mount("#app"); diff --git a/src/mixins/uploader-props.js b/src/mixins/uploader-props.js deleted file mode 100644 index 9d411bc..0000000 --- a/src/mixins/uploader-props.js +++ /dev/null @@ -1,8 +0,0 @@ -export default { - props: { - filename : { type: String, default: 'record' }, - format : { type: String, default: 'mp3' }, - headers : { type: Object, default: () => ({}) }, - uploadUrl : { type: String } - } -} diff --git a/src/moduleIndex.js b/src/moduleIndex.js new file mode 100644 index 0000000..84affea --- /dev/null +++ b/src/moduleIndex.js @@ -0,0 +1,4 @@ +import RecorderWidget from "./components/RecorderWidget.vue"; +import PlayerWidget from "./components/PlayerWidget.vue"; + +export { RecorderWidget, PlayerWidget }; diff --git a/src/scss/icons.scss b/src/scss/icons.scss deleted file mode 100644 index b90a1bf..0000000 --- a/src/scss/icons.scss +++ /dev/null @@ -1,78 +0,0 @@ -.ar-icon { - fill: #747474; - border-radius: 50%; - border: 1px solid #05CBCD; - background-color: #FFFFFF; - padding: 5px; - cursor: pointer; - transition: .2s; - - &:hover { - fill: #505050; - } - - &--no-border { - border: 0; - border-radius: 0; - padding: 0; - } - - &--rec { - fill: white; - background-color: #FF6B64; - border-color: transparent; - } - - &--pulse { - animation: ripple .5s linear infinite; - @keyframes ripple { - 0% { - box-shadow: - 0 0 0 0 rgba(red, 0.1), - 0 0 0 1px rgba(red, 0.1), - 0 0 0 5px rgba(red, 0.1); - } - 100% { - box-shadow: - 0 0 0 0 rgba(red, 0.1), - 0 0 0 10px rgba(red, 0.1), - 0 0 0 20px rgba(red, 0); - } - } - } - - &__xs { - width: 18px; - height: 18px; - line-height: 18px; - } - - &__sm { - width: 30px; - height: 30px; - line-height: 30px; - } - - &__lg { - width: 45px; - height: 45px; - line-height: 45px; - box-shadow: 0 2px 5px 1px rgba(158,158,158,0.5); - } - - @media (min-device-width: 320px) and (max-device-width: 700px) { - .ar-icon { - &__lg { - width: 35px; - height: 35px; - } - } - audio::-webkit-media-controls-mute-button { - display: none !important; - } - - audio::-webkit-media-controls-volume-slider { - display: none !important; - } - } -} diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..71e1252 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,37 @@ +import path from "path"; +import { defineConfig } from "vite"; +import { createVuePlugin } from "vite-plugin-vue2"; +import envCompatible from "vite-plugin-env-compatible"; +import { viteCommonjs } from "@originjs/vite-plugin-commonjs"; + +// https://vitejs.dev/config/ +export default defineConfig({ + resolve: { + alias: [ + { + find: /^~/, + replacement: "", + }, + { + find: "@", + replacement: path.resolve(__dirname, "src"), + }, + ], + extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"], + }, + plugins: [createVuePlugin(), viteCommonjs(), envCompatible()], + server: { + strictPort: false, + https: false, + }, + build: { + cssCodeSplit: false, + emptyOutDir: true, + lib: { + entry: path.resolve(__dirname, "src/moduleIndex.js"), + name: "vuejs2-audio-recorder", + fileName: "vuejs2-audio-recorder", + formats: ["es", "cjs", "umd"], + }, + }, +}); diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 3a8540d..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,70 +0,0 @@ -const webpack = require('webpack') -const merge = require('webpack-merge') -const path = require('path') - -module.exports = (env, args) => { - let conf = `./webpack.${env.NODE_ENV === 'production' ? 'prod' : 'dev'}.js` - - return merge(require(conf), { - module: { - rules: [ - { - test: /\.scss$/, - use: [ - 'vue-style-loader', - 'css-loader', - 'sass-loader' - ], - }, - { - test: /\.vue$/, - loader: 'vue-loader', - options: { - loaders: { - 'scss': [ - 'vue-style-loader', - 'css-loader', - 'sass-loader' - ] - } - } - }, - { - test: /\.js$/, - loader: 'babel-loader', - exclude: /node_modules/ - }, - { - test: /\.(png|jpg|gif|svg)$/, - loader: 'file-loader', - options: { - name: '[name].[ext]?[hash]' - } - } - ] - }, - resolve: { - alias: { - 'vue$': 'vue/dist/vue.esm.js', - '@': path.resolve(__dirname, 'src') - }, - extensions: ['*', '.js', '.vue', '.json'] - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: `"${process.env.NODE_ENV}"` - }, - VERSION: JSON.stringify(require("./package.json").version) - }), - ], - devServer: { - historyApiFallback: true, - noInfo: true, - overlay: true - }, - performance: { - hints: false - } - }) -} diff --git a/webpack.dev.js b/webpack.dev.js deleted file mode 100644 index cab5be9..0000000 --- a/webpack.dev.js +++ /dev/null @@ -1,16 +0,0 @@ -const path = require('path') -const HtmlWebpackPlugin = require('html-webpack-plugin') - -module.exports = { - entry: './demo/index.js', - output: { - path: path.resolve(__dirname, './demo') - }, - plugins: [ - new HtmlWebpackPlugin({ - filename: 'index.html', - template: './demo/index.html' - }) - ] -} - diff --git a/webpack.prod.js b/webpack.prod.js deleted file mode 100644 index 55c806a..0000000 --- a/webpack.prod.js +++ /dev/null @@ -1,37 +0,0 @@ -const path = require('path') -const webpack = require('webpack') -const UglifyJsPlugin = require('uglifyjs-webpack-plugin') - -module.exports = { - devtool: '#source-map', - entry: { - main: './src/index.js' - }, - output: { - path: path.resolve(__dirname, 'dist'), - filename: 'vue-audio-recorder.min.js', - library: 'VueAudioRecorder', - libraryTarget: 'umd', - libraryExport: 'default', - umdNamedDefine: true - }, - optimization: { - minimizer: [ - new UglifyJsPlugin({ - cache: true, - parallel: true, - sourceMap: true - }) - ] - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"production"' - } - }), - new webpack.LoaderOptionsPlugin({ - minimize: false - }) - ] -} From 6a67822f655890ac1720c8b4f527a4c2b53c730c Mon Sep 17 00:00:00 2001 From: rhosseinr Date: Thu, 6 Apr 2023 04:02:13 +0430 Subject: [PATCH 02/21] update core-js update readme --- README.md | 109 +++++++++++++++++++++++++-------------------------- package.json | 4 +- 2 files changed, 56 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index b580691..afd7909 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,16 @@ # vue-audio-recorder -> New version of audio recorder for Vue.js. It allows to record, play, download and store records on a server. It is based on vue-audio-recorder which is not longer being supported by the original author (grishkovelli). +> New version of audio recorder for Vue.js with vite. +> It allows to record, play, download and store records on a server. It is based on vue-audio-recorder which is not longer being supported by the original author (grishkovelli). #### [Live demo](https://jsfiddle.net/grishkovelli/rb1anxyj/) #### Default mode -![](https://raw.githubusercontent.com/jonalxh/vue-audio-recorder/master/screenshot.png) +![](https://raw.githubusercontent.com/jonalxh/vue-audio-recorder/master/screenshot.png) #### Minimal mode + ![](https://raw.githubusercontent.com/jonalxh/vue-audio-recorder/master/minimal.png) ### Features @@ -23,6 +25,7 @@ ### Tested in (desktop) +- Edge - Chrome - Firefox - Safari @@ -30,78 +33,72 @@ ## Installation ``` -npm i vue2-audio-recorder --save +npm i vuejs2-audio-recorder --save ``` ## AudioRecorder props -| Prop | Type | Description | -| --------------------- | -------- | ------------------------------------------------------------------------ | -| attempts | Number | Number of recording attempts | -| headers | Object | HTTP headers | -| time | Number | Time limit for the record (minutes) | -| bit-rate | Number | Default: 128 (only for MP3) | -| sample-rate | Number | Default: 44100 | -| filename | String | Download/Upload filename | -| format | String | WAV/MP3. Default: mp3 | -| upload-url | String | URL for uploading | -| show-download-button | Boolean | If it is true show a download button. Default: true | -| show-upload-button | Boolean | If it is true show an upload button. Default: true | -| before-upload | Function | Callback fires before uploading | -| successful-upload | Function | Callback fires after successful uploading | -| failed-upload | Function | Callback fires after failure uploading | -| mic-failed | Function | Callback fires if your microphone doesn't work | -| before-recording | Function | Callback fires after click the record button | -| pause-recording | Function | Callback fires after pause recording | -| after-recording | Function | Callback fires after click the stop button or exceeding the time limit | -| select-record | Function | Callback fires after choise a record. Returns the record | -| mode | String | **[New]** A minimal interface to record just one audio and play it. Options: default/minimal. Default: default | -| countdown | Boolean | **[New]** Will show the time remaining instead of current recorded time. Options: true/false. Default: false | -| countdownTitle | String | **[New]** Title over time remaining when countdown is set to true. Default: "Time remaining" | +| Prop | Type | Description | +| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------- | +| attempts | Number | Number of recording attempts | +| headers | Object | HTTP headers | +| time | Number | Time limit for the record (minutes) | +| bit-rate | Number | Default: 128 (only for MP3) | +| sample-rate | Number | Default: 44100 | +| filename | String | Download/Upload filename | +| format | String | WAV/MP3. Default: mp3 | +| upload-url | String | URL for uploading | +| show-download-button | Boolean | If it is true show a download button. Default: true | +| show-upload-button | Boolean | If it is true show an upload button. Default: true | +| before-upload | Function | Callback fires before uploading | +| successful-upload | Function | Callback fires after successful uploading | +| failed-upload | Function | Callback fires after failure uploading | +| mic-failed | Function | Callback fires if your microphone doesn't work | +| before-recording | Function | Callback fires after click the record button | +| pause-recording | Function | Callback fires after pause recording | +| after-recording | Function | Callback fires after click the stop button or exceeding the time limit | +| select-record | Function | Callback fires after choise a record. Returns the record | +| mode | String | **[New]** A minimal interface to record just one audio and play it. Options: default/minimal. Default: default | +| countdown | Boolean | **[New]** Will show the time remaining instead of current recorded time. Options: true/false. Default: false | +| countdownTitle | String | **[New]** Title over time remaining when countdown is set to true. Default: "Time remaining" | ## AudioPlayer props -| Prop | Type | Description | -| --------------------- | -------- | --------------------------------------------------------------- | -| src | String | Specifies the URL of the audio file | -## Usage - -```js - import AudioRecorder from 'vue-audio-recorder' +| Prop | Type | Description | +| ---- | ------ | ----------------------------------- | +| src | String | Specifies the URL of the audio file | - Vue.use(AudioRecorder) -``` +## Usage ```js - methods: { - callback (data) { - console.debug(data) - } - } +import RecorderWidget from "vuejs2-audio-recorder"; +import PlayerWidget from "vuejs2-audio-recorder"; ``` ```html - + ``` ```html - + ``` ## Build Setup -``` bash +```bash # install dependencies npm install @@ -118,15 +115,17 @@ npm run build - Responsive design ## PUBLISH TO NPM + ``` npm publish --access public ``` + ## Authors [Gennady Grishkovtsov](https://www.linkedin.com/in/grishkovtsov/) - Developer - [Olga Zimina](https://www.behance.net/zimin4ik) - UIX Designer ## Contributors [Jonathan Arias](https://github.com/jonalxh) - Developer +[Rhosseinr](https://github.com/rhosseinr) - Developer diff --git a/package.json b/package.json index d45cb09..579fe1e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vuejs2-audio-recorder", "description": "New version of audio recorder for Vue.js 2 with vite", - "version": "1.0.0", + "version": "1.0.1", "author": "Hossein Rahimi", "license": "MIT", "scripts": { @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "core-js": "3.19.1" + "core-js": "3.30.0" }, "peerDependencies": { "vue": "2.7.14" From d6a9e306de831542e133756792fd46943fd15c6b Mon Sep 17 00:00:00 2001 From: rhosseinr Date: Thu, 6 Apr 2023 04:03:34 +0430 Subject: [PATCH 03/21] update package lock --- package-lock.json | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 782f635..1731b0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "vuejs2-audio-recorder", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vuejs2-audio-recorder", - "version": "1.0.0", + "version": "1.0.1", "license": "MIT", "dependencies": { - "core-js": "3.19.1" + "core-js": "3.30.0" }, "devDependencies": { "@originjs/vite-plugin-commonjs": "^1.0.1", @@ -1240,10 +1240,9 @@ "dev": true }, "node_modules/core-js": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.1.tgz", - "integrity": "sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "hasInstallScript": true, "funding": { "type": "opencollective", From debfd2b9b49751bff163947c1a894935b12ce0a3 Mon Sep 17 00:00:00 2001 From: rhosseinr Date: Thu, 6 Apr 2023 04:07:23 +0430 Subject: [PATCH 04/21] new build --- dist/rhr-vue2-audio-recorder.umd.js | 1 - ...r-vue2-audio-recorder.cjs.js => vuejs2-audio-recorder.cjs.js} | 0 ...rhr-vue2-audio-recorder.es.js => vuejs2-audio-recorder.es.js} | 0 dist/vuejs2-audio-recorder.umd.js | 1 + 4 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 dist/rhr-vue2-audio-recorder.umd.js rename dist/{rhr-vue2-audio-recorder.cjs.js => vuejs2-audio-recorder.cjs.js} (100%) rename dist/{rhr-vue2-audio-recorder.es.js => vuejs2-audio-recorder.es.js} (100%) create mode 100644 dist/vuejs2-audio-recorder.umd.js diff --git a/dist/rhr-vue2-audio-recorder.umd.js b/dist/rhr-vue2-audio-recorder.umd.js deleted file mode 100644 index 933caaf..0000000 --- a/dist/rhr-vue2-audio-recorder.umd.js +++ /dev/null @@ -1 +0,0 @@ -(function(u,h){typeof exports=="object"&&typeof module!="undefined"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(u=typeof globalThis!="undefined"?globalThis:u||self,h(u["rhr-vue2-audio-recorder"]={}))})(this,function(u){"use strict";class h{constructor(t){this.backendEndpoint=t}async postBackend(t){try{return!!(await fetch(this.backendEndpoint,{method:"POST",body:t})).ok}catch{return!1}}}function l(e){return e?new Date(e*1e3).toISOString().substring(14,19):null}class E{constructor(t){this.bufferSize=t.bufferSize||4096,this.sampleRate=t.sampleRate,this.samples=t.samples}finish(){this._joinSamples();const t=new ArrayBuffer(44+this.samples.length*2),s=new DataView(t);this._writeString(s,0,"RIFF"),s.setUint32(4,36+this.samples.length*2,!0),this._writeString(s,8,"WAVE"),this._writeString(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,this.sampleRate,!0),s.setUint32(28,this.sampleRate*4,!0),s.setUint16(32,4,!0),s.setUint16(34,16,!0),this._writeString(s,36,"data"),s.setUint32(40,this.samples.length*2,!0),this._floatTo16BitPCM(s,44,this.samples);const r=new Blob([s],{type:"audio/wav"});return{id:Date.now(),blob:r,url:URL.createObjectURL(r)}}_floatTo16BitPCM(t,s,r){for(let i=0;ir.stop()),this.input.disconnect(),this.processor.disconnect(),this.context.close();let t=null;t=new E({bufferSize:this.bufferSize,sampleRate:this.encoderOptions.sampleRate,samples:this.wavSamples}).finish(),this.wavSamples=[],t.duration=l(this.duration),this.records.push(t),this._duration=0,this.duration=0,this.isPause=!1,this.isRecording=!1,this.afterRecording&&this.afterRecording(t)}pause(){this.stream.getTracks().forEach(t=>t.stop()),this.input.disconnect(),this.processor.disconnect(),this._duration=this.duration,this.isPause=!0,this.pauseRecording&&this.pauseRecording("pause recording")}recordList(){return this.records}lastRecord(){return this.records.slice(-1).pop()}_micCaptured(t){this.context=new(window.AudioContext||window.webkitAudioContext),this.duration=this._duration,this.input=this.context.createMediaStreamSource(t),this.processor=this.context.createScriptProcessor(this.bufferSize,1,1),this.stream=t,this.processor.onaudioprocess=s=>{const r=s.inputBuffer.getChannelData(0);let i=0;this.wavSamples.push(new Float32Array(r));for(let a=0;a',mic:'',pause:'',play:'',save:'',stop:'',volume:'',volumeMute:''}}},methods:{onClick(){this.$emit("click")}}},m={};var A=d(U,B,P,!1,T,null,null,null);function T(e){for(let t in m)this[t]=m[t]}var p=function(){return A.exports}(),L=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("button",{staticClass:"submit-button shadow-md",style:{"background-color":e.color},on:{click:e.clickButton}},[e._v(" Submit ")])},k=[],ge="";const F={emits:["submit"],props:{color:{type:String}},methods:{clickButton(){this.$emit("submit")}}},v={};var V=d(F,L,k,!1,I,null,null,null);function I(e){for(let t in v)this[t]=v[t]}var Z=function(){return V.exports}();function _(e,t){const s=t.getBoundingClientRect().width,r=e.target.getBoundingClientRect().left;let i=(e.clientX-r)/s;try{if(!e.target.className.match(/^ar\-line\-control/))return}catch{return}return i=i<0?0:i,i=i>1?1:i,i}var z=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{ref:e.refId,staticClass:"ar-line-control",on:{mousedown:e.onMouseDown}},[s("div",{staticClass:"ar-line-control__head",style:e.calculateSize})])},N=[],fe="";const O={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},computed:{calculateSize(){const e=this.percentage<1?this.percentage*100:this.percentage;return`${this.rowDirection?"width":"height"}: ${e}%`}},methods:{onMouseDown(e){const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp(e){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)},onMouseMove(e){const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)}}},g={};var W=d(O,z,N,!1,j,null,null,null);function j(e){for(let t in g)this[t]=g[t]}var f=function(){return W.exports}(),D=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"ar-volume"},[s("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),s("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:e.volume},on:{"change-linehead":e.onChangeLinehead}})],1)},H=[],ye="";const G={data(){return{volume:.8}},components:{IconButton:p,LineControl:f},methods:{onChangeLinehead(e){this.$emit("change-volume",e),this.volume=e}}},y={};var q=d(G,D,H,!1,X,null,null,null);function X(e){for(let t in y)this[t]=y[t]}var Y=function(){return q.exports}(),J=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:e.custom,expression:"custom"}],staticClass:"ar-player"},[s("div",{staticClass:"ar-player-actions"},[s("icon-button",{staticClass:"ar-icon ar-icon__lg ar-player__play",class:{"ar-player__play--active":e.isPlaying,disabled:e.disablePlayButton},attrs:{id:"play",name:e.playBtnIcon},on:{click:e.playback}})],1),s("div",{staticClass:"ar-player-bar"},[s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.playedTime))]),s("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:e.progress},on:{"change-linehead":e._onUpdateProgress}}),s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.duration))]),s("volume-control",{class:{disabled:e.disablePlayButton},on:{"change-volume":e._onChangeVolume}})],1),s("audio",{attrs:{id:e.playerUniqId,src:e.audioSource,type:"audio/mpeg"}})]),s("div",{directives:[{name:"show",rawName:"v-show",value:!e.custom,expression:"!custom"}]},[s("figure",{staticClass:"recorder-player"},[s("audio",{staticClass:"mx-auto",attrs:{controls:"",src:e.audioSource,type:"audio/mpeg"}},[e._v(" Your browser does not support the "),s("code",[e._v("audio")]),e._v(" element. ")])])])])},K=[],we="";const Q={name:"PlayerWidget",components:{IconButton:p,LineControl:f,VolumeControl:Y},props:{src:{type:String},record:{type:Object},filename:{type:String},custom:{type:Boolean,default:!1}},data(){return{isPlaying:!1,duration:l(0),playedTime:l(0),progress:0}},mounted(){this.player=document.getElementById(this.playerUniqId);debugger;this.player&&(this.player.addEventListener("ended",()=>{this.isPlaying=!1}),this.player.addEventListener("loadeddata",e=>{this._resetProgress(),this.duration=l(this.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate),this.$eventBus.$on("remove-record",()=>{this._resetProgress()}))},computed:{disablePlayButton(){return!!this.src},audioSource(){return!this.src&&this.record?this.record.url:this.src},playBtnIcon(){return this.isPlaying?"pause":"play"},playerUniqId(){return`audio-player${this._uid}`}},methods:{playback(){!this.audioSource||(this.isPlaying?this.player.pause():setTimeout(()=>{this.player.play()},0),this.isPlaying=!this.isPlaying)},_resetProgress(){this.isPlaying&&this.player.pause(),this.duration=l(0),this.playedTime=l(0),this.progress=0,this.isPlaying=!1},_onTimeUpdate(){this.playedTime=l(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100},_onUpdateProgress(e){e&&(this.player.currentTime=e*this.player.duration)},_onChangeVolume(e){e&&(this.player.volume=e)}}},w={};var ee=d(Q,J,K,!1,te,null,null,null);function te(e){for(let t in w)this[t]=w[t]}var b=function(){return ee.exports}(),se=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"recorder-container"},[s("div",{staticClass:"recorder-action"},[s("icon-button",{attrs:{name:e.recording?"stop":"mic"},on:{click:function(r){return e.toggleRecording()}}}),s("span",{staticClass:"recorder-timer"},[e._v(e._s(e.recordedTime))])],1),s("div",{staticClass:"recorder-message"},[e.instructionMessage?s("span",{staticClass:"color-primary"},[e._v(" "+e._s(e.instructionMessage)+" ")]):e._e(),e.successMessage?s("span",{staticClass:"color-success"},[e._v(" "+e._s(e.successMessage)+" ")]):e._e(),e.errorMessage?s("span",{staticClass:"color-danger"},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()]),e.compact?e._e():s("player-widget",{attrs:{custom:e.customPlayer,src:e.recordedAudio,record:e.recordedBlob}}),s("submit-button",{attrs:{color:e.buttonColor},on:{submit:e.sendData}})],1)},ie=[],be="";const S="Click icon to start recording message.",re="Click icon again to stop recording.",ae="Failed to use microphone. Please refresh and try again and permit the use of a microphone.",ne="Successfully recorded message!",oe="Successfully submitted audio message! Thank you!",le="Error submitting audio message! Please try again later.",ce={name:"RecorderWidget",components:{IconButton:p,SubmitButton:Z,PlayerWidget:b},props:{time:{type:Number,default:1},bitRate:{type:Number,default:128},sampleRate:{type:Number,default:44100},backendEndpoint:{type:String},buttonColor:{type:String,default:"green"},compact:{type:Boolean,default:!1},customPlayer:{type:Boolean,default:!1},afterRecording:{type:Function},successfulUpload:{type:Function},failedUpload:{type:Function},customUpload:{type:Function,default:null}},data(){return{recording:!1,recordedAudio:null,recordedBlob:null,recorder:null,successMessage:null,errorMessage:null,instructionMessage:S}},computed:{recordedTime(){var e,t;return this.time&&((e=this.recorder)==null?void 0:e.duration)>=this.time*60&&this.toggleRecording(),l((t=this.recorder)==null?void 0:t.duration)}},beforeUnmount(){this.recording&&this.stopRecorder()},methods:{toggleRecording(){this.recording=!this.recording,this.recording?this.initRecorder():this.stopRecording()},initRecorder(){this.recorder=new x({micFailed:this.micFailed,bitRate:this.bitRate,sampleRate:this.sampleRate}),this.recorder.start(),this.successMessage=null,this.errorMessage=null,this.instructionMessage=re,this.service=new h(this.backendEndpoint)},stopRecording(){this.recorder.stop();const e=this.recorder.recordList();this.recordedAudio=e[0].url,this.recordedBlob=e[0].blob,this.recordedAudio&&(this.successMessage=ne,this.instructionMessage=null),this.afterRecording&&this.afterRecording()},async sendData(){if(!this.recordedBlob)return;let e=null;this.customUpload?e=await this.customUpload(this.recordedBlob):e=await this.service.postBackend(this.recordedBlob),e?(this.errorMessage=null,this.successMessage=oe,this.successfulUpload&&this.successfulUpload()):(this.successMessage=null,this.errorMessage=le,this.failedUpload&&this.failedUpload())},micFailed(){this.recording=!1,this.instructionMessage=S,this.errorMessage=ae}}},M={};var ue=d(ce,se,ie,!1,de,null,null,null);function de(e){for(let t in M)this[t]=M[t]}var he=function(){return ue.exports}();u.PlayerWidget=b,u.RecorderWidget=he,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); diff --git a/dist/rhr-vue2-audio-recorder.cjs.js b/dist/vuejs2-audio-recorder.cjs.js similarity index 100% rename from dist/rhr-vue2-audio-recorder.cjs.js rename to dist/vuejs2-audio-recorder.cjs.js diff --git a/dist/rhr-vue2-audio-recorder.es.js b/dist/vuejs2-audio-recorder.es.js similarity index 100% rename from dist/rhr-vue2-audio-recorder.es.js rename to dist/vuejs2-audio-recorder.es.js diff --git a/dist/vuejs2-audio-recorder.umd.js b/dist/vuejs2-audio-recorder.umd.js new file mode 100644 index 0000000..c2eedec --- /dev/null +++ b/dist/vuejs2-audio-recorder.umd.js @@ -0,0 +1 @@ +(function(u,h){typeof exports=="object"&&typeof module!="undefined"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(u=typeof globalThis!="undefined"?globalThis:u||self,h(u["vuejs2-audio-recorder"]={}))})(this,function(u){"use strict";class h{constructor(t){this.backendEndpoint=t}async postBackend(t){try{return!!(await fetch(this.backendEndpoint,{method:"POST",body:t})).ok}catch{return!1}}}function l(e){return e?new Date(e*1e3).toISOString().substring(14,19):null}class E{constructor(t){this.bufferSize=t.bufferSize||4096,this.sampleRate=t.sampleRate,this.samples=t.samples}finish(){this._joinSamples();const t=new ArrayBuffer(44+this.samples.length*2),s=new DataView(t);this._writeString(s,0,"RIFF"),s.setUint32(4,36+this.samples.length*2,!0),this._writeString(s,8,"WAVE"),this._writeString(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,this.sampleRate,!0),s.setUint32(28,this.sampleRate*4,!0),s.setUint16(32,4,!0),s.setUint16(34,16,!0),this._writeString(s,36,"data"),s.setUint32(40,this.samples.length*2,!0),this._floatTo16BitPCM(s,44,this.samples);const r=new Blob([s],{type:"audio/wav"});return{id:Date.now(),blob:r,url:URL.createObjectURL(r)}}_floatTo16BitPCM(t,s,r){for(let i=0;ir.stop()),this.input.disconnect(),this.processor.disconnect(),this.context.close();let t=null;t=new E({bufferSize:this.bufferSize,sampleRate:this.encoderOptions.sampleRate,samples:this.wavSamples}).finish(),this.wavSamples=[],t.duration=l(this.duration),this.records.push(t),this._duration=0,this.duration=0,this.isPause=!1,this.isRecording=!1,this.afterRecording&&this.afterRecording(t)}pause(){this.stream.getTracks().forEach(t=>t.stop()),this.input.disconnect(),this.processor.disconnect(),this._duration=this.duration,this.isPause=!0,this.pauseRecording&&this.pauseRecording("pause recording")}recordList(){return this.records}lastRecord(){return this.records.slice(-1).pop()}_micCaptured(t){this.context=new(window.AudioContext||window.webkitAudioContext),this.duration=this._duration,this.input=this.context.createMediaStreamSource(t),this.processor=this.context.createScriptProcessor(this.bufferSize,1,1),this.stream=t,this.processor.onaudioprocess=s=>{const r=s.inputBuffer.getChannelData(0);let i=0;this.wavSamples.push(new Float32Array(r));for(let a=0;a',mic:'',pause:'',play:'',save:'',stop:'',volume:'',volumeMute:''}}},methods:{onClick(){this.$emit("click")}}},m={};var A=d(U,B,P,!1,T,null,null,null);function T(e){for(let t in m)this[t]=m[t]}var p=function(){return A.exports}(),L=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("button",{staticClass:"submit-button shadow-md",style:{"background-color":e.color},on:{click:e.clickButton}},[e._v(" Submit ")])},k=[],ge="";const F={emits:["submit"],props:{color:{type:String}},methods:{clickButton(){this.$emit("submit")}}},v={};var V=d(F,L,k,!1,I,null,null,null);function I(e){for(let t in v)this[t]=v[t]}var Z=function(){return V.exports}();function _(e,t){const s=t.getBoundingClientRect().width,r=e.target.getBoundingClientRect().left;let i=(e.clientX-r)/s;try{if(!e.target.className.match(/^ar\-line\-control/))return}catch{return}return i=i<0?0:i,i=i>1?1:i,i}var z=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{ref:e.refId,staticClass:"ar-line-control",on:{mousedown:e.onMouseDown}},[s("div",{staticClass:"ar-line-control__head",style:e.calculateSize})])},N=[],fe="";const O={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},computed:{calculateSize(){const e=this.percentage<1?this.percentage*100:this.percentage;return`${this.rowDirection?"width":"height"}: ${e}%`}},methods:{onMouseDown(e){const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp(e){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)},onMouseMove(e){const t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)}}},g={};var j=d(O,z,N,!1,W,null,null,null);function W(e){for(let t in g)this[t]=g[t]}var f=function(){return j.exports}(),D=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"ar-volume"},[s("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),s("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:e.volume},on:{"change-linehead":e.onChangeLinehead}})],1)},H=[],ye="";const G={data(){return{volume:.8}},components:{IconButton:p,LineControl:f},methods:{onChangeLinehead(e){this.$emit("change-volume",e),this.volume=e}}},y={};var q=d(G,D,H,!1,X,null,null,null);function X(e){for(let t in y)this[t]=y[t]}var Y=function(){return q.exports}(),J=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:e.custom,expression:"custom"}],staticClass:"ar-player"},[s("div",{staticClass:"ar-player-actions"},[s("icon-button",{staticClass:"ar-icon ar-icon__lg ar-player__play",class:{"ar-player__play--active":e.isPlaying,disabled:e.disablePlayButton},attrs:{id:"play",name:e.playBtnIcon},on:{click:e.playback}})],1),s("div",{staticClass:"ar-player-bar"},[s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.playedTime))]),s("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:e.progress},on:{"change-linehead":e._onUpdateProgress}}),s("div",{staticClass:"ar-player__time"},[e._v(e._s(e.duration))]),s("volume-control",{class:{disabled:e.disablePlayButton},on:{"change-volume":e._onChangeVolume}})],1),s("audio",{attrs:{id:e.playerUniqId,src:e.audioSource,type:"audio/mpeg"}})]),s("div",{directives:[{name:"show",rawName:"v-show",value:!e.custom,expression:"!custom"}]},[s("figure",{staticClass:"recorder-player"},[s("audio",{staticClass:"mx-auto",attrs:{controls:"",src:e.audioSource,type:"audio/mpeg"}},[e._v(" Your browser does not support the "),s("code",[e._v("audio")]),e._v(" element. ")])])])])},K=[],we="";const Q={name:"PlayerWidget",components:{IconButton:p,LineControl:f,VolumeControl:Y},props:{src:{type:String},record:{type:Object},filename:{type:String},custom:{type:Boolean,default:!1}},data(){return{isPlaying:!1,duration:l(0),playedTime:l(0),progress:0}},mounted(){this.player=document.getElementById(this.playerUniqId);debugger;this.player&&(this.player.addEventListener("ended",()=>{this.isPlaying=!1}),this.player.addEventListener("loadeddata",e=>{this._resetProgress(),this.duration=l(this.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate),this.$eventBus.$on("remove-record",()=>{this._resetProgress()}))},computed:{disablePlayButton(){return!!this.src},audioSource(){return!this.src&&this.record?this.record.url:this.src},playBtnIcon(){return this.isPlaying?"pause":"play"},playerUniqId(){return`audio-player${this._uid}`}},methods:{playback(){!this.audioSource||(this.isPlaying?this.player.pause():setTimeout(()=>{this.player.play()},0),this.isPlaying=!this.isPlaying)},_resetProgress(){this.isPlaying&&this.player.pause(),this.duration=l(0),this.playedTime=l(0),this.progress=0,this.isPlaying=!1},_onTimeUpdate(){this.playedTime=l(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100},_onUpdateProgress(e){e&&(this.player.currentTime=e*this.player.duration)},_onChangeVolume(e){e&&(this.player.volume=e)}}},w={};var ee=d(Q,J,K,!1,te,null,null,null);function te(e){for(let t in w)this[t]=w[t]}var b=function(){return ee.exports}(),se=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"recorder-container"},[s("div",{staticClass:"recorder-action"},[s("icon-button",{attrs:{name:e.recording?"stop":"mic"},on:{click:function(r){return e.toggleRecording()}}}),s("span",{staticClass:"recorder-timer"},[e._v(e._s(e.recordedTime))])],1),s("div",{staticClass:"recorder-message"},[e.instructionMessage?s("span",{staticClass:"color-primary"},[e._v(" "+e._s(e.instructionMessage)+" ")]):e._e(),e.successMessage?s("span",{staticClass:"color-success"},[e._v(" "+e._s(e.successMessage)+" ")]):e._e(),e.errorMessage?s("span",{staticClass:"color-danger"},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()]),e.compact?e._e():s("player-widget",{attrs:{custom:e.customPlayer,src:e.recordedAudio,record:e.recordedBlob}}),s("submit-button",{attrs:{color:e.buttonColor},on:{submit:e.sendData}})],1)},ie=[],be="";const S="Click icon to start recording message.",re="Click icon again to stop recording.",ae="Failed to use microphone. Please refresh and try again and permit the use of a microphone.",ne="Successfully recorded message!",oe="Successfully submitted audio message! Thank you!",le="Error submitting audio message! Please try again later.",ce={name:"RecorderWidget",components:{IconButton:p,SubmitButton:Z,PlayerWidget:b},props:{time:{type:Number,default:1},bitRate:{type:Number,default:128},sampleRate:{type:Number,default:44100},backendEndpoint:{type:String},buttonColor:{type:String,default:"green"},compact:{type:Boolean,default:!1},customPlayer:{type:Boolean,default:!1},afterRecording:{type:Function},successfulUpload:{type:Function},failedUpload:{type:Function},customUpload:{type:Function,default:null}},data(){return{recording:!1,recordedAudio:null,recordedBlob:null,recorder:null,successMessage:null,errorMessage:null,instructionMessage:S}},computed:{recordedTime(){var e,t;return this.time&&((e=this.recorder)==null?void 0:e.duration)>=this.time*60&&this.toggleRecording(),l((t=this.recorder)==null?void 0:t.duration)}},beforeUnmount(){this.recording&&this.stopRecorder()},methods:{toggleRecording(){this.recording=!this.recording,this.recording?this.initRecorder():this.stopRecording()},initRecorder(){this.recorder=new x({micFailed:this.micFailed,bitRate:this.bitRate,sampleRate:this.sampleRate}),this.recorder.start(),this.successMessage=null,this.errorMessage=null,this.instructionMessage=re,this.service=new h(this.backendEndpoint)},stopRecording(){this.recorder.stop();const e=this.recorder.recordList();this.recordedAudio=e[0].url,this.recordedBlob=e[0].blob,this.recordedAudio&&(this.successMessage=ne,this.instructionMessage=null),this.afterRecording&&this.afterRecording()},async sendData(){if(!this.recordedBlob)return;let e=null;this.customUpload?e=await this.customUpload(this.recordedBlob):e=await this.service.postBackend(this.recordedBlob),e?(this.errorMessage=null,this.successMessage=oe,this.successfulUpload&&this.successfulUpload()):(this.successMessage=null,this.errorMessage=le,this.failedUpload&&this.failedUpload())},micFailed(){this.recording=!1,this.instructionMessage=S,this.errorMessage=ae}}},M={};var ue=d(ce,se,ie,!1,de,null,null,null);function de(e){for(let t in M)this[t]=M[t]}var he=function(){return ue.exports}();u.PlayerWidget=b,u.RecorderWidget=he,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); From 2f560836545866ef540e27c12f0147a8837eeace Mon Sep 17 00:00:00 2001 From: rhosseinr Date: Thu, 6 Apr 2023 04:07:55 +0430 Subject: [PATCH 05/21] update version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 579fe1e..4c912c7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vuejs2-audio-recorder", "description": "New version of audio recorder for Vue.js 2 with vite", - "version": "1.0.1", + "version": "1.0.2", "author": "Hossein Rahimi", "license": "MIT", "scripts": { From 46fdfd49d5552cc990fcf790bba78f797820a372 Mon Sep 17 00:00:00 2001 From: rhosseinr Date: Thu, 6 Apr 2023 04:20:14 +0430 Subject: [PATCH 06/21] fix npm publish --- package.json | 13 ++++++++++++- src/{moduleIndex.js => index.js} | 0 vite.config.js | 13 +++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) rename src/{moduleIndex.js => index.js} (100%) diff --git a/package.json b/package.json index 4c912c7..b534c7c 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,20 @@ { "name": "vuejs2-audio-recorder", "description": "New version of audio recorder for Vue.js 2 with vite", - "version": "1.0.2", + "version": "1.0.3", "author": "Hossein Rahimi", "license": "MIT", + "files": [ + "dist" + ], + "main": "./dist/vuejs2-audio-recorder.umd.js", + "module": "./dist/vuejs2-audio-recorder.es.js", + "exports": { + ".": { + "import": "./dist/vuejs2-audio-recorder.es.js", + "require": "./dist/vuejs2-audio-recorder.umd.js" + } + }, "scripts": { "dev": "vite --open", "build": "vite build", diff --git a/src/moduleIndex.js b/src/index.js similarity index 100% rename from src/moduleIndex.js rename to src/index.js diff --git a/vite.config.js b/vite.config.js index 71e1252..6a807de 100644 --- a/vite.config.js +++ b/vite.config.js @@ -4,7 +4,6 @@ import { createVuePlugin } from "vite-plugin-vue2"; import envCompatible from "vite-plugin-env-compatible"; import { viteCommonjs } from "@originjs/vite-plugin-commonjs"; -// https://vitejs.dev/config/ export default defineConfig({ resolve: { alias: [ @@ -28,10 +27,20 @@ export default defineConfig({ cssCodeSplit: false, emptyOutDir: true, lib: { - entry: path.resolve(__dirname, "src/moduleIndex.js"), + entry: path.resolve(__dirname, "src/index.js"), name: "vuejs2-audio-recorder", fileName: "vuejs2-audio-recorder", formats: ["es", "cjs", "umd"], }, + rollupOptions: { + external: ["vue"], + output: { + // Provide global variables to use in the UMD build + // Add external deps here + globals: { + vue: "Vue", + }, + }, + }, }, }); From 97fa7068907db7159d0c37cce273c29b6ce26c3d Mon Sep 17 00:00:00 2001 From: rhosseinr Date: Thu, 6 Apr 2023 12:12:14 +0430 Subject: [PATCH 07/21] fix player error change style --- README.md | 4 +- minimal.png | Bin 12556 -> 4716 bytes package.json | 2 +- screenshot.png | Bin 45083 -> 8785 bytes src/App.vue | 6 +- src/components/LineControl.vue | 3 +- src/components/PlayerWidget.vue | 132 ++++++++++++++---------------- src/components/RecorderWidget.vue | 2 +- src/components/SubmitButton.vue | 4 +- src/components/VolumeControl.vue | 9 +- 10 files changed, 75 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index afd7909..34653b6 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,11 @@ #### Default mode -![](https://raw.githubusercontent.com/jonalxh/vue-audio-recorder/master/screenshot.png) +![](https://raw.githubusercontent.com/rhosseinr/vue-audio-recorder/master/screenshot.png) #### Minimal mode -![](https://raw.githubusercontent.com/jonalxh/vue-audio-recorder/master/minimal.png) +![](https://raw.githubusercontent.com/rhosseinr/vue-audio-recorder/master/minimal.png) ### Features diff --git a/minimal.png b/minimal.png index 8db0d13be252f06c6caaf9bdce97d614c39cd2ea..46404d294d157a163f586701ee1c3c40b78a3087 100644 GIT binary patch literal 4716 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 literal 12556 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 UfAI(Y-T+cocnK?!d*lB<0OB~c5}s)U)NJ->;$ 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 literal 45083 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%0AGk(6miC&$*meC*3la z=WkjJUu>en6*DzYV2OO*>vSOC54fIo-WL(AsTvqC>=r^fgPInL=xTIPg_{gUgG~5* zZ$5w}OU=~ut{am>1om#VjFN)dEUpIbP}JCaVQ+#2fA27Z1<1=_V%=j%z<72 z(>YxRe6r*uX~QHfBVlF@kyngz7><~)$g;nU>ui@h_?u7flw^^zDL9emOeA=q+jnBTh=x@s6_MqSik{>SmTAD zJLEDuHEGam{7YInCQ3?Zt*xvs6u;Ni%`mjKwebV)mMudMB*IY#EiS*_#M61N&IF>2 zR!b0Pk)s6*_L&G8u`1ove4OeZfXyA;&Uf;}ksZ5gswY=LC4!El#&pHHAWXMZh~>&> zXGY^kow_x-3G&)g@KpcEF3 z6*>9elQ)|zS8gvFru~c~oYT-IWp=*N%rs}EA#A`-@7@PbwjwQVz>iVMkDpqfxS-a2Xq`i?XB?*dj=SJ#Q<8~g7? zBd<5A^qTb($CJ$Ni6>3zG{Q~PCWxTW@kuk74MN5WO=IIQS_dzqy>`aY0h3(HsZ|^3 z-TjtCss#{&U8vnlTskV)i9<9jYMX16C<{2V3x0}*BF>1{X~p#(&-@JU#5j%~JwveS zV(};@qIm<+-;tJUDwz7A_DD{t`wf3#uW8Yb5`NJ^_lt}Xz8>ZjRwV}uXJ>}w_~=7s zjmTj*Y1Y_~mlZjUyXbd2YkW_uOtK?dloL)QAS6tpjDha-xC_x235SD5afK||-=go* znH8bW@A9ksUe=e+1cZ1Af-7_GHC^sDj)bNxbS`ezWBip_6eItou8%4RS65w^RU@T1 zou}7+N(RRCvchD9dVi=^u=ZWQCQWfpnjEDO>ydZaUK{TW>}1HE zqJKMQ5q#)p2TKWKUFeRf*VpI!^=X{�PyB6J+lNAt51q@pU5il@MP@cEyrc!jF(L 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 diff --git a/src/App.vue b/src/App.vue index 442ed29..39f9967 100644 --- a/src/App.vue +++ b/src/App.vue @@ -33,7 +33,7 @@ :failedUpload="failed" :afterRecording="afterRec" :backendEndpoint="backendEndpoint" - buttonColor="rgb(16, 185, 129)" + buttonColor="#0f6cbd" :customUpload="customUp" :customPlayer="customPlayer" /> @@ -46,7 +46,7 @@ :failedUpload="failed" :afterRecording="afterRec" :backendEndpoint="backendEndpoint" - buttonColor="rgb(16, 185, 129)" + buttonColor="#0f6cbd" :customUpload="customUp" compact /> @@ -77,7 +77,7 @@ export default { countdown: false, customPlayer: false, limit: 20, - mp3: "/demo/example.mp3", + mp3: "https://download.samplelib.com/mp3/sample-15s.mp3", showRecorder: true, headers: { "X-Custom-Header": "some data", diff --git a/src/components/LineControl.vue b/src/components/LineControl.vue index fc5fee4..8542d83 100644 --- a/src/components/LineControl.vue +++ b/src/components/LineControl.vue @@ -39,6 +39,7 @@ export default { }, onMouseMove(ev) { + if (ev.buttons == 0) return; const seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]); this.$emit("change-linehead", seekPos); }, @@ -56,7 +57,7 @@ export default { &__head { position: absolute; height: inherit; - background-color: #616161; + background-color: var(--primary-bg, #0f6cbd); border-radius: inherit; } } diff --git a/src/components/PlayerWidget.vue b/src/components/PlayerWidget.vue index 018e826..ce656ff 100644 --- a/src/components/PlayerWidget.vue +++ b/src/components/PlayerWidget.vue @@ -1,44 +1,42 @@ @@ -74,39 +72,39 @@ export default { }, mounted() { - this.player = document.getElementById(this.playerUniqId); - debugger; - if (!!this.player) { + const player = document.getElementById(this.playerUniqId); + + if (player) { + this.player = player; this.player.addEventListener("ended", () => { this.isPlaying = false; }); this.player.addEventListener("loadeddata", (ev) => { this._resetProgress(); - this.duration = convertTimeMMSS(this.player.duration); + this.duration = convertTimeMMSS(player.duration); }); this.player.addEventListener("timeupdate", this._onTimeUpdate); - - this.$eventBus.$on("remove-record", () => { - this._resetProgress(); - }); } }, computed: { disablePlayButton() { - return !!this.src; + return !this.src; }, + audioSource() { if (!this.src && this.record) { return this.record.url; } return this.src; }, + playBtnIcon() { return this.isPlaying ? "pause" : "play"; }, + playerUniqId() { return `audio-player${this._uid}`; }, @@ -128,6 +126,7 @@ export default { this.isPlaying = !this.isPlaying; }, + _resetProgress() { if (this.isPlaying) { this.player.pause(); @@ -138,15 +137,18 @@ export default { this.progress = 0; this.isPlaying = false; }, + _onTimeUpdate() { this.playedTime = convertTimeMMSS(this.player.currentTime); this.progress = (this.player.currentTime / this.player.duration) * 100; }, + _onUpdateProgress(pos) { if (pos) { - this.player.currentTime = pos * this.player.duration; + this.currentTime = pos * this.duration; } }, + _onChangeVolume(val) { if (val) { this.player.volume = val; @@ -157,7 +159,7 @@ export default { diff --git a/src/components/RecorderWidget.vue b/src/components/RecorderWidget.vue index 17604de..c7f5cee 100644 --- a/src/components/RecorderWidget.vue +++ b/src/components/RecorderWidget.vue @@ -61,7 +61,7 @@ export default { bitRate: { type: Number, default: 128 }, sampleRate: { type: Number, default: 44100 }, backendEndpoint: { type: String }, - buttonColor: { type: String, default: "green" }, + buttonColor: { type: String, default: "#0f6cbd" }, compact: { type: Boolean, default: false }, customPlayer: { type: Boolean, default: false }, // callback functions diff --git a/src/components/SubmitButton.vue b/src/components/SubmitButton.vue index d3c7e1a..34f4117 100644 --- a/src/components/SubmitButton.vue +++ b/src/components/SubmitButton.vue @@ -1,6 +1,7 @@ @@ -34,11 +84,8 @@ import Service from "../api/Service"; import Recorder from "../lib/Recorder"; import { convertTimeMMSS } from "../lib/Utils"; import IconButton from "./IconButton.vue"; -import SubmitButton from "./SubmitButton.vue"; import PlayerWidget from "./PlayerWidget.vue"; -const INSTRUCTION_MESSAGE = "Click icon to start recording message."; -const INSTRUCTION_MESSAGE_STOP = "Click icon again to stop recording."; const ERROR_MESSAGE = "Failed to use microphone. Please refresh and try again and permit the use of a microphone."; const SUCCESS_MESSAGE = "Successfully recorded message!"; @@ -52,23 +99,27 @@ export default { components: { IconButton, - SubmitButton, PlayerWidget, }, props: { - time: { type: Number, default: 1 }, + attempts: { type: Number }, + time: { type: Number }, bitRate: { type: Number, default: 128 }, sampleRate: { type: Number, default: 44100 }, + showDownloadButton: { type: Boolean, default: true }, + showUploadButton: { type: Boolean, default: true }, + beforeRecording: { type: Function }, + pauseRecording: { type: Function }, + afterRecording: { type: Function }, + selectRecord: { type: Function }, backendEndpoint: { type: String }, - buttonColor: { type: String, default: "#0f6cbd" }, + filename: { type: String, default: "audio" }, compact: { type: Boolean, default: false }, customPlayer: { type: Boolean, default: false }, - // callback functions - afterRecording: { type: Function }, - successfulUpload: { type: Function }, - failedUpload: { type: Function }, customUpload: { type: Function, default: null }, + countdown: { type: Boolean, default: false }, + countdownTitle: { type: String, default: "Time remaining" }, }, data() { @@ -79,7 +130,9 @@ export default { recorder: null, successMessage: null, errorMessage: null, - instructionMessage: INSTRUCTION_MESSAGE, + + recordList: [], + selected: {}, }; }, @@ -88,13 +141,29 @@ export default { if (this.time && this.recorder?.duration >= this.time * 60) { this.toggleRecording(); } + if (this.countdown) { + return convertTimeMMSS(this.time - this.recorder?.duration); + } + return convertTimeMMSS(this.recorder?.duration); }, + + attemptsLeft() { + return this.attempts - this.recordList.length; + }, + + iconButtonType() { + return this.recording && this.compact + ? "stop" + : this.recording + ? "record" + : "mic"; + }, }, beforeUnmount() { if (this.recording) { - this.stopRecorder(); + this.stopRecording(); } }, @@ -117,18 +186,19 @@ export default { this.recorder.start(); this.successMessage = null; this.errorMessage = null; - this.instructionMessage = INSTRUCTION_MESSAGE_STOP; this.service = new Service(this.backendEndpoint); }, stopRecording() { + this.recording = false; this.recorder.stop(); - const recordList = this.recorder.recordList(); - this.recordedAudio = recordList[0].url; - this.recordedBlob = recordList[0].blob; + const recorded = this.recorder.recordList(); + this.recordList.push(recorded[0]); + this.selected = recorded[0]; + this.recordedAudio = recorded[0].url; + this.recordedBlob = recorded[0].blob; if (this.recordedAudio) { this.successMessage = SUCCESS_MESSAGE; - this.instructionMessage = null; } if (this.afterRecording) { this.afterRecording(); @@ -165,9 +235,34 @@ export default { micFailed() { this.recording = false; - this.instructionMessage = INSTRUCTION_MESSAGE; this.errorMessage = ERROR_MESSAGE; }, + + removeRecord(idx) { + this.recordList.splice(idx, 1); + this.$set(this.selected, "url", null); + this.$emit("remove-record"); + }, + + choiceRecord(record) { + if (this.selected === record) { + return; + } + this.selected = record; + this.selectRecord && this.selectRecord(record); + }, + + download() { + if (!this.selected.url) { + return; + } + + const type = this.selected.blob.type.split("/")[1]; + const link = document.createElement("a"); + link.href = this.selected.url; + link.download = `${this.filename}.${type}`; + link.click(); + }, }, }; @@ -178,18 +273,28 @@ export default { flex-direction: column; align-items: center; justify-content: center; - padding: 1em; - margin: 1em; + padding: 0.75em; + margin: 0.75em; } .recorder-action { display: flex; - flex-direction: column; align-items: center; justify-content: center; - .recorder-timer { - font-size: 0.9em; + .vue-recorder-action { + width: 48px; + height: 48px; + border: 1px solid var(--primary-color, #0f6cbd); + font-size: 18px; + } + + .vue-recorder-stop { + width: 32px; + height: 32px; + margin-left: 4px; + border: 1px solid var(--primary-color, #0f6cbd); + font-size: 12px; } } @@ -213,4 +318,58 @@ export default { } } } + +.vue-records { + display: flex; + flex-direction: column; + width: 100%; + align-items: center; + margin-top: 0.75em; + + .list-actions { + display: flex; + } + + .list-actions > .icon-button { + width: 24px; + height: 24px; + } +} + +.vue-records__record { + display: flex; + width: 100%; + max-width: 400px; + justify-content: space-between; + padding: 0.5em; + border-radius: 2em; + + &--selected { + border: 1px solid rgba(100, 100, 100, 0.2); + } + + .icon-button { + background-color: transparent; + } +} + +.timing { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + .time-limit, + .time-attempt { + font-size: 0.75em; + } + + .recorder-timer { + margin: 0 0.25em; + } + + .recording-time { + text-transform: capitalize; + } +} diff --git a/src/components/SubmitButton.vue b/src/components/SubmitButton.vue deleted file mode 100644 index 34f4117..0000000 --- a/src/components/SubmitButton.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - diff --git a/src/components/VolumeControl.vue b/src/components/VolumeControl.vue index 4fc1a73..0f4605f 100644 --- a/src/components/VolumeControl.vue +++ b/src/components/VolumeControl.vue @@ -1,8 +1,8 @@