diff --git a/.babelrc.json b/.babelrc.json deleted file mode 100644 index 64363362..00000000 --- a/.babelrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@babel/preset-flow"] -} diff --git a/.eslintrc.json b/.eslintrc.json index 72fb7787..af97d6e0 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -15,6 +15,7 @@ "plugins": ["react", "jsx-a11y", "import", "prettier", "flowtype", "unicorn"], "settings": { "react": { "version": "latest" } }, "rules": { - "prettier/prettier": "error" + "prettier/prettier": "error", + "import/no-extraneous-dependencies": 0 } } diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 91e93df7..0018efc1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,49 +9,40 @@ env: PROJECT_PATH: test-project jobs: - # test: - # name: Test the project - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v1 - # - uses: webbertakken/unity-activate@v1 - # - uses: webbertakken/unity-test-runner@v1.1 - # - uses: webbertakken/unity-return-license@v1 - # if: always() - # - uses: actions/upload-artifact@v1 - # with: - # name: Test results - # path: artifacts/ + strategy: + matrix: + unityVersion: + - 2019.2.11f1 + targetPlatform: + - WebGL + # - StandaloneOSX + # - StandaloneWindows + # - StandaloneWindows64 + # - StandaloneLinux64 + # - PS4 + # - XboxOne + # - Switch + - Android + - iOS + # - tvOS + # - Lumin + # - BJM + # - WSAPlayer - buildForWebGL: - name: Build for WebGL - # needs: [test] + buildForAllPlatforms: + name: Build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }} runs-on: ubuntu-latest - steps: # webbertakken/unity-builder@v0.3-webgl + steps: - uses: actions/checkout@v1 - uses: webbertakken/unity-activate@v1 - - uses: ./ + - uses: ./ # webbertakken/unity-builder@v0.3-webgl with: projectPath: test-project - targetPlatform: WebGL - unityVersion: 2019.2.11f1 + targetPlatform: ${{ matrix.targetPlatform }} + unityVersion: ${{ matrix.unityVersion }} - uses: webbertakken/unity-return-license@v1 if: always() - uses: actions/upload-artifact@v1 with: name: Build path: build -# buildForAndroid: -# name: Build for Android -# # needs: [test] -# runs-on: ubuntu-latest -# steps: # webbertakken/unity-builder@v0.3-android -# - uses: actions/checkout@v1 -# - uses: webbertakken/unity-activate@v1 -# - uses: ./ -# - uses: webbertakken/unity-return-license@v1 -# if: always() -# - uses: actions/upload-artifact@v1 -# with: -# name: Build -# path: build diff --git a/Dockerfile b/Dockerfile index fa5af25b..a513588f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,5 @@ -ARG IMAGE_REPOSITORY -ARG IMAGE_NAME -ARG IMAGE_VERSION - -FROM $IMAGE_REPOSITORY/$IMAGE_NAME:$IMAGE_VERSION +ARG IMAGE +FROM $IMAGE LABEL "com.github.actions.name"="Unity - Builder" LABEL "com.github.actions.description"="Build Unity projects for different platforms." diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 00000000..3c464d16 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,15 @@ +const esModules = ['lodash-es'].join('|'); + +module.exports = { + ignore: [`/node_modules/(?!${esModules})`], + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: true, + }, + }, + ], + ], +}; diff --git a/dist/index.js b/dist/index.js index c17a16a1..466743ca 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1 +1 @@ -module.exports=function(e,t){"use strict";var i={};function __webpack_require__(t){if(i[t]){return i[t].exports}var s=i[t]={i:t,l:false,exports:{}};e[t].call(s.exports,s,s.exports,__webpack_require__);s.l=true;return s.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(676)}return startup()}({1:function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}return new(i||(i=Promise))(function(i,n){function fulfilled(e){try{step(s.next(e))}catch(e){n(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){n(e)}}function step(e){e.done?i(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});const n=i(129);const r=i(622);const o=i(669);const c=i(672);const u=o.promisify(n.exec);function cp(e,t,i={}){return s(this,void 0,void 0,function*(){const{force:s,recursive:n}=readCopyOptions(i);const o=(yield c.exists(t))?yield c.stat(t):null;if(o&&o.isFile()&&!s){return}const u=o&&o.isDirectory()?r.join(t,r.basename(e)):t;if(!(yield c.exists(e))){throw new Error(`no such file or directory: ${e}`)}const d=yield c.stat(e);if(d.isDirectory()){if(!n){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,u,0,s)}}else{if(r.relative(e,u)===""){throw new Error(`'${u}' and '${e}' are the same file`)}yield copyFile(e,u,s)}})}t.cp=cp;function mv(e,t,i={}){return s(this,void 0,void 0,function*(){if(yield c.exists(t)){let s=true;if(yield c.isDirectory(t)){t=r.join(t,r.basename(e));s=yield c.exists(t)}if(s){if(i.force==null||i.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(r.dirname(t));yield c.rename(e,t)})}t.mv=mv;function rmRF(e){return s(this,void 0,void 0,function*(){if(c.IS_WINDOWS){try{if(yield c.isDirectory(e,true)){yield u(`rd /s /q "${e}"`)}else{yield u(`del /f /a "${e}"`)}}catch(e){if(e.code!=="ENOENT")throw e}try{yield c.unlink(e)}catch(e){if(e.code!=="ENOENT")throw e}}else{let t=false;try{t=yield c.isDirectory(e)}catch(e){if(e.code!=="ENOENT")throw e;return}if(t){yield u(`rm -rf "${e}"`)}else{yield c.unlink(e)}}})}t.rmRF=rmRF;function mkdirP(e){return s(this,void 0,void 0,function*(){yield c.mkdirP(e)})}t.mkdirP=mkdirP;function which(e,t){return s(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'tool' is required")}if(t){const t=yield which(e,false);if(!t){if(c.IS_WINDOWS){throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}}try{const t=[];if(c.IS_WINDOWS&&process.env.PATHEXT){for(const e of process.env.PATHEXT.split(r.delimiter)){if(e){t.push(e)}}}if(c.isRooted(e)){const i=yield c.tryGetExecutablePath(e,t);if(i){return i}return""}if(e.includes("/")||c.IS_WINDOWS&&e.includes("\\")){return""}const i=[];if(process.env.PATH){for(const e of process.env.PATH.split(r.delimiter)){if(e){i.push(e)}}}for(const s of i){const i=yield c.tryGetExecutablePath(s+r.sep+e,t);if(i){return i}}return""}catch(e){throw new Error(`which failed with message ${e.message}`)}})}t.which=which;function readCopyOptions(e){const t=e.force==null?true:e.force;const i=Boolean(e.recursive);return{force:t,recursive:i}}function cpDirRecursive(e,t,i,n){return s(this,void 0,void 0,function*(){if(i>=255)return;i++;yield mkdirP(t);const s=yield c.readdir(e);for(const r of s){const s=`${e}/${r}`;const o=`${t}/${r}`;const u=yield c.lstat(s);if(u.isDirectory()){yield cpDirRecursive(s,o,i,n)}else{yield copyFile(s,o,n)}}yield c.chmod(t,(yield c.stat(e)).mode)})}function copyFile(e,t,i){return s(this,void 0,void 0,function*(){if((yield c.lstat(e)).isSymbolicLink()){try{yield c.lstat(t);yield c.unlink(t)}catch(e){if(e.code==="EPERM"){yield c.chmod(t,"0666");yield c.unlink(t)}}const i=yield c.readlink(e);yield c.symlink(i,t,c.IS_WINDOWS?"junction":null)}else if(!(yield c.exists(t))||i){yield c.copyFile(e,t)}})}},9:function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}return new(i||(i=Promise))(function(i,n){function fulfilled(e){try{step(s.next(e))}catch(e){n(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){n(e)}}function step(e){e.done?i(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});const n=i(87);const r=i(614);const o=i(129);const c=i(622);const u=i(1);const d=i(672);const l=process.platform==="win32";class ToolRunner extends r.EventEmitter{constructor(e,t,i){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=i||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const i=this._getSpawnFileName();const s=this._getSpawnArgs(e);let n=t?"":"[command]";if(l){if(this._isCmdFile()){n+=i;for(const e of s){n+=` ${e}`}}else if(e.windowsVerbatimArguments){n+=`"${i}"`;for(const e of s){n+=` ${e}`}}else{n+=this._windowsQuoteCmdArg(i);for(const e of s){n+=` ${this._windowsQuoteCmdArg(e)}`}}}else{n+=i;for(const e of s){n+=` ${e}`}}return n}_processLineBuffer(e,t,i){try{let s=t+e.toString();let r=s.indexOf(n.EOL);while(r>-1){const e=s.substring(0,r);i(e);s=s.substring(r+n.EOL.length);r=s.indexOf(n.EOL)}t=s}catch(e){this._debug(`error processing line. Failed with error ${e}`)}}_getSpawnFileName(){if(l){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(l){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const i of this.args){t+=" ";t+=e.windowsVerbatimArguments?i:this._windowsQuoteCmdArg(i)}t+='"';return[t]}}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){const e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile()){return this._uvQuoteCmdArg(e)}if(!e){return'""'}const t=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let i=false;for(const s of e){if(t.some(e=>e===s)){i=true;break}}if(!i){return e}let s='"';let n=true;for(let t=e.length;t>0;t--){s+=e[t-1];if(n&&e[t-1]==="\\"){s+="\\"}else if(e[t-1]==='"'){n=true;s+='"'}else{n=false}}s+='"';return s.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e){return'""'}if(!e.includes(" ")&&!e.includes("\t")&&!e.includes('"')){return e}if(!e.includes('"')&&!e.includes("\\")){return`"${e}"`}let t='"';let i=true;for(let s=e.length;s>0;s--){t+=e[s-1];if(i&&e[s-1]==="\\"){t+="\\"}else if(e[s-1]==='"'){i=true;t+="\\"}else{i=false}}t+='"';return t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};const t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||false,windowsVerbatimArguments:e.windowsVerbatimArguments||false,failOnStdErr:e.failOnStdErr||false,ignoreReturnCode:e.ignoreReturnCode||false,delay:e.delay||1e4};t.outStream=e.outStream||process.stdout;t.errStream=e.errStream||process.stderr;return t}_getSpawnOptions(e,t){e=e||{};const i={};i.cwd=e.cwd;i.env=e.env;i["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){i.argv0=`"${t}"`}return i}exec(){return s(this,void 0,void 0,function*(){if(!d.isRooted(this.toolPath)&&(this.toolPath.includes("/")||l&&this.toolPath.includes("\\"))){this.toolPath=c.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield u.which(this.toolPath,true);return new Promise((e,t)=>{this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const e of this.args){this._debug(` ${e}`)}const i=this._cloneExecOptions(this.options);if(!i.silent&&i.outStream){i.outStream.write(this._getCommandString(i)+n.EOL)}const s=new ExecState(i,this.toolPath);s.on("debug",e=>{this._debug(e)});const r=this._getSpawnFileName();const c=o.spawn(r,this._getSpawnArgs(i),this._getSpawnOptions(this.options,r));const u="";if(c.stdout){c.stdout.on("data",e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!i.silent&&i.outStream){i.outStream.write(e)}this._processLineBuffer(e,u,e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}})})}const d="";if(c.stderr){c.stderr.on("data",e=>{s.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!i.silent&&i.errStream&&i.outStream){const t=i.failOnStdErr?i.errStream:i.outStream;t.write(e)}this._processLineBuffer(e,d,e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}})})}c.on("error",e=>{s.processError=e.message;s.processExited=true;s.processClosed=true;s.CheckComplete()});c.on("exit",e=>{s.processExitCode=e;s.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);s.CheckComplete()});c.on("close",e=>{s.processExitCode=e;s.processExited=true;s.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);s.CheckComplete()});s.on("done",(i,s)=>{if(u.length>0){this.emit("stdline",u)}if(d.length>0){this.emit("errline",d)}c.removeAllListeners();if(i){t(i)}else{e(s)}})})})}}t.ToolRunner=ToolRunner;function argStringToArray(e){const t=[];let i=false;let s=false;let n="";function append(e){if(s&&e!=='"'){n+="\\"}n+=e;s=false}for(let r=0;r0){t.push(n);n=""}continue}append(o)}if(n.length>0){t.push(n.trim())}return t}t.argStringToArray=argStringToArray;class ExecState extends r.EventEmitter{constructor(e,t){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!t){throw new Error("toolPath must not be empty")}this.options=e;this.toolPath=t;if(e.delay){this.delay=e.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=setTimeout(ExecState.HandleTimeout,this.delay,this)}}_debug(e){this.emit("debug",e)}_setResult(){let e;if(this.processExited){if(this.processError){e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(e.done){return}if(!e.processClosed&&e.processExited){const t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}},87:function(e){e.exports=require("os")},129:function(e){e.exports=require("child_process")},357:function(e){e.exports=require("assert")},431:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:true});const s=i(87);function issueCommand(e,t,i){const n=new Command(e,t,i);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const n="::";class Command{constructor(e,t,i){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=i}toString(){let e=n+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";for(const t in this.properties){if(this.properties.hasOwnProperty(t)){const i=this.properties[t];if(i){e+=`${t}=${escape(`${i||""}`)},`}}}}e+=n;const t=`${this.message||""}`;e+=escapeData(t);return e}}function escapeData(e){return e.replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escape(e){return e.replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/]/g,"%5D").replace(/;/g,"%3B")}},470:function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}return new(i||(i=Promise))(function(i,n){function fulfilled(e){try{step(s.next(e))}catch(e){n(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){n(e)}}function step(e){e.done?i(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});const n=i(431);const r=i(87);const o=i(622);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){process.env[e]=t;n.issueCommand("set-env",{name:e},t)}t.exportVariable=exportVariable;function setSecret(e){n.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){n.issueCommand("add-path",{},e);process.env["PATH"]=`${e}${o.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const i=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!i){throw new Error(`Input required and not supplied: ${e}`)}return i.trim()}t.getInput=getInput;function setOutput(e,t){n.issueCommand("set-output",{name:e},t)}t.setOutput=setOutput;function setFailed(e){process.exitCode=c.Failure;error(e)}t.setFailed=setFailed;function debug(e){n.issueCommand("debug",{},e)}t.debug=debug;function error(e){n.issue("error",e)}t.error=error;function warning(e){n.issue("warning",e)}t.warning=warning;function info(e){process.stdout.write(e+r.EOL)}t.info=info;function startGroup(e){n.issue("group",e)}t.startGroup=startGroup;function endGroup(){n.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,function*(){startGroup(e);let i;try{i=yield t()}finally{endGroup()}return i})}t.group=group;function saveState(e,t){n.issueCommand("save-state",{name:e},t)}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState},614:function(e){e.exports=require("events")},622:function(e){e.exports=require("path")},669:function(e){e.exports=require("util")},672:function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}return new(i||(i=Promise))(function(i,n){function fulfilled(e){try{step(s.next(e))}catch(e){n(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){n(e)}}function step(e){e.done?i(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};var n;Object.defineProperty(t,"__esModule",{value:true});const r=i(357);const o=i(747);const c=i(622);n=o.promises,t.chmod=n.chmod,t.copyFile=n.copyFile,t.lstat=n.lstat,t.mkdir=n.mkdir,t.readdir=n.readdir,t.readlink=n.readlink,t.rename=n.rename,t.rmdir=n.rmdir,t.stat=n.stat,t.symlink=n.symlink,t.unlink=n.unlink;t.IS_WINDOWS=process.platform==="win32";function exists(e){return s(this,void 0,void 0,function*(){try{yield t.stat(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true})}t.exists=exists;function isDirectory(e,i=false){return s(this,void 0,void 0,function*(){const s=i?yield t.stat(e):yield t.lstat(e);return s.isDirectory()})}t.isDirectory=isDirectory;function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(t.IS_WINDOWS){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}t.isRooted=isRooted;function mkdirP(e,i=1e3,n=1){return s(this,void 0,void 0,function*(){r.ok(e,"a path argument must be provided");e=c.resolve(e);if(n>=i)return t.mkdir(e);try{yield t.mkdir(e);return}catch(s){switch(s.code){case"ENOENT":{yield mkdirP(c.dirname(e),i,n+1);yield t.mkdir(e);return}default:{let i;try{i=yield t.stat(e)}catch(e){throw s}if(!i.isDirectory())throw s}}}})}t.mkdirP=mkdirP;function tryGetExecutablePath(e,i){return s(this,void 0,void 0,function*(){let s=undefined;try{s=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(s&&s.isFile()){if(t.IS_WINDOWS){const t=c.extname(e).toUpperCase();if(i.some(e=>e.toUpperCase()===t)){return e}}else{if(isUnixExecutable(s)){return e}}}const n=e;for(const r of i){e=n+r;s=undefined;try{s=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(s&&s.isFile()){if(t.IS_WINDOWS){try{const i=c.dirname(e);const s=c.basename(e).toUpperCase();for(const n of yield t.readdir(i)){if(s===n.toUpperCase()){e=c.join(i,n);break}}}catch(t){console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${t}`)}return e}else{if(isUnixExecutable(s)){return e}}}}return""})}t.tryGetExecutablePath=tryGetExecutablePath;function normalizeSeparators(e){e=e||"";if(t.IS_WINDOWS){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&e.gid===process.getgid()||(e.mode&64)>0&&e.uid===process.getuid()}},676:function(e,t,i){const s=i(470);const n=i(622);const{exec:r}=i(986);async function action(){if(process.platform!=="linux"){throw new Error("Currently only Linux-based platforms are supported")}const e=s.getInput("projectPath",{default:"./"});const t=s.getInput("targetPlatform",{default:"WebGL"});const n=s.getInput("unityVersion",{default:"2019.2.11f1"});const o=s.getInput("buildName",{default:"TestBuild"});const c=s.getInput("buildsPath",{default:"build"});const u=s.getInput("buildMethod",{default:""});const d=n;const l=t.toLowerCase();const f=i.ab+"run-unity-builder.sh";await r(`ls ${f}`);await r(`chmod +x ${f}`);await r(i.ab+"run-unity-builder.sh",[d,l,e,t,o,c,u])}action().catch(e=>{s.setFailed(e.message)})},747:function(e){e.exports=require("fs")},986:function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}return new(i||(i=Promise))(function(i,n){function fulfilled(e){try{step(s.next(e))}catch(e){n(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){n(e)}}function step(e){e.done?i(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});const n=i(9);function exec(e,t,i){return s(this,void 0,void 0,function*(){const s=n.argStringToArray(e);if(s.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const r=s[0];t=s.slice(1).concat(t||[]);const o=new n.ToolRunner(r,t,i);return o.exec()})}t.exec=exec}}); \ No newline at end of file +module.exports=function(e,r){"use strict";var t={};function __webpack_require__(r){if(t[r]){return t[r].exports}var n=t[r]={i:r,l:false,exports:{}};e[r].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(890)}r(__webpack_require__);return startup()}({1:function(e,r,t){"use strict";var n=this&&this.__awaiter||function(e,r,t,n){function adopt(e){return e instanceof t?e:new t(function(r){r(e)})}return new(t||(t=Promise))(function(t,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,r||[])).next())})};Object.defineProperty(r,"__esModule",{value:true});const i=t(129);const a=t(622);const o=t(669);const u=t(672);const f=o.promisify(i.exec);function cp(e,r,t={}){return n(this,void 0,void 0,function*(){const{force:n,recursive:i}=readCopyOptions(t);const o=(yield u.exists(r))?yield u.stat(r):null;if(o&&o.isFile()&&!n){return}const f=o&&o.isDirectory()?a.join(r,a.basename(e)):r;if(!(yield u.exists(e))){throw new Error(`no such file or directory: ${e}`)}const s=yield u.stat(e);if(s.isDirectory()){if(!i){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,f,0,n)}}else{if(a.relative(e,f)===""){throw new Error(`'${f}' and '${e}' are the same file`)}yield copyFile(e,f,n)}})}r.cp=cp;function mv(e,r,t={}){return n(this,void 0,void 0,function*(){if(yield u.exists(r)){let n=true;if(yield u.isDirectory(r)){r=a.join(r,a.basename(e));n=yield u.exists(r)}if(n){if(t.force==null||t.force){yield rmRF(r)}else{throw new Error("Destination already exists")}}}yield mkdirP(a.dirname(r));yield u.rename(e,r)})}r.mv=mv;function rmRF(e){return n(this,void 0,void 0,function*(){if(u.IS_WINDOWS){try{if(yield u.isDirectory(e,true)){yield f(`rd /s /q "${e}"`)}else{yield f(`del /f /a "${e}"`)}}catch(e){if(e.code!=="ENOENT")throw e}try{yield u.unlink(e)}catch(e){if(e.code!=="ENOENT")throw e}}else{let r=false;try{r=yield u.isDirectory(e)}catch(e){if(e.code!=="ENOENT")throw e;return}if(r){yield f(`rm -rf "${e}"`)}else{yield u.unlink(e)}}})}r.rmRF=rmRF;function mkdirP(e){return n(this,void 0,void 0,function*(){yield u.mkdirP(e)})}r.mkdirP=mkdirP;function which(e,r){return n(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'tool' is required")}if(r){const r=yield which(e,false);if(!r){if(u.IS_WINDOWS){throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}}try{const r=[];if(u.IS_WINDOWS&&process.env.PATHEXT){for(const e of process.env.PATHEXT.split(a.delimiter)){if(e){r.push(e)}}}if(u.isRooted(e)){const t=yield u.tryGetExecutablePath(e,r);if(t){return t}return""}if(e.includes("/")||u.IS_WINDOWS&&e.includes("\\")){return""}const t=[];if(process.env.PATH){for(const e of process.env.PATH.split(a.delimiter)){if(e){t.push(e)}}}for(const n of t){const t=yield u.tryGetExecutablePath(n+a.sep+e,r);if(t){return t}}return""}catch(e){throw new Error(`which failed with message ${e.message}`)}})}r.which=which;function readCopyOptions(e){const r=e.force==null?true:e.force;const t=Boolean(e.recursive);return{force:r,recursive:t}}function cpDirRecursive(e,r,t,i){return n(this,void 0,void 0,function*(){if(t>=255)return;t++;yield mkdirP(r);const n=yield u.readdir(e);for(const a of n){const n=`${e}/${a}`;const o=`${r}/${a}`;const f=yield u.lstat(n);if(f.isDirectory()){yield cpDirRecursive(n,o,t,i)}else{yield copyFile(n,o,i)}}yield u.chmod(r,(yield u.stat(e)).mode)})}function copyFile(e,r,t){return n(this,void 0,void 0,function*(){if((yield u.lstat(e)).isSymbolicLink()){try{yield u.lstat(r);yield u.unlink(r)}catch(e){if(e.code==="EPERM"){yield u.chmod(r,"0666");yield u.unlink(r)}}const t=yield u.readlink(e);yield u.symlink(t,r,u.IS_WINDOWS?"junction":null)}else if(!(yield u.exists(r))||t){yield u.copyFile(e,r)}})}},9:function(e,r,t){"use strict";var n=this&&this.__awaiter||function(e,r,t,n){function adopt(e){return e instanceof t?e:new t(function(r){r(e)})}return new(t||(t=Promise))(function(t,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,r||[])).next())})};Object.defineProperty(r,"__esModule",{value:true});const i=t(87);const a=t(614);const o=t(129);const u=t(622);const f=t(1);const s=t(672);const c=process.platform==="win32";class ToolRunner extends a.EventEmitter{constructor(e,r,t){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=r||[];this.options=t||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,r){const t=this._getSpawnFileName();const n=this._getSpawnArgs(e);let i=r?"":"[command]";if(c){if(this._isCmdFile()){i+=t;for(const e of n){i+=` ${e}`}}else if(e.windowsVerbatimArguments){i+=`"${t}"`;for(const e of n){i+=` ${e}`}}else{i+=this._windowsQuoteCmdArg(t);for(const e of n){i+=` ${this._windowsQuoteCmdArg(e)}`}}}else{i+=t;for(const e of n){i+=` ${e}`}}return i}_processLineBuffer(e,r,t){try{let n=r+e.toString();let a=n.indexOf(i.EOL);while(a>-1){const e=n.substring(0,a);t(e);n=n.substring(a+i.EOL.length);a=n.indexOf(i.EOL)}r=n}catch(e){this._debug(`error processing line. Failed with error ${e}`)}}_getSpawnFileName(){if(c){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(c){if(this._isCmdFile()){let r=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const t of this.args){r+=" ";r+=e.windowsVerbatimArguments?t:this._windowsQuoteCmdArg(t)}r+='"';return[r]}}return this.args}_endsWith(e,r){return e.endsWith(r)}_isCmdFile(){const e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile()){return this._uvQuoteCmdArg(e)}if(!e){return'""'}const r=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let t=false;for(const n of e){if(r.some(e=>e===n)){t=true;break}}if(!t){return e}let n='"';let i=true;for(let r=e.length;r>0;r--){n+=e[r-1];if(i&&e[r-1]==="\\"){n+="\\"}else if(e[r-1]==='"'){i=true;n+='"'}else{i=false}}n+='"';return n.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e){return'""'}if(!e.includes(" ")&&!e.includes("\t")&&!e.includes('"')){return e}if(!e.includes('"')&&!e.includes("\\")){return`"${e}"`}let r='"';let t=true;for(let n=e.length;n>0;n--){r+=e[n-1];if(t&&e[n-1]==="\\"){r+="\\"}else if(e[n-1]==='"'){t=true;r+="\\"}else{t=false}}r+='"';return r.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};const r={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||false,windowsVerbatimArguments:e.windowsVerbatimArguments||false,failOnStdErr:e.failOnStdErr||false,ignoreReturnCode:e.ignoreReturnCode||false,delay:e.delay||1e4};r.outStream=e.outStream||process.stdout;r.errStream=e.errStream||process.stderr;return r}_getSpawnOptions(e,r){e=e||{};const t={};t.cwd=e.cwd;t.env=e.env;t["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){t.argv0=`"${r}"`}return t}exec(){return n(this,void 0,void 0,function*(){if(!s.isRooted(this.toolPath)&&(this.toolPath.includes("/")||c&&this.toolPath.includes("\\"))){this.toolPath=u.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield f.which(this.toolPath,true);return new Promise((e,r)=>{this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const e of this.args){this._debug(` ${e}`)}const t=this._cloneExecOptions(this.options);if(!t.silent&&t.outStream){t.outStream.write(this._getCommandString(t)+i.EOL)}const n=new ExecState(t,this.toolPath);n.on("debug",e=>{this._debug(e)});const a=this._getSpawnFileName();const u=o.spawn(a,this._getSpawnArgs(t),this._getSpawnOptions(this.options,a));const f="";if(u.stdout){u.stdout.on("data",e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!t.silent&&t.outStream){t.outStream.write(e)}this._processLineBuffer(e,f,e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}})})}const s="";if(u.stderr){u.stderr.on("data",e=>{n.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!t.silent&&t.errStream&&t.outStream){const r=t.failOnStdErr?t.errStream:t.outStream;r.write(e)}this._processLineBuffer(e,s,e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}})})}u.on("error",e=>{n.processError=e.message;n.processExited=true;n.processClosed=true;n.CheckComplete()});u.on("exit",e=>{n.processExitCode=e;n.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);n.CheckComplete()});u.on("close",e=>{n.processExitCode=e;n.processExited=true;n.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);n.CheckComplete()});n.on("done",(t,n)=>{if(f.length>0){this.emit("stdline",f)}if(s.length>0){this.emit("errline",s)}u.removeAllListeners();if(t){r(t)}else{e(n)}})})})}}r.ToolRunner=ToolRunner;function argStringToArray(e){const r=[];let t=false;let n=false;let i="";function append(e){if(n&&e!=='"'){i+="\\"}i+=e;n=false}for(let a=0;a0){r.push(i);i=""}continue}append(o)}if(i.length>0){r.push(i.trim())}return r}r.argStringToArray=argStringToArray;class ExecState extends a.EventEmitter{constructor(e,r){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!r){throw new Error("toolPath must not be empty")}this.options=e;this.toolPath=r;if(e.delay){this.delay=e.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=setTimeout(ExecState.HandleTimeout,this.delay,this)}}_debug(e){this.emit("debug",e)}_setResult(){let e;if(this.processExited){if(this.processError){e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(e.done){return}if(!e.processClosed&&e.processExited){const r=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(r)}e._setResult()}}},87:function(e){e.exports=require("os")},129:function(e){e.exports=require("child_process")},357:function(e){e.exports=require("assert")},431:function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});const n=t(87);function issueCommand(e,r,t){const i=new Command(e,r,t);process.stdout.write(i.toString()+n.EOL)}r.issueCommand=issueCommand;function issue(e,r=""){issueCommand(e,{},r)}r.issue=issue;const i="::";class Command{constructor(e,r,t){if(!e){e="missing.command"}this.command=e;this.properties=r;this.message=t}toString(){let e=i+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const t=this.properties[r];if(t){e+=`${r}=${escape(`${t||""}`)},`}}}}e+=i;const r=`${this.message||""}`;e+=escapeData(r);return e}}function escapeData(e){return e.replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escape(e){return e.replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/]/g,"%5D").replace(/;/g,"%3B")}},470:function(e,r,t){"use strict";var n=this&&this.__awaiter||function(e,r,t,n){function adopt(e){return e instanceof t?e:new t(function(r){r(e)})}return new(t||(t=Promise))(function(t,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,r||[])).next())})};Object.defineProperty(r,"__esModule",{value:true});const i=t(431);const a=t(87);const o=t(622);var u;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(u=r.ExitCode||(r.ExitCode={}));function exportVariable(e,r){process.env[e]=r;i.issueCommand("set-env",{name:e},r)}r.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}r.setSecret=setSecret;function addPath(e){i.issueCommand("add-path",{},e);process.env["PATH"]=`${e}${o.delimiter}${process.env["PATH"]}`}r.addPath=addPath;function getInput(e,r){const t=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(r&&r.required&&!t){throw new Error(`Input required and not supplied: ${e}`)}return t.trim()}r.getInput=getInput;function setOutput(e,r){i.issueCommand("set-output",{name:e},r)}r.setOutput=setOutput;function setFailed(e){process.exitCode=u.Failure;error(e)}r.setFailed=setFailed;function debug(e){i.issueCommand("debug",{},e)}r.debug=debug;function error(e){i.issue("error",e)}r.error=error;function warning(e){i.issue("warning",e)}r.warning=warning;function info(e){process.stdout.write(e+a.EOL)}r.info=info;function startGroup(e){i.issue("group",e)}r.startGroup=startGroup;function endGroup(){i.issue("endgroup")}r.endGroup=endGroup;function group(e,r){return n(this,void 0,void 0,function*(){startGroup(e);let t;try{t=yield r()}finally{endGroup()}return t})}r.group=group;function saveState(e,r){i.issueCommand("save-state",{name:e},r)}r.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}r.getState=getState},614:function(e){e.exports=require("events")},622:function(e){e.exports=require("path")},669:function(e){e.exports=require("util")},672:function(e,r,t){"use strict";var n=this&&this.__awaiter||function(e,r,t,n){function adopt(e){return e instanceof t?e:new t(function(r){r(e)})}return new(t||(t=Promise))(function(t,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,r||[])).next())})};var i;Object.defineProperty(r,"__esModule",{value:true});const a=t(357);const o=t(747);const u=t(622);i=o.promises,r.chmod=i.chmod,r.copyFile=i.copyFile,r.lstat=i.lstat,r.mkdir=i.mkdir,r.readdir=i.readdir,r.readlink=i.readlink,r.rename=i.rename,r.rmdir=i.rmdir,r.stat=i.stat,r.symlink=i.symlink,r.unlink=i.unlink;r.IS_WINDOWS=process.platform==="win32";function exists(e){return n(this,void 0,void 0,function*(){try{yield r.stat(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true})}r.exists=exists;function isDirectory(e,t=false){return n(this,void 0,void 0,function*(){const n=t?yield r.stat(e):yield r.lstat(e);return n.isDirectory()})}r.isDirectory=isDirectory;function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(r.IS_WINDOWS){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}r.isRooted=isRooted;function mkdirP(e,t=1e3,i=1){return n(this,void 0,void 0,function*(){a.ok(e,"a path argument must be provided");e=u.resolve(e);if(i>=t)return r.mkdir(e);try{yield r.mkdir(e);return}catch(n){switch(n.code){case"ENOENT":{yield mkdirP(u.dirname(e),t,i+1);yield r.mkdir(e);return}default:{let t;try{t=yield r.stat(e)}catch(e){throw n}if(!t.isDirectory())throw n}}}})}r.mkdirP=mkdirP;function tryGetExecutablePath(e,t){return n(this,void 0,void 0,function*(){let n=undefined;try{n=yield r.stat(e)}catch(r){if(r.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${r}`)}}if(n&&n.isFile()){if(r.IS_WINDOWS){const r=u.extname(e).toUpperCase();if(t.some(e=>e.toUpperCase()===r)){return e}}else{if(isUnixExecutable(n)){return e}}}const i=e;for(const a of t){e=i+a;n=undefined;try{n=yield r.stat(e)}catch(r){if(r.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${r}`)}}if(n&&n.isFile()){if(r.IS_WINDOWS){try{const t=u.dirname(e);const n=u.basename(e).toUpperCase();for(const i of yield r.readdir(t)){if(n===i.toUpperCase()){e=u.join(t,i);break}}}catch(r){console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${r}`)}return e}else{if(isUnixExecutable(n)){return e}}}}return""})}r.tryGetExecutablePath=tryGetExecutablePath;function normalizeSeparators(e){e=e||"";if(r.IS_WINDOWS){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&e.gid===process.getgid()||(e.mode&64)>0&&e.uid===process.getuid()}},747:function(e){e.exports=require("fs")},890:function(e,r,t){"use strict";t.r(r);var n=t(622);var i=t.n(n);class action_Action{static get supportedPlatforms(){return["linux"]}static get name(){return"unity-builder"}static get rootFolder(){return i().dirname(i().dirname(__dirname))}static get dockerfile(){return`${action_Action.rootFolder}/Dockerfile`}static get workspace(){return process.env.GITHUB_WORKSPACE}static checkCompatibility(){const e=process.platform;if(!action_Action.supportedPlatforms.includes(e)){throw new Error(`Currently ${e}-platform is not supported`)}}}var a=t(986);class docker_Docker{static async build(e){const{path:r="./",dockerfile:t,image:n}=e;const i=`unity-builder:${n.tag}`;await Object(a.exec)("pwd");await Object(a.exec)("ls -alh");await Object(a.exec)(`ls -alh ${r}`);await Object(a.exec)(`\n docker build ${r}\n --file ${t}\n --build-arg IMAGE=${n}\n --tag ${i}\n `);return i}static async run(e,r){const{GITHUB_WORKSPACE:t}=process.env;const{projectPath:n,buildName:i,buildsPath:o,buildMethod:u}=r;await Object(a.exec)(`\n docker run --workdir /github/workspace --rm --env PROJECT_PATH=${n} --env BUILD_TARGET=${e.targetPlatform} --env BUILD_NAME=${i} --env BUILDS_PATH=${o} --env BUILD_METHOD=${u} --env HOME=/github/home --env GITHUB_REF --env GITHUB_SHA --env GITHUB_REPOSITORY --env GITHUB_ACTOR --env GITHUB_WORKFLOW --env GITHUB_HEAD_REF --env GITHUB_BASE_REF --env GITHUB_EVENT_NAME --env GITHUB_WORKSPACE=/github/workspace --env GITHUB_ACTION --env GITHUB_EVENT_PATH --env RUNNER_OS --env RUNNER_TOOL_CACHE --env RUNNER_TEMP --env RUNNER_WORKSPACE --volume "/var/run/docker.sock":"/var/run/docker.sock" --volume "/home/runner/work/_temp/_github_home":"/github/home" --volume "/home/runner/work/_temp/_github_workflow":"/github/workflow" --volume "${t}":"/github/workspace" ${e}\n `)}}var o=typeof global=="object"&&global&&global.Object===Object&&global;var u=o;var f=typeof self=="object"&&self&&self.Object===Object&&self;var s=u||f||Function("return this")();var c=s;var l=c.Symbol;var v=l;var d=Object.prototype;var p=d.hasOwnProperty;var h=d.toString;var y=v?v.toStringTag:undefined;function getRawTag(e){var r=p.call(e,y),t=e[y];try{e[y]=undefined;var n=true}catch(e){}var i=h.call(e);if(n){if(r){e[y]=t}else{delete e[y]}}return i}var g=getRawTag;var b=Object.prototype;var _=b.toString;function objectToString(e){return _.call(e)}var m=objectToString;var w="[object Null]",x="[object Undefined]";var O=v?v.toStringTag:undefined;function baseGetTag(e){if(e==null){return e===undefined?x:w}return O&&O in Object(e)?g(e):m(e)}var S=baseGetTag;function isObjectLike(e){return e!=null&&typeof e=="object"}var j=isObjectLike;var E="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||j(e)&&S(e)==E}var I=isSymbol;var A=0/0;function baseToNumber(e){if(typeof e=="number"){return e}if(I(e)){return A}return+e}var k=baseToNumber;function arrayMap(e,r){var t=-1,n=e==null?0:e.length,i=Array(n);while(++t0){if(++r>=ar){return arguments[0]}}else{r=0}return e.apply(undefined,arguments)}}var fr=shortOut;var sr=fr(Ae);var cr=sr;var lr=/\{\n\/\* \[wrapped with (.+)\] \*/,vr=/,? & /;function getWrapDetails(e){var r=e.match(lr);return r?r[1].split(vr):[]}var dr=getWrapDetails;var pr=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails(e,r){var t=r.length;if(!t){return e}var n=t-1;r[n]=(t>1?"& ":"")+r[n];r=r.join(t>2?", ":" ");return e.replace(pr,"{\n/* [wrapped with "+r+"] */\n")}var hr=insertWrapDetails;function constant(e){return function(){return e}}var yr=constant;var gr=function(){try{var e=xe(Object,"defineProperty");e({},"",{});return e}catch(e){}}();var br=gr;var _r=!br?ee:function(e,r){return br(e,"toString",{configurable:true,enumerable:false,value:yr(r),writable:true})};var mr=_r;var wr=fr(mr);var xr=wr;function arrayEach(e,r){var t=-1,n=e==null?0:e.length;while(++t-1}var Ar=arrayIncludes;var kr=1,Rr=2,Wr=8,Cr=16,Mr=32,Pr=64,Br=128,Tr=256,Dr=512;var Lr=[["ary",Br],["bind",kr],["bindKey",Rr],["curry",Wr],["curryRight",Cr],["flip",Dr],["partial",Mr],["partialRight",Pr],["rearg",Tr]];function updateWrapDetails(e,r){Or(Lr,function(t){var n="_."+t[0];if(r&t[1]&&!Ar(e,n)){e.push(n)}});return e.sort()}var zr=updateWrapDetails;function setWrapToString(e,r,t){var n=r+"";return xr(e,hr(n,zr(dr(n),t)))}var $r=setWrapToString;var Nr=1,Fr=2,Ur=4,qr=8,Gr=32,Hr=64;function createRecurry(e,r,t,n,i,a,o,u,f,s){var c=r&qr,l=c?o:undefined,v=c?undefined:o,d=c?a:undefined,p=c?undefined:a;r|=c?Gr:Hr;r&=~(c?Hr:Gr);if(!(r&Ur)){r&=~(Nr|Fr)}var h=[e,r,i,d,l,p,v,u,f,s];var y=t.apply(undefined,h);if(ir(e)){cr(y,h)}y.placeholder=n;return $r(y,e,r)}var Kr=createRecurry;function getHolder(e){var r=e;return r.placeholder}var Zr=getHolder;var Jr=9007199254740991;var Xr=/^(?:0|[1-9]\d*)$/;function isIndex(e,r){var t=typeof e;r=r==null?Jr:r;return!!r&&(t=="number"||t!="symbol"&&Xr.test(e))&&(e>-1&&e%1==0&&e1){b.reverse()}if(l&&f-1&&e%1==0&&e<=Nt}var Ft=isLength;function isArrayLike(e){return e!=null&&Ft(e.length)&&!ae(e)}var Ut=isArrayLike;function isIterateeCall(e,r,t){if(!$(t)){return false}var n=typeof r;if(n=="number"?Ut(t)&&Yr(r,t.length):n=="string"&&r in t){return Mt(t[r],e)}return false}var qt=isIterateeCall;function createAssigner(e){return $t(function(r,t){var n=-1,i=t.length,a=i>1?t[i-1]:undefined,o=i>2?t[2]:undefined;a=e.length>3&&typeof a=="function"?(i--,a):undefined;if(o&&qt(t[0],t[1],o)){a=i<3?undefined:a;i=1}r=Object(r);while(++n-1}var Ni=listCacheHas;function listCacheSet(e,r){var t=this.__data__,n=Ti(t,e);if(n<0){++this.size;t.push([e,r])}else{t[n][1]=r}return this}var Fi=listCacheSet;function ListCache(e){var r=-1,t=e==null?0:e.length;this.clear();while(++r0&&t(u)){if(r>1){baseFlatten(u,r-1,t,n,i)}else{ha(i,u)}}else if(!n){i[i.length]=u}}return i}var ba=baseFlatten;function flatten(e){var r=e==null?0:e.length;return r?ba(e,1):[]}var _a=flatten;function flatRest(e){return xr(zt(e,undefined,_a),e+"")}var ma=flatRest;var wa=ma(pa);var xa=wa;var Oa=Xn(Object.getPrototypeOf,Object);var Sa=Oa;var ja="[object Object]";var Ea=Function.prototype,Ia=Object.prototype;var Aa=Ea.toString;var ka=Ia.hasOwnProperty;var Ra=Aa.call(Object);function isPlainObject(e){if(!j(e)||S(e)!=ja){return false}var r=Sa(e);if(r===null){return true}var t=ka.call(r,"constructor")&&r.constructor;return typeof t=="function"&&t instanceof t&&Aa.call(t)==Ra}var Wa=isPlainObject;var Ca="[object DOMException]",Ma="[object Error]";function isError(e){if(!j(e)){return false}var r=S(e);return r==Ma||r==Ca||typeof e.message=="string"&&typeof e.name=="string"&&!Wa(e)}var Pa=isError;var Ba=$t(function(e,r){try{return Be(e,undefined,r)}catch(e){return Pa(e)?e:new Error(e)}});var Ta=Ba;var Da="Expected a function";function before(e,r){var t;if(typeof r!="function"){throw new TypeError(Da)}e=Y(e);return function(){if(--e>0){t=r.apply(this,arguments)}if(e<=1){r=undefined}return t}}var La=before;var za=1,$a=32;var Na=$t(function(e,r,t){var n=za;if(t.length){var i=rt(t,Zr(Na));n|=$a}return kt(e,n,r,t,i)});Na.placeholder={};var Fa=Na;var Ua=ma(function(e,r){Or(r,function(r){r=la(r);Ct(e,r,Fa(e[r],e))});return e});var qa=Ua;var Ga=1,Ha=2,Ka=32;var Za=$t(function(e,r,t){var n=Ga|Ha;if(t.length){var i=rt(t,Zr(Za));n|=Ka}return kt(r,n,e,t,i)});Za.placeholder={};var Ja=Za;function baseSlice(e,r,t){var n=-1,i=e.length;if(r<0){r=-r>i?0:i+r}t=t>i?i:t;if(t<0){t+=i}i=r>t?0:t-r>>>0;r>>>=0;var a=Array(i);while(++n=n?e:Xa(e,r,t)}var Ya=castSlice;var Qa="\\ud800-\\udfff",Va="\\u0300-\\u036f",eo="\\ufe20-\\ufe2f",ro="\\u20d0-\\u20ff",to=Va+eo+ro,no="\\ufe0e\\ufe0f";var io="\\u200d";var ao=RegExp("["+io+Qa+to+no+"]");function hasUnicode(e){return ao.test(e)}var oo=hasUnicode;function asciiToArray(e){return e.split("")}var uo=asciiToArray;var fo="\\ud800-\\udfff",so="\\u0300-\\u036f",co="\\ufe20-\\ufe2f",lo="\\u20d0-\\u20ff",vo=so+co+lo,po="\\ufe0e\\ufe0f";var ho="["+fo+"]",yo="["+vo+"]",go="\\ud83c[\\udffb-\\udfff]",bo="(?:"+yo+"|"+go+")",_o="[^"+fo+"]",mo="(?:\\ud83c[\\udde6-\\uddff]){2}",wo="[\\ud800-\\udbff][\\udc00-\\udfff]",xo="\\u200d";var Oo=bo+"?",So="["+po+"]?",jo="(?:"+xo+"(?:"+[_o,mo,wo].join("|")+")"+So+Oo+")*",Eo=So+Oo+jo,Io="(?:"+[_o+yo+"?",yo,mo,wo,ho].join("|")+")";var Ao=RegExp(go+"(?="+go+")|"+Io+Eo,"g");function unicodeToArray(e){return e.match(Ao)||[]}var ko=unicodeToArray;function stringToArray(e){return oo(e)?ko(e):uo(e)}var Ro=stringToArray;function createCaseFirst(e){return function(r){r=fa(r);var t=oo(r)?Ro(r):undefined;var n=t?t[0]:r.charAt(0);var i=t?Ya(t,1).join(""):r.slice(1);return n[e]()+i}}var Wo=createCaseFirst;var Co=Wo("toUpperCase");var Mo=Co;function capitalize(e){return Mo(fa(e).toLowerCase())}var Po=capitalize;function arrayReduce(e,r,t,n){var i=-1,a=e==null?0:e.length;if(n&&a){t=e[++i]}while(++i=r?e:r}}return e}var rf=baseClamp;function clamp(e,r,t){if(t===undefined){t=r;r=undefined}if(t!==undefined){t=K(t);t=t===t?t:0}if(r!==undefined){r=K(r);r=r===r?r:0}return rf(K(e),r,t)}var tf=clamp;function stackClear(){this.__data__=new Ui;this.size=0}var nf=stackClear;function stackDelete(e){var r=this.__data__,t=r["delete"](e);this.size=r.size;return t}var af=stackDelete;function stackGet(e){return this.__data__.get(e)}var of=stackGet;function stackHas(e){return this.__data__.has(e)}var uf=stackHas;var ff=200;function stackSet(e,r){var t=this.__data__;if(t instanceof Ui){var n=t.__data__;if(!Gi||n.lengthu)){return false}var s=a.get(e);if(s&&a.get(r)){return s==r}var c=-1,l=true,v=t&$c?new Tc:undefined;a.set(e,r);a.set(r,e);while(++c=r||t<0||l&&n>=a}function timerExpired(){var e=fv();if(shouldInvoke(e)){return trailingEdge(e)}u=setTimeout(timerExpired,remainingWait(e))}function trailingEdge(e){u=undefined;if(v&&n){return invokeFunc(e)}n=i=undefined;return o}function cancel(){if(u!==undefined){clearTimeout(u)}s=0;n=f=i=u=undefined}function flush(){return u===undefined?o:trailingEdge(fv())}function debounced(){var e=fv(),t=shouldInvoke(e);n=arguments;i=this;f=e;if(t){if(u===undefined){return leadingEdge(f)}if(l){clearTimeout(u);u=setTimeout(timerExpired,r);return invokeFunc(f)}}if(u===undefined){u=setTimeout(timerExpired,r)}return o}debounced.cancel=cancel;debounced.flush=flush;return debounced}var vv=debounce;function defaultTo(e,r){return e==null||e!==e?r:e}var dv=defaultTo;var pv=Object.prototype;var hv=pv.hasOwnProperty;var yv=$t(function(e,r){e=Object(e);var t=-1;var n=r.length;var i=n>2?r[2]:undefined;if(i&&qt(r[0],r[1],i)){n=1}while(++t=Tv){a=Lc;o=false;r=new Tc(r)}e:while(++i=0&&e.slice(t,i)==r}var ud=endsWith;function baseToPairs(e,r){return R(r,function(r){return[r,e[r]]})}var fd=baseToPairs;function setToPairs(e){var r=-1,t=Array(e.size);e.forEach(function(e){t[++r]=[e,e]});return t}var sd=setToPairs;var cd="[object Map]",ld="[object Set]";function createToPairs(e){return function(r){var t=Qf(r);if(t==cd){return Fc(r)}if(t==ld){return sd(r)}return fd(r,e(r))}}var vd=createToPairs;var dd=vd(ti);var pd=dd;var hd=vd(li);var yd=hd;var gd={"&":"&","<":"<",">":">",'"':""","'":"'"};var bd=To(gd);var _d=bd;var md=/[&<>"']/g,wd=RegExp(md.source);function escape_escape(e){e=fa(e);return e&&wd.test(e)?e.replace(md,_d):e}var xd=escape_escape;var Od=/[\\^$.*+?()[\]{}|]/g,Sd=RegExp(Od.source);function escapeRegExp(e){e=fa(e);return e&&Sd.test(e)?e.replace(Od,"\\$&"):e}var jd=escapeRegExp;function arrayEvery(e,r){var t=-1,n=e==null?0:e.length;while(++ti?0:i+t}n=n===undefined||n>i?i:Y(n);if(n<0){n+=i}n=t>n?0:Rd(n);while(t-1?i[a?r[o]:o]:undefined}}var Bd=createFind;var Td=Math.max;function findIndex(e,r,t){var n=e==null?0:e.length;if(!n){return-1}var i=t==null?0:Y(t);if(i<0){i=Td(n+i,0)}return Sr(e,Pl(r,3),i)}var Dd=findIndex;var Ld=Bd(Dd);var zd=Ld;function baseFindKey(e,r,t){var n;t(e,function(e,t,i){if(r(e,t,i)){n=t;return false}});return n}var $d=baseFindKey;function findKey(e,r){return $d(e,Pl(r,3),Hl)}var Nd=findKey;var Fd=Math.max,Ud=Math.min;function findLastIndex(e,r,t){var n=e==null?0:e.length;if(!n){return-1}var i=n-1;if(t!==undefined){i=Y(t);i=t<0?Fd(n+i,0):Ud(i,n-1)}return Sr(e,Pl(r,3),i,true)}var qd=findLastIndex;var Gd=Bd(qd);var Hd=Gd;function findLastKey(e,r){return $d(e,Pl(r,3),nd)}var Kd=findLastKey;function head(e){return e&&e.length?e[0]:undefined}var Zd=head;function baseMap(e,r){var t=-1,n=Ut(e)?Array(e.length):[];Jl(e,function(e,i,a){n[++t]=r(e,i,a)});return n}var Jd=baseMap;function map_map(e,r){var t=C(e)?R:Jd;return t(e,Pl(r,3))}var Xd=map_map;function flatMap(e,r){return ba(Xd(e,r),1)}var Yd=flatMap;var Qd=1/0;function flatMapDeep(e,r){return ba(Xd(e,r),Qd)}var Vd=flatMapDeep;function flatMapDepth(e,r,t){t=t===undefined?1:Y(t);return ba(Xd(e,r),t)}var ep=flatMapDepth;var rp=1/0;function flattenDeep(e){var r=e==null?0:e.length;return r?ba(e,rp):[]}var tp=flattenDeep;function flattenDepth(e,r){var t=e==null?0:e.length;if(!t){return[]}r=r===undefined?1:Y(r);return ba(e,r)}var np=flattenDepth;var ip=512;function flip(e){return kt(e,ip)}var ap=flip;var op=Zu("floor");var up=op;var fp="Expected a function";var sp=8,cp=32,lp=128,vp=256;function createFlow(e){return ma(function(r){var t=r.length,n=t,i=Qe.prototype.thru;if(e){r.reverse()}while(n--){var a=r[n];if(typeof a!="function"){throw new TypeError(fp)}if(i&&!o&&Ye(a)=="wrapper"){var o=new Qe([],true)}}n=o?n:t;while(++nr}var Rp=baseGt;function createRelationalOperation(e){return function(r,t){if(!(typeof r=="string"&&typeof t=="string")){r=K(r);t=K(t)}return e(r,t)}}var Wp=createRelationalOperation;var Cp=Wp(Rp);var Mp=Cp;var Pp=Wp(function(e,r){return e>=r});var Bp=Pp;var Tp=Object.prototype;var Dp=Tp.hasOwnProperty;function baseHas(e,r){return e!=null&&Dp.call(e,r)}var Lp=baseHas;function has(e,r){return e!=null&&El(e,r,Lp)}var zp=has;var $p=Math.max,Np=Math.min;function baseInRange(e,r,t){return e>=Np(r,t)&&e<$p(r,t)}var Fp=baseInRange;function inRange(e,r,t){r=X(r);if(t===undefined){t=r;r=0}else{t=X(t)}e=K(e);return Fp(e,r,t)}var Up=inRange;var qp="[object String]";function isString(e){return typeof e=="string"||!C(e)&&j(e)&&S(e)==qp}var Gp=isString;function baseValues(e,r){return R(r,function(r){return e[r]})}var Hp=baseValues;function values_values(e){return e==null?[]:Hp(e,ti(e))}var Kp=values_values;var Zp=Math.max;function includes_includes(e,r,t,n){e=Ut(e)?e:Kp(e);t=t&&!n?Y(t):0;var i=e.length;if(t<0){t=Zp(i+t,0)}return Gp(e)?t<=i&&e.indexOf(r,t)>-1:!!i&&Ir(e,r,t)>-1}var Jp=includes_includes;var Xp=Math.max;function indexOf_indexOf(e,r,t){var n=e==null?0:e.length;if(!n){return-1}var i=t==null?0:Y(t);if(i<0){i=Xp(n+i,0)}return Ir(e,r,i)}var Yp=indexOf_indexOf;function initial(e){var r=e==null?0:e.length;return r?Xa(e,0,-1):[]}var Qp=initial;var Vp=Math.min;function baseIntersection(e,r,t){var n=t?Bv:Ar,i=e[0].length,a=e.length,o=a,u=Array(a),f=Infinity,s=[];while(o--){var c=e[o];if(o&&r){c=R(c,Dn(r))}f=Vp(c.length,f);u[o]=!t&&(r||i>=120&&c.length>=120)?new Tc(o&&c):undefined}c=e[0];var l=-1,v=u[0];e:while(++l=-cy&&e<=cy}var ly=isSafeInteger;function isUndefined(e){return e===undefined}var vy=isUndefined;var dy="[object WeakMap]";function isWeakMap(e){return j(e)&&Qf(e)==dy}var py=isWeakMap;var hy="[object WeakSet]";function isWeakSet(e){return j(e)&&S(e)==hy}var yy=isWeakSet;var gy=1;function iteratee_iteratee(e){return Pl(typeof e=="function"?e:_c(e,gy))}var by=iteratee_iteratee;var _y=Array.prototype;var my=_y.join;function join(e,r){return e==null?"":my.call(e,r)}var wy=join;var xy=Fu(function(e,r,t){return e+(t?"-":"")+r.toLowerCase()});var Oy=xy;var Sy=Yl(function(e,r,t){Ct(e,t,r)});var jy=Sy;function strictLastIndexOf(e,r,t){var n=t+1;while(n--){if(e[n]===r){return n}}return n}var Ey=strictLastIndexOf;var Iy=Math.max,Ay=Math.min;function lastIndexOf(e,r,t){var n=e==null?0:e.length;if(!n){return-1}var i=n;if(t!==undefined){i=Y(t);i=i<0?Iy(n+i,0):Ay(i,n-1)}return r===r?Ey(e,r,i):Sr(e,jr,i,true)}var ky=lastIndexOf;var Ry=Fu(function(e,r,t){return e+(t?" ":"")+r.toLowerCase()});var Wy=Ry;var Cy=Wo("toLowerCase");var My=Cy;function baseLt(e,r){return e=this.__values__.length,r=e?undefined:this.__values__[this.__index__++];return{done:e,value:r}}var gg=wrapperNext;function baseNth(e,r){var t=e.length;if(!t){return}r+=r<0?t:0;return Yr(r,t)?e[r]:undefined}var bg=baseNth;function nth(e,r){return e&&e.length?bg(e,Y(r)):undefined}var _g=nth;function nthArg(e){e=Y(e);return $t(function(r){return bg(r,e)})}var mg=nthArg;function baseUnset(e,r){r=sa(r,e);e=_h(e,r);return e==null||delete e[la($v(r))]}var wg=baseUnset;function customOmitClone(e){return Wa(e)?undefined:e}var xg=customOmitClone;var Og=1,Sg=2,jg=4;var Eg=ma(function(e,r){var t={};if(e==null){return t}var n=false;r=R(r,function(r){r=sa(r,e);n||(n=r.length>1);return r});Dt(e,Mf(e),t);if(n){t=_c(t,Og|Sg|jg,xg)}var i=r.length;while(i--){wg(t,r[i])}return t});var Ig=Eg;function baseSet(e,r,t,n){if(!$(e)){return e}r=sa(r,e);var i=-1,a=r.length,o=a-1,u=e;while(u!=null&&++ir||a&&o&&f&&!u&&!s||n&&o&&f||!t&&f||!i){return 1}if(!n&&!a&&!s&&e=u){return f}var s=t[n];return f*(s=="desc"?-1:1)}}return e.index-r.index}var Bg=compareMultiple;function baseOrderBy(e,r,t){var n=-1;r=R(r.length?r:[ee],Dn(Pl));var i=Jd(e,function(e,t,i){var a=R(r,function(r){return r(e)});return{criteria:a,index:++n,value:e}});return Mg(i,function(e,r){return Bg(e,r,t)})}var Tg=baseOrderBy;function orderBy(e,r,t,n){if(e==null){return[]}if(!C(r)){r=r==null?[]:[r]}t=n?undefined:t;if(!C(t)){t=t==null?[]:[t]}return Tg(e,r,t)}var Dg=orderBy;function createOver(e){return ma(function(r){r=R(r,Dn(Pl));return $t(function(t){var n=this;return e(r,function(e){return Be(e,n,t)})})})}var Lg=createOver;var zg=Lg(R);var $g=zg;var Ng=$t;var Fg=Ng;var Ug=Math.min;var qg=Fg(function(e,r){r=r.length==1&&C(r[0])?R(r[0],Dn(Pl)):R(ba(r,1),Dn(Pl));var t=r.length;return $t(function(n){var i=-1,a=Ug(n.length,t);while(++iXg){return t}do{if(r%2){t+=e}r=Yg(r/2);if(r){e+=e}}while(r);return t}var Qg=baseRepeat;var Vg=Wl("length");var eb=Vg;var rb="\\ud800-\\udfff",tb="\\u0300-\\u036f",nb="\\ufe20-\\ufe2f",ib="\\u20d0-\\u20ff",ab=tb+nb+ib,ob="\\ufe0e\\ufe0f";var ub="["+rb+"]",fb="["+ab+"]",sb="\\ud83c[\\udffb-\\udfff]",cb="(?:"+fb+"|"+sb+")",lb="[^"+rb+"]",vb="(?:\\ud83c[\\udde6-\\uddff]){2}",db="[\\ud800-\\udbff][\\udc00-\\udfff]",pb="\\u200d";var hb=cb+"?",yb="["+ob+"]?",gb="(?:"+pb+"(?:"+[lb,vb,db].join("|")+")"+yb+hb+")*",bb=yb+hb+gb,_b="(?:"+[lb+fb+"?",fb,vb,db,ub].join("|")+")";var mb=RegExp(sb+"(?="+sb+")|"+_b+bb,"g");function unicodeSize(e){var r=mb.lastIndex=0;while(mb.test(e)){++r}return r}var wb=unicodeSize;function stringSize(e){return oo(e)?wb(e):eb(e)}var xb=stringSize;var Ob=Math.ceil;function createPadding(e,r){r=r===undefined?" ":T(r);var t=r.length;if(t<2){return t?Qg(r,e):r}var n=Qg(r,Ob(e/xb(r)));return oo(r)?Ya(Ro(n),0,e).join(""):n.slice(0,e)}var Sb=createPadding;var jb=Math.ceil,Eb=Math.floor;function pad(e,r,t){e=fa(e);r=Y(r);var n=r?xb(e):0;if(!r||n>=r){return e}var i=(r-n)/2;return Sb(Eb(i),t)+e+Sb(jb(i),t)}var Ib=pad;function padEnd(e,r,t){e=fa(e);r=Y(r);var n=r?xb(e):0;return r&&n-1){if(u!==e){Zb.call(u,f,1)}Zb.call(e,f,1)}}return e}var Jb=basePullAll;function pullAll(e,r){return e&&e.length&&r&&r.length?Jb(e,r):e}var Xb=pullAll;var Yb=$t(Xb);var Qb=Yb;function pullAllBy(e,r,t){return e&&e.length&&r&&r.length?Jb(e,r,Pl(t,2)):e}var Vb=pullAllBy;function pullAllWith(e,r,t){return e&&e.length&&r&&r.length?Jb(e,r,undefined,t):e}var e_=pullAllWith;var r_=Array.prototype;var t_=r_.splice;function basePullAt(e,r){var t=e?r.length:0,n=t-1;while(t--){var i=r[t];if(t==n||i!==a){var a=i;if(Yr(i)){t_.call(e,i,1)}else{wg(e,i)}}}return e}var n_=basePullAt;var i_=ma(function(e,r){var t=e==null?0:e.length,n=pa(e,r);n_(e,R(r,function(e){return Yr(e,t)?+e:e}).sort(Pg));return n});var a_=i_;var o_=Math.floor,u_=Math.random;function baseRandom(e,r){return e+o_(u_()*(r-e+1))}var f_=baseRandom;var s_=parseFloat;var c_=Math.min,l_=Math.random;function random(e,r,t){if(t&&typeof t!="boolean"&&qt(e,r,t)){r=t=undefined}if(t===undefined){if(typeof r=="boolean"){t=r;r=undefined}else if(typeof e=="boolean"){t=e;e=undefined}}if(e===undefined&&r===undefined){e=0;r=1}else{e=X(e);if(r===undefined){r=e;e=0}else{r=X(r)}}if(e>r){var n=e;e=r;r=n}if(t||e%1||r%1){var i=l_();return c_(e+i*(r-e+s_("1e-"+((i+"").length-1))),r)}return f_(e,r)}var v_=random;var d_=Math.ceil,p_=Math.max;function baseRange(e,r,t,n){var i=-1,a=p_(d_((r-e)/(t||1)),0),o=Array(a);while(a--){o[n?a:++i]=e;e+=t}return o}var h_=baseRange;function createRange(e){return function(r,t,n){if(n&&typeof n!="number"&&qt(r,t,n)){t=n=undefined}r=X(r);if(t===undefined){t=r;r=0}else{t=X(t)}n=n===undefined?r1&&qt(e,r[0],r[1])){r=[]}else if(t>2&&qt(r[0],r[1],r[2])){r=[r[0]]}return Tg(e,ba(r,1),[])});var um=om;var fm=4294967295,sm=fm-1;var cm=Math.floor,lm=Math.min;function baseSortedIndexBy(e,r,t,n){r=t(r);var i=0,a=e==null?0:e.length,o=r!==r,u=r===null,f=I(r),s=r===undefined;while(i>>1;function baseSortedIndex(e,r,t){var n=0,i=e==null?n:e.length;if(typeof r=="number"&&r===r&&i<=pm){while(n>>1,o=e[a];if(o!==null&&!I(o)&&(t?o<=r:o>>0;if(!t){return[]}e=fa(e);if(e&&(typeof r=="string"||r!=null&&!sy(r))){r=T(r);if(!r&&oo(e)){return Ya(Ro(e),0,t)}}return e.split(r,t)}var Em=split;var Im="Expected a function";var Am=Math.max;function spread(e,r){if(typeof e!="function"){throw new TypeError(Im)}r=r==null?0:Am(Y(r),0);return $t(function(t){var n=t[r],i=Ya(t,0,r);if(n){ha(i,n)}return Be(e,this,i)})}var km=spread;var Rm=Fu(function(e,r,t){return e+(t?" ":"")+Mo(r)});var Wm=Rm;function startsWith(e,r,t){e=fa(e);t=t==null?0:rf(Y(t),0,e.length);r=T(r);return e.slice(t,t+r.length)==r}var Cm=startsWith;function stubObject(){return{}}var Mm=stubObject;function stubString(){return""}var Pm=stubString;function stubTrue(){return true}var Bm=stubTrue;var Tm=D(function(e,r){return e-r},0);var Dm=Tm;function sum(e){return e&&e.length?Zy(e,ee):0}var Lm=sum;function sumBy(e,r){return e&&e.length?Zy(e,Pl(r,2)):0}var zm=sumBy;function tail(e){var r=e==null?0:e.length;return r?Xa(e,1,r):[]}var $m=tail;function take(e,r,t){if(!(e&&e.length)){return[]}r=t||r===undefined?1:Y(r);return Xa(e,0,r<0?0:r)}var Nm=take;function takeRight(e,r,t){var n=e==null?0:e.length;if(!n){return[]}r=t||r===undefined?1:Y(r);r=n-r;return Xa(e,r<0?0:r,n)}var Fm=takeRight;function takeRightWhile(e,r){return e&&e.length?Jv(e,Pl(r,3),false,true):[]}var Um=takeRightWhile;function takeWhile(e,r){return e&&e.length?Jv(e,Pl(r,3)):[]}var qm=takeWhile;function tap(e,r){r(e);return e}var Gm=tap;var Hm=Object.prototype;var Km=Hm.hasOwnProperty;function customDefaultsAssignIn(e,r,t,n){if(e===undefined||Mt(e,Hm[t])&&!Km.call(n,t)){return r}return e}var Zm=customDefaultsAssignIn;var Jm={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function escapeStringChar(e){return"\\"+Jm[e]}var Xm=escapeStringChar;var Ym=/<%=([\s\S]+?)%>/g;var Qm=Ym;var Vm=/<%-([\s\S]+?)%>/g;var ew=Vm;var rw=/<%([\s\S]+?)%>/g;var tw=rw;var nw={escape:ew,evaluate:tw,interpolate:Qm,variable:"",imports:{_:{escape:xd}}};var iw=nw;var aw=/\b__p \+= '';/g,ow=/\b(__p \+=) '' \+/g,uw=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var fw=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var sw=/($^)/;var cw=/['\n\r\u2028\u2029\\]/g;var lw=Object.prototype;var vw=lw.hasOwnProperty;function template(e,r,t){var n=iw.imports._.templateSettings||iw;if(t&&qt(e,r,t)){r=undefined}e=fa(e);r=hi({},r,n,Zm);var i=hi({},r.imports,n.imports,Zm),a=ti(i),o=Hp(i,a);var u,f,s=0,c=r.interpolate||sw,l="__p += '";var v=RegExp((r.escape||sw).source+"|"+c.source+"|"+(c===Qm?fw:sw).source+"|"+(r.evaluate||sw).source+"|$","g");var d=vw.call(r,"sourceURL")?"//# sourceURL="+(r.sourceURL+"").replace(/[\r\n]/g," ")+"\n":"";e.replace(v,function(r,t,n,i,a,o){n||(n=i);l+=e.slice(s,o).replace(cw,Xm);if(t){u=true;l+="' +\n__e("+t+") +\n'"}if(a){f=true;l+="';\n"+a+";\n__p += '"}if(n){l+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"}s=o+r.length;return r});l+="';\n";var p=vw.call(r,"variable")&&r.variable;if(!p){l="with (obj) {\n"+l+"\n}\n"}l=(f?l.replace(aw,""):l).replace(ow,"$1").replace(uw,"$1;");l="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(u?", __e = _.escape":"")+(f?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+l+"return __p\n}";var h=Ta(function(){return Function(a,d+"return "+l).apply(undefined,o)});h.source=l;if(Pa(h)){throw h}return h}var dw=template;var pw="Expected a function";function throttle(e,r,t){var n=true,i=true;if(typeof e!="function"){throw new TypeError(pw)}if($(t)){n="leading"in t?!!t.leading:n;i="trailing"in t?!!t.trailing:i}return vv(e,r,{leading:n,maxWait:r,trailing:i})}var hw=throttle;function thru(e,r){return r(e)}var yw=thru;var gw=9007199254740991;var bw=4294967295;var _w=Math.min;function times(e,r){e=Y(e);if(e<1||e>gw){return[]}var t=bw,n=_w(e,bw);r=Qv(r);e-=bw;var i=Zt(n,r);while(++t-1){}return t}var Rw=charsEndIndex;function charsStartIndex(e,r){var t=-1,n=e.length;while(++t-1){}return t}var Ww=charsStartIndex;var Cw=/^\s+|\s+$/g;function trim(e,r,t){e=fa(e);if(e&&(t||r===undefined)){return e.replace(Cw,"")}if(!e||!(r=T(r))){return e}var n=Ro(e),i=Ro(r),a=Ww(n,i),o=Rw(n,i)+1;return Ya(n,a,o).join("")}var Mw=trim;var Pw=/\s+$/;function trimEnd(e,r,t){e=fa(e);if(e&&(t||r===undefined)){return e.replace(Pw,"")}if(!e||!(r=T(r))){return e}var n=Ro(e),i=Rw(n,Ro(r))+1;return Ya(n,0,i).join("")}var Bw=trimEnd;var Tw=/^\s+/;function trimStart(e,r,t){e=fa(e);if(e&&(t||r===undefined)){return e.replace(Tw,"")}if(!e||!(r=T(r))){return e}var n=Ro(e),i=Ww(n,Ro(r));return Ya(n,i).join("")}var Dw=trimStart;var Lw=30,zw="...";var $w=/\w*$/;function truncate(e,r){var t=Lw,n=zw;if($(r)){var i="separator"in r?r.separator:i;t="length"in r?Y(r.length):t;n="omission"in r?T(r.omission):n}e=fa(e);var a=e.length;if(oo(e)){var o=Ro(e);a=o.length}if(t>=a){return e}var u=t-xb(n);if(u<1){return n}var f=o?Ya(o,0,u).join(""):e.slice(0,u);if(i===undefined){return f+n}if(o){u+=f.length-u}if(sy(i)){if(e.slice(u).search(i)){var s,c=f;if(!i.global){i=RegExp(i.source,fa($w.exec(i))+"g")}i.lastIndex=0;while(s=i.exec(c)){var l=s.index}f=f.slice(0,l===undefined?u:l)}}else if(e.indexOf(T(i),u)!=u){var v=f.lastIndexOf(i);if(v>-1){f=f.slice(0,v)}}return f+n}var Nw=truncate;function unary(e){return Wt(e,1)}var Fw=unary;var Uw={"&":"&","<":"<",">":">",""":'"',"'":"'"};var qw=To(Uw);var Gw=qw;var Hw=/&(?:amp|lt|gt|quot|#39);/g,Kw=RegExp(Hw.source);function unescape_unescape(e){e=fa(e);return e&&Kw.test(e)?e.replace(Hw,Gw):e}var Zw=unescape_unescape;var Jw=1/0;var Xw=!(zf&&1/Uc(new zf([,-0]))[1]==Jw)?qe:function(e){return new zf(e)};var Yw=Xw;var Qw=200;function baseUniq(e,r,t){var n=-1,i=Ar,a=e.length,o=true,u=[],f=u;if(t){o=false;i=Bv}else if(a>=Qw){var s=r?null:Yw(e);if(s){return Uc(s)}o=false;i=Lc;f=new Tc}else{f=r?[]:u}e:while(++n1||this.__actions__.length||!(n instanceof Ue)||!Yr(t)){return this.thru(i)}n=n.slice(t,+t+(r?1:0));n.__actions__.push({func:yw,args:[i],thisArg:undefined});return new Qe(n,this.__chain__).thru(function(e){if(r&&!e.length){e.push(undefined)}return e})});var jx=Sx;function wrapperChain(){return Yu(this)}var Ex=wrapperChain;function wrapperReverse(){var e=this.__wrapped__;if(e instanceof Ue){var r=e;if(this.__actions__.length){r=new Ue(this)}r=r.reverse();r.__actions__.push({func:yw,args:[D_],thisArg:undefined});return new Qe(r,this.__chain__)}return this.thru(D_)}var Ix=wrapperReverse;function baseXor(e,r,t){var n=e.length;if(n<2){return n?Vw(e[0]):[]}var i=-1,a=Array(n);while(++i1?e[r-1]:undefined;t=typeof t=="function"?(e.pop(),t):undefined;return px(e,t)});var Nx=$x;var Fx={chunk:ef,compact:Wc,concat:Cc,difference:zv,differenceBy:Fv,differenceWith:qv,drop:Kv,dropRight:Zv,dropRightWhile:Xv,dropWhile:Yv,fill:Cd,findIndex:Dd,findLastIndex:qd,first:Zd,flatten:_a,flattenDeep:tp,flattenDepth:np,fromPairs:xp,head:Zd,indexOf:Yp,initial:Qp,intersection:nh,intersectionBy:ah,intersectionWith:uh,join:wy,last:$v,lastIndexOf:ky,nth:_g,pull:Qb,pullAll:Xb,pullAllBy:Vb,pullAllWith:e_,pullAt:a_,remove:k_,reverse:D_,slice:rm,sortedIndex:ym,sortedIndexBy:gm,sortedIndexOf:bm,sortedLastIndex:_m,sortedLastIndexBy:mm,sortedLastIndexOf:wm,sortedUniq:Om,sortedUniqBy:Sm,tail:$m,take:Nm,takeRight:Fm,takeRightWhile:Um,takeWhile:qm,union:rx,unionBy:nx,unionWith:ax,uniq:ox,uniqBy:ux,uniqWith:fx,unzip:dx,unzipWith:px,without:xx,xor:Rx,xorBy:Cx,xorWith:Px,zip:Tx,zipObject:Lx,zipObjectDeep:zx,zipWith:Nx};var Ux={countBy:rv,each:Vv,eachRight:od,every:Ad,filter:Pd,find:zd,findLast:Hd,flatMap:Yd,flatMapDeep:Vd,flatMapDepth:ep,forEach:Vv,forEachRight:od,groupBy:kp,includes:Jp,invokeMap:Sh,keyBy:jy,map:Xd,orderBy:Dg,partition:$b,reduce:j_,reduceRight:I_,reject:A_,sample:F_,sampleSize:H_,shuffle:Y_,size:em,some:am,sortBy:um};var qx={now:fv};var Gx={after:V,ary:Wt,before:La,bind:Fa,bindKey:Ja,curry:iv,curryRight:ov,debounce:vv,defer:Cv,delay:Pv,flip:ap,memoize:ra,negate:lg,once:Cg,overArgs:Gg,partial:Bb,partialRight:Lb,rearg:O_,rest:M_,spread:km,throttle:hw,unary:Fw,wrap:Ox};var Hx={castArray:Gu,clone:wc,cloneDeep:Sc,cloneDeepWith:Ic,cloneWith:kc,conformsTo:Nl,eq:Mt,gt:Mp,gte:Bp,isArguments:rn,isArray:C,isArrayBuffer:kh,isArrayLike:Ut,isArrayLikeObject:_v,isBoolean:Wh,isBuffer:cn,isDate:Th,isElement:Dh,isEmpty:Fh,isEqual:Uh,isEqualWith:qh,isError:Pa,isFinite:Hh,isFunction:ae,isInteger:Kh,isLength:Ft,isMap:Ds,isMatch:Zh,isMatchWith:Jh,isNaN:Qh,isNative:ty,isNil:ny,isNull:iy,isNumber:Yh,isObject:$,isObjectLike:j,isPlainObject:Wa,isRegExp:sy,isSafeInteger:ly,isSet:Fs,isString:Gp,isSymbol:I,isTypedArray:Hn,isUndefined:vy,isWeakMap:py,isWeakSet:yy,lt:Ty,lte:Ly,toArray:yg,toFinite:X,toInteger:Y,toLength:Rd,toNumber:K,toPlainObject:wv,toSafeInteger:Iw,toString:fa};var Kx={add:z,ceil:Xu,divide:Hv,floor:up,max:Hy,maxBy:Ky,mean:Yy,meanBy:Qy,min:ag,minBy:og,multiply:sg,round:z_,subtract:Dm,sum:Lm,sumBy:zm};var Zx={clamp:tf,inRange:Up,random:v_};var Jx={assign:oi,assignIn:di,assignInWith:hi,assignWith:gi,at:xa,create:tv,defaults:gv,defaultsDeep:Av,entries:pd,entriesIn:yd,extend:di,extendWith:hi,findKey:Nd,findLastKey:Kd,forIn:bp,forInRight:_p,forOwn:mp,forOwnRight:wp,functions:Sp,functionsIn:jp,get:da,has:zp,hasIn:Il,invert:dh,invertBy:bh,invoke:xh,keys:ti,keysIn:li,mapKeys:zy,mapValues:$y,merge:eg,mergeWith:Ev,omit:Ig,omitBy:Wg,pick:Ub,pickBy:Rg,result:P_,set:K_,setWith:Z_,toPairs:pd,toPairsIn:yd,transform:kw,unset:lx,update:yx,updateWith:gx,values:Kp,valuesIn:mx};var Xx={at:jx,chain:Yu,commit:Rc,lodash:nr,next:gg,plant:qb,reverse:Ix,tap:Gm,thru:yw,toIterator:ww,toJSON:Ow,value:Ow,valueOf:Ow,wrapperChain:Ex};var Yx={camelCase:qu,capitalize:Po,deburr:Ko,endsWith:ud,escape:xd,escapeRegExp:jd,kebabCase:Oy,lowerCase:Wy,lowerFirst:My,pad:Ib,padEnd:Ab,padStart:kb,parseInt:Cb,repeat:R_,replace:W_,snakeCase:nm,split:Em,startCase:Wm,startsWith:Cm,template:dw,templateSettings:iw,toLower:Sw,toUpper:Aw,trim:Mw,trimEnd:Bw,trimStart:Dw,truncate:Nw,unescape:Zw,upperCase:_x,upperFirst:Mo,words:zu};var Qx={attempt:Ta,bindAll:qa,cond:Tl,conforms:$l,constant:yr,defaultTo:dv,flow:hp,flowRight:gp,identity:ee,iteratee:by,matches:Fy,matchesProperty:qy,method:tg,methodOf:ig,mixin:ug,noop:qe,nthArg:mg,over:$g,overEvery:Kg,overSome:Jg,property:Ml,propertyOf:Gb,range:b_,rangeRight:m_,stubArray:mf,stubFalse:tn,stubObject:Mm,stubString:Pm,stubTrue:Bm,times:mw,toPath:jw,uniqueId:cx};function lazyClone(){var e=new Ue(this.__wrapped__);e.__actions__=Ve(this.__actions__);e.__dir__=this.__dir__;e.__filtered__=this.__filtered__;e.__iteratees__=Ve(this.__iteratees__);e.__takeCount__=this.__takeCount__;e.__views__=Ve(this.__views__);return e}var Vx=lazyClone;function lazyReverse(){if(this.__filtered__){var e=new Ue(this);e.__dir__=-1;e.__filtered__=true}else{e=this.clone();e.__dir__*=-1}return e}var eO=lazyReverse;var rO=Math.max,tO=Math.min;function getView(e,r,t){var n=-1,i=t.length;while(++n0||r<0)){return new Ue(t)}if(e<0){t=t.takeRight(-e)}else if(e){t=t.drop(e)}if(r!==undefined){r=Y(r);t=r<0?t.dropRight(-r):t.take(r-e)}return t};Ue.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()};Ue.prototype.toArray=function(){return this.take(vO)};Hl(Ue.prototype,function(e,r){var t=/^(?:filter|find|map|reject)|While$/.test(r),n=/^(?:head|last)$/.test(r),i=nr[n?"take"+(r=="last"?"Right":""):r],a=n||/^find/.test(r);if(!i){return}nr.prototype[r]=function(){var r=this.__wrapped__,o=n?[1]:arguments,u=r instanceof Ue,f=o[0],s=u||C(r);var c=function(e){var r=i.apply(nr,ha([e],o));return n&&l?r[0]:r};if(s&&t&&typeof f=="function"&&f.length!=1){u=s=false}var l=this.__chain__,v=!!this.__actions__.length,d=a&&!l,p=u&&!v;if(!a&&s){r=p?r:new Ue(this);var h=e.apply(r,o);h.__actions__.push({func:yw,args:[c],thisArg:undefined});return new Qe(h,l)}if(d&&p){return e.apply(this,o)}h=this.thru(c);return d?n?h.value()[0]:h.value():h}});Or(["pop","push","shift","sort","splice","unshift"],function(e){var r=dO[e],t=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);nr.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var i=this.value();return r.apply(C(i)?i:[],e)}return this[t](function(t){return r.apply(C(t)?t:[],e)})}});Hl(Ue.prototype,function(e,r){var t=nr[r];if(t){var n=t.name+"";if(!hO.call(Ze,n)){Ze[n]=[]}Ze[n].push({name:r,func:t})}});Ze[ft(undefined,sO).name]=[{name:"wrapper",func:undefined}];Ue.prototype.clone=Vx;Ue.prototype.reverse=eO;Ue.prototype.value=uO;nr.prototype.at=Xx.at;nr.prototype.chain=Xx.wrapperChain;nr.prototype.commit=Xx.commit;nr.prototype.next=Xx.next;nr.prototype.plant=Xx.plant;nr.prototype.reverse=Xx.reverse;nr.prototype.toJSON=nr.prototype.valueOf=nr.prototype.value=Xx.value;nr.prototype.first=nr.prototype.head;if(yO){nr.prototype[yO]=Xx.toIterator}var mO=nr;class image_Image{constructor(e){const{repository:r="gableroux",name:t="unity3d",version:n="2019.2.11f1",targetPlatform:i}=e;if(!image_Image.versionPattern.test(n)){throw new Error(`Invalid version "${n}".`)}if(!zp(image_Image.targetPlatformToBuilderPlatformMap,i)){throw new Error(`Platform "${i}" is currently not supported.`)}const a=da(image_Image.targetPlatformToBuilderPlatformMap,i,image_Image.builderPlatforms.generic);Object.assign(this,{repository:r,name:t,version:n,targetPlatform:i,builderPlatform:a})}static get versionPattern(){return/^20\d{2}\.\d\.\w{4}$/}static get builderPlatforms(){return{generic:"",webgl:"webgl",mac:"mac",windows:"windows",android:"android",ios:"ios"}}static get targetPlatformToBuilderPlatformMap(){const{generic:e,webgl:r,mac:t,windows:n,android:i,ios:a}=image_Image.builderPlatforms;return{WebGL:r,StandaloneOSX:t,StandaloneWindows:n,StandaloneWindows64:n,StandaloneLinux64:e,PS4:e,XboxOne:e,Switch:e,Android:i,iOS:a,tvOS:e,Lumin:e,BJM:e,Stadia:e,WSAPlayer:e,Facebook:e}}get tag(){return Bw(`${this.version}-${this.builderPlatform}`,"-")}toString(){const{repository:e,name:r,tag:t}=this;return`${e}/${r}:${t}`}}const wO=t(470);class Input{static getFromUser(){const e=wO.getInput("unityVersion");const r=wO.getInput("targetPlatform");const t=wO.getInput("projectPath");const n=wO.getInput("buildName");const i=wO.getInput("buildsPath");const a=wO.getInput("buildMethod");return{unityVersion:e,targetPlatform:r,projectPath:t,buildName:n,buildsPath:i,buildMethod:a}}}const xO=t(470);async function src_action(){action_Action.checkCompatibility();const{unityVersion:e,targetPlatform:r,projectPath:t,buildName:n,buildsPath:i,buildMethod:a}=Input.getFromUser();const{dockerfile:o,workspace:u}=action_Action;const f=new image_Image({unityVersion:e,targetPlatform:r});const s=await docker_Docker.build({path:u,dockerfile:o,image:f});await docker_Docker.run(s,{projectPath:t,buildName:n,buildsPath:i,buildMethod:a})}src_action().catch(e=>{xO.setFailed(e.message)})},986:function(e,r,t){"use strict";var n=this&&this.__awaiter||function(e,r,t,n){function adopt(e){return e instanceof t?e:new t(function(r){r(e)})}return new(t||(t=Promise))(function(t,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,r||[])).next())})};Object.defineProperty(r,"__esModule",{value:true});const i=t(9);function exec(e,r,t){return n(this,void 0,void 0,function*(){const n=i.argStringToArray(e);if(n.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const a=n[0];r=n.slice(1).concat(r||[]);const o=new i.ToolRunner(a,r,t);return o.exec()})}r.exec=exec}},function(e){"use strict";!function(){e.r=function(e){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}}();!function(){var r=Object.prototype.hasOwnProperty;e.d=function(e,t,n){if(!r.call(e,t)){Object.defineProperty(e,t,{enumerable:true,get:n})}}}();!function(){e.t=function(r,t){if(t&1)r=this(r);if(t&8)return r;if(t&4&&typeof r==="object"&&r&&r.__esModule)return r;var n=Object.create(null);e.r(n);Object.defineProperty(n,"default",{enumerable:true,value:r});if(t&2&&typeof r!="string")for(var i in r)e.d(n,i,function(e){return r[e]}.bind(null,i));return n}}();!function(){e.n=function(r){var t=r&&r.__esModule?function getDefault(){return r["default"]}:function getModuleExports(){return r};e.d(t,"a",t);return t}}();!function(){e.hmd=function(e){e=Object.create(e);if(!e.children)e.children=[];Object.defineProperty(e,"loaded",{enumerable:true,get:function(){return e.l}});Object.defineProperty(e,"id",{enumerable:true,get:function(){return e.i}});Object.defineProperty(e,"exports",{enumerable:true,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}});return e}}()}); \ No newline at end of file diff --git a/dist/run-unity-builder.sh b/dist/run-unity-builder.sh deleted file mode 100644 index d045ab58..00000000 --- a/dist/run-unity-builder.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/sh - -# -# Input variables -# - -IMAGE_UNITY_VERSION=$1 -IMAGE_TARGET_PLATFORM=$2 -PROJECT_PATH=$3 -TARGET_PLATFORM=$4 -BUILD_NAME=$5 -BUILDS_PATH=$6 -BUILD_METHOD=$7 - -# -# Default variables -# - -# PROJECT_PATH = test-project -# BUILD_TARGET = -# BUILD_NAME = -# BUILDS_PATH = -# BUILD_METHOD = -# HOME = /home/runner -# GITHUB_REF = refs/pull/8/merge -# GITHUB_SHA = 0e697e1f2d80e0e8505c0e0dcff76d24bc7a4f36 -# GITHUB_REPOSITORY = webbertakken/unity-builder -# GITHUB_ACTOR = webbertakken -# GITHUB_WORKFLOW = Actions 😎 -# GITHUB_HEAD_REF = prepare-for-multi-target -# GITHUB_BASE_REF = master -# GITHUB_EVENT_NAME = pull_request -# GITHUB_WORKSPACE = /home/runner/work/unity-builder/unity-builder -# GITHUB_ACTION = self -# GITHUB_EVENT_PATH = /home/runner/work/_temp/_github_workflow/event.json -# RUNNER_OS = Linux -# RUNNER_TOOL_CACHE = /opt/hostedtoolcache -# RUNNER_TEMP = /home/runner/work/_temp -# RUNNER_WORKSPACE = /home/runner/work/unity-builder - -# -# Internal variables -# - -ACTION_ROOT=$(dirname $(dirname $(readlink -fm "$0"))) -DOCKER_IMAGE_TAG=unity-builder:$IMAGE_UNITY_VERSION-$IMAGE_TARGET_PLATFORM - -# TODO - Remove debug statements (after it is proven to work) - -echo "Listing ACTION_ROOT" -ls $ACTION_ROOT -echo "" -echo "Listing GITHUB_WORKSPACE" -ls $GITHUB_WORKSPACE -echo "" -echo "Listing RUNNER_WORKSPACE" -ls $RUNNER_WORKSPACE -echo "" - -# -# Build image -# - -echo "Building docker image for $IMAGE_UNITY_VERSION-$IMAGE_TARGET_PLATFORM" -docker build $GITHUB_WORKSPACE \ - --file $ACTION_ROOT/Dockerfile \ - --build-arg IMAGE_REPOSITORY=gableroux \ - --build-arg IMAGE_NAME=unity3d \ - --build-arg IMAGE_VERSION=$IMAGE_UNITY_VERSION-$IMAGE_TARGET_PLATFORM \ - --tag $DOCKER_IMAGE_TAG - -# -# Run specified container -# - -docker run \ - --workdir /github/workspace \ - --rm \ - --env PROJECT_PATH \ - --env BUILD_TARGET=$TARGET_PLATFORM \ - --env BUILD_NAME \ - --env BUILDS_PATH \ - --env BUILD_METHOD \ - --env HOME=/github/home \ - --env GITHUB_REF \ - --env GITHUB_SHA \ - --env GITHUB_REPOSITORY \ - --env GITHUB_ACTOR \ - --env GITHUB_WORKFLOW \ - --env GITHUB_HEAD_REF \ - --env GITHUB_BASE_REF \ - --env GITHUB_EVENT_NAME \ - --env GITHUB_WORKSPACE=/github/workspace \ - --env GITHUB_ACTION \ - --env GITHUB_EVENT_PATH \ - --env RUNNER_OS \ - --env RUNNER_TOOL_CACHE \ - --env RUNNER_TEMP \ - --env RUNNER_WORKSPACE \ - --volume "/var/run/docker.sock":"/var/run/docker.sock" \ - --volume "/home/runner/work/_temp/_github_home":"/github/home" \ - --volume "/home/runner/work/_temp/_github_workflow":"/github/workflow" \ - --volume "${PWD}":"/github/workspace" \ - $DOCKER_IMAGE_TAG diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 00000000..eed52d7e --- /dev/null +++ b/jest.config.js @@ -0,0 +1,8 @@ +const esModules = ['lodash-es'].join('|'); + +module.exports = { + testEnvironment: 'node', + moduleFileExtensions: ['js', 'jsx', 'json', 'vue'], + transform: { '^.+\\.(js|jsx)?$': 'babel-jest' }, + transformIgnorePatterns: [`/node_modules/(?!${esModules})`], +}; diff --git a/package.json b/package.json index 4cf7db46..a7713ee5 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,9 @@ "author": "Webber ", "license": "MIT", "scripts": { - "build": "ncc build src/index.js -o dist -m", - "watch": "yarn build -w", - "start": "node dist/index.js", + "build": "ncc build --out dist --minify", "lint": "prettier --check \"src/**/*.js\" && eslint src", - "test": "jest --passWithNoTests" + "test": "jest" }, "dependencies": { "@actions/core": "^1.2.0", @@ -21,6 +19,7 @@ "devDependencies": { "@babel/cli": "7.7.5", "@babel/core": "7.7.5", + "@babel/preset-env": "7.7.7", "@zeit/ncc": "0.20.5", "babel-eslint": "10.0.3", "eslint": "6.7.2", @@ -35,6 +34,7 @@ "husky": "4.0.0-beta.5", "jest": "24.9.0", "lint-staged": "9.5.0", + "lodash-es": "4.17.15", "prettier": "1.19.1" }, "husky": { diff --git a/src/index.js b/src/index.js index e276b9ca..9ecc8a2e 100644 --- a/src/index.js +++ b/src/index.js @@ -1,38 +1,26 @@ +import Action from './model/action'; +import Docker from './model/docker'; +import ImageTag from './model/image'; +import Input from './model/input'; + const core = require('@actions/core'); -const path = require('path'); -const { exec } = require('@actions/exec'); async function action() { - // Explicitly notify about platform support - if (process.platform !== 'linux') { - throw new Error('Currently only Linux-based platforms are supported'); - } + Action.checkCompatibility(); - // Input variables specified in workflows using "with" prop. - const projectPath = core.getInput('projectPath', { default: './' }); - const targetPlatform = core.getInput('targetPlatform', { default: 'WebGL' }); - const unityVersion = core.getInput('unityVersion', { default: '2019.2.11f1' }); - const buildName = core.getInput('buildName', { default: 'TestBuild' }); - const buildsPath = core.getInput('buildsPath', { default: 'build' }); - const buildMethod = core.getInput('buildMethod', { default: '' }); - - // Determine image - const IMAGE_UNITY_VERSION = unityVersion; - const IMAGE_TARGET_PLATFORM = targetPlatform.toLowerCase(); - - // Run appropriate docker image with given args - const bootstrapper = path.join(__dirname, 'run-unity-builder.sh'); - await exec(`ls ${bootstrapper}`); - await exec(`chmod +x ${bootstrapper}`); - await exec(bootstrapper, [ - IMAGE_UNITY_VERSION, - IMAGE_TARGET_PLATFORM, - projectPath, + const { + unityVersion, targetPlatform, + projectPath, buildName, buildsPath, buildMethod, - ]); + } = Input.getFromUser(); + + const { dockerfile, workspace } = Action; + const baseImage = new ImageTag({ unityVersion, targetPlatform }); + const builtImage = await Docker.build({ path: workspace, dockerfile, image: baseImage }); + await Docker.run(builtImage, { projectPath, buildName, buildsPath, buildMethod }); } action().catch(error => { diff --git a/src/model/action.js b/src/model/action.js new file mode 100644 index 00000000..e47cf913 --- /dev/null +++ b/src/model/action.js @@ -0,0 +1,30 @@ +import path from 'path'; + +export default class Action { + static get supportedPlatforms() { + return ['linux']; + } + + static get name() { + return 'unity-builder'; + } + + static get rootFolder() { + return path.dirname(path.dirname(__dirname)); + } + + static get dockerfile() { + return `${Action.rootFolder}/Dockerfile`; + } + + static get workspace() { + return process.env.GITHUB_WORKSPACE; + } + + static checkCompatibility() { + const currentPlatform = process.platform; + if (!Action.supportedPlatforms.includes(currentPlatform)) { + throw new Error(`Currently ${currentPlatform}-platform is not supported`); + } + } +} diff --git a/src/model/action.test.js b/src/model/action.test.js new file mode 100644 index 00000000..b72af5d4 --- /dev/null +++ b/src/model/action.test.js @@ -0,0 +1,20 @@ +import path from 'path'; +import Action from './action'; + +describe('Action', () => { + describe('compatibility check', () => { + it('throws for anything other than linux', () => { + if (process.platform !== 'linux') { + expect(() => Action.checkCompatibility()).toThrow(); + } else { + expect(() => Action.checkCompatibility()).not.toThrow(); + } + }); + }); + + it('returns the root folder of the action', () => { + const { rootFolder, name } = Action; + + expect(path.basename(rootFolder)).toStrictEqual(name); + }); +}); diff --git a/src/model/docker.js b/src/model/docker.js new file mode 100644 index 00000000..e3207d72 --- /dev/null +++ b/src/model/docker.js @@ -0,0 +1,57 @@ +import { exec } from '@actions/exec'; + +export default class Docker { + static async build(buildParameters) { + const { path = './', dockerfile, image } = buildParameters; + const tag = `unity-builder:${image.tag}`; + + await exec('pwd'); + await exec('ls -alh'); + await exec(`ls -alh ${path}`); + await exec(` + docker build ${path} + --file ${dockerfile} + --build-arg IMAGE=${image} + --tag ${tag} + `); + + return tag; + } + + static async run(image, parameters) { + const { GITHUB_WORKSPACE } = process.env; + const { projectPath, buildName, buildsPath, buildMethod } = parameters; + + await exec(` + docker run \ + --workdir /github/workspace \ + --rm \ + --env PROJECT_PATH=${projectPath} \ + --env BUILD_TARGET=${image.targetPlatform} \ + --env BUILD_NAME=${buildName} \ + --env BUILDS_PATH=${buildsPath} \ + --env BUILD_METHOD=${buildMethod} \ + --env HOME=/github/home \ + --env GITHUB_REF \ + --env GITHUB_SHA \ + --env GITHUB_REPOSITORY \ + --env GITHUB_ACTOR \ + --env GITHUB_WORKFLOW \ + --env GITHUB_HEAD_REF \ + --env GITHUB_BASE_REF \ + --env GITHUB_EVENT_NAME \ + --env GITHUB_WORKSPACE=/github/workspace \ + --env GITHUB_ACTION \ + --env GITHUB_EVENT_PATH \ + --env RUNNER_OS \ + --env RUNNER_TOOL_CACHE \ + --env RUNNER_TEMP \ + --env RUNNER_WORKSPACE \ + --volume "/var/run/docker.sock":"/var/run/docker.sock" \ + --volume "/home/runner/work/_temp/_github_home":"/github/home" \ + --volume "/home/runner/work/_temp/_github_workflow":"/github/workflow" \ + --volume "${GITHUB_WORKSPACE}":"/github/workspace" \ + ${image} + `); + } +} diff --git a/src/model/docker.test.js b/src/model/docker.test.js new file mode 100644 index 00000000..0a88dcb2 --- /dev/null +++ b/src/model/docker.test.js @@ -0,0 +1,15 @@ +import Action from './action'; +import Docker from './docker'; +import Image from './image'; + +describe('Docker', () => { + it('builds', async () => { + const tag = await Docker.build({ + // path: Action.rootFolder, + dockerfile: `${Action.rootFolder}/Dockerfile`, + image: new Image({ version: '2019.2.11f1', targetPlatform: 'WebGL' }), + }); + + expect(tag).toStrictEqual('unity-builder:2019.2.11f1-webgl'); + }); +}); diff --git a/src/model/image.js b/src/model/image.js new file mode 100644 index 00000000..951aca53 --- /dev/null +++ b/src/model/image.js @@ -0,0 +1,76 @@ +import { has, get, trimEnd } from 'lodash-es'; + +export default class Image { + constructor(imageProperties) { + const { + repository = 'gableroux', + name = 'unity3d', + version = '2019.2.11f1', + targetPlatform, + } = imageProperties; + + if (!Image.versionPattern.test(version)) { + throw new Error(`Invalid version "${version}".`); + } + + if (!has(Image.targetPlatformToBuilderPlatformMap, targetPlatform)) { + throw new Error(`Platform "${targetPlatform}" is currently not supported.`); + } + + const builderPlatform = get( + Image.targetPlatformToBuilderPlatformMap, + targetPlatform, + Image.builderPlatforms.generic, + ); + + Object.assign(this, { repository, name, version, targetPlatform, builderPlatform }); + } + + static get versionPattern() { + return /^20\d{2}\.\d\.\w{4}$/; + } + + static get builderPlatforms() { + return { + generic: '', + webgl: 'webgl', + mac: 'mac', + windows: 'windows', + android: 'android', + ios: 'ios', + }; + } + + static get targetPlatformToBuilderPlatformMap() { + const { generic, webgl, mac, windows, android, ios } = Image.builderPlatforms; + + return { + WebGL: webgl, + StandaloneOSX: mac, + StandaloneWindows: windows, + StandaloneWindows64: windows, + StandaloneLinux64: generic, + PS4: generic, + XboxOne: generic, + Switch: generic, + Android: android, + iOS: ios, + tvOS: generic, + Lumin: generic, + BJM: generic, + Stadia: generic, + WSAPlayer: generic, + Facebook: generic, + }; + } + + get tag() { + return trimEnd(`${this.version}-${this.builderPlatform}`, '-'); + } + + toString() { + const { repository, name, tag } = this; + + return `${repository}/${name}:${tag}`; + } +} diff --git a/src/model/image.test.js b/src/model/image.test.js new file mode 100644 index 00000000..5af04c22 --- /dev/null +++ b/src/model/image.test.js @@ -0,0 +1,66 @@ +import Image from './image'; + +describe('UnityImageVersion', () => { + const some = { + repository: 'test1', + name: 'test2', + version: '2099.9.f9f9', + targetPlatform: 'Stadia', + builderPlatform: '', + }; + + const defaults = { + repository: 'gableroux', + name: 'unity3d', + image: 'gableroux/unity3d', + }; + + describe('constructor', () => { + it('can be called', () => { + expect(() => new Image({ targetPlatform: some.targetPlatform })).not.toThrow(); + }); + + it('accepts parameters and sets the right properties', () => { + const image = new Image(some); + + expect(image.repository).toStrictEqual(some.repository); + expect(image.name).toStrictEqual(some.name); + expect(image.version).toStrictEqual(some.version); + expect(image.targetPlatform).toStrictEqual(some.targetPlatform); + expect(image.builderPlatform).toStrictEqual(some.builderPlatform); + }); + + it('throws for incorrect versions', () => { + const { targetPlatform } = some; + expect(() => new Image({ version: 'some version', targetPlatform })).toThrow(); + expect(() => new Image({ version: '', targetPlatform })).toThrow(); + expect(() => new Image({ version: 1, targetPlatform })).toThrow(); + expect(() => new Image({ version: null, targetPlatform })).toThrow(); + }); + + it('throws for incorrect or unsupported targets', () => { + expect(() => new Image({ targetPlatform: undefined })).toThrow(); + expect(() => new Image({ targetPlatform: 'nonExisting' })).toThrow(); + }); + }); + + describe('toString', () => { + it('returns the correct version', () => { + const image = new Image({ version: '2099.1.1111', targetPlatform: some.targetPlatform }); + + expect(image.toString()).toStrictEqual(`${defaults.image}:2099.1.1111`); + }); + + it('returns the specific build platform', () => { + const image = new Image({ version: '2019.2.11f1', targetPlatform: 'WebGL' }); + + expect(image.toString()).toStrictEqual(`${defaults.image}:2019.2.11f1-webgl`); + }); + + it('returns no specific build platform for generic targetPlatforms', () => { + const image = new Image({ targetPlatform: 'Stadia' }); + + expect(image.toString()).toStrictEqual(`${defaults.image}:2019.2.11f1`); + }); + }); +}); diff --git a/src/model/input.js b/src/model/input.js new file mode 100644 index 00000000..816213c7 --- /dev/null +++ b/src/model/input.js @@ -0,0 +1,22 @@ +const core = require('@actions/core'); + +export default class Input { + static getFromUser() { + // Input variables specified in workflows using "with" prop. + const unityVersion = core.getInput('unityVersion'); + const targetPlatform = core.getInput('targetPlatform'); + const projectPath = core.getInput('projectPath'); + const buildName = core.getInput('buildName'); + const buildsPath = core.getInput('buildsPath'); + const buildMethod = core.getInput('buildMethod'); + + return { + unityVersion, + targetPlatform, + projectPath, + buildName, + buildsPath, + buildMethod, + }; + } +} diff --git a/src/run-unity-builder.sh b/src/run-unity-builder.sh index d045ab58..79d0d694 100644 --- a/src/run-unity-builder.sh +++ b/src/run-unity-builder.sh @@ -60,6 +60,7 @@ echo "" # # Build image # +echo "some test" echo "Building docker image for $IMAGE_UNITY_VERSION-$IMAGE_TARGET_PLATFORM" docker build $GITHUB_WORKSPACE \ diff --git a/yarn.lock b/yarn.lock index 94d3066a..7408626d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,6 +80,55 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/helper-annotate-as-pure@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" + integrity sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og== + dependencies: + "@babel/types" "^7.7.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f" + integrity sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.7.4" + "@babel/types" "^7.7.4" + +"@babel/helper-call-delegate@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" + integrity sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA== + dependencies: + "@babel/helper-hoist-variables" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@babel/types" "^7.7.4" + +"@babel/helper-create-regexp-features-plugin@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59" + integrity sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A== + dependencies: + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.6.0" + +"@babel/helper-define-map@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" + integrity sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg== + dependencies: + "@babel/helper-function-name" "^7.7.4" + "@babel/types" "^7.7.4" + lodash "^4.17.13" + +"@babel/helper-explode-assignable-expression@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84" + integrity sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg== + dependencies: + "@babel/traverse" "^7.7.4" + "@babel/types" "^7.7.4" + "@babel/helper-function-name@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e" @@ -96,11 +145,87 @@ dependencies: "@babel/types" "^7.7.4" +"@babel/helper-hoist-variables@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" + integrity sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ== + dependencies: + "@babel/types" "^7.7.4" + +"@babel/helper-member-expression-to-functions@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74" + integrity sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw== + dependencies: + "@babel/types" "^7.7.4" + +"@babel/helper-module-imports@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91" + integrity sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ== + dependencies: + "@babel/types" "^7.7.4" + +"@babel/helper-module-transforms@^7.7.4", "@babel/helper-module-transforms@^7.7.5": + version "7.7.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835" + integrity sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw== + dependencies: + "@babel/helper-module-imports" "^7.7.4" + "@babel/helper-simple-access" "^7.7.4" + "@babel/helper-split-export-declaration" "^7.7.4" + "@babel/template" "^7.7.4" + "@babel/types" "^7.7.4" + lodash "^4.17.13" + +"@babel/helper-optimise-call-expression@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" + integrity sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg== + dependencies: + "@babel/types" "^7.7.4" + "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== +"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" + integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== + dependencies: + lodash "^4.17.13" + +"@babel/helper-remap-async-to-generator@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234" + integrity sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.7.4" + "@babel/helper-wrap-function" "^7.7.4" + "@babel/template" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@babel/types" "^7.7.4" + +"@babel/helper-replace-supers@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2" + integrity sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.7.4" + "@babel/helper-optimise-call-expression" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@babel/types" "^7.7.4" + +"@babel/helper-simple-access@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" + integrity sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A== + dependencies: + "@babel/template" "^7.7.4" + "@babel/types" "^7.7.4" + "@babel/helper-split-export-declaration@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8" @@ -108,6 +233,16 @@ dependencies: "@babel/types" "^7.7.4" +"@babel/helper-wrap-function@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" + integrity sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg== + dependencies: + "@babel/helper-function-name" "^7.7.4" + "@babel/template" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@babel/types" "^7.7.4" + "@babel/helpers@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" @@ -131,13 +266,398 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71" integrity sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig== -"@babel/plugin-syntax-object-rest-spread@^7.0.0": +"@babel/plugin-proposal-async-generator-functions@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" + integrity sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.7.4" + "@babel/plugin-syntax-async-generators" "^7.7.4" + +"@babel/plugin-proposal-dynamic-import@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d" + integrity sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.7.4" + +"@babel/plugin-proposal-json-strings@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" + integrity sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-json-strings" "^7.7.4" + +"@babel/plugin-proposal-object-rest-spread@^7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz#9f27075004ab99be08c5c1bd653a2985813cb370" + integrity sha512-3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.7.4" + +"@babel/plugin-proposal-optional-catch-binding@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379" + integrity sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz#433fa9dac64f953c12578b29633f456b68831c4e" + integrity sha512-80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-async-generators@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889" + integrity sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-dynamic-import@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec" + integrity sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-json-strings@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc" + integrity sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" integrity sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-optional-catch-binding@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6" + integrity sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-top-level-await@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da" + integrity sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-arrow-functions@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12" + integrity sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-async-to-generator@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba" + integrity sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg== + dependencies: + "@babel/helper-module-imports" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.7.4" + +"@babel/plugin-transform-block-scoped-functions@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b" + integrity sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-block-scoping@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224" + integrity sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.13" + +"@babel/plugin-transform-classes@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec" + integrity sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.7.4" + "@babel/helper-define-map" "^7.7.4" + "@babel/helper-function-name" "^7.7.4" + "@babel/helper-optimise-call-expression" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.7.4" + "@babel/helper-split-export-declaration" "^7.7.4" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" + integrity sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-destructuring@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267" + integrity sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-dotall-regex@^7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz#3e9713f1b69f339e87fa796b097d73ded16b937b" + integrity sha512-b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-duplicate-keys@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" + integrity sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-exponentiation-operator@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9" + integrity sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-for-of@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc" + integrity sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-function-name@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" + integrity sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g== + dependencies: + "@babel/helper-function-name" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-literals@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e" + integrity sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-member-expression-literals@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a" + integrity sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-amd@^7.7.5": + version "7.7.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c" + integrity sha512-CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ== + dependencies: + "@babel/helper-module-transforms" "^7.7.5" + "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-commonjs@^7.7.5": + version "7.7.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345" + integrity sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q== + dependencies: + "@babel/helper-module-transforms" "^7.7.5" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.7.4" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-systemjs@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" + integrity sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw== + dependencies: + "@babel/helper-hoist-variables" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-umd@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" + integrity sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw== + dependencies: + "@babel/helper-module-transforms" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" + integrity sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.7.4" + +"@babel/plugin-transform-new-target@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167" + integrity sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-object-super@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262" + integrity sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.7.4" + +"@babel/plugin-transform-parameters@^7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz#7a884b2460164dc5f194f668332736584c760007" + integrity sha512-OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew== + dependencies: + "@babel/helper-call-delegate" "^7.7.4" + "@babel/helper-get-function-arity" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-property-literals@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" + integrity sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-regenerator@^7.7.5": + version "7.7.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9" + integrity sha512-/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw== + dependencies: + regenerator-transform "^0.14.0" + +"@babel/plugin-transform-reserved-words@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" + integrity sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-shorthand-properties@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" + integrity sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-spread@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578" + integrity sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-sticky-regex@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c" + integrity sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + +"@babel/plugin-transform-template-literals@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604" + integrity sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-typeof-symbol@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e" + integrity sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-unicode-regex@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae" + integrity sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/preset-env@7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.7.tgz#c294167b91e53e7e36d820e943ece8d0c7fe46ac" + integrity sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg== + dependencies: + "@babel/helper-module-imports" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.7.4" + "@babel/plugin-proposal-dynamic-import" "^7.7.4" + "@babel/plugin-proposal-json-strings" "^7.7.4" + "@babel/plugin-proposal-object-rest-spread" "^7.7.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.7.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.7.7" + "@babel/plugin-syntax-async-generators" "^7.7.4" + "@babel/plugin-syntax-dynamic-import" "^7.7.4" + "@babel/plugin-syntax-json-strings" "^7.7.4" + "@babel/plugin-syntax-object-rest-spread" "^7.7.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" + "@babel/plugin-syntax-top-level-await" "^7.7.4" + "@babel/plugin-transform-arrow-functions" "^7.7.4" + "@babel/plugin-transform-async-to-generator" "^7.7.4" + "@babel/plugin-transform-block-scoped-functions" "^7.7.4" + "@babel/plugin-transform-block-scoping" "^7.7.4" + "@babel/plugin-transform-classes" "^7.7.4" + "@babel/plugin-transform-computed-properties" "^7.7.4" + "@babel/plugin-transform-destructuring" "^7.7.4" + "@babel/plugin-transform-dotall-regex" "^7.7.7" + "@babel/plugin-transform-duplicate-keys" "^7.7.4" + "@babel/plugin-transform-exponentiation-operator" "^7.7.4" + "@babel/plugin-transform-for-of" "^7.7.4" + "@babel/plugin-transform-function-name" "^7.7.4" + "@babel/plugin-transform-literals" "^7.7.4" + "@babel/plugin-transform-member-expression-literals" "^7.7.4" + "@babel/plugin-transform-modules-amd" "^7.7.5" + "@babel/plugin-transform-modules-commonjs" "^7.7.5" + "@babel/plugin-transform-modules-systemjs" "^7.7.4" + "@babel/plugin-transform-modules-umd" "^7.7.4" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4" + "@babel/plugin-transform-new-target" "^7.7.4" + "@babel/plugin-transform-object-super" "^7.7.4" + "@babel/plugin-transform-parameters" "^7.7.7" + "@babel/plugin-transform-property-literals" "^7.7.4" + "@babel/plugin-transform-regenerator" "^7.7.5" + "@babel/plugin-transform-reserved-words" "^7.7.4" + "@babel/plugin-transform-shorthand-properties" "^7.7.4" + "@babel/plugin-transform-spread" "^7.7.4" + "@babel/plugin-transform-sticky-regex" "^7.7.4" + "@babel/plugin-transform-template-literals" "^7.7.4" + "@babel/plugin-transform-typeof-symbol" "^7.7.4" + "@babel/plugin-transform-unicode-regex" "^7.7.4" + "@babel/types" "^7.7.4" + browserslist "^4.6.0" + core-js-compat "^3.6.0" + invariant "^2.2.2" + js-levenshtein "^1.1.3" + semver "^5.5.0" + "@babel/runtime-corejs3@^7.7.4": version "7.7.6" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.7.6.tgz#5b1044ea11b659d288f77190e19c62da959ed9a3" @@ -809,6 +1329,13 @@ babel-jest@^24.9.0: chalk "^2.4.2" slash "^2.0.0" +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== + dependencies: + object.assign "^4.1.0" + babel-plugin-istanbul@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" @@ -919,6 +1446,15 @@ browser-resolve@^1.11.3: dependencies: resolve "1.1.7" +browserslist@^4.6.0, browserslist@^4.8.2: + version "4.8.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289" + integrity sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA== + dependencies: + caniuse-lite "^1.0.30001015" + electron-to-chromium "^1.3.322" + node-releases "^1.1.42" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -980,6 +1516,11 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +caniuse-lite@^1.0.30001015: + version "1.0.30001016" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001016.tgz#16ea48d7d6e8caf3cad3295c2d746fe38c4e7f66" + integrity sha512-yYQ2QfotceRiH4U+h1Us86WJXtVHDmy3nEKIdYPsZCYnOV5/tMgGbmoIlrMzmh2VXlproqYtVaKeGDBkMZifFA== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -1178,6 +1719,14 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +core-js-compat@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.0.tgz#4eb6cb69d03d99159ed7c860cd5fcf7d23a62ea9" + integrity sha512-Z3eCNjGgoYluH89Jt4wVkfYsc/VdLrA2/woX5lm0isO/pCT+P+Y+o65bOuEnjDJLthdwTBxbCVzptTXtc18fJg== + dependencies: + browserslist "^4.8.2" + semver "7.0.0" + core-js-pure@^3.0.0: version "3.5.0" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.5.0.tgz#f63c7f2b245e7d678e73f87ad28505480554d70e" @@ -1397,6 +1946,11 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +electron-to-chromium@^1.3.322: + version "1.3.322" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" + integrity sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -2343,7 +2897,7 @@ inquirer@^7.0.0: strip-ansi "^5.1.0" through "^2.3.6" -invariant@^2.2.4: +invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -3016,6 +3570,11 @@ jest@24.9.0: import-local "^2.0.0" jest-cli "^24.9.0" +js-levenshtein@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -3071,6 +3630,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -3280,6 +3844,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash-es@4.17.15: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78" + integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ== + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -3581,6 +4150,13 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" +node-releases@^1.1.42: + version "1.1.43" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.43.tgz#2c6ca237f88ce11d49631f11190bb01f8d0549f2" + integrity sha512-Rmfnj52WNhvr83MvuAWHEqXVoZXCcDQssSOffU4n4XOL9sPrP61mSZ88g25NqmABDvH7PiAlFCzoSCSdzA293w== + dependencies: + semver "^6.3.0" + normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -4054,6 +4630,11 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" +private@^0.1.6: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -4196,11 +4777,30 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" +regenerate-unicode-properties@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + regenerator-runtime@^0.13.2: version "0.13.3" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== +regenerator-transform@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" + integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== + dependencies: + private "^0.1.6" + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -4224,6 +4824,30 @@ regexpp@^3.0.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== +regexpu-core@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" + integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.1.0" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.1.0" + +regjsgen@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" + integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== + +regjsparser@^0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.2.tgz#fd62c753991467d9d1ffe0a9f67f27a529024b96" + integrity sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q== + dependencies: + jsesc "~0.5.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -4460,6 +5084,11 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -4984,6 +5613,29 @@ uglify-js@^3.1.4: commander "~2.20.3" source-map "~0.6.1" +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" + integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"