Revert package updates

9c4ab7b · Jonathan Clem · 2020-09-16 19:09

3 files +2468 -7661

Files changed

modified dist/index.js
+2229 −2770
@@ -650,2106 +650,1769 @@ class ExecState extends events.EventEmitter {
650 650
651 651 /***/ }),
652 652
653 /***/ 16:
654 /***/ (function(module, __unusedexports, __webpack_require__) {
655
656 const SemVer = __webpack_require__(65)
657 const compareBuild = (a, b, loose) => {
658 const versionA = new SemVer(a, loose)
659 const versionB = new SemVer(b, loose)
660 return versionA.compare(versionB) || versionA.compareBuild(versionB)
661 }
662 module.exports = compareBuild
653 +/***/ 87:
654 +/***/ (function(module) {
663 655
656 +module.exports = require("os");
664 657
665 658 /***/ }),
666 659
667 /***/ 65:
668 /***/ (function(module, __unusedexports, __webpack_require__) {
669
670 const debug = __webpack_require__(548)
671 const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(181)
672 const { re, t } = __webpack_require__(976)
673
674 const { compareIdentifiers } = __webpack_require__(760)
675 class SemVer {
676 constructor (version, options) {
677 if (!options || typeof options !== 'object') {
678 options = {
679 loose: !!options,
680 includePrerelease: false
681 }
682 }
683 if (version instanceof SemVer) {
684 if (version.loose === !!options.loose &&
685 version.includePrerelease === !!options.includePrerelease) {
686 return version
687 } else {
688 version = version.version
689 }
690 } else if (typeof version !== 'string') {
691 throw new TypeError(`Invalid Version: ${version}`)
692 }
693
694 if (version.length > MAX_LENGTH) {
695 throw new TypeError(
696 `version is longer than ${MAX_LENGTH} characters`
697 )
698 }
699
700 debug('SemVer', version, options)
701 this.options = options
702 this.loose = !!options.loose
703 // this isn't actually relevant for versions, but keep it so that we
704 // don't run into trouble passing this.options around.
705 this.includePrerelease = !!options.includePrerelease
706
707 const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
708
709 if (!m) {
710 throw new TypeError(`Invalid Version: ${version}`)
711 }
712
713 this.raw = version
660 +/***/ 129:
661 +/***/ (function(module) {
714 662
715 // these are actually numbers
716 this.major = +m[1]
717 this.minor = +m[2]
718 this.patch = +m[3]
663 +module.exports = require("child_process");
719 664
720 if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
721 throw new TypeError('Invalid major version')
722 }
665 +/***/ }),
723 666
724 if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
725 throw new TypeError('Invalid minor version')
726 }
667 +/***/ 194:
668 +/***/ (function(__unusedmodule, exports, __webpack_require__) {
727 669
728 if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
729 throw new TypeError('Invalid patch version')
730 }
670 +"use strict";
731 671
732 // numberify any prerelease numeric ids
733 if (!m[4]) {
734 this.prerelease = []
735 } else {
736 this.prerelease = m[4].split('.').map((id) => {
737 if (/^[0-9]+$/.test(id)) {
738 const num = +id
739 if (num >= 0 && num < MAX_SAFE_INTEGER) {
740 return num
741 }
672 +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
673 + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
674 + return new (P || (P = Promise))(function (resolve, reject) {
675 + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
676 + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
677 + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
678 + step((generator = generator.apply(thisArg, _arguments || [])).next());
679 + });
680 +};
681 +Object.defineProperty(exports, "__esModule", { value: true });
682 +const childProcess = __webpack_require__(129);
683 +const path = __webpack_require__(622);
684 +const util_1 = __webpack_require__(669);
685 +const ioUtil = __webpack_require__(408);
686 +const exec = util_1.promisify(childProcess.exec);
687 +/**
688 + * Copies a file or folder.
689 + * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
690 + *
691 + * @param source source path
692 + * @param dest destination path
693 + * @param options optional. See CopyOptions.
694 + */
695 +function cp(source, dest, options = {}) {
696 + return __awaiter(this, void 0, void 0, function* () {
697 + const { force, recursive } = readCopyOptions(options);
698 + const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null;
699 + // Dest is an existing file, but not forcing
700 + if (destStat && destStat.isFile() && !force) {
701 + return;
742 702 }
743 return id
744 })
745 }
746
747 this.build = m[5] ? m[5].split('.') : []
748 this.format()
749 }
750
751 format () {
752 this.version = `${this.major}.${this.minor}.${this.patch}`
753 if (this.prerelease.length) {
754 this.version += `-${this.prerelease.join('.')}`
755 }
756 return this.version
757 }
758
759 toString () {
760 return this.version
761 }
762
763 compare (other) {
764 debug('SemVer.compare', this.version, this.options, other)
765 if (!(other instanceof SemVer)) {
766 if (typeof other === 'string' && other === this.version) {
767 return 0
768 }
769 other = new SemVer(other, this.options)
770 }
771
772 if (other.version === this.version) {
773 return 0
774 }
775
776 return this.compareMain(other) || this.comparePre(other)
777 }
778
779 compareMain (other) {
780 if (!(other instanceof SemVer)) {
781 other = new SemVer(other, this.options)
782 }
783
784 return (
785 compareIdentifiers(this.major, other.major) ||
786 compareIdentifiers(this.minor, other.minor) ||
787 compareIdentifiers(this.patch, other.patch)
788 )
789 }
790
791 comparePre (other) {
792 if (!(other instanceof SemVer)) {
793 other = new SemVer(other, this.options)
794 }
795
796 // NOT having a prerelease is > having one
797 if (this.prerelease.length && !other.prerelease.length) {
798 return -1
799 } else if (!this.prerelease.length && other.prerelease.length) {
800 return 1
801 } else if (!this.prerelease.length && !other.prerelease.length) {
802 return 0
803 }
804
805 let i = 0
806 do {
807 const a = this.prerelease[i]
808 const b = other.prerelease[i]
809 debug('prerelease compare', i, a, b)
810 if (a === undefined && b === undefined) {
811 return 0
812 } else if (b === undefined) {
813 return 1
814 } else if (a === undefined) {
815 return -1
816 } else if (a === b) {
817 continue
818 } else {
819 return compareIdentifiers(a, b)
820 }
821 } while (++i)
822 }
823
824 compareBuild (other) {
825 if (!(other instanceof SemVer)) {
826 other = new SemVer(other, this.options)
827 }
828
829 let i = 0
830 do {
831 const a = this.build[i]
832 const b = other.build[i]
833 debug('prerelease compare', i, a, b)
834 if (a === undefined && b === undefined) {
835 return 0
836 } else if (b === undefined) {
837 return 1
838 } else if (a === undefined) {
839 return -1
840 } else if (a === b) {
841 continue
842 } else {
843 return compareIdentifiers(a, b)
844 }
845 } while (++i)
846 }
847
848 // preminor will bump the version up to the next minor release, and immediately
849 // down to pre-release. premajor and prepatch work the same way.
850 inc (release, identifier) {
851 switch (release) {
852 case 'premajor':
853 this.prerelease.length = 0
854 this.patch = 0
855 this.minor = 0
856 this.major++
857 this.inc('pre', identifier)
858 break
859 case 'preminor':
860 this.prerelease.length = 0
861 this.patch = 0
862 this.minor++
863 this.inc('pre', identifier)
864 break
865 case 'prepatch':
866 // If this is already a prerelease, it will bump to the next version
867 // drop any prereleases that might already exist, since they are not
868 // relevant at this point.
869 this.prerelease.length = 0
870 this.inc('patch', identifier)
871 this.inc('pre', identifier)
872 break
873 // If the input is a non-prerelease version, this acts the same as
874 // prepatch.
875 case 'prerelease':
876 if (this.prerelease.length === 0) {
877 this.inc('patch', identifier)
878 }
879 this.inc('pre', identifier)
880 break
881
882 case 'major':
883 // If this is a pre-major version, bump up to the same major version.
884 // Otherwise increment major.
885 // 1.0.0-5 bumps to 1.0.0
886 // 1.1.0 bumps to 2.0.0
887 if (
888 this.minor !== 0 ||
889 this.patch !== 0 ||
890 this.prerelease.length === 0
891 ) {
892 this.major++
893 }
894 this.minor = 0
895 this.patch = 0
896 this.prerelease = []
897 break
898 case 'minor':
899 // If this is a pre-minor version, bump up to the same minor version.
900 // Otherwise increment minor.
901 // 1.2.0-5 bumps to 1.2.0
902 // 1.2.1 bumps to 1.3.0
903 if (this.patch !== 0 || this.prerelease.length === 0) {
904 this.minor++
905 }
906 this.patch = 0
907 this.prerelease = []
908 break
909 case 'patch':
910 // If this is not a pre-release version, it will increment the patch.
911 // If it is a pre-release it will bump up to the same patch version.
912 // 1.2.0-5 patches to 1.2.0
913 // 1.2.0 patches to 1.2.1
914 if (this.prerelease.length === 0) {
915 this.patch++
916 }
917 this.prerelease = []
918 break
919 // This probably shouldn't be used publicly.
920 // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
921 case 'pre':
922 if (this.prerelease.length === 0) {
923 this.prerelease = [0]
924 } else {
925 let i = this.prerelease.length
926 while (--i >= 0) {
927 if (typeof this.prerelease[i] === 'number') {
928 this.prerelease[i]++
929 i = -2
703 + // If dest is an existing directory, should copy inside.
704 + const newDest = destStat && destStat.isDirectory()
705 + ? path.join(dest, path.basename(source))
706 + : dest;
707 + if (!(yield ioUtil.exists(source))) {
708 + throw new Error(`no such file or directory: ${source}`);
709 + }
710 + const sourceStat = yield ioUtil.stat(source);
711 + if (sourceStat.isDirectory()) {
712 + if (!recursive) {
713 + throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`);
714 + }
715 + else {
716 + yield cpDirRecursive(source, newDest, 0, force);
930 717 }
931 }
932 if (i === -1) {
933 // didn't increment anything
934 this.prerelease.push(0)
935 }
936 718 }
937 if (identifier) {
938 // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
939 // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
940 if (this.prerelease[0] === identifier) {
941 if (isNaN(this.prerelease[1])) {
942 this.prerelease = [identifier, 0]
719 + else {
720 + if (path.relative(source, newDest) === '') {
721 + // a file cannot be copied to itself
722 + throw new Error(`'${newDest}' and '${source}' are the same file`);
943 723 }
944 } else {
945 this.prerelease = [identifier, 0]
946 }
724 + yield copyFile(source, newDest, force);
947 725 }
948 break
949
950 default:
951 throw new Error(`invalid increment argument: ${release}`)
952 }
953 this.format()
954 this.raw = this.version
955 return this
956 }
957 }
958
959 module.exports = SemVer
960
961
962 /***/ }),
963
964 /***/ 87:
965 /***/ (function(module) {
966
967 module.exports = require("os");
968
969 /***/ }),
970
971 /***/ 120:
972 /***/ (function(module, __unusedexports, __webpack_require__) {
973
974 const compareBuild = __webpack_require__(16)
975 const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
976 module.exports = sort
977
978
979 /***/ }),
980
981 /***/ 124:
982 /***/ (function(module, __unusedexports, __webpack_require__) {
983
984 // hoisted class for cyclic dependency
985 class Range {
986 constructor (range, options) {
987 if (!options || typeof options !== 'object') {
988 options = {
989 loose: !!options,
990 includePrerelease: false
991 }
992 }
993
994 if (range instanceof Range) {
995 if (
996 range.loose === !!options.loose &&
997 range.includePrerelease === !!options.includePrerelease
998 ) {
999 return range
1000 } else {
1001 return new Range(range.raw, options)
1002 }
1003 }
1004
1005 if (range instanceof Comparator) {
1006 // just put it in the set and return
1007 this.raw = range.value
1008 this.set = [[range]]
1009 this.format()
1010 return this
1011 }
1012
1013 this.options = options
1014 this.loose = !!options.loose
1015 this.includePrerelease = !!options.includePrerelease
1016
1017 // First, split based on boolean or ||
1018 this.raw = range
1019 this.set = range
1020 .split(/\s*\|\|\s*/)
1021 // map the range to a 2d array of comparators
1022 .map(range => this.parseRange(range.trim()))
1023 // throw out any comparator lists that are empty
1024 // this generally means that it was not a valid range, which is allowed
1025 // in loose mode, but will still throw if the WHOLE range is invalid.
1026 .filter(c => c.length)
1027
1028 if (!this.set.length) {
1029 throw new TypeError(`Invalid SemVer Range: ${range}`)
1030 }
1031
1032 this.format()
1033 }
1034
1035 format () {
1036 this.range = this.set
1037 .map((comps) => {
1038 return comps.join(' ').trim()
1039 })
1040 .join('||')
1041 .trim()
1042 return this.range
1043 }
1044
1045 toString () {
1046 return this.range
1047 }
1048
1049 parseRange (range) {
1050 const loose = this.options.loose
1051 range = range.trim()
1052 // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
1053 const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
1054 range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
1055 debug('hyphen replace', range)
1056 // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
1057 range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
1058 debug('comparator trim', range, re[t.COMPARATORTRIM])
1059
1060 // `~ 1.2.3` => `~1.2.3`
1061 range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
1062
1063 // `^ 1.2.3` => `^1.2.3`
1064 range = range.replace(re[t.CARETTRIM], caretTrimReplace)
1065
1066 // normalize spaces
1067 range = range.split(/\s+/).join(' ')
1068
1069 // At this point, the range is completely trimmed and
1070 // ready to be split into comparators.
1071
1072 const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
1073 return range
1074 .split(' ')
1075 .map(comp => parseComparator(comp, this.options))
1076 .join(' ')
1077 .split(/\s+/)
1078 .map(comp => replaceGTE0(comp, this.options))
1079 // in loose mode, throw out any that are not valid comparators
1080 .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)
1081 .map(comp => new Comparator(comp, this.options))
1082 }
1083
1084 intersects (range, options) {
1085 if (!(range instanceof Range)) {
1086 throw new TypeError('a Range is required')
1087 }
1088
1089 return this.set.some((thisComparators) => {
1090 return (
1091 isSatisfiable(thisComparators, options) &&
1092 range.set.some((rangeComparators) => {
1093 return (
1094 isSatisfiable(rangeComparators, options) &&
1095 thisComparators.every((thisComparator) => {
1096 return rangeComparators.every((rangeComparator) => {
1097 return thisComparator.intersects(rangeComparator, options)
1098 })
1099 })
1100 )
1101 })
1102 )
1103 })
1104 }
1105
1106 // if ANY of the sets match ALL of its comparators, then pass
1107 test (version) {
1108 if (!version) {
1109 return false
1110 }
1111
1112 if (typeof version === 'string') {
1113 try {
1114 version = new SemVer(version, this.options)
1115 } catch (er) {
1116 return false
1117 }
1118 }
1119
1120 for (let i = 0; i < this.set.length; i++) {
1121 if (testSet(this.set[i], version, this.options)) {
1122 return true
1123 }
1124 }
1125 return false
1126 }
726 + });
1127 727 }
1128 module.exports = Range
1129
1130 const Comparator = __webpack_require__(174)
1131 const debug = __webpack_require__(548)
1132 const SemVer = __webpack_require__(65)
1133 const {
1134 re,
1135 t,
1136 comparatorTrimReplace,
1137 tildeTrimReplace,
1138 caretTrimReplace
1139 } = __webpack_require__(976)
1140
1141 // take a set of comparators and determine whether there
1142 // exists a version which can satisfy it
1143 const isSatisfiable = (comparators, options) => {
1144 let result = true
1145 const remainingComparators = comparators.slice()
1146 let testComparator = remainingComparators.pop()
1147
1148 while (result && remainingComparators.length) {
1149 result = remainingComparators.every((otherComparator) => {
1150 return testComparator.intersects(otherComparator, options)
1151 })
1152
1153 testComparator = remainingComparators.pop()
1154 }
1155
1156 return result
728 +exports.cp = cp;
729 +/**
730 + * Moves a path.
731 + *
732 + * @param source source path
733 + * @param dest destination path
734 + * @param options optional. See MoveOptions.
735 + */
736 +function mv(source, dest, options = {}) {
737 + return __awaiter(this, void 0, void 0, function* () {
738 + if (yield ioUtil.exists(dest)) {
739 + let destExists = true;
740 + if (yield ioUtil.isDirectory(dest)) {
741 + // If dest is directory copy src into dest
742 + dest = path.join(dest, path.basename(source));
743 + destExists = yield ioUtil.exists(dest);
744 + }
745 + if (destExists) {
746 + if (options.force == null || options.force) {
747 + yield rmRF(dest);
748 + }
749 + else {
750 + throw new Error('Destination already exists');
751 + }
752 + }
753 + }
754 + yield mkdirP(path.dirname(dest));
755 + yield ioUtil.rename(source, dest);
756 + });
1157 757 }
1158
1159 // comprised of xranges, tildes, stars, and gtlt's at this point.
1160 // already replaced the hyphen ranges
1161 // turn into a set of JUST comparators.
1162 const parseComparator = (comp, options) => {
1163 debug('comp', comp, options)
1164 comp = replaceCarets(comp, options)
1165 debug('caret', comp)
1166 comp = replaceTildes(comp, options)
1167 debug('tildes', comp)
1168 comp = replaceXRanges(comp, options)
1169 debug('xrange', comp)
1170 comp = replaceStars(comp, options)
1171 debug('stars', comp)
1172 return comp
758 +exports.mv = mv;
759 +/**
760 + * Remove a path recursively with force
761 + *
762 + * @param inputPath path to remove
763 + */
764 +function rmRF(inputPath) {
765 + return __awaiter(this, void 0, void 0, function* () {
766 + if (ioUtil.IS_WINDOWS) {
767 + // Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another
768 + // program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del.
769 + try {
770 + if (yield ioUtil.isDirectory(inputPath, true)) {
771 + yield exec(`rd /s /q "${inputPath}"`);
772 + }
773 + else {
774 + yield exec(`del /f /a "${inputPath}"`);
775 + }
776 + }
777 + catch (err) {
778 + // if you try to delete a file that doesn't exist, desired result is achieved
779 + // other errors are valid
780 + if (err.code !== 'ENOENT')
781 + throw err;
782 + }
783 + // Shelling out fails to remove a symlink folder with missing source, this unlink catches that
784 + try {
785 + yield ioUtil.unlink(inputPath);
786 + }
787 + catch (err) {
788 + // if you try to delete a file that doesn't exist, desired result is achieved
789 + // other errors are valid
790 + if (err.code !== 'ENOENT')
791 + throw err;
792 + }
793 + }
794 + else {
795 + let isDir = false;
796 + try {
797 + isDir = yield ioUtil.isDirectory(inputPath);
798 + }
799 + catch (err) {
800 + // if you try to delete a file that doesn't exist, desired result is achieved
801 + // other errors are valid
802 + if (err.code !== 'ENOENT')
803 + throw err;
804 + return;
805 + }
806 + if (isDir) {
807 + yield exec(`rm -rf "${inputPath}"`);
808 + }
809 + else {
810 + yield ioUtil.unlink(inputPath);
811 + }
812 + }
813 + });
1173 814 }
1174
1175 const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
1176
1177 // ~, ~> --> * (any, kinda silly)
1178 // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
1179 // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
1180 // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
1181 // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
1182 // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
1183 const replaceTildes = (comp, options) =>
1184 comp.trim().split(/\s+/).map((comp) => {
1185 return replaceTilde(comp, options)
1186 }).join(' ')
1187
1188 const replaceTilde = (comp, options) => {
1189 const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
1190 return comp.replace(r, (_, M, m, p, pr) => {
1191 debug('tilde', comp, _, M, m, p, pr)
1192 let ret
1193
1194 if (isX(M)) {
1195 ret = ''
1196 } else if (isX(m)) {
1197 ret = `>=${M}.0.0 <${+M + 1}.0.0-0`
1198 } else if (isX(p)) {
1199 // ~1.2 == >=1.2.0 <1.3.0-0
1200 ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`
1201 } else if (pr) {
1202 debug('replaceTilde pr', pr)
1203 ret = `>=${M}.${m}.${p}-${pr
1204 } <${M}.${+m + 1}.0-0`
1205 } else {
1206 // ~1.2.3 == >=1.2.3 <1.3.0-0
1207 ret = `>=${M}.${m}.${p
1208 } <${M}.${+m + 1}.0-0`
1209 }
1210
1211 debug('tilde return', ret)
1212 return ret
1213 })
815 +exports.rmRF = rmRF;
816 +/**
817 + * Make a directory. Creates the full path with folders in between
818 + * Will throw if it fails
819 + *
820 + * @param fsPath path to create
821 + * @returns Promise<void>
822 + */
823 +function mkdirP(fsPath) {
824 + return __awaiter(this, void 0, void 0, function* () {
825 + yield ioUtil.mkdirP(fsPath);
826 + });
1214 827 }
1215
1216 // ^ --> * (any, kinda silly)
1217 // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
1218 // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
1219 // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
1220 // ^1.2.3 --> >=1.2.3 <2.0.0-0
1221 // ^1.2.0 --> >=1.2.0 <2.0.0-0
1222 const replaceCarets = (comp, options) =>
1223 comp.trim().split(/\s+/).map((comp) => {
1224 return replaceCaret(comp, options)
1225 }).join(' ')
1226
1227 const replaceCaret = (comp, options) => {
1228 debug('caret', comp, options)
1229 const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
1230 const z = options.includePrerelease ? '-0' : ''
1231 return comp.replace(r, (_, M, m, p, pr) => {
1232 debug('caret', comp, _, M, m, p, pr)
1233 let ret
1234
1235 if (isX(M)) {
1236 ret = ''
1237 } else if (isX(m)) {
1238 ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`
1239 } else if (isX(p)) {
1240 if (M === '0') {
1241 ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`
1242 } else {
1243 ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`
1244 }
1245 } else if (pr) {
1246 debug('replaceCaret pr', pr)
1247 if (M === '0') {
1248 if (m === '0') {
1249 ret = `>=${M}.${m}.${p}-${pr
1250 } <${M}.${m}.${+p + 1}-0`
1251 } else {
1252 ret = `>=${M}.${m}.${p}-${pr
1253 } <${M}.${+m + 1}.0-0`
828 +exports.mkdirP = mkdirP;
829 +/**
830 + * Returns path of a tool had the tool actually been invoked. Resolves via paths.
831 + * If you check and the tool does not exist, it will throw.
832 + *
833 + * @param tool name of the tool
834 + * @param check whether to check if tool exists
835 + * @returns Promise<string> path to tool
836 + */
837 +function which(tool, check) {
838 + return __awaiter(this, void 0, void 0, function* () {
839 + if (!tool) {
840 + throw new Error("parameter 'tool' is required");
1254 841 }
1255 } else {
1256 ret = `>=${M}.${m}.${p}-${pr
1257 } <${+M + 1}.0.0-0`
1258 }
1259 } else {
1260 debug('no pr')
1261 if (M === '0') {
1262 if (m === '0') {
1263 ret = `>=${M}.${m}.${p
1264 }${z} <${M}.${m}.${+p + 1}-0`
1265 } else {
1266 ret = `>=${M}.${m}.${p
1267 }${z} <${M}.${+m + 1}.0-0`
842 + // recursive when check=true
843 + if (check) {
844 + const result = yield which(tool, false);
845 + if (!result) {
846 + if (ioUtil.IS_WINDOWS) {
847 + throw new Error(`Unable to locate executable file: ${tool}. 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.`);
848 + }
849 + else {
850 + throw new Error(`Unable to locate executable file: ${tool}. 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.`);
851 + }
852 + }
1268 853 }
1269 } else {
1270 ret = `>=${M}.${m}.${p
1271 } <${+M + 1}.0.0-0`
1272 }
1273 }
1274
1275 debug('caret return', ret)
1276 return ret
1277 })
854 + try {
855 + // build the list of extensions to try
856 + const extensions = [];
857 + if (ioUtil.IS_WINDOWS && process.env.PATHEXT) {
858 + for (const extension of process.env.PATHEXT.split(path.delimiter)) {
859 + if (extension) {
860 + extensions.push(extension);
861 + }
862 + }
863 + }
864 + // if it's rooted, return it if exists. otherwise return empty.
865 + if (ioUtil.isRooted(tool)) {
866 + const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);
867 + if (filePath) {
868 + return filePath;
869 + }
870 + return '';
871 + }
872 + // if any path separators, return empty
873 + if (tool.includes('/') || (ioUtil.IS_WINDOWS && tool.includes('\\'))) {
874 + return '';
875 + }
876 + // build the list of directories
877 + //
878 + // Note, technically "where" checks the current directory on Windows. From a toolkit perspective,
879 + // it feels like we should not do this. Checking the current directory seems like more of a use
880 + // case of a shell, and the which() function exposed by the toolkit should strive for consistency
881 + // across platforms.
882 + const directories = [];
883 + if (process.env.PATH) {
884 + for (const p of process.env.PATH.split(path.delimiter)) {
885 + if (p) {
886 + directories.push(p);
887 + }
888 + }
889 + }
890 + // return the first match
891 + for (const directory of directories) {
892 + const filePath = yield ioUtil.tryGetExecutablePath(directory + path.sep + tool, extensions);
893 + if (filePath) {
894 + return filePath;
895 + }
896 + }
897 + return '';
898 + }
899 + catch (err) {
900 + throw new Error(`which failed with message ${err.message}`);
901 + }
902 + });
1278 903 }
1279
1280 const replaceXRanges = (comp, options) => {
1281 debug('replaceXRanges', comp, options)
1282 return comp.split(/\s+/).map((comp) => {
1283 return replaceXRange(comp, options)
1284 }).join(' ')
904 +exports.which = which;
905 +function readCopyOptions(options) {
906 + const force = options.force == null ? true : options.force;
907 + const recursive = Boolean(options.recursive);
908 + return { force, recursive };
1285 909 }
1286
1287 const replaceXRange = (comp, options) => {
1288 comp = comp.trim()
1289 const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
1290 return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
1291 debug('xRange', comp, ret, gtlt, M, m, p, pr)
1292 const xM = isX(M)
1293 const xm = xM || isX(m)
1294 const xp = xm || isX(p)
1295 const anyX = xp
1296
1297 if (gtlt === '=' && anyX) {
1298 gtlt = ''
1299 }
1300
1301 // if we're including prereleases in the match, then we need
1302 // to fix this to -0, the lowest possible prerelease value
1303 pr = options.includePrerelease ? '-0' : ''
1304
1305 if (xM) {
1306 if (gtlt === '>' || gtlt === '<') {
1307 // nothing is allowed
1308 ret = '<0.0.0-0'
1309 } else {
1310 // nothing is forbidden
1311 ret = '*'
1312 }
1313 } else if (gtlt && anyX) {
1314 // we know patch is an x, because we have any x at all.
1315 // replace X with 0
1316 if (xm) {
1317 m = 0
1318 }
1319 p = 0
1320
1321 if (gtlt === '>') {
1322 // >1 => >=2.0.0
1323 // >1.2 => >=1.3.0
1324 gtlt = '>='
1325 if (xm) {
1326 M = +M + 1
1327 m = 0
1328 p = 0
1329 } else {
1330 m = +m + 1
1331 p = 0
910 +function cpDirRecursive(sourceDir, destDir, currentDepth, force) {
911 + return __awaiter(this, void 0, void 0, function* () {
912 + // Ensure there is not a run away recursive copy
913 + if (currentDepth >= 255)
914 + return;
915 + currentDepth++;
916 + yield mkdirP(destDir);
917 + const files = yield ioUtil.readdir(sourceDir);
918 + for (const fileName of files) {
919 + const srcFile = `${sourceDir}/${fileName}`;
920 + const destFile = `${destDir}/${fileName}`;
921 + const srcFileStat = yield ioUtil.lstat(srcFile);
922 + if (srcFileStat.isDirectory()) {
923 + // Recurse
924 + yield cpDirRecursive(srcFile, destFile, currentDepth, force);
925 + }
926 + else {
927 + yield copyFile(srcFile, destFile, force);
928 + }
1332 929 }
1333 } else if (gtlt === '<=') {
1334 // <=0.7.x is actually <0.8.0, since any 0.7.x should
1335 // pass. Similarly, <=7.x is actually <8.0.0, etc.
1336 gtlt = '<'
1337 if (xm) {
1338 M = +M + 1
1339 } else {
1340 m = +m + 1
930 + // Change the mode for the newly created directory
931 + yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode);
932 + });
933 +}
934 +// Buffered file copy
935 +function copyFile(srcFile, destFile, force) {
936 + return __awaiter(this, void 0, void 0, function* () {
937 + if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) {
938 + // unlink/re-link it
939 + try {
940 + yield ioUtil.lstat(destFile);
941 + yield ioUtil.unlink(destFile);
942 + }
943 + catch (e) {
944 + // Try to override file permission
945 + if (e.code === 'EPERM') {
946 + yield ioUtil.chmod(destFile, '0666');
947 + yield ioUtil.unlink(destFile);
948 + }
949 + // other errors = it doesn't exist, no work to do
950 + }
951 + // Copy over symlink
952 + const symlinkFull = yield ioUtil.readlink(srcFile);
953 + yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null);
1341 954 }
1342 }
1343
1344 if (gtlt === '<')
1345 pr = '-0'
955 + else if (!(yield ioUtil.exists(destFile)) || force) {
956 + yield ioUtil.copyFile(srcFile, destFile);
957 + }
958 + });
959 +}
960 +//# sourceMappingURL=io.js.map
1346 961
1347 ret = `${gtlt + M}.${m}.${p}${pr}`
1348 } else if (xm) {
1349 ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`
1350 } else if (xp) {
1351 ret = `>=${M}.${m}.0${pr
1352 } <${M}.${+m + 1}.0-0`
1353 }
962 +/***/ }),
1354 963
1355 debug('xRange return', ret)
964 +/***/ 211:
965 +/***/ (function(module) {
1356 966
1357 return ret
1358 })
1359 }
967 +module.exports = require("https");
1360 968
1361 // Because * is AND-ed with everything else in the comparator,
1362 // and '' means "any version", just remove the *s entirely.
1363 const replaceStars = (comp, options) => {
1364 debug('replaceStars', comp, options)
1365 // Looseness is ignored here. star is always as loose as it gets!
1366 return comp.trim().replace(re[t.STAR], '')
1367 }
969 +/***/ }),
1368 970
1369 const replaceGTE0 = (comp, options) => {
1370 debug('replaceGTE0', comp, options)
1371 return comp.trim()
1372 .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')
971 +/***/ 280:
972 +/***/ (function(module, exports) {
973 +
974 +exports = module.exports = SemVer
975 +
976 +var debug
977 +/* istanbul ignore next */
978 +if (typeof process === 'object' &&
979 + process.env &&
980 + process.env.NODE_DEBUG &&
981 + /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
982 + debug = function () {
983 + var args = Array.prototype.slice.call(arguments, 0)
984 + args.unshift('SEMVER')
985 + console.log.apply(console, args)
986 + }
987 +} else {
988 + debug = function () {}
1373 989 }
1374 990
1375 // This function is passed to string.replace(re[t.HYPHENRANGE])
1376 // M, m, patch, prerelease, build
1377 // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
1378 // 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do
1379 // 1.2 - 3.4 => >=1.2.0 <3.5.0-0
1380 const hyphenReplace = incPr => ($0,
1381 from, fM, fm, fp, fpr, fb,
1382 to, tM, tm, tp, tpr, tb) => {
1383 if (isX(fM)) {
1384 from = ''
1385 } else if (isX(fm)) {
1386 from = `>=${fM}.0.0${incPr ? '-0' : ''}`
1387 } else if (isX(fp)) {
1388 from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`
1389 } else if (fpr) {
1390 from = `>=${from}`
1391 } else {
1392 from = `>=${from}${incPr ? '-0' : ''}`
1393 }
991 +// Note: this is the semver.org version of the spec that it implements
992 +// Not necessarily the package version of this code.
993 +exports.SEMVER_SPEC_VERSION = '2.0.0'
1394 994
1395 if (isX(tM)) {
1396 to = ''
1397 } else if (isX(tm)) {
1398 to = `<${+tM + 1}.0.0-0`
1399 } else if (isX(tp)) {
1400 to = `<${tM}.${+tm + 1}.0-0`
1401 } else if (tpr) {
1402 to = `<=${tM}.${tm}.${tp}-${tpr}`
1403 } else if (incPr) {
1404 to = `<${tM}.${tm}.${+tp + 1}-0`
1405 } else {
1406 to = `<=${to}`
1407 }
995 +var MAX_LENGTH = 256
996 +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
997 + /* istanbul ignore next */ 9007199254740991
1408 998
1409 return (`${from} ${to}`).trim()
1410 }
999 +// Max safe segment length for coercion.
1000 +var MAX_SAFE_COMPONENT_LENGTH = 16
1411 1001
1412 const testSet = (set, version, options) => {
1413 for (let i = 0; i < set.length; i++) {
1414 if (!set[i].test(version)) {
1415 return false
1416 }
1417 }
1002 +// The actual regexps go on exports.re
1003 +var re = exports.re = []
1004 +var src = exports.src = []
1005 +var t = exports.tokens = {}
1006 +var R = 0
1418 1007
1419 if (version.prerelease.length && !options.includePrerelease) {
1420 // Find the set of versions that are allowed to have prereleases
1421 // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
1422 // That should allow `1.2.3-pr.2` to pass.
1423 // However, `1.2.4-alpha.notready` should NOT be allowed,
1424 // even though it's within the range set by the comparators.
1425 for (let i = 0; i < set.length; i++) {
1426 debug(set[i].semver)
1427 if (set[i].semver === Comparator.ANY) {
1428 continue
1429 }
1008 +function tok (n) {
1009 + t[n] = R++
1010 +}
1430 1011
1431 if (set[i].semver.prerelease.length > 0) {
1432 const allowed = set[i].semver
1433 if (allowed.major === version.major &&
1434 allowed.minor === version.minor &&
1435 allowed.patch === version.patch) {
1436 return true
1437 }
1438 }
1439 }
1012 +// The following Regular Expressions can be used for tokenizing,
1013 +// validating, and parsing SemVer version strings.
1440 1014
1441 // Version has a -pre, but it's not one of the ones we like.
1442 return false
1443 }
1015 +// ## Numeric Identifier
1016 +// A single `0`, or a non-zero digit followed by zero or more digits.
1444 1017
1445 return true
1446 }
1018 +tok('NUMERICIDENTIFIER')
1019 +src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*'
1020 +tok('NUMERICIDENTIFIERLOOSE')
1021 +src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+'
1447 1022
1023 +// ## Non-numeric Identifier
1024 +// Zero or more digits, followed by a letter or hyphen, and then zero or
1025 +// more letters, digits, or hyphens.
1448 1026
1449 /***/ }),
1027 +tok('NONNUMERICIDENTIFIER')
1028 +src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
1450 1029
1451 /***/ 129:
1452 /***/ (function(module) {
1030 +// ## Main Version
1031 +// Three dot-separated numeric identifiers.
1453 1032
1454 module.exports = require("child_process");
1033 +tok('MAINVERSION')
1034 +src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' +
1035 + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' +
1036 + '(' + src[t.NUMERICIDENTIFIER] + ')'
1455 1037
1456 /***/ }),
1038 +tok('MAINVERSIONLOOSE')
1039 +src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' +
1040 + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' +
1041 + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')'
1457 1042
1458 /***/ 164:
1459 /***/ (function(module, __unusedexports, __webpack_require__) {
1043 +// ## Pre-release Version Identifier
1044 +// A numeric identifier, or a non-numeric identifier.
1460 1045
1461 const SemVer = __webpack_require__(65)
1462 const Range = __webpack_require__(124)
1463 const gt = __webpack_require__(486)
1046 +tok('PRERELEASEIDENTIFIER')
1047 +src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] +
1048 + '|' + src[t.NONNUMERICIDENTIFIER] + ')'
1464 1049
1465 const minVersion = (range, loose) => {
1466 range = new Range(range, loose)
1050 +tok('PRERELEASEIDENTIFIERLOOSE')
1051 +src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] +
1052 + '|' + src[t.NONNUMERICIDENTIFIER] + ')'
1467 1053
1468 let minver = new SemVer('0.0.0')
1469 if (range.test(minver)) {
1470 return minver
1471 }
1054 +// ## Pre-release Version
1055 +// Hyphen, followed by one or more dot-separated pre-release version
1056 +// identifiers.
1472 1057
1473 minver = new SemVer('0.0.0-0')
1474 if (range.test(minver)) {
1475 return minver
1476 }
1058 +tok('PRERELEASE')
1059 +src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] +
1060 + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))'
1477 1061
1478 minver = null
1479 for (let i = 0; i < range.set.length; ++i) {
1480 const comparators = range.set[i]
1062 +tok('PRERELEASELOOSE')
1063 +src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] +
1064 + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))'
1481 1065
1482 comparators.forEach((comparator) => {
1483 // Clone to avoid manipulating the comparator's semver object.
1484 const compver = new SemVer(comparator.semver.version)
1485 switch (comparator.operator) {
1486 case '>':
1487 if (compver.prerelease.length === 0) {
1488 compver.patch++
1489 } else {
1490 compver.prerelease.push(0)
1491 }
1492 compver.raw = compver.format()
1493 /* fallthrough */
1494 case '':
1495 case '>=':
1496 if (!minver || gt(minver, compver)) {
1497 minver = compver
1498 }
1499 break
1500 case '<':
1501 case '<=':
1502 /* Ignore maximum versions */
1503 break
1504 /* istanbul ignore next */
1505 default:
1506 throw new Error(`Unexpected operation: ${comparator.operator}`)
1507 }
1508 })
1509 }
1066 +// ## Build Metadata Identifier
1067 +// Any combination of digits, letters, or hyphens.
1510 1068
1511 if (minver && range.test(minver)) {
1512 return minver
1513 }
1069 +tok('BUILDIDENTIFIER')
1070 +src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
1514 1071
1515 return null
1516 }
1517 module.exports = minVersion
1072 +// ## Build Metadata
1073 +// Plus sign, followed by one or more period-separated build metadata
1074 +// identifiers.
1518 1075
1076 +tok('BUILD')
1077 +src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] +
1078 + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))'
1519 1079
1520 /***/ }),
1080 +// ## Full Version String
1081 +// A main version, followed optionally by a pre-release version and
1082 +// build metadata.
1521 1083
1522 /***/ 167:
1523 /***/ (function(module, __unusedexports, __webpack_require__) {
1084 +// Note that the only major, minor, patch, and pre-release sections of
1085 +// the version string are capturing groups. The build metadata is not a
1086 +// capturing group, because it should not ever be used in version
1087 +// comparison.
1524 1088
1525 const compare = __webpack_require__(874)
1526 const gte = (a, b, loose) => compare(a, b, loose) >= 0
1527 module.exports = gte
1089 +tok('FULL')
1090 +tok('FULLPLAIN')
1091 +src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] +
1092 + src[t.PRERELEASE] + '?' +
1093 + src[t.BUILD] + '?'
1528 1094
1095 +src[t.FULL] = '^' + src[t.FULLPLAIN] + '$'
1529 1096
1530 /***/ }),
1097 +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
1098 +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
1099 +// common in the npm registry.
1100 +tok('LOOSEPLAIN')
1101 +src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] +
1102 + src[t.PRERELEASELOOSE] + '?' +
1103 + src[t.BUILD] + '?'
1531 1104
1532 /***/ 174:
1533 /***/ (function(module, __unusedexports, __webpack_require__) {
1105 +tok('LOOSE')
1106 +src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$'
1534 1107
1535 const ANY = Symbol('SemVer ANY')
1536 // hoisted class for cyclic dependency
1537 class Comparator {
1538 static get ANY () {
1539 return ANY
1540 }
1541 constructor (comp, options) {
1542 if (!options || typeof options !== 'object') {
1543 options = {
1544 loose: !!options,
1545 includePrerelease: false
1546 }
1547 }
1108 +tok('GTLT')
1109 +src[t.GTLT] = '((?:<|>)?=?)'
1548 1110
1549 if (comp instanceof Comparator) {
1550 if (comp.loose === !!options.loose) {
1551 return comp
1552 } else {
1553 comp = comp.value
1554 }
1555 }
1111 +// Something like "2.*" or "1.2.x".
1112 +// Note that "x.x" is a valid xRange identifer, meaning "any version"
1113 +// Only the first item is strictly required.
1114 +tok('XRANGEIDENTIFIERLOOSE')
1115 +src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
1116 +tok('XRANGEIDENTIFIER')
1117 +src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*'
1118 +
1119 +tok('XRANGEPLAIN')
1120 +src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' +
1121 + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' +
1122 + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' +
1123 + '(?:' + src[t.PRERELEASE] + ')?' +
1124 + src[t.BUILD] + '?' +
1125 + ')?)?'
1126 +
1127 +tok('XRANGEPLAINLOOSE')
1128 +src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
1129 + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
1130 + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
1131 + '(?:' + src[t.PRERELEASELOOSE] + ')?' +
1132 + src[t.BUILD] + '?' +
1133 + ')?)?'
1134 +
1135 +tok('XRANGE')
1136 +src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$'
1137 +tok('XRANGELOOSE')
1138 +src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$'
1556 1139
1557 debug('comparator', comp, options)
1558 this.options = options
1559 this.loose = !!options.loose
1560 this.parse(comp)
1140 +// Coercion.
1141 +// Extract anything that could conceivably be a part of a valid semver
1142 +tok('COERCE')
1143 +src[t.COERCE] = '(^|[^\\d])' +
1144 + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
1145 + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
1146 + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
1147 + '(?:$|[^\\d])'
1148 +tok('COERCERTL')
1149 +re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g')
1561 1150
1562 if (this.semver === ANY) {
1563 this.value = ''
1564 } else {
1565 this.value = this.operator + this.semver.version
1566 }
1151 +// Tilde ranges.
1152 +// Meaning is "reasonably at or greater than"
1153 +tok('LONETILDE')
1154 +src[t.LONETILDE] = '(?:~>?)'
1567 1155
1568 debug('comp', this)
1569 }
1156 +tok('TILDETRIM')
1157 +src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+'
1158 +re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g')
1159 +var tildeTrimReplace = '$1~'
1570 1160
1571 parse (comp) {
1572 const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
1573 const m = comp.match(r)
1161 +tok('TILDE')
1162 +src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$'
1163 +tok('TILDELOOSE')
1164 +src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$'
1574 1165
1575 if (!m) {
1576 throw new TypeError(`Invalid comparator: ${comp}`)
1577 }
1166 +// Caret ranges.
1167 +// Meaning is "at least and backwards compatible with"
1168 +tok('LONECARET')
1169 +src[t.LONECARET] = '(?:\\^)'
1578 1170
1579 this.operator = m[1] !== undefined ? m[1] : ''
1580 if (this.operator === '=') {
1581 this.operator = ''
1582 }
1171 +tok('CARETTRIM')
1172 +src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+'
1173 +re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g')
1174 +var caretTrimReplace = '$1^'
1583 1175
1584 // if it literally is just '>' or '' then allow anything.
1585 if (!m[2]) {
1586 this.semver = ANY
1587 } else {
1588 this.semver = new SemVer(m[2], this.options.loose)
1589 }
1590 }
1176 +tok('CARET')
1177 +src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$'
1178 +tok('CARETLOOSE')
1179 +src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$'
1591 1180
1592 toString () {
1593 return this.value
1594 }
1181 +// A simple gt/lt/eq thing, or just "" to indicate "any version"
1182 +tok('COMPARATORLOOSE')
1183 +src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$'
1184 +tok('COMPARATOR')
1185 +src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$'
1595 1186
1596 test (version) {
1597 debug('Comparator.test', version, this.options.loose)
1187 +// An expression to strip any whitespace between the gtlt and the thing
1188 +// it modifies, so that `> 1.2.3` ==> `>1.2.3`
1189 +tok('COMPARATORTRIM')
1190 +src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] +
1191 + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'
1598 1192
1599 if (this.semver === ANY || version === ANY) {
1600 return true
1601 }
1193 +// this one has to use the /g flag
1194 +re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g')
1195 +var comparatorTrimReplace = '$1$2$3'
1602 1196
1603 if (typeof version === 'string') {
1604 try {
1605 version = new SemVer(version, this.options)
1606 } catch (er) {
1607 return false
1608 }
1609 }
1197 +// Something like `1.2.3 - 1.2.4`
1198 +// Note that these all use the loose form, because they'll be
1199 +// checked against either the strict or loose comparator form
1200 +// later.
1201 +tok('HYPHENRANGE')
1202 +src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' +
1203 + '\\s+-\\s+' +
1204 + '(' + src[t.XRANGEPLAIN] + ')' +
1205 + '\\s*$'
1206 +
1207 +tok('HYPHENRANGELOOSE')
1208 +src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' +
1209 + '\\s+-\\s+' +
1210 + '(' + src[t.XRANGEPLAINLOOSE] + ')' +
1211 + '\\s*$'
1610 1212
1611 return cmp(version, this.operator, this.semver, this.options)
1213 +// Star ranges basically just allow anything at all.
1214 +tok('STAR')
1215 +src[t.STAR] = '(<|>)?=?\\s*\\*'
1216 +
1217 +// Compile to actual regexp objects.
1218 +// All are flag-free, unless they were created above with a flag.
1219 +for (var i = 0; i < R; i++) {
1220 + debug(i, src[i])
1221 + if (!re[i]) {
1222 + re[i] = new RegExp(src[i])
1612 1223 }
1224 +}
1613 1225
1614 intersects (comp, options) {
1615 if (!(comp instanceof Comparator)) {
1616 throw new TypeError('a Comparator is required')
1226 +exports.parse = parse
1227 +function parse (version, options) {
1228 + if (!options || typeof options !== 'object') {
1229 + options = {
1230 + loose: !!options,
1231 + includePrerelease: false
1617 1232 }
1233 + }
1618 1234
1619 if (!options || typeof options !== 'object') {
1620 options = {
1621 loose: !!options,
1622 includePrerelease: false
1623 }
1624 }
1235 + if (version instanceof SemVer) {
1236 + return version
1237 + }
1625 1238
1626 if (this.operator === '') {
1627 if (this.value === '') {
1628 return true
1629 }
1630 return new Range(comp.value, options).test(this.value)
1631 } else if (comp.operator === '') {
1632 if (comp.value === '') {
1633 return true
1634 }
1635 return new Range(this.value, options).test(comp.semver)
1636 }
1239 + if (typeof version !== 'string') {
1240 + return null
1241 + }
1242 +
1243 + if (version.length > MAX_LENGTH) {
1244 + return null
1245 + }
1637 1246
1638 const sameDirectionIncreasing =
1639 (this.operator === '>=' || this.operator === '>') &&
1640 (comp.operator === '>=' || comp.operator === '>')
1641 const sameDirectionDecreasing =
1642 (this.operator === '<=' || this.operator === '<') &&
1643 (comp.operator === '<=' || comp.operator === '<')
1644 const sameSemVer = this.semver.version === comp.semver.version
1645 const differentDirectionsInclusive =
1646 (this.operator === '>=' || this.operator === '<=') &&
1647 (comp.operator === '>=' || comp.operator === '<=')
1648 const oppositeDirectionsLessThan =
1649 cmp(this.semver, '<', comp.semver, options) &&
1650 (this.operator === '>=' || this.operator === '>') &&
1651 (comp.operator === '<=' || comp.operator === '<')
1652 const oppositeDirectionsGreaterThan =
1653 cmp(this.semver, '>', comp.semver, options) &&
1654 (this.operator === '<=' || this.operator === '<') &&
1655 (comp.operator === '>=' || comp.operator === '>')
1247 + var r = options.loose ? re[t.LOOSE] : re[t.FULL]
1248 + if (!r.test(version)) {
1249 + return null
1250 + }
1656 1251
1657 return (
1658 sameDirectionIncreasing ||
1659 sameDirectionDecreasing ||
1660 (sameSemVer && differentDirectionsInclusive) ||
1661 oppositeDirectionsLessThan ||
1662 oppositeDirectionsGreaterThan
1663 )
1252 + try {
1253 + return new SemVer(version, options)
1254 + } catch (er) {
1255 + return null
1664 1256 }
1665 1257 }
1666 1258
1667 module.exports = Comparator
1259 +exports.valid = valid
1260 +function valid (version, options) {
1261 + var v = parse(version, options)
1262 + return v ? v.version : null
1263 +}
1668 1264
1669 const {re, t} = __webpack_require__(976)
1670 const cmp = __webpack_require__(752)
1671 const debug = __webpack_require__(548)
1672 const SemVer = __webpack_require__(65)
1673 const Range = __webpack_require__(124)
1265 +exports.clean = clean
1266 +function clean (version, options) {
1267 + var s = parse(version.trim().replace(/^[=v]+/, ''), options)
1268 + return s ? s.version : null
1269 +}
1674 1270
1271 +exports.SemVer = SemVer
1675 1272
1676 /***/ }),
1273 +function SemVer (version, options) {
1274 + if (!options || typeof options !== 'object') {
1275 + options = {
1276 + loose: !!options,
1277 + includePrerelease: false
1278 + }
1279 + }
1280 + if (version instanceof SemVer) {
1281 + if (version.loose === options.loose) {
1282 + return version
1283 + } else {
1284 + version = version.version
1285 + }
1286 + } else if (typeof version !== 'string') {
1287 + throw new TypeError('Invalid Version: ' + version)
1288 + }
1677 1289
1678 /***/ 181:
1679 /***/ (function(module) {
1290 + if (version.length > MAX_LENGTH) {
1291 + throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')
1292 + }
1680 1293
1681 // Note: this is the semver.org version of the spec that it implements
1682 // Not necessarily the package version of this code.
1683 const SEMVER_SPEC_VERSION = '2.0.0'
1294 + if (!(this instanceof SemVer)) {
1295 + return new SemVer(version, options)
1296 + }
1684 1297
1685 const MAX_LENGTH = 256
1686 const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
1687 /* istanbul ignore next */ 9007199254740991
1298 + debug('SemVer', version, options)
1299 + this.options = options
1300 + this.loose = !!options.loose
1688 1301
1689 // Max safe segment length for coercion.
1690 const MAX_SAFE_COMPONENT_LENGTH = 16
1302 + var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
1691 1303
1692 module.exports = {
1693 SEMVER_SPEC_VERSION,
1694 MAX_LENGTH,
1695 MAX_SAFE_INTEGER,
1696 MAX_SAFE_COMPONENT_LENGTH
1697 }
1304 + if (!m) {
1305 + throw new TypeError('Invalid Version: ' + version)
1306 + }
1698 1307
1308 + this.raw = version
1699 1309
1700 /***/ }),
1310 + // these are actually numbers
1311 + this.major = +m[1]
1312 + this.minor = +m[2]
1313 + this.patch = +m[3]
1701 1314
1702 /***/ 194:
1703 /***/ (function(__unusedmodule, exports, __webpack_require__) {
1315 + if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
1316 + throw new TypeError('Invalid major version')
1317 + }
1704 1318
1705 "use strict";
1319 + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
1320 + throw new TypeError('Invalid minor version')
1321 + }
1706 1322
1707 var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1708 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1709 return new (P || (P = Promise))(function (resolve, reject) {
1710 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1711 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1712 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1713 step((generator = generator.apply(thisArg, _arguments || [])).next());
1714 });
1715 };
1716 Object.defineProperty(exports, "__esModule", { value: true });
1717 const childProcess = __webpack_require__(129);
1718 const path = __webpack_require__(622);
1719 const util_1 = __webpack_require__(669);
1720 const ioUtil = __webpack_require__(408);
1721 const exec = util_1.promisify(childProcess.exec);
1722 /**
1723 * Copies a file or folder.
1724 * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
1725 *
1726 * @param source source path
1727 * @param dest destination path
1728 * @param options optional. See CopyOptions.
1729 */
1730 function cp(source, dest, options = {}) {
1731 return __awaiter(this, void 0, void 0, function* () {
1732 const { force, recursive } = readCopyOptions(options);
1733 const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null;
1734 // Dest is an existing file, but not forcing
1735 if (destStat && destStat.isFile() && !force) {
1736 return;
1737 }
1738 // If dest is an existing directory, should copy inside.
1739 const newDest = destStat && destStat.isDirectory()
1740 ? path.join(dest, path.basename(source))
1741 : dest;
1742 if (!(yield ioUtil.exists(source))) {
1743 throw new Error(`no such file or directory: ${source}`);
1744 }
1745 const sourceStat = yield ioUtil.stat(source);
1746 if (sourceStat.isDirectory()) {
1747 if (!recursive) {
1748 throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`);
1749 }
1750 else {
1751 yield cpDirRecursive(source, newDest, 0, force);
1752 }
1753 }
1754 else {
1755 if (path.relative(source, newDest) === '') {
1756 // a file cannot be copied to itself
1757 throw new Error(`'${newDest}' and '${source}' are the same file`);
1758 }
1759 yield copyFile(source, newDest, force);
1760 }
1761 });
1762 }
1763 exports.cp = cp;
1764 /**
1765 * Moves a path.
1766 *
1767 * @param source source path
1768 * @param dest destination path
1769 * @param options optional. See MoveOptions.
1770 */
1771 function mv(source, dest, options = {}) {
1772 return __awaiter(this, void 0, void 0, function* () {
1773 if (yield ioUtil.exists(dest)) {
1774 let destExists = true;
1775 if (yield ioUtil.isDirectory(dest)) {
1776 // If dest is directory copy src into dest
1777 dest = path.join(dest, path.basename(source));
1778 destExists = yield ioUtil.exists(dest);
1779 }
1780 if (destExists) {
1781 if (options.force == null || options.force) {
1782 yield rmRF(dest);
1783 }
1784 else {
1785 throw new Error('Destination already exists');
1786 }
1787 }
1788 }
1789 yield mkdirP(path.dirname(dest));
1790 yield ioUtil.rename(source, dest);
1791 });
1792 }
1793 exports.mv = mv;
1794 /**
1795 * Remove a path recursively with force
1796 *
1797 * @param inputPath path to remove
1798 */
1799 function rmRF(inputPath) {
1800 return __awaiter(this, void 0, void 0, function* () {
1801 if (ioUtil.IS_WINDOWS) {
1802 // Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another
1803 // program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del.
1804 try {
1805 if (yield ioUtil.isDirectory(inputPath, true)) {
1806 yield exec(`rd /s /q "${inputPath}"`);
1807 }
1808 else {
1809 yield exec(`del /f /a "${inputPath}"`);
1810 }
1811 }
1812 catch (err) {
1813 // if you try to delete a file that doesn't exist, desired result is achieved
1814 // other errors are valid
1815 if (err.code !== 'ENOENT')
1816 throw err;
1817 }
1818 // Shelling out fails to remove a symlink folder with missing source, this unlink catches that
1819 try {
1820 yield ioUtil.unlink(inputPath);
1821 }
1822 catch (err) {
1823 // if you try to delete a file that doesn't exist, desired result is achieved
1824 // other errors are valid
1825 if (err.code !== 'ENOENT')
1826 throw err;
1827 }
1828 }
1829 else {
1830 let isDir = false;
1831 try {
1832 isDir = yield ioUtil.isDirectory(inputPath);
1833 }
1834 catch (err) {
1835 // if you try to delete a file that doesn't exist, desired result is achieved
1836 // other errors are valid
1837 if (err.code !== 'ENOENT')
1838 throw err;
1839 return;
1840 }
1841 if (isDir) {
1842 yield exec(`rm -rf "${inputPath}"`);
1843 }
1844 else {
1845 yield ioUtil.unlink(inputPath);
1846 }
1323 + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
1324 + throw new TypeError('Invalid patch version')
1325 + }
1326 +
1327 + // numberify any prerelease numeric ids
1328 + if (!m[4]) {
1329 + this.prerelease = []
1330 + } else {
1331 + this.prerelease = m[4].split('.').map(function (id) {
1332 + if (/^[0-9]+$/.test(id)) {
1333 + var num = +id
1334 + if (num >= 0 && num < MAX_SAFE_INTEGER) {
1335 + return num
1847 1336 }
1848 });
1337 + }
1338 + return id
1339 + })
1340 + }
1341 +
1342 + this.build = m[5] ? m[5].split('.') : []
1343 + this.format()
1849 1344 }
1850 exports.rmRF = rmRF;
1851 /**
1852 * Make a directory. Creates the full path with folders in between
1853 * Will throw if it fails
1854 *
1855 * @param fsPath path to create
1856 * @returns Promise<void>
1857 */
1858 function mkdirP(fsPath) {
1859 return __awaiter(this, void 0, void 0, function* () {
1860 yield ioUtil.mkdirP(fsPath);
1861 });
1345 +
1346 +SemVer.prototype.format = function () {
1347 + this.version = this.major + '.' + this.minor + '.' + this.patch
1348 + if (this.prerelease.length) {
1349 + this.version += '-' + this.prerelease.join('.')
1350 + }
1351 + return this.version
1862 1352 }
1863 exports.mkdirP = mkdirP;
1864 /**
1865 * Returns path of a tool had the tool actually been invoked. Resolves via paths.
1866 * If you check and the tool does not exist, it will throw.
1867 *
1868 * @param tool name of the tool
1869 * @param check whether to check if tool exists
1870 * @returns Promise<string> path to tool
1871 */
1872 function which(tool, check) {
1873 return __awaiter(this, void 0, void 0, function* () {
1874 if (!tool) {
1875 throw new Error("parameter 'tool' is required");
1876 }
1877 // recursive when check=true
1878 if (check) {
1879 const result = yield which(tool, false);
1880 if (!result) {
1881 if (ioUtil.IS_WINDOWS) {
1882 throw new Error(`Unable to locate executable file: ${tool}. 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.`);
1883 }
1884 else {
1885 throw new Error(`Unable to locate executable file: ${tool}. 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.`);
1886 }
1887 }
1888 }
1889 try {
1890 // build the list of extensions to try
1891 const extensions = [];
1892 if (ioUtil.IS_WINDOWS && process.env.PATHEXT) {
1893 for (const extension of process.env.PATHEXT.split(path.delimiter)) {
1894 if (extension) {
1895 extensions.push(extension);
1896 }
1897 }
1898 }
1899 // if it's rooted, return it if exists. otherwise return empty.
1900 if (ioUtil.isRooted(tool)) {
1901 const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);
1902 if (filePath) {
1903 return filePath;
1904 }
1905 return '';
1906 }
1907 // if any path separators, return empty
1908 if (tool.includes('/') || (ioUtil.IS_WINDOWS && tool.includes('\\'))) {
1909 return '';
1910 }
1911 // build the list of directories
1912 //
1913 // Note, technically "where" checks the current directory on Windows. From a toolkit perspective,
1914 // it feels like we should not do this. Checking the current directory seems like more of a use
1915 // case of a shell, and the which() function exposed by the toolkit should strive for consistency
1916 // across platforms.
1917 const directories = [];
1918 if (process.env.PATH) {
1919 for (const p of process.env.PATH.split(path.delimiter)) {
1920 if (p) {
1921 directories.push(p);
1922 }
1923 }
1924 }
1925 // return the first match
1926 for (const directory of directories) {
1927 const filePath = yield ioUtil.tryGetExecutablePath(directory + path.sep + tool, extensions);
1928 if (filePath) {
1929 return filePath;
1930 }
1931 }
1932 return '';
1933 }
1934 catch (err) {
1935 throw new Error(`which failed with message ${err.message}`);
1936 }
1937 });
1353 +
1354 +SemVer.prototype.toString = function () {
1355 + return this.version
1938 1356 }
1939 exports.which = which;
1940 function readCopyOptions(options) {
1941 const force = options.force == null ? true : options.force;
1942 const recursive = Boolean(options.recursive);
1943 return { force, recursive };
1357 +
1358 +SemVer.prototype.compare = function (other) {
1359 + debug('SemVer.compare', this.version, this.options, other)
1360 + if (!(other instanceof SemVer)) {
1361 + other = new SemVer(other, this.options)
1362 + }
1363 +
1364 + return this.compareMain(other) || this.comparePre(other)
1944 1365 }
1945 function cpDirRecursive(sourceDir, destDir, currentDepth, force) {
1946 return __awaiter(this, void 0, void 0, function* () {
1947 // Ensure there is not a run away recursive copy
1948 if (currentDepth >= 255)
1949 return;
1950 currentDepth++;
1951 yield mkdirP(destDir);
1952 const files = yield ioUtil.readdir(sourceDir);
1953 for (const fileName of files) {
1954 const srcFile = `${sourceDir}/${fileName}`;
1955 const destFile = `${destDir}/${fileName}`;
1956 const srcFileStat = yield ioUtil.lstat(srcFile);
1957 if (srcFileStat.isDirectory()) {
1958 // Recurse
1959 yield cpDirRecursive(srcFile, destFile, currentDepth, force);
1960 }
1961 else {
1962 yield copyFile(srcFile, destFile, force);
1963 }
1964 }
1965 // Change the mode for the newly created directory
1966 yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode);
1967 });
1366 +
1367 +SemVer.prototype.compareMain = function (other) {
1368 + if (!(other instanceof SemVer)) {
1369 + other = new SemVer(other, this.options)
1370 + }
1371 +
1372 + return compareIdentifiers(this.major, other.major) ||
1373 + compareIdentifiers(this.minor, other.minor) ||
1374 + compareIdentifiers(this.patch, other.patch)
1968 1375 }
1969 // Buffered file copy
1970 function copyFile(srcFile, destFile, force) {
1971 return __awaiter(this, void 0, void 0, function* () {
1972 if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) {
1973 // unlink/re-link it
1974 try {
1975 yield ioUtil.lstat(destFile);
1976 yield ioUtil.unlink(destFile);
1977 }
1978 catch (e) {
1979 // Try to override file permission
1980 if (e.code === 'EPERM') {
1981 yield ioUtil.chmod(destFile, '0666');
1982 yield ioUtil.unlink(destFile);
1983 }
1984 // other errors = it doesn't exist, no work to do
1985 }
1986 // Copy over symlink
1987 const symlinkFull = yield ioUtil.readlink(srcFile);
1988 yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null);
1989 }
1990 else if (!(yield ioUtil.exists(destFile)) || force) {
1991 yield ioUtil.copyFile(srcFile, destFile);
1992 }
1993 });
1376 +
1377 +SemVer.prototype.comparePre = function (other) {
1378 + if (!(other instanceof SemVer)) {
1379 + other = new SemVer(other, this.options)
1380 + }
1381 +
1382 + // NOT having a prerelease is > having one
1383 + if (this.prerelease.length && !other.prerelease.length) {
1384 + return -1
1385 + } else if (!this.prerelease.length && other.prerelease.length) {
1386 + return 1
1387 + } else if (!this.prerelease.length && !other.prerelease.length) {
1388 + return 0
1389 + }
1390 +
1391 + var i = 0
1392 + do {
1393 + var a = this.prerelease[i]
1394 + var b = other.prerelease[i]
1395 + debug('prerelease compare', i, a, b)
1396 + if (a === undefined && b === undefined) {
1397 + return 0
1398 + } else if (b === undefined) {
1399 + return 1
1400 + } else if (a === undefined) {
1401 + return -1
1402 + } else if (a === b) {
1403 + continue
1404 + } else {
1405 + return compareIdentifiers(a, b)
1406 + }
1407 + } while (++i)
1994 1408 }
1995 //# sourceMappingURL=io.js.map
1996 1409
1997 /***/ }),
1410 +SemVer.prototype.compareBuild = function (other) {
1411 + if (!(other instanceof SemVer)) {
1412 + other = new SemVer(other, this.options)
1413 + }
1998 1414
1999 /***/ 211:
2000 /***/ (function(module) {
1415 + var i = 0
1416 + do {
1417 + var a = this.build[i]
1418 + var b = other.build[i]
1419 + debug('prerelease compare', i, a, b)
1420 + if (a === undefined && b === undefined) {
1421 + return 0
1422 + } else if (b === undefined) {
1423 + return 1
1424 + } else if (a === undefined) {
1425 + return -1
1426 + } else if (a === b) {
1427 + continue
1428 + } else {
1429 + return compareIdentifiers(a, b)
1430 + }
1431 + } while (++i)
1432 +}
2001 1433
2002 module.exports = require("https");
1434 +// preminor will bump the version up to the next minor release, and immediately
1435 +// down to pre-release. premajor and prepatch work the same way.
1436 +SemVer.prototype.inc = function (release, identifier) {
1437 + switch (release) {
1438 + case 'premajor':
1439 + this.prerelease.length = 0
1440 + this.patch = 0
1441 + this.minor = 0
1442 + this.major++
1443 + this.inc('pre', identifier)
1444 + break
1445 + case 'preminor':
1446 + this.prerelease.length = 0
1447 + this.patch = 0
1448 + this.minor++
1449 + this.inc('pre', identifier)
1450 + break
1451 + case 'prepatch':
1452 + // If this is already a prerelease, it will bump to the next version
1453 + // drop any prereleases that might already exist, since they are not
1454 + // relevant at this point.
1455 + this.prerelease.length = 0
1456 + this.inc('patch', identifier)
1457 + this.inc('pre', identifier)
1458 + break
1459 + // If the input is a non-prerelease version, this acts the same as
1460 + // prepatch.
1461 + case 'prerelease':
1462 + if (this.prerelease.length === 0) {
1463 + this.inc('patch', identifier)
1464 + }
1465 + this.inc('pre', identifier)
1466 + break
2003 1467
2004 /***/ }),
1468 + case 'major':
1469 + // If this is a pre-major version, bump up to the same major version.
1470 + // Otherwise increment major.
1471 + // 1.0.0-5 bumps to 1.0.0
1472 + // 1.1.0 bumps to 2.0.0
1473 + if (this.minor !== 0 ||
1474 + this.patch !== 0 ||
1475 + this.prerelease.length === 0) {
1476 + this.major++
1477 + }
1478 + this.minor = 0
1479 + this.patch = 0
1480 + this.prerelease = []
1481 + break
1482 + case 'minor':
1483 + // If this is a pre-minor version, bump up to the same minor version.
1484 + // Otherwise increment minor.
1485 + // 1.2.0-5 bumps to 1.2.0
1486 + // 1.2.1 bumps to 1.3.0
1487 + if (this.patch !== 0 || this.prerelease.length === 0) {
1488 + this.minor++
1489 + }
1490 + this.patch = 0
1491 + this.prerelease = []
1492 + break
1493 + case 'patch':
1494 + // If this is not a pre-release version, it will increment the patch.
1495 + // If it is a pre-release it will bump up to the same patch version.
1496 + // 1.2.0-5 patches to 1.2.0
1497 + // 1.2.0 patches to 1.2.1
1498 + if (this.prerelease.length === 0) {
1499 + this.patch++
1500 + }
1501 + this.prerelease = []
1502 + break
1503 + // This probably shouldn't be used publicly.
1504 + // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
1505 + case 'pre':
1506 + if (this.prerelease.length === 0) {
1507 + this.prerelease = [0]
1508 + } else {
1509 + var i = this.prerelease.length
1510 + while (--i >= 0) {
1511 + if (typeof this.prerelease[i] === 'number') {
1512 + this.prerelease[i]++
1513 + i = -2
1514 + }
1515 + }
1516 + if (i === -1) {
1517 + // didn't increment anything
1518 + this.prerelease.push(0)
1519 + }
1520 + }
1521 + if (identifier) {
1522 + // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
1523 + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
1524 + if (this.prerelease[0] === identifier) {
1525 + if (isNaN(this.prerelease[1])) {
1526 + this.prerelease = [identifier, 0]
1527 + }
1528 + } else {
1529 + this.prerelease = [identifier, 0]
1530 + }
1531 + }
1532 + break
2005 1533
2006 /***/ 219:
2007 /***/ (function(module, __unusedexports, __webpack_require__) {
1534 + default:
1535 + throw new Error('invalid increment argument: ' + release)
1536 + }
1537 + this.format()
1538 + this.raw = this.version
1539 + return this
1540 +}
2008 1541
2009 const Range = __webpack_require__(124)
1542 +exports.inc = inc
1543 +function inc (version, release, loose, identifier) {
1544 + if (typeof (loose) === 'string') {
1545 + identifier = loose
1546 + loose = undefined
1547 + }
2010 1548
2011 // Mostly just for testing and legacy API reasons
2012 const toComparators = (range, options) =>
2013 new Range(range, options).set
2014 .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))
1549 + try {
1550 + return new SemVer(version, loose).inc(release, identifier).version
1551 + } catch (er) {
1552 + return null
1553 + }
1554 +}
1555 +
1556 +exports.diff = diff
1557 +function diff (version1, version2) {
1558 + if (eq(version1, version2)) {
1559 + return null
1560 + } else {
1561 + var v1 = parse(version1)
1562 + var v2 = parse(version2)
1563 + var prefix = ''
1564 + if (v1.prerelease.length || v2.prerelease.length) {
1565 + prefix = 'pre'
1566 + var defaultResult = 'prerelease'
1567 + }
1568 + for (var key in v1) {
1569 + if (key === 'major' || key === 'minor' || key === 'patch') {
1570 + if (v1[key] !== v2[key]) {
1571 + return prefix + key
1572 + }
1573 + }
1574 + }
1575 + return defaultResult // may be undefined
1576 + }
1577 +}
2015 1578
2016 module.exports = toComparators
1579 +exports.compareIdentifiers = compareIdentifiers
2017 1580
1581 +var numeric = /^[0-9]+$/
1582 +function compareIdentifiers (a, b) {
1583 + var anum = numeric.test(a)
1584 + var bnum = numeric.test(b)
2018 1585
2019 /***/ }),
1586 + if (anum && bnum) {
1587 + a = +a
1588 + b = +b
1589 + }
2020 1590
2021 /***/ 259:
2022 /***/ (function(module, __unusedexports, __webpack_require__) {
1591 + return a === b ? 0
1592 + : (anum && !bnum) ? -1
1593 + : (bnum && !anum) ? 1
1594 + : a < b ? -1
1595 + : 1
1596 +}
2023 1597
2024 const Range = __webpack_require__(124)
2025 const intersects = (r1, r2, options) => {
2026 r1 = new Range(r1, options)
2027 r2 = new Range(r2, options)
2028 return r1.intersects(r2)
1598 +exports.rcompareIdentifiers = rcompareIdentifiers
1599 +function rcompareIdentifiers (a, b) {
1600 + return compareIdentifiers(b, a)
2029 1601 }
2030 module.exports = intersects
2031 1602
1603 +exports.major = major
1604 +function major (a, loose) {
1605 + return new SemVer(a, loose).major
1606 +}
2032 1607
2033 /***/ }),
1608 +exports.minor = minor
1609 +function minor (a, loose) {
1610 + return new SemVer(a, loose).minor
1611 +}
2034 1612
2035 /***/ 283:
2036 /***/ (function(module, __unusedexports, __webpack_require__) {
1613 +exports.patch = patch
1614 +function patch (a, loose) {
1615 + return new SemVer(a, loose).patch
1616 +}
2037 1617
2038 const compare = __webpack_require__(874)
2039 const compareLoose = (a, b) => compare(a, b, true)
2040 module.exports = compareLoose
1618 +exports.compare = compare
1619 +function compare (a, b, loose) {
1620 + return new SemVer(a, loose).compare(new SemVer(b, loose))
1621 +}
2041 1622
1623 +exports.compareLoose = compareLoose
1624 +function compareLoose (a, b) {
1625 + return compare(a, b, true)
1626 +}
2042 1627
2043 /***/ }),
1628 +exports.compareBuild = compareBuild
1629 +function compareBuild (a, b, loose) {
1630 + var versionA = new SemVer(a, loose)
1631 + var versionB = new SemVer(b, loose)
1632 + return versionA.compare(versionB) || versionA.compareBuild(versionB)
1633 +}
2044 1634
2045 /***/ 298:
2046 /***/ (function(module, __unusedexports, __webpack_require__) {
1635 +exports.rcompare = rcompare
1636 +function rcompare (a, b, loose) {
1637 + return compare(b, a, loose)
1638 +}
2047 1639
2048 const compare = __webpack_require__(874)
2049 const eq = (a, b, loose) => compare(a, b, loose) === 0
2050 module.exports = eq
1640 +exports.sort = sort
1641 +function sort (list, loose) {
1642 + return list.sort(function (a, b) {
1643 + return exports.compareBuild(a, b, loose)
1644 + })
1645 +}
2051 1646
1647 +exports.rsort = rsort
1648 +function rsort (list, loose) {
1649 + return list.sort(function (a, b) {
1650 + return exports.compareBuild(b, a, loose)
1651 + })
1652 +}
2052 1653
2053 /***/ }),
1654 +exports.gt = gt
1655 +function gt (a, b, loose) {
1656 + return compare(a, b, loose) > 0
1657 +}
2054 1658
2055 /***/ 310:
2056 /***/ (function(module, __unusedexports, __webpack_require__) {
1659 +exports.lt = lt
1660 +function lt (a, b, loose) {
1661 + return compare(a, b, loose) < 0
1662 +}
2057 1663
2058 const Range = __webpack_require__(124)
2059 const satisfies = (version, range, options) => {
2060 try {
2061 range = new Range(range, options)
2062 } catch (er) {
2063 return false
2064 }
2065 return range.test(version)
1664 +exports.eq = eq
1665 +function eq (a, b, loose) {
1666 + return compare(a, b, loose) === 0
2066 1667 }
2067 module.exports = satisfies
2068 1668
1669 +exports.neq = neq
1670 +function neq (a, b, loose) {
1671 + return compare(a, b, loose) !== 0
1672 +}
2069 1673
2070 /***/ }),
1674 +exports.gte = gte
1675 +function gte (a, b, loose) {
1676 + return compare(a, b, loose) >= 0
1677 +}
2071 1678
2072 /***/ 323:
2073 /***/ (function(module, __unusedexports, __webpack_require__) {
1679 +exports.lte = lte
1680 +function lte (a, b, loose) {
1681 + return compare(a, b, loose) <= 0
1682 +}
2074 1683
2075 const outside = __webpack_require__(462)
2076 // Determine if version is less than all the versions possible in the range
2077 const ltr = (version, range, options) => outside(version, range, '<', options)
2078 module.exports = ltr
1684 +exports.cmp = cmp
1685 +function cmp (a, op, b, loose) {
1686 + switch (op) {
1687 + case '===':
1688 + if (typeof a === 'object')
1689 + a = a.version
1690 + if (typeof b === 'object')
1691 + b = b.version
1692 + return a === b
2079 1693
1694 + case '!==':
1695 + if (typeof a === 'object')
1696 + a = a.version
1697 + if (typeof b === 'object')
1698 + b = b.version
1699 + return a !== b
2080 1700
2081 /***/ }),
1701 + case '':
1702 + case '=':
1703 + case '==':
1704 + return eq(a, b, loose)
2082 1705
2083 /***/ 357:
2084 /***/ (function(module) {
1706 + case '!=':
1707 + return neq(a, b, loose)
2085 1708
2086 module.exports = require("assert");
1709 + case '>':
1710 + return gt(a, b, loose)
2087 1711
2088 /***/ }),
1712 + case '>=':
1713 + return gte(a, b, loose)
2089 1714
2090 /***/ 408:
2091 /***/ (function(__unusedmodule, exports, __webpack_require__) {
1715 + case '<':
1716 + return lt(a, b, loose)
2092 1717
2093 "use strict";
1718 + case '<=':
1719 + return lte(a, b, loose)
2094 1720
2095 var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2096 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2097 return new (P || (P = Promise))(function (resolve, reject) {
2098 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2099 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2100 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2101 step((generator = generator.apply(thisArg, _arguments || [])).next());
2102 });
2103 };
2104 var _a;
2105 Object.defineProperty(exports, "__esModule", { value: true });
2106 const assert_1 = __webpack_require__(357);
2107 const fs = __webpack_require__(747);
2108 const path = __webpack_require__(622);
2109 _a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
2110 exports.IS_WINDOWS = process.platform === 'win32';
2111 function exists(fsPath) {
2112 return __awaiter(this, void 0, void 0, function* () {
2113 try {
2114 yield exports.stat(fsPath);
2115 }
2116 catch (err) {
2117 if (err.code === 'ENOENT') {
2118 return false;
2119 }
2120 throw err;
2121 }
2122 return true;
2123 });
2124 }
2125 exports.exists = exists;
2126 function isDirectory(fsPath, useStat = false) {
2127 return __awaiter(this, void 0, void 0, function* () {
2128 const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath);
2129 return stats.isDirectory();
2130 });
2131 }
2132 exports.isDirectory = isDirectory;
2133 /**
2134 * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:
2135 * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases).
2136 */
2137 function isRooted(p) {
2138 p = normalizeSeparators(p);
2139 if (!p) {
2140 throw new Error('isRooted() parameter "p" cannot be empty');
2141 }
2142 if (exports.IS_WINDOWS) {
2143 return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello
2144 ); // e.g. C: or C:\hello
2145 }
2146 return p.startsWith('/');
2147 }
2148 exports.isRooted = isRooted;
2149 /**
2150 * Recursively create a directory at `fsPath`.
2151 *
2152 * This implementation is optimistic, meaning it attempts to create the full
2153 * path first, and backs up the path stack from there.
2154 *
2155 * @param fsPath The path to create
2156 * @param maxDepth The maximum recursion depth
2157 * @param depth The current recursion depth
2158 */
2159 function mkdirP(fsPath, maxDepth = 1000, depth = 1) {
2160 return __awaiter(this, void 0, void 0, function* () {
2161 assert_1.ok(fsPath, 'a path argument must be provided');
2162 fsPath = path.resolve(fsPath);
2163 if (depth >= maxDepth)
2164 return exports.mkdir(fsPath);
2165 try {
2166 yield exports.mkdir(fsPath);
2167 return;
2168 }
2169 catch (err) {
2170 switch (err.code) {
2171 case 'ENOENT': {
2172 yield mkdirP(path.dirname(fsPath), maxDepth, depth + 1);
2173 yield exports.mkdir(fsPath);
2174 return;
2175 }
2176 default: {
2177 let stats;
2178 try {
2179 stats = yield exports.stat(fsPath);
2180 }
2181 catch (err2) {
2182 throw err;
2183 }
2184 if (!stats.isDirectory())
2185 throw err;
2186 }
2187 }
2188 }
2189 });
2190 }
2191 exports.mkdirP = mkdirP;
2192 /**
2193 * Best effort attempt to determine whether a file exists and is executable.
2194 * @param filePath file path to check
2195 * @param extensions additional file extensions to try
2196 * @return if file exists and is executable, returns the file path. otherwise empty string.
2197 */
2198 function tryGetExecutablePath(filePath, extensions) {
2199 return __awaiter(this, void 0, void 0, function* () {
2200 let stats = undefined;
2201 try {
2202 // test file exists
2203 stats = yield exports.stat(filePath);
2204 }
2205 catch (err) {
2206 if (err.code !== 'ENOENT') {
2207 // eslint-disable-next-line no-console
2208 console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
2209 }
2210 }
2211 if (stats && stats.isFile()) {
2212 if (exports.IS_WINDOWS) {
2213 // on Windows, test for valid extension
2214 const upperExt = path.extname(filePath).toUpperCase();
2215 if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) {
2216 return filePath;
2217 }
2218 }
2219 else {
2220 if (isUnixExecutable(stats)) {
2221 return filePath;
2222 }
2223 }
2224 }
2225 // try each extension
2226 const originalFilePath = filePath;
2227 for (const extension of extensions) {
2228 filePath = originalFilePath + extension;
2229 stats = undefined;
2230 try {
2231 stats = yield exports.stat(filePath);
2232 }
2233 catch (err) {
2234 if (err.code !== 'ENOENT') {
2235 // eslint-disable-next-line no-console
2236 console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
2237 }
2238 }
2239 if (stats && stats.isFile()) {
2240 if (exports.IS_WINDOWS) {
2241 // preserve the case of the actual file (since an extension was appended)
2242 try {
2243 const directory = path.dirname(filePath);
2244 const upperName = path.basename(filePath).toUpperCase();
2245 for (const actualName of yield exports.readdir(directory)) {
2246 if (upperName === actualName.toUpperCase()) {
2247 filePath = path.join(directory, actualName);
2248 break;
2249 }
2250 }
2251 }
2252 catch (err) {
2253 // eslint-disable-next-line no-console
2254 console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`);
2255 }
2256 return filePath;
2257 }
2258 else {
2259 if (isUnixExecutable(stats)) {
2260 return filePath;
2261 }
2262 }
2263 }
2264 }
2265 return '';
2266 });
2267 }
2268 exports.tryGetExecutablePath = tryGetExecutablePath;
2269 function normalizeSeparators(p) {
2270 p = p || '';
2271 if (exports.IS_WINDOWS) {
2272 // convert slashes on Windows
2273 p = p.replace(/\//g, '\\');
2274 // remove redundant slashes
2275 return p.replace(/\\\\+/g, '\\');
2276 }
2277 // remove redundant slashes
2278 return p.replace(/\/\/+/g, '/');
1721 + default:
1722 + throw new TypeError('Invalid operator: ' + op)
1723 + }
2279 1724 }
2280 // on Mac/Linux, test the execute bit
2281 // R W X R W X R W X
2282 // 256 128 64 32 16 8 4 2 1
2283 function isUnixExecutable(stats) {
2284 return ((stats.mode & 1) > 0 ||
2285 ((stats.mode & 8) > 0 && stats.gid === process.getgid()) ||
2286 ((stats.mode & 64) > 0 && stats.uid === process.getuid()));
1725 +
1726 +exports.Comparator = Comparator
1727 +function Comparator (comp, options) {
1728 + if (!options || typeof options !== 'object') {
1729 + options = {
1730 + loose: !!options,
1731 + includePrerelease: false
1732 + }
1733 + }
1734 +
1735 + if (comp instanceof Comparator) {
1736 + if (comp.loose === !!options.loose) {
1737 + return comp
1738 + } else {
1739 + comp = comp.value
1740 + }
1741 + }
1742 +
1743 + if (!(this instanceof Comparator)) {
1744 + return new Comparator(comp, options)
1745 + }
1746 +
1747 + debug('comparator', comp, options)
1748 + this.options = options
1749 + this.loose = !!options.loose
1750 + this.parse(comp)
1751 +
1752 + if (this.semver === ANY) {
1753 + this.value = ''
1754 + } else {
1755 + this.value = this.operator + this.semver.version
1756 + }
1757 +
1758 + debug('comp', this)
2287 1759 }
2288 //# sourceMappingURL=io-util.js.map
2289 1760
2290 /***/ }),
1761 +var ANY = {}
1762 +Comparator.prototype.parse = function (comp) {
1763 + var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
1764 + var m = comp.match(r)
2291 1765
2292 /***/ 431:
2293 /***/ (function(__unusedmodule, exports, __webpack_require__) {
1766 + if (!m) {
1767 + throw new TypeError('Invalid comparator: ' + comp)
1768 + }
2294 1769
2295 "use strict";
1770 + this.operator = m[1] !== undefined ? m[1] : ''
1771 + if (this.operator === '=') {
1772 + this.operator = ''
1773 + }
2296 1774
2297 var __importStar = (this && this.__importStar) || function (mod) {
2298 if (mod && mod.__esModule) return mod;
2299 var result = {};
2300 if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
2301 result["default"] = mod;
2302 return result;
2303 };
2304 Object.defineProperty(exports, "__esModule", { value: true });
2305 const os = __importStar(__webpack_require__(87));
2306 /**
2307 * Commands
2308 *
2309 * Command Format:
2310 * ::name key=value,key=value::message
2311 *
2312 * Examples:
2313 * ::warning::This is the message
2314 * ::set-env name=MY_VAR::some value
2315 */
2316 function issueCommand(command, properties, message) {
2317 const cmd = new Command(command, properties, message);
2318 process.stdout.write(cmd.toString() + os.EOL);
1775 + // if it literally is just '>' or '' then allow anything.
1776 + if (!m[2]) {
1777 + this.semver = ANY
1778 + } else {
1779 + this.semver = new SemVer(m[2], this.options.loose)
1780 + }
2319 1781 }
2320 exports.issueCommand = issueCommand;
2321 function issue(name, message = '') {
2322 issueCommand(name, {}, message);
1782 +
1783 +Comparator.prototype.toString = function () {
1784 + return this.value
2323 1785 }
2324 exports.issue = issue;
2325 const CMD_STRING = '::';
2326 class Command {
2327 constructor(command, properties, message) {
2328 if (!command) {
2329 command = 'missing.command';
2330 }
2331 this.command = command;
2332 this.properties = properties;
2333 this.message = message;
2334 }
2335 toString() {
2336 let cmdStr = CMD_STRING + this.command;
2337 if (this.properties && Object.keys(this.properties).length > 0) {
2338 cmdStr += ' ';
2339 let first = true;
2340 for (const key in this.properties) {
2341 if (this.properties.hasOwnProperty(key)) {
2342 const val = this.properties[key];
2343 if (val) {
2344 if (first) {
2345 first = false;
2346 }
2347 else {
2348 cmdStr += ',';
2349 }
2350 cmdStr += `${key}=${escapeProperty(val)}`;
2351 }
2352 }
2353 }
2354 }
2355 cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
2356 return cmdStr;
1786 +
1787 +Comparator.prototype.test = function (version) {
1788 + debug('Comparator.test', version, this.options.loose)
1789 +
1790 + if (this.semver === ANY || version === ANY) {
1791 + return true
1792 + }
1793 +
1794 + if (typeof version === 'string') {
1795 + try {
1796 + version = new SemVer(version, this.options)
1797 + } catch (er) {
1798 + return false
2357 1799 }
1800 + }
1801 +
1802 + return cmp(version, this.operator, this.semver, this.options)
2358 1803 }
2359 /**
2360 * Sanitizes an input into a string so it can be passed into issueCommand safely
2361 * @param input input to sanitize into a string
2362 */
2363 function toCommandValue(input) {
2364 if (input === null || input === undefined) {
2365 return '';
1804 +
1805 +Comparator.prototype.intersects = function (comp, options) {
1806 + if (!(comp instanceof Comparator)) {
1807 + throw new TypeError('a Comparator is required')
1808 + }
1809 +
1810 + if (!options || typeof options !== 'object') {
1811 + options = {
1812 + loose: !!options,
1813 + includePrerelease: false
2366 1814 }
2367 else if (typeof input === 'string' || input instanceof String) {
2368 return input;
1815 + }
1816 +
1817 + var rangeTmp
1818 +
1819 + if (this.operator === '') {
1820 + if (this.value === '') {
1821 + return true
2369 1822 }
2370 return JSON.stringify(input);
1823 + rangeTmp = new Range(comp.value, options)
1824 + return satisfies(this.value, rangeTmp, options)
1825 + } else if (comp.operator === '') {
1826 + if (comp.value === '') {
1827 + return true
1828 + }
1829 + rangeTmp = new Range(this.value, options)
1830 + return satisfies(comp.semver, rangeTmp, options)
1831 + }
1832 +
1833 + var sameDirectionIncreasing =
1834 + (this.operator === '>=' || this.operator === '>') &&
1835 + (comp.operator === '>=' || comp.operator === '>')
1836 + var sameDirectionDecreasing =
1837 + (this.operator === '<=' || this.operator === '<') &&
1838 + (comp.operator === '<=' || comp.operator === '<')
1839 + var sameSemVer = this.semver.version === comp.semver.version
1840 + var differentDirectionsInclusive =
1841 + (this.operator === '>=' || this.operator === '<=') &&
1842 + (comp.operator === '>=' || comp.operator === '<=')
1843 + var oppositeDirectionsLessThan =
1844 + cmp(this.semver, '<', comp.semver, options) &&
1845 + ((this.operator === '>=' || this.operator === '>') &&
1846 + (comp.operator === '<=' || comp.operator === '<'))
1847 + var oppositeDirectionsGreaterThan =
1848 + cmp(this.semver, '>', comp.semver, options) &&
1849 + ((this.operator === '<=' || this.operator === '<') &&
1850 + (comp.operator === '>=' || comp.operator === '>'))
1851 +
1852 + return sameDirectionIncreasing || sameDirectionDecreasing ||
1853 + (sameSemVer && differentDirectionsInclusive) ||
1854 + oppositeDirectionsLessThan || oppositeDirectionsGreaterThan
1855 +}
1856 +
1857 +exports.Range = Range
1858 +function Range (range, options) {
1859 + if (!options || typeof options !== 'object') {
1860 + options = {
1861 + loose: !!options,
1862 + includePrerelease: false
1863 + }
1864 + }
1865 +
1866 + if (range instanceof Range) {
1867 + if (range.loose === !!options.loose &&
1868 + range.includePrerelease === !!options.includePrerelease) {
1869 + return range
1870 + } else {
1871 + return new Range(range.raw, options)
1872 + }
1873 + }
1874 +
1875 + if (range instanceof Comparator) {
1876 + return new Range(range.value, options)
1877 + }
1878 +
1879 + if (!(this instanceof Range)) {
1880 + return new Range(range, options)
1881 + }
1882 +
1883 + this.options = options
1884 + this.loose = !!options.loose
1885 + this.includePrerelease = !!options.includePrerelease
1886 +
1887 + // First, split based on boolean or ||
1888 + this.raw = range
1889 + this.set = range.split(/\s*\|\|\s*/).map(function (range) {
1890 + return this.parseRange(range.trim())
1891 + }, this).filter(function (c) {
1892 + // throw out any that are not relevant for whatever reason
1893 + return c.length
1894 + })
1895 +
1896 + if (!this.set.length) {
1897 + throw new TypeError('Invalid SemVer Range: ' + range)
1898 + }
1899 +
1900 + this.format()
2371 1901 }
2372 exports.toCommandValue = toCommandValue;
2373 function escapeData(s) {
2374 return toCommandValue(s)
2375 .replace(/%/g, '%25')
2376 .replace(/\r/g, '%0D')
2377 .replace(/\n/g, '%0A');
1902 +
1903 +Range.prototype.format = function () {
1904 + this.range = this.set.map(function (comps) {
1905 + return comps.join(' ').trim()
1906 + }).join('||').trim()
1907 + return this.range
2378 1908 }
2379 function escapeProperty(s) {
2380 return toCommandValue(s)
2381 .replace(/%/g, '%25')
2382 .replace(/\r/g, '%0D')
2383 .replace(/\n/g, '%0A')
2384 .replace(/:/g, '%3A')
2385 .replace(/,/g, '%2C');
1909 +
1910 +Range.prototype.toString = function () {
1911 + return this.range
2386 1912 }
2387 //# sourceMappingURL=command.js.map
2388 1913
2389 /***/ }),
1914 +Range.prototype.parseRange = function (range) {
1915 + var loose = this.options.loose
1916 + range = range.trim()
1917 + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
1918 + var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
1919 + range = range.replace(hr, hyphenReplace)
1920 + debug('hyphen replace', range)
1921 + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
1922 + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
1923 + debug('comparator trim', range, re[t.COMPARATORTRIM])
2390 1924
2391 /***/ 449:
2392 /***/ (function(module, __unusedexports, __webpack_require__) {
1925 + // `~ 1.2.3` => `~1.2.3`
1926 + range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
2393 1927
2394 const {exec} = __webpack_require__(917)
2395 const path = __webpack_require__(622)
2396 const semver = __webpack_require__(876)
1928 + // `^ 1.2.3` => `^1.2.3`
1929 + range = range.replace(re[t.CARETTRIM], caretTrimReplace)
2397 1930
2398 module.exports = {installElixir, installOTP}
1931 + // normalize spaces
1932 + range = range.split(/\s+/).join(' ')
2399 1933
2400 /**
2401 * Install Elixir.
2402 *
2403 * @param {string} version
2404 * @param {string} otpMajor
2405 */
2406 async function installElixir(version, otpMajor) {
2407 if (process.platform === 'linux') {
2408 const otpString = otpMajor ? `-otp-${otpMajor}` : ''
2409 await exec(__webpack_require__.ab + "install-elixir", [version, otpString])
1934 + // At this point, the range is completely trimmed and
1935 + // ready to be split into comparators.
1936 +
1937 + var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
1938 + var set = range.split(' ').map(function (comp) {
1939 + return parseComparator(comp, this.options)
1940 + }, this).join(' ').split(/\s+/)
1941 + if (this.options.loose) {
1942 + // in loose mode, throw out any that are not valid comparators
1943 + set = set.filter(function (comp) {
1944 + return !!comp.match(compRe)
1945 + })
2410 1946 }
1947 + set = set.map(function (comp) {
1948 + return new Comparator(comp, this.options)
1949 + }, this)
1950 +
1951 + return set
2411 1952 }
2412 1953
2413 /**
2414 * Install OTP.
2415 *
2416 * @param {string} version
2417 */
2418 async function installOTP(version) {
2419 if (process.platform === 'linux') {
2420 await exec(__webpack_require__.ab + "install-otp", [version])
2421 return
1954 +Range.prototype.intersects = function (range, options) {
1955 + if (!(range instanceof Range)) {
1956 + throw new TypeError('a Range is required')
2422 1957 }
2423 1958
2424 throw new Error(
2425 '@actions/setup-elixir only supports Ubuntu Linux at this time'
2426 )
1959 + return this.set.some(function (thisComparators) {
1960 + return (
1961 + isSatisfiable(thisComparators, options) &&
1962 + range.set.some(function (rangeComparators) {
1963 + return (
1964 + isSatisfiable(rangeComparators, options) &&
1965 + thisComparators.every(function (thisComparator) {
1966 + return rangeComparators.every(function (rangeComparator) {
1967 + return thisComparator.intersects(rangeComparator, options)
1968 + })
1969 + })
1970 + )
1971 + })
1972 + )
1973 + })
2427 1974 }
2428 1975
1976 +// take a set of comparators and determine whether there
1977 +// exists a version which can satisfy it
1978 +function isSatisfiable (comparators, options) {
1979 + var result = true
1980 + var remainingComparators = comparators.slice()
1981 + var testComparator = remainingComparators.pop()
2429 1982
2430 /***/ }),
1983 + while (result && remainingComparators.length) {
1984 + result = remainingComparators.every(function (otherComparator) {
1985 + return testComparator.intersects(otherComparator, options)
1986 + })
2431 1987
2432 /***/ 462:
2433 /***/ (function(module, __unusedexports, __webpack_require__) {
1988 + testComparator = remainingComparators.pop()
1989 + }
2434 1990
2435 const SemVer = __webpack_require__(65)
2436 const Comparator = __webpack_require__(174)
2437 const {ANY} = Comparator
2438 const Range = __webpack_require__(124)
2439 const satisfies = __webpack_require__(310)
2440 const gt = __webpack_require__(486)
2441 const lt = __webpack_require__(586)
2442 const lte = __webpack_require__(898)
2443 const gte = __webpack_require__(167)
2444
2445 const outside = (version, range, hilo, options) => {
2446 version = new SemVer(version, options)
2447 range = new Range(range, options)
1991 + return result
1992 +}
2448 1993
2449 let gtfn, ltefn, ltfn, comp, ecomp
2450 switch (hilo) {
2451 case '>':
2452 gtfn = gt
2453 ltefn = lte
2454 ltfn = lt
2455 comp = '>'
2456 ecomp = '>='
2457 break
2458 case '<':
2459 gtfn = lt
2460 ltefn = gte
2461 ltfn = gt
2462 comp = '<'
2463 ecomp = '<='
2464 break
2465 default:
2466 throw new TypeError('Must provide a hilo val of "<" or ">"')
2467 }
1994 +// Mostly just for testing and legacy API reasons
1995 +exports.toComparators = toComparators
1996 +function toComparators (range, options) {
1997 + return new Range(range, options).set.map(function (comp) {
1998 + return comp.map(function (c) {
1999 + return c.value
2000 + }).join(' ').trim().split(' ')
2001 + })
2002 +}
2468 2003
2469 // If it satisifes the range it is not outside
2470 if (satisfies(version, range, options)) {
2471 return false
2472 }
2004 +// comprised of xranges, tildes, stars, and gtlt's at this point.
2005 +// already replaced the hyphen ranges
2006 +// turn into a set of JUST comparators.
2007 +function parseComparator (comp, options) {
2008 + debug('comp', comp, options)
2009 + comp = replaceCarets(comp, options)
2010 + debug('caret', comp)
2011 + comp = replaceTildes(comp, options)
2012 + debug('tildes', comp)
2013 + comp = replaceXRanges(comp, options)
2014 + debug('xrange', comp)
2015 + comp = replaceStars(comp, options)
2016 + debug('stars', comp)
2017 + return comp
2018 +}
2473 2019
2474 // From now on, variable terms are as if we're in "gtr" mode.
2475 // but note that everything is flipped for the "ltr" function.
2020 +function isX (id) {
2021 + return !id || id.toLowerCase() === 'x' || id === '*'
2022 +}
2023 +
2024 +// ~, ~> --> * (any, kinda silly)
2025 +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0
2026 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0
2027 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
2028 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
2029 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
2030 +function replaceTildes (comp, options) {
2031 + return comp.trim().split(/\s+/).map(function (comp) {
2032 + return replaceTilde(comp, options)
2033 + }).join(' ')
2034 +}
2035 +
2036 +function replaceTilde (comp, options) {
2037 + var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
2038 + return comp.replace(r, function (_, M, m, p, pr) {
2039 + debug('tilde', comp, _, M, m, p, pr)
2040 + var ret
2041 +
2042 + if (isX(M)) {
2043 + ret = ''
2044 + } else if (isX(m)) {
2045 + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
2046 + } else if (isX(p)) {
2047 + // ~1.2 == >=1.2.0 <1.3.0
2048 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
2049 + } else if (pr) {
2050 + debug('replaceTilde pr', pr)
2051 + ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
2052 + ' <' + M + '.' + (+m + 1) + '.0'
2053 + } else {
2054 + // ~1.2.3 == >=1.2.3 <1.3.0
2055 + ret = '>=' + M + '.' + m + '.' + p +
2056 + ' <' + M + '.' + (+m + 1) + '.0'
2057 + }
2476 2058
2477 for (let i = 0; i < range.set.length; ++i) {
2478 const comparators = range.set[i]
2059 + debug('tilde return', ret)
2060 + return ret
2061 + })
2062 +}
2063 +
2064 +// ^ --> * (any, kinda silly)
2065 +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0
2066 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0
2067 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0
2068 +// ^1.2.3 --> >=1.2.3 <2.0.0
2069 +// ^1.2.0 --> >=1.2.0 <2.0.0
2070 +function replaceCarets (comp, options) {
2071 + return comp.trim().split(/\s+/).map(function (comp) {
2072 + return replaceCaret(comp, options)
2073 + }).join(' ')
2074 +}
2479 2075
2480 let high = null
2481 let low = null
2076 +function replaceCaret (comp, options) {
2077 + debug('caret', comp, options)
2078 + var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
2079 + return comp.replace(r, function (_, M, m, p, pr) {
2080 + debug('caret', comp, _, M, m, p, pr)
2081 + var ret
2482 2082
2483 comparators.forEach((comparator) => {
2484 if (comparator.semver === ANY) {
2485 comparator = new Comparator('>=0.0.0')
2083 + if (isX(M)) {
2084 + ret = ''
2085 + } else if (isX(m)) {
2086 + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
2087 + } else if (isX(p)) {
2088 + if (M === '0') {
2089 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
2090 + } else {
2091 + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'
2486 2092 }
2487 high = high || comparator
2488 low = low || comparator
2489 if (gtfn(comparator.semver, high.semver, options)) {
2490 high = comparator
2491 } else if (ltfn(comparator.semver, low.semver, options)) {
2492 low = comparator
2093 + } else if (pr) {
2094 + debug('replaceCaret pr', pr)
2095 + if (M === '0') {
2096 + if (m === '0') {
2097 + ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
2098 + ' <' + M + '.' + m + '.' + (+p + 1)
2099 + } else {
2100 + ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
2101 + ' <' + M + '.' + (+m + 1) + '.0'
2102 + }
2103 + } else {
2104 + ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
2105 + ' <' + (+M + 1) + '.0.0'
2106 + }
2107 + } else {
2108 + debug('no pr')
2109 + if (M === '0') {
2110 + if (m === '0') {
2111 + ret = '>=' + M + '.' + m + '.' + p +
2112 + ' <' + M + '.' + m + '.' + (+p + 1)
2113 + } else {
2114 + ret = '>=' + M + '.' + m + '.' + p +
2115 + ' <' + M + '.' + (+m + 1) + '.0'
2116 + }
2117 + } else {
2118 + ret = '>=' + M + '.' + m + '.' + p +
2119 + ' <' + (+M + 1) + '.0.0'
2493 2120 }
2494 })
2495
2496 // If the edge version comparator has a operator then our version
2497 // isn't outside it
2498 if (high.operator === comp || high.operator === ecomp) {
2499 return false
2500 2121 }
2501 2122
2502 // If the lowest version comparator has an operator and our version
2503 // is less than it then it isn't higher than the range
2504 if ((!low.operator || low.operator === comp) &&
2505 ltefn(version, low.semver)) {
2506 return false
2507 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
2508 return false
2509 }
2510 }
2511 return true
2123 + debug('caret return', ret)
2124 + return ret
2125 + })
2512 2126 }
2513 2127
2514 module.exports = outside
2128 +function replaceXRanges (comp, options) {
2129 + debug('replaceXRanges', comp, options)
2130 + return comp.split(/\s+/).map(function (comp) {
2131 + return replaceXRange(comp, options)
2132 + }).join(' ')
2133 +}
2515 2134
2135 +function replaceXRange (comp, options) {
2136 + comp = comp.trim()
2137 + var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
2138 + return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
2139 + debug('xRange', comp, ret, gtlt, M, m, p, pr)
2140 + var xM = isX(M)
2141 + var xm = xM || isX(m)
2142 + var xp = xm || isX(p)
2143 + var anyX = xp
2516 2144
2517 /***/ }),
2145 + if (gtlt === '=' && anyX) {
2146 + gtlt = ''
2147 + }
2518 2148
2519 /***/ 470:
2520 /***/ (function(__unusedmodule, exports, __webpack_require__) {
2149 + // if we're including prereleases in the match, then we need
2150 + // to fix this to -0, the lowest possible prerelease value
2151 + pr = options.includePrerelease ? '-0' : ''
2521 2152
2522 "use strict";
2153 + if (xM) {
2154 + if (gtlt === '>' || gtlt === '<') {
2155 + // nothing is allowed
2156 + ret = '<0.0.0-0'
2157 + } else {
2158 + // nothing is forbidden
2159 + ret = '*'
2160 + }
2161 + } else if (gtlt && anyX) {
2162 + // we know patch is an x, because we have any x at all.
2163 + // replace X with 0
2164 + if (xm) {
2165 + m = 0
2166 + }
2167 + p = 0
2523 2168
2524 var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2525 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2526 return new (P || (P = Promise))(function (resolve, reject) {
2527 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2528 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2529 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2530 step((generator = generator.apply(thisArg, _arguments || [])).next());
2531 });
2532 };
2533 var __importStar = (this && this.__importStar) || function (mod) {
2534 if (mod && mod.__esModule) return mod;
2535 var result = {};
2536 if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
2537 result["default"] = mod;
2538 return result;
2539 };
2540 Object.defineProperty(exports, "__esModule", { value: true });
2541 const command_1 = __webpack_require__(431);
2542 const os = __importStar(__webpack_require__(87));
2543 const path = __importStar(__webpack_require__(622));
2544 /**
2545 * The code to exit an action
2546 */
2547 var ExitCode;
2548 (function (ExitCode) {
2549 /**
2550 * A code indicating that the action was successful
2551 */
2552 ExitCode[ExitCode["Success"] = 0] = "Success";
2553 /**
2554 * A code indicating that the action was a failure
2555 */
2556 ExitCode[ExitCode["Failure"] = 1] = "Failure";
2557 })(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
2558 //-----------------------------------------------------------------------
2559 // Variables
2560 //-----------------------------------------------------------------------
2561 /**
2562 * Sets env variable for this action and future actions in the job
2563 * @param name the name of the variable to set
2564 * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
2565 */
2566 // eslint-disable-next-line @typescript-eslint/no-explicit-any
2567 function exportVariable(name, val) {
2568 const convertedVal = command_1.toCommandValue(val);
2569 process.env[name] = convertedVal;
2570 command_1.issueCommand('set-env', { name }, convertedVal);
2571 }
2572 exports.exportVariable = exportVariable;
2573 /**
2574 * Registers a secret which will get masked from logs
2575 * @param secret value of the secret
2576 */
2577 function setSecret(secret) {
2578 command_1.issueCommand('add-mask', {}, secret);
2579 }
2580 exports.setSecret = setSecret;
2581 /**
2582 * Prepends inputPath to the PATH (for this action and future actions)
2583 * @param inputPath
2584 */
2585 function addPath(inputPath) {
2586 command_1.issueCommand('add-path', {}, inputPath);
2587 process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
2588 }
2589 exports.addPath = addPath;
2590 /**
2591 * Gets the value of an input. The value is also trimmed.
2592 *
2593 * @param name name of the input to get
2594 * @param options optional. See InputOptions.
2595 * @returns string
2596 */
2597 function getInput(name, options) {
2598 const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
2599 if (options && options.required && !val) {
2600 throw new Error(`Input required and not supplied: ${name}`);
2601 }
2602 return val.trim();
2603 }
2604 exports.getInput = getInput;
2605 /**
2606 * Sets the value of an output.
2607 *
2608 * @param name name of the output to set
2609 * @param value value to store. Non-string values will be converted to a string via JSON.stringify
2610 */
2611 // eslint-disable-next-line @typescript-eslint/no-explicit-any
2612 function setOutput(name, value) {
2613 command_1.issueCommand('set-output', { name }, value);
2614 }
2615 exports.setOutput = setOutput;
2616 /**
2617 * Enables or disables the echoing of commands into stdout for the rest of the step.
2618 * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
2619 *
2620 */
2621 function setCommandEcho(enabled) {
2622 command_1.issue('echo', enabled ? 'on' : 'off');
2623 }
2624 exports.setCommandEcho = setCommandEcho;
2625 //-----------------------------------------------------------------------
2626 // Results
2627 //-----------------------------------------------------------------------
2628 /**
2629 * Sets the action status to failed.
2630 * When the action exits it will be with an exit code of 1
2631 * @param message add error issue message
2632 */
2633 function setFailed(message) {
2634 process.exitCode = ExitCode.Failure;
2635 error(message);
2636 }
2637 exports.setFailed = setFailed;
2638 //-----------------------------------------------------------------------
2639 // Logging Commands
2640 //-----------------------------------------------------------------------
2641 /**
2642 * Gets whether Actions Step Debug is on or not
2643 */
2644 function isDebug() {
2645 return process.env['RUNNER_DEBUG'] === '1';
2646 }
2647 exports.isDebug = isDebug;
2648 /**
2649 * Writes debug message to user log
2650 * @param message debug message
2651 */
2652 function debug(message) {
2653 command_1.issueCommand('debug', {}, message);
2654 }
2655 exports.debug = debug;
2656 /**
2657 * Adds an error issue
2658 * @param message error issue message. Errors will be converted to string via toString()
2659 */
2660 function error(message) {
2661 command_1.issue('error', message instanceof Error ? message.toString() : message);
2662 }
2663 exports.error = error;
2664 /**
2665 * Adds an warning issue
2666 * @param message warning issue message. Errors will be converted to string via toString()
2667 */
2668 function warning(message) {
2669 command_1.issue('warning', message instanceof Error ? message.toString() : message);
2169 + if (gtlt === '>') {
2170 + // >1 => >=2.0.0
2171 + // >1.2 => >=1.3.0
2172 + // >1.2.3 => >= 1.2.4
2173 + gtlt = '>='
2174 + if (xm) {
2175 + M = +M + 1
2176 + m = 0
2177 + p = 0
2178 + } else {
2179 + m = +m + 1
2180 + p = 0
2181 + }
2182 + } else if (gtlt === '<=') {
2183 + // <=0.7.x is actually <0.8.0, since any 0.7.x should
2184 + // pass. Similarly, <=7.x is actually <8.0.0, etc.
2185 + gtlt = '<'
2186 + if (xm) {
2187 + M = +M + 1
2188 + } else {
2189 + m = +m + 1
2190 + }
2191 + }
2192 +
2193 + ret = gtlt + M + '.' + m + '.' + p + pr
2194 + } else if (xm) {
2195 + ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr
2196 + } else if (xp) {
2197 + ret = '>=' + M + '.' + m + '.0' + pr +
2198 + ' <' + M + '.' + (+m + 1) + '.0' + pr
2199 + }
2200 +
2201 + debug('xRange return', ret)
2202 +
2203 + return ret
2204 + })
2670 2205 }
2671 exports.warning = warning;
2672 /**
2673 * Writes info to log with console.log.
2674 * @param message info message
2675 */
2676 function info(message) {
2677 process.stdout.write(message + os.EOL);
2206 +
2207 +// Because * is AND-ed with everything else in the comparator,
2208 +// and '' means "any version", just remove the *s entirely.
2209 +function replaceStars (comp, options) {
2210 + debug('replaceStars', comp, options)
2211 + // Looseness is ignored here. star is always as loose as it gets!
2212 + return comp.trim().replace(re[t.STAR], '')
2678 2213 }
2679 exports.info = info;
2680 /**
2681 * Begin an output group.
2682 *
2683 * Output until the next `groupEnd` will be foldable in this group
2684 *
2685 * @param name The name of the output group
2686 */
2687 function startGroup(name) {
2688 command_1.issue('group', name);
2214 +
2215 +// This function is passed to string.replace(re[t.HYPHENRANGE])
2216 +// M, m, patch, prerelease, build
2217 +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
2218 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
2219 +// 1.2 - 3.4 => >=1.2.0 <3.5.0
2220 +function hyphenReplace ($0,
2221 + from, fM, fm, fp, fpr, fb,
2222 + to, tM, tm, tp, tpr, tb) {
2223 + if (isX(fM)) {
2224 + from = ''
2225 + } else if (isX(fm)) {
2226 + from = '>=' + fM + '.0.0'
2227 + } else if (isX(fp)) {
2228 + from = '>=' + fM + '.' + fm + '.0'
2229 + } else {
2230 + from = '>=' + from
2231 + }
2232 +
2233 + if (isX(tM)) {
2234 + to = ''
2235 + } else if (isX(tm)) {
2236 + to = '<' + (+tM + 1) + '.0.0'
2237 + } else if (isX(tp)) {
2238 + to = '<' + tM + '.' + (+tm + 1) + '.0'
2239 + } else if (tpr) {
2240 + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr
2241 + } else {
2242 + to = '<=' + to
2243 + }
2244 +
2245 + return (from + ' ' + to).trim()
2689 2246 }
2690 exports.startGroup = startGroup;
2691 /**
2692 * End an output group.
2693 */
2694 function endGroup() {
2695 command_1.issue('endgroup');
2247 +
2248 +// if ANY of the sets match ALL of its comparators, then pass
2249 +Range.prototype.test = function (version) {
2250 + if (!version) {
2251 + return false
2252 + }
2253 +
2254 + if (typeof version === 'string') {
2255 + try {
2256 + version = new SemVer(version, this.options)
2257 + } catch (er) {
2258 + return false
2259 + }
2260 + }
2261 +
2262 + for (var i = 0; i < this.set.length; i++) {
2263 + if (testSet(this.set[i], version, this.options)) {
2264 + return true
2265 + }
2266 + }
2267 + return false
2696 2268 }
2697 exports.endGroup = endGroup;
2698 /**
2699 * Wrap an asynchronous function call in a group.
2700 *
2701 * Returns the same type as the function itself.
2702 *
2703 * @param name The name of the group
2704 * @param fn The function to wrap in the group
2705 */
2706 function group(name, fn) {
2707 return __awaiter(this, void 0, void 0, function* () {
2708 startGroup(name);
2709 let result;
2710 try {
2711 result = yield fn();
2712 }
2713 finally {
2714 endGroup();
2269 +
2270 +function testSet (set, version, options) {
2271 + for (var i = 0; i < set.length; i++) {
2272 + if (!set[i].test(version)) {
2273 + return false
2274 + }
2275 + }
2276 +
2277 + if (version.prerelease.length && !options.includePrerelease) {
2278 + // Find the set of versions that are allowed to have prereleases
2279 + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
2280 + // That should allow `1.2.3-pr.2` to pass.
2281 + // However, `1.2.4-alpha.notready` should NOT be allowed,
2282 + // even though it's within the range set by the comparators.
2283 + for (i = 0; i < set.length; i++) {
2284 + debug(set[i].semver)
2285 + if (set[i].semver === ANY) {
2286 + continue
2287 + }
2288 +
2289 + if (set[i].semver.prerelease.length > 0) {
2290 + var allowed = set[i].semver
2291 + if (allowed.major === version.major &&
2292 + allowed.minor === version.minor &&
2293 + allowed.patch === version.patch) {
2294 + return true
2715 2295 }
2716 return result;
2717 });
2296 + }
2297 + }
2298 +
2299 + // Version has a -pre, but it's not one of the ones we like.
2300 + return false
2301 + }
2302 +
2303 + return true
2718 2304 }
2719 exports.group = group;
2720 //-----------------------------------------------------------------------
2721 // Wrapper action state
2722 //-----------------------------------------------------------------------
2723 /**
2724 * Saves state for current action, the state can only be retrieved by this action's post job execution.
2725 *
2726 * @param name name of the state to store
2727 * @param value value to store. Non-string values will be converted to a string via JSON.stringify
2728 */
2729 // eslint-disable-next-line @typescript-eslint/no-explicit-any
2730 function saveState(name, value) {
2731 command_1.issueCommand('save-state', { name }, value);
2305 +
2306 +exports.satisfies = satisfies
2307 +function satisfies (version, range, options) {
2308 + try {
2309 + range = new Range(range, options)
2310 + } catch (er) {
2311 + return false
2312 + }
2313 + return range.test(version)
2732 2314 }
2733 exports.saveState = saveState;
2734 /**
2735 * Gets the value of an state set by this action's main execution.
2736 *
2737 * @param name name of the state to get
2738 * @returns string
2739 */
2740 function getState(name) {
2741 return process.env[`STATE_${name}`] || '';
2315 +
2316 +exports.maxSatisfying = maxSatisfying
2317 +function maxSatisfying (versions, range, options) {
2318 + var max = null
2319 + var maxSV = null
2320 + try {
2321 + var rangeObj = new Range(range, options)
2322 + } catch (er) {
2323 + return null
2324 + }
2325 + versions.forEach(function (v) {
2326 + if (rangeObj.test(v)) {
2327 + // satisfies(v, range, options)
2328 + if (!max || maxSV.compare(v) === -1) {
2329 + // compare(max, v, true)
2330 + max = v
2331 + maxSV = new SemVer(max, options)
2332 + }
2333 + }
2334 + })
2335 + return max
2742 2336 }
2743 exports.getState = getState;
2744 //# sourceMappingURL=core.js.map
2745 2337
2746 /***/ }),
2338 +exports.minSatisfying = minSatisfying
2339 +function minSatisfying (versions, range, options) {
2340 + var min = null
2341 + var minSV = null
2342 + try {
2343 + var rangeObj = new Range(range, options)
2344 + } catch (er) {
2345 + return null
2346 + }
2347 + versions.forEach(function (v) {
2348 + if (rangeObj.test(v)) {
2349 + // satisfies(v, range, options)
2350 + if (!min || minSV.compare(v) === 1) {
2351 + // compare(min, v, true)
2352 + min = v
2353 + minSV = new SemVer(min, options)
2354 + }
2355 + }
2356 + })
2357 + return min
2358 +}
2747 2359
2748 /***/ 480:
2749 /***/ (function(module, __unusedexports, __webpack_require__) {
2360 +exports.minVersion = minVersion
2361 +function minVersion (range, loose) {
2362 + range = new Range(range, loose)
2363 +
2364 + var minver = new SemVer('0.0.0')
2365 + if (range.test(minver)) {
2366 + return minver
2367 + }
2368 +
2369 + minver = new SemVer('0.0.0-0')
2370 + if (range.test(minver)) {
2371 + return minver
2372 + }
2373 +
2374 + minver = null
2375 + for (var i = 0; i < range.set.length; ++i) {
2376 + var comparators = range.set[i]
2377 +
2378 + comparators.forEach(function (comparator) {
2379 + // Clone to avoid manipulating the comparator's semver object.
2380 + var compver = new SemVer(comparator.semver.version)
2381 + switch (comparator.operator) {
2382 + case '>':
2383 + if (compver.prerelease.length === 0) {
2384 + compver.patch++
2385 + } else {
2386 + compver.prerelease.push(0)
2387 + }
2388 + compver.raw = compver.format()
2389 + /* fallthrough */
2390 + case '':
2391 + case '>=':
2392 + if (!minver || gt(minver, compver)) {
2393 + minver = compver
2394 + }
2395 + break
2396 + case '<':
2397 + case '<=':
2398 + /* Ignore maximum versions */
2399 + break
2400 + /* istanbul ignore next */
2401 + default:
2402 + throw new Error('Unexpected operation: ' + comparator.operator)
2403 + }
2404 + })
2405 + }
2406 +
2407 + if (minver && range.test(minver)) {
2408 + return minver
2409 + }
2410 +
2411 + return null
2412 +}
2750 2413
2751 const Range = __webpack_require__(124)
2752 const validRange = (range, options) => {
2414 +exports.validRange = validRange
2415 +function validRange (range, options) {
2753 2416 try {
2754 2417 // Return '*' instead of '' so that truthiness works.
2755 2418 // This will throw if it's invalid anyway
@@ -2757,40 +2420,105 @@ const validRange = (range, options) => {
2757 2420 } catch (er) {
2758 2421 return null
2759 2422 }
2760 }
2761 module.exports = validRange
2762
2763
2764 /***/ }),
2765
2766 /***/ 486:
2767 /***/ (function(module, __unusedexports, __webpack_require__) {
2423 +}
2424 +
2425 +// Determine if version is less than all the versions possible in the range
2426 +exports.ltr = ltr
2427 +function ltr (version, range, options) {
2428 + return outside(version, range, '<', options)
2429 +}
2430 +
2431 +// Determine if version is greater than all the versions possible in the range.
2432 +exports.gtr = gtr
2433 +function gtr (version, range, options) {
2434 + return outside(version, range, '>', options)
2435 +}
2436 +
2437 +exports.outside = outside
2438 +function outside (version, range, hilo, options) {
2439 + version = new SemVer(version, options)
2440 + range = new Range(range, options)
2441 +
2442 + var gtfn, ltefn, ltfn, comp, ecomp
2443 + switch (hilo) {
2444 + case '>':
2445 + gtfn = gt
2446 + ltefn = lte
2447 + ltfn = lt
2448 + comp = '>'
2449 + ecomp = '>='
2450 + break
2451 + case '<':
2452 + gtfn = lt
2453 + ltefn = gte
2454 + ltfn = gt
2455 + comp = '<'
2456 + ecomp = '<='
2457 + break
2458 + default:
2459 + throw new TypeError('Must provide a hilo val of "<" or ">"')
2460 + }
2768 2461
2769 const compare = __webpack_require__(874)
2770 const gt = (a, b, loose) => compare(a, b, loose) > 0
2771 module.exports = gt
2462 + // If it satisifes the range it is not outside
2463 + if (satisfies(version, range, options)) {
2464 + return false
2465 + }
2772 2466
2467 + // From now on, variable terms are as if we're in "gtr" mode.
2468 + // but note that everything is flipped for the "ltr" function.
2773 2469
2774 /***/ }),
2470 + for (var i = 0; i < range.set.length; ++i) {
2471 + var comparators = range.set[i]
2775 2472
2776 /***/ 489:
2777 /***/ (function(module, __unusedexports, __webpack_require__) {
2473 + var high = null
2474 + var low = null
2778 2475
2779 const SemVer = __webpack_require__(65)
2780 const patch = (a, loose) => new SemVer(a, loose).patch
2781 module.exports = patch
2476 + comparators.forEach(function (comparator) {
2477 + if (comparator.semver === ANY) {
2478 + comparator = new Comparator('>=0.0.0')
2479 + }
2480 + high = high || comparator
2481 + low = low || comparator
2482 + if (gtfn(comparator.semver, high.semver, options)) {
2483 + high = comparator
2484 + } else if (ltfn(comparator.semver, low.semver, options)) {
2485 + low = comparator
2486 + }
2487 + })
2782 2488
2489 + // If the edge version comparator has a operator then our version
2490 + // isn't outside it
2491 + if (high.operator === comp || high.operator === ecomp) {
2492 + return false
2493 + }
2783 2494
2784 /***/ }),
2495 + // If the lowest version comparator has an operator and our version
2496 + // is less than it then it isn't higher than the range
2497 + if ((!low.operator || low.operator === comp) &&
2498 + ltefn(version, low.semver)) {
2499 + return false
2500 + } else if (low.operator === ecomp && ltfn(version, low.semver)) {
2501 + return false
2502 + }
2503 + }
2504 + return true
2505 +}
2785 2506
2786 /***/ 499:
2787 /***/ (function(module, __unusedexports, __webpack_require__) {
2507 +exports.prerelease = prerelease
2508 +function prerelease (version, options) {
2509 + var parsed = parse(version, options)
2510 + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
2511 +}
2788 2512
2789 const SemVer = __webpack_require__(65)
2790 const parse = __webpack_require__(830)
2791 const {re, t} = __webpack_require__(976)
2513 +exports.intersects = intersects
2514 +function intersects (r1, r2, options) {
2515 + r1 = new Range(r1, options)
2516 + r2 = new Range(r2, options)
2517 + return r1.intersects(r2)
2518 +}
2792 2519
2793 const coerce = (version, options) => {
2520 +exports.coerce = coerce
2521 +function coerce (version, options) {
2794 2522 if (version instanceof SemVer) {
2795 2523 return version
2796 2524 }
@@ -2805,7 +2533,7 @@ const coerce = (version, options) => {
2805 2533
2806 2534 options = options || {}
2807 2535
2808 let match = null
2536 + var match = null
2809 2537 if (!options.rtl) {
2810 2538 match = version.match(re[t.COERCE])
2811 2539 } else {
@@ -2817,518 +2545,635 @@ const coerce = (version, options) => {
2817 2545 // Manually set the index so as to pick up overlapping matches.
2818 2546 // Stop when we get a match that ends at the string end, since no
2819 2547 // coercible string can be more right-ward without the same terminus.
2820 let next
2548 + var next
2821 2549 while ((next = re[t.COERCERTL].exec(version)) &&
2822 (!match || match.index + match[0].length !== version.length)
2550 + (!match || match.index + match[0].length !== version.length)
2823 2551 ) {
2824 2552 if (!match ||
2825 next.index + next[0].length !== match.index + match[0].length) {
2553 + next.index + next[0].length !== match.index + match[0].length) {
2826 2554 match = next
2827 2555 }
2828 2556 re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length
2829 2557 }
2830 // leave it in a clean state
2831 re[t.COERCERTL].lastIndex = -1
2832 }
2833
2834 if (match === null)
2835 return null
2836
2837 return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)
2558 + // leave it in a clean state
2559 + re[t.COERCERTL].lastIndex = -1
2560 + }
2561 +
2562 + if (match === null) {
2563 + return null
2564 + }
2565 +
2566 + return parse(match[2] +
2567 + '.' + (match[3] || '0') +
2568 + '.' + (match[4] || '0'), options)
2569 +}
2570 +
2571 +
2572 +/***/ }),
2573 +
2574 +/***/ 357:
2575 +/***/ (function(module) {
2576 +
2577 +module.exports = require("assert");
2578 +
2579 +/***/ }),
2580 +
2581 +/***/ 408:
2582 +/***/ (function(__unusedmodule, exports, __webpack_require__) {
2583 +
2584 +"use strict";
2585 +
2586 +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2587 + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2588 + return new (P || (P = Promise))(function (resolve, reject) {
2589 + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2590 + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2591 + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2592 + step((generator = generator.apply(thisArg, _arguments || [])).next());
2593 + });
2594 +};
2595 +var _a;
2596 +Object.defineProperty(exports, "__esModule", { value: true });
2597 +const assert_1 = __webpack_require__(357);
2598 +const fs = __webpack_require__(747);
2599 +const path = __webpack_require__(622);
2600 +_a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
2601 +exports.IS_WINDOWS = process.platform === 'win32';
2602 +function exists(fsPath) {
2603 + return __awaiter(this, void 0, void 0, function* () {
2604 + try {
2605 + yield exports.stat(fsPath);
2606 + }
2607 + catch (err) {
2608 + if (err.code === 'ENOENT') {
2609 + return false;
2610 + }
2611 + throw err;
2612 + }
2613 + return true;
2614 + });
2615 +}
2616 +exports.exists = exists;
2617 +function isDirectory(fsPath, useStat = false) {
2618 + return __awaiter(this, void 0, void 0, function* () {
2619 + const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath);
2620 + return stats.isDirectory();
2621 + });
2622 +}
2623 +exports.isDirectory = isDirectory;
2624 +/**
2625 + * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:
2626 + * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases).
2627 + */
2628 +function isRooted(p) {
2629 + p = normalizeSeparators(p);
2630 + if (!p) {
2631 + throw new Error('isRooted() parameter "p" cannot be empty');
2632 + }
2633 + if (exports.IS_WINDOWS) {
2634 + return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello
2635 + ); // e.g. C: or C:\hello
2636 + }
2637 + return p.startsWith('/');
2638 +}
2639 +exports.isRooted = isRooted;
2640 +/**
2641 + * Recursively create a directory at `fsPath`.
2642 + *
2643 + * This implementation is optimistic, meaning it attempts to create the full
2644 + * path first, and backs up the path stack from there.
2645 + *
2646 + * @param fsPath The path to create
2647 + * @param maxDepth The maximum recursion depth
2648 + * @param depth The current recursion depth
2649 + */
2650 +function mkdirP(fsPath, maxDepth = 1000, depth = 1) {
2651 + return __awaiter(this, void 0, void 0, function* () {
2652 + assert_1.ok(fsPath, 'a path argument must be provided');
2653 + fsPath = path.resolve(fsPath);
2654 + if (depth >= maxDepth)
2655 + return exports.mkdir(fsPath);
2656 + try {
2657 + yield exports.mkdir(fsPath);
2658 + return;
2659 + }
2660 + catch (err) {
2661 + switch (err.code) {
2662 + case 'ENOENT': {
2663 + yield mkdirP(path.dirname(fsPath), maxDepth, depth + 1);
2664 + yield exports.mkdir(fsPath);
2665 + return;
2666 + }
2667 + default: {
2668 + let stats;
2669 + try {
2670 + stats = yield exports.stat(fsPath);
2671 + }
2672 + catch (err2) {
2673 + throw err;
2674 + }
2675 + if (!stats.isDirectory())
2676 + throw err;
2677 + }
2678 + }
2679 + }
2680 + });
2681 +}
2682 +exports.mkdirP = mkdirP;
2683 +/**
2684 + * Best effort attempt to determine whether a file exists and is executable.
2685 + * @param filePath file path to check
2686 + * @param extensions additional file extensions to try
2687 + * @return if file exists and is executable, returns the file path. otherwise empty string.
2688 + */
2689 +function tryGetExecutablePath(filePath, extensions) {
2690 + return __awaiter(this, void 0, void 0, function* () {
2691 + let stats = undefined;
2692 + try {
2693 + // test file exists
2694 + stats = yield exports.stat(filePath);
2695 + }
2696 + catch (err) {
2697 + if (err.code !== 'ENOENT') {
2698 + // eslint-disable-next-line no-console
2699 + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
2700 + }
2701 + }
2702 + if (stats && stats.isFile()) {
2703 + if (exports.IS_WINDOWS) {
2704 + // on Windows, test for valid extension
2705 + const upperExt = path.extname(filePath).toUpperCase();
2706 + if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) {
2707 + return filePath;
2708 + }
2709 + }
2710 + else {
2711 + if (isUnixExecutable(stats)) {
2712 + return filePath;
2713 + }
2714 + }
2715 + }
2716 + // try each extension
2717 + const originalFilePath = filePath;
2718 + for (const extension of extensions) {
2719 + filePath = originalFilePath + extension;
2720 + stats = undefined;
2721 + try {
2722 + stats = yield exports.stat(filePath);
2723 + }
2724 + catch (err) {
2725 + if (err.code !== 'ENOENT') {
2726 + // eslint-disable-next-line no-console
2727 + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
2728 + }
2729 + }
2730 + if (stats && stats.isFile()) {
2731 + if (exports.IS_WINDOWS) {
2732 + // preserve the case of the actual file (since an extension was appended)
2733 + try {
2734 + const directory = path.dirname(filePath);
2735 + const upperName = path.basename(filePath).toUpperCase();
2736 + for (const actualName of yield exports.readdir(directory)) {
2737 + if (upperName === actualName.toUpperCase()) {
2738 + filePath = path.join(directory, actualName);
2739 + break;
2740 + }
2741 + }
2742 + }
2743 + catch (err) {
2744 + // eslint-disable-next-line no-console
2745 + console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`);
2746 + }
2747 + return filePath;
2748 + }
2749 + else {
2750 + if (isUnixExecutable(stats)) {
2751 + return filePath;
2752 + }
2753 + }
2754 + }
2755 + }
2756 + return '';
2757 + });
2758 +}
2759 +exports.tryGetExecutablePath = tryGetExecutablePath;
2760 +function normalizeSeparators(p) {
2761 + p = p || '';
2762 + if (exports.IS_WINDOWS) {
2763 + // convert slashes on Windows
2764 + p = p.replace(/\//g, '\\');
2765 + // remove redundant slashes
2766 + return p.replace(/\\\\+/g, '\\');
2767 + }
2768 + // remove redundant slashes
2769 + return p.replace(/\/\/+/g, '/');
2838 2770 }
2839 module.exports = coerce
2840
2841
2842 /***/ }),
2843
2844 /***/ 503:
2845 /***/ (function(module, __unusedexports, __webpack_require__) {
2846
2847 const parse = __webpack_require__(830)
2848 const clean = (version, options) => {
2849 const s = parse(version.trim().replace(/^[=v]+/, ''), options)
2850 return s ? s.version : null
2771 +// on Mac/Linux, test the execute bit
2772 +// R W X R W X R W X
2773 +// 256 128 64 32 16 8 4 2 1
2774 +function isUnixExecutable(stats) {
2775 + return ((stats.mode & 1) > 0 ||
2776 + ((stats.mode & 8) > 0 && stats.gid === process.getgid()) ||
2777 + ((stats.mode & 64) > 0 && stats.uid === process.getuid()));
2851 2778 }
2852 module.exports = clean
2853
2854
2855 /***/ }),
2856
2857 /***/ 531:
2858 /***/ (function(module, __unusedexports, __webpack_require__) {
2859
2860 // Determine if version is greater than all the versions possible in the range.
2861 const outside = __webpack_require__(462)
2862 const gtr = (version, range, options) => outside(version, range, '>', options)
2863 module.exports = gtr
2864
2865
2866 /***/ }),
2867
2868 /***/ 548:
2869 /***/ (function(module) {
2870
2871 const debug = (
2872 typeof process === 'object' &&
2873 process.env &&
2874 process.env.NODE_DEBUG &&
2875 /\bsemver\b/i.test(process.env.NODE_DEBUG)
2876 ) ? (...args) => console.error('SEMVER', ...args)
2877 : () => {}
2878
2879 module.exports = debug
2880
2881
2882 /***/ }),
2883
2884 /***/ 586:
2885 /***/ (function(module, __unusedexports, __webpack_require__) {
2886
2887 const compare = __webpack_require__(874)
2888 const lt = (a, b, loose) => compare(a, b, loose) < 0
2889 module.exports = lt
2890
2891
2892 /***/ }),
2893
2894 /***/ 593:
2895 /***/ (function(module, __unusedexports, __webpack_require__) {
2896
2897 const compareBuild = __webpack_require__(16)
2898 const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))
2899 module.exports = rsort
2900
2901
2902 /***/ }),
2903
2904 /***/ 614:
2905 /***/ (function(module) {
2906
2907 module.exports = require("events");
2908
2909 /***/ }),
2910
2911 /***/ 622:
2912 /***/ (function(module) {
2913
2914 module.exports = require("path");
2915
2916 /***/ }),
2917
2918 /***/ 630:
2919 /***/ (function(module, __unusedexports, __webpack_require__) {
2920
2921 const compare = __webpack_require__(874)
2922 const rcompare = (a, b, loose) => compare(b, a, loose)
2923 module.exports = rcompare
2924
2779 +//# sourceMappingURL=io-util.js.map
2925 2780
2926 2781 /***/ }),
2927 2782
2928 /***/ 669:
2929 /***/ (function(module) {
2930
2931 module.exports = require("util");
2932
2933 /***/ }),
2783 +/***/ 431:
2784 +/***/ (function(__unusedmodule, exports, __webpack_require__) {
2934 2785
2935 /***/ 714:
2936 /***/ (function(module, __unusedexports, __webpack_require__) {
2786 +"use strict";
2937 2787
2938 const parse = __webpack_require__(830)
2939 const valid = (version, options) => {
2940 const v = parse(version, options)
2941 return v ? v.version : null
2788 +var __importStar = (this && this.__importStar) || function (mod) {
2789 + if (mod && mod.__esModule) return mod;
2790 + var result = {};
2791 + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
2792 + result["default"] = mod;
2793 + return result;
2794 +};
2795 +Object.defineProperty(exports, "__esModule", { value: true });
2796 +const os = __importStar(__webpack_require__(87));
2797 +/**
2798 + * Commands
2799 + *
2800 + * Command Format:
2801 + * ::name key=value,key=value::message
2802 + *
2803 + * Examples:
2804 + * ::warning::This is the message
2805 + * ::set-env name=MY_VAR::some value
2806 + */
2807 +function issueCommand(command, properties, message) {
2808 + const cmd = new Command(command, properties, message);
2809 + process.stdout.write(cmd.toString() + os.EOL);
2942 2810 }
2943 module.exports = valid
2944
2945
2946 /***/ }),
2947
2948 /***/ 740:
2949 /***/ (function(module, __unusedexports, __webpack_require__) {
2950
2951 const SemVer = __webpack_require__(65)
2952 const Range = __webpack_require__(124)
2953 const minSatisfying = (versions, range, options) => {
2954 let min = null
2955 let minSV = null
2956 let rangeObj = null
2957 try {
2958 rangeObj = new Range(range, options)
2959 } catch (er) {
2960 return null
2961 }
2962 versions.forEach((v) => {
2963 if (rangeObj.test(v)) {
2964 // satisfies(v, range, options)
2965 if (!min || minSV.compare(v) === 1) {
2966 // compare(min, v, true)
2967 min = v
2968 minSV = new SemVer(min, options)
2969 }
2811 +exports.issueCommand = issueCommand;
2812 +function issue(name, message = '') {
2813 + issueCommand(name, {}, message);
2814 +}
2815 +exports.issue = issue;
2816 +const CMD_STRING = '::';
2817 +class Command {
2818 + constructor(command, properties, message) {
2819 + if (!command) {
2820 + command = 'missing.command';
2821 + }
2822 + this.command = command;
2823 + this.properties = properties;
2824 + this.message = message;
2825 + }
2826 + toString() {
2827 + let cmdStr = CMD_STRING + this.command;
2828 + if (this.properties && Object.keys(this.properties).length > 0) {
2829 + cmdStr += ' ';
2830 + let first = true;
2831 + for (const key in this.properties) {
2832 + if (this.properties.hasOwnProperty(key)) {
2833 + const val = this.properties[key];
2834 + if (val) {
2835 + if (first) {
2836 + first = false;
2837 + }
2838 + else {
2839 + cmdStr += ',';
2840 + }
2841 + cmdStr += `${key}=${escapeProperty(val)}`;
2842 + }
2843 + }
2844 + }
2845 + }
2846 + cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
2847 + return cmdStr;
2970 2848 }
2971 })
2972 return min
2973 2849 }
2974 module.exports = minSatisfying
2975
2976
2977 /***/ }),
2978
2979 /***/ 744:
2980 /***/ (function(module, __unusedexports, __webpack_require__) {
2981
2982 const SemVer = __webpack_require__(65)
2983 const major = (a, loose) => new SemVer(a, loose).major
2984 module.exports = major
2985
2986
2987 /***/ }),
2988
2989 /***/ 747:
2990 /***/ (function(module) {
2991
2992 module.exports = require("fs");
2993
2994 /***/ }),
2995
2996 /***/ 752:
2997 /***/ (function(module, __unusedexports, __webpack_require__) {
2998
2999 const eq = __webpack_require__(298)
3000 const neq = __webpack_require__(873)
3001 const gt = __webpack_require__(486)
3002 const gte = __webpack_require__(167)
3003 const lt = __webpack_require__(586)
3004 const lte = __webpack_require__(898)
3005
3006 const cmp = (a, op, b, loose) => {
3007 switch (op) {
3008 case '===':
3009 if (typeof a === 'object')
3010 a = a.version
3011 if (typeof b === 'object')
3012 b = b.version
3013 return a === b
3014
3015 case '!==':
3016 if (typeof a === 'object')
3017 a = a.version
3018 if (typeof b === 'object')
3019 b = b.version
3020 return a !== b
3021
3022 case '':
3023 case '=':
3024 case '==':
3025 return eq(a, b, loose)
3026
3027 case '!=':
3028 return neq(a, b, loose)
3029
3030 case '>':
3031 return gt(a, b, loose)
3032
3033 case '>=':
3034 return gte(a, b, loose)
3035
3036 case '<':
3037 return lt(a, b, loose)
3038
3039 case '<=':
3040 return lte(a, b, loose)
3041
3042 default:
3043 throw new TypeError(`Invalid operator: ${op}`)
3044 }
2850 +/**
2851 + * Sanitizes an input into a string so it can be passed into issueCommand safely
2852 + * @param input input to sanitize into a string
2853 + */
2854 +function toCommandValue(input) {
2855 + if (input === null || input === undefined) {
2856 + return '';
2857 + }
2858 + else if (typeof input === 'string' || input instanceof String) {
2859 + return input;
2860 + }
2861 + return JSON.stringify(input);
3045 2862 }
3046 module.exports = cmp
3047
3048
3049 /***/ }),
3050
3051 /***/ 760:
3052 /***/ (function(module) {
3053
3054 const numeric = /^[0-9]+$/
3055 const compareIdentifiers = (a, b) => {
3056 const anum = numeric.test(a)
3057 const bnum = numeric.test(b)
3058
3059 if (anum && bnum) {
3060 a = +a
3061 b = +b
3062 }
3063
3064 return a === b ? 0
3065 : (anum && !bnum) ? -1
3066 : (bnum && !anum) ? 1
3067 : a < b ? -1
3068 : 1
2863 +exports.toCommandValue = toCommandValue;
2864 +function escapeData(s) {
2865 + return toCommandValue(s)
2866 + .replace(/%/g, '%25')
2867 + .replace(/\r/g, '%0D')
2868 + .replace(/\n/g, '%0A');
3069 2869 }
3070
3071 const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
3072
3073 module.exports = {
3074 compareIdentifiers,
3075 rcompareIdentifiers
2870 +function escapeProperty(s) {
2871 + return toCommandValue(s)
2872 + .replace(/%/g, '%25')
2873 + .replace(/\r/g, '%0D')
2874 + .replace(/\n/g, '%0A')
2875 + .replace(/:/g, '%3A')
2876 + .replace(/,/g, '%2C');
3076 2877 }
3077
2878 +//# sourceMappingURL=command.js.map
3078 2879
3079 2880 /***/ }),
3080 2881
3081 /***/ 803:
2882 +/***/ 449:
3082 2883 /***/ (function(module, __unusedexports, __webpack_require__) {
3083 2884
3084 const SemVer = __webpack_require__(65)
3085 const minor = (a, loose) => new SemVer(a, loose).minor
3086 module.exports = minor
3087
3088
3089 /***/ }),
2885 +const {exec} = __webpack_require__(917)
2886 +const path = __webpack_require__(622)
2887 +const semver = __webpack_require__(280)
3090 2888
3091 /***/ 811:
3092 /***/ (function(module, __unusedexports, __webpack_require__) {
2889 +module.exports = {installElixir, installOTP}
3093 2890
3094 const SemVer = __webpack_require__(65)
3095 const Range = __webpack_require__(124)
2891 +/**
2892 + * Install Elixir.
2893 + *
2894 + * @param {string} version
2895 + * @param {string} otpMajor
2896 + */
2897 +async function installElixir(version, otpMajor) {
2898 + if (process.platform === 'linux') {
2899 + const otpString = otpMajor ? `-otp-${otpMajor}` : ''
2900 + await exec(__webpack_require__.ab + "install-elixir", [version, otpString])
2901 + }
2902 +}
3096 2903
3097 const maxSatisfying = (versions, range, options) => {
3098 let max = null
3099 let maxSV = null
3100 let rangeObj = null
3101 try {
3102 rangeObj = new Range(range, options)
3103 } catch (er) {
3104 return null
2904 +/**
2905 + * Install OTP.
2906 + *
2907 + * @param {string} version
2908 + */
2909 +async function installOTP(version) {
2910 + if (process.platform === 'linux') {
2911 + await exec(__webpack_require__.ab + "install-otp", [version])
2912 + return
3105 2913 }
3106 versions.forEach((v) => {
3107 if (rangeObj.test(v)) {
3108 // satisfies(v, range, options)
3109 if (!max || maxSV.compare(v) === -1) {
3110 // compare(max, v, true)
3111 max = v
3112 maxSV = new SemVer(max, options)
3113 }
3114 }
3115 })
3116 return max
2914 +
2915 + throw new Error(
2916 + '@actions/setup-elixir only supports Ubuntu Linux at this time'
2917 + )
3117 2918 }
3118 module.exports = maxSatisfying
3119 2919
3120 2920
3121 2921 /***/ }),
3122 2922
3123 /***/ 822:
3124 /***/ (function(module, __unusedexports, __webpack_require__) {
2923 +/***/ 470:
2924 +/***/ (function(__unusedmodule, exports, __webpack_require__) {
3125 2925
3126 const parse = __webpack_require__(830)
3127 const eq = __webpack_require__(298)
2926 +"use strict";
3128 2927
3129 const diff = (version1, version2) => {
3130 if (eq(version1, version2)) {
3131 return null
3132 } else {
3133 const v1 = parse(version1)
3134 const v2 = parse(version2)
3135 const hasPre = v1.prerelease.length || v2.prerelease.length
3136 const prefix = hasPre ? 'pre' : ''
3137 const defaultResult = hasPre ? 'prerelease' : ''
3138 for (const key in v1) {
3139 if (key === 'major' || key === 'minor' || key === 'patch') {
3140 if (v1[key] !== v2[key]) {
3141 return prefix + key
3142 }
3143 }
2928 +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2929 + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2930 + return new (P || (P = Promise))(function (resolve, reject) {
2931 + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2932 + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2933 + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2934 + step((generator = generator.apply(thisArg, _arguments || [])).next());
2935 + });
2936 +};
2937 +var __importStar = (this && this.__importStar) || function (mod) {
2938 + if (mod && mod.__esModule) return mod;
2939 + var result = {};
2940 + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
2941 + result["default"] = mod;
2942 + return result;
2943 +};
2944 +Object.defineProperty(exports, "__esModule", { value: true });
2945 +const command_1 = __webpack_require__(431);
2946 +const os = __importStar(__webpack_require__(87));
2947 +const path = __importStar(__webpack_require__(622));
2948 +/**
2949 + * The code to exit an action
2950 + */
2951 +var ExitCode;
2952 +(function (ExitCode) {
2953 + /**
2954 + * A code indicating that the action was successful
2955 + */
2956 + ExitCode[ExitCode["Success"] = 0] = "Success";
2957 + /**
2958 + * A code indicating that the action was a failure
2959 + */
2960 + ExitCode[ExitCode["Failure"] = 1] = "Failure";
2961 +})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
2962 +//-----------------------------------------------------------------------
2963 +// Variables
2964 +//-----------------------------------------------------------------------
2965 +/**
2966 + * Sets env variable for this action and future actions in the job
2967 + * @param name the name of the variable to set
2968 + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
2969 + */
2970 +// eslint-disable-next-line @typescript-eslint/no-explicit-any
2971 +function exportVariable(name, val) {
2972 + const convertedVal = command_1.toCommandValue(val);
2973 + process.env[name] = convertedVal;
2974 + command_1.issueCommand('set-env', { name }, convertedVal);
2975 +}
2976 +exports.exportVariable = exportVariable;
2977 +/**
2978 + * Registers a secret which will get masked from logs
2979 + * @param secret value of the secret
2980 + */
2981 +function setSecret(secret) {
2982 + command_1.issueCommand('add-mask', {}, secret);
2983 +}
2984 +exports.setSecret = setSecret;
2985 +/**
2986 + * Prepends inputPath to the PATH (for this action and future actions)
2987 + * @param inputPath
2988 + */
2989 +function addPath(inputPath) {
2990 + command_1.issueCommand('add-path', {}, inputPath);
2991 + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
2992 +}
2993 +exports.addPath = addPath;
2994 +/**
2995 + * Gets the value of an input. The value is also trimmed.
2996 + *
2997 + * @param name name of the input to get
2998 + * @param options optional. See InputOptions.
2999 + * @returns string
3000 + */
3001 +function getInput(name, options) {
3002 + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
3003 + if (options && options.required && !val) {
3004 + throw new Error(`Input required and not supplied: ${name}`);
3144 3005 }
3145 return defaultResult // may be undefined
3146 }
3006 + return val.trim();
3007 +}
3008 +exports.getInput = getInput;
3009 +/**
3010 + * Sets the value of an output.
3011 + *
3012 + * @param name name of the output to set
3013 + * @param value value to store. Non-string values will be converted to a string via JSON.stringify
3014 + */
3015 +// eslint-disable-next-line @typescript-eslint/no-explicit-any
3016 +function setOutput(name, value) {
3017 + command_1.issueCommand('set-output', { name }, value);
3018 +}
3019 +exports.setOutput = setOutput;
3020 +/**
3021 + * Enables or disables the echoing of commands into stdout for the rest of the step.
3022 + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
3023 + *
3024 + */
3025 +function setCommandEcho(enabled) {
3026 + command_1.issue('echo', enabled ? 'on' : 'off');
3027 +}
3028 +exports.setCommandEcho = setCommandEcho;
3029 +//-----------------------------------------------------------------------
3030 +// Results
3031 +//-----------------------------------------------------------------------
3032 +/**
3033 + * Sets the action status to failed.
3034 + * When the action exits it will be with an exit code of 1
3035 + * @param message add error issue message
3036 + */
3037 +function setFailed(message) {
3038 + process.exitCode = ExitCode.Failure;
3039 + error(message);
3040 +}
3041 +exports.setFailed = setFailed;
3042 +//-----------------------------------------------------------------------
3043 +// Logging Commands
3044 +//-----------------------------------------------------------------------
3045 +/**
3046 + * Gets whether Actions Step Debug is on or not
3047 + */
3048 +function isDebug() {
3049 + return process.env['RUNNER_DEBUG'] === '1';
3050 +}
3051 +exports.isDebug = isDebug;
3052 +/**
3053 + * Writes debug message to user log
3054 + * @param message debug message
3055 + */
3056 +function debug(message) {
3057 + command_1.issueCommand('debug', {}, message);
3058 +}
3059 +exports.debug = debug;
3060 +/**
3061 + * Adds an error issue
3062 + * @param message error issue message. Errors will be converted to string via toString()
3063 + */
3064 +function error(message) {
3065 + command_1.issue('error', message instanceof Error ? message.toString() : message);
3066 +}
3067 +exports.error = error;
3068 +/**
3069 + * Adds an warning issue
3070 + * @param message warning issue message. Errors will be converted to string via toString()
3071 + */
3072 +function warning(message) {
3073 + command_1.issue('warning', message instanceof Error ? message.toString() : message);
3074 +}
3075 +exports.warning = warning;
3076 +/**
3077 + * Writes info to log with console.log.
3078 + * @param message info message
3079 + */
3080 +function info(message) {
3081 + process.stdout.write(message + os.EOL);
3082 +}
3083 +exports.info = info;
3084 +/**
3085 + * Begin an output group.
3086 + *
3087 + * Output until the next `groupEnd` will be foldable in this group
3088 + *
3089 + * @param name The name of the output group
3090 + */
3091 +function startGroup(name) {
3092 + command_1.issue('group', name);
3093 +}
3094 +exports.startGroup = startGroup;
3095 +/**
3096 + * End an output group.
3097 + */
3098 +function endGroup() {
3099 + command_1.issue('endgroup');
3100 +}
3101 +exports.endGroup = endGroup;
3102 +/**
3103 + * Wrap an asynchronous function call in a group.
3104 + *
3105 + * Returns the same type as the function itself.
3106 + *
3107 + * @param name The name of the group
3108 + * @param fn The function to wrap in the group
3109 + */
3110 +function group(name, fn) {
3111 + return __awaiter(this, void 0, void 0, function* () {
3112 + startGroup(name);
3113 + let result;
3114 + try {
3115 + result = yield fn();
3116 + }
3117 + finally {
3118 + endGroup();
3119 + }
3120 + return result;
3121 + });
3147 3122 }
3148 module.exports = diff
3149
3150
3151 /***/ }),
3152
3153 /***/ 830:
3154 /***/ (function(module, __unusedexports, __webpack_require__) {
3155
3156 const {MAX_LENGTH} = __webpack_require__(181)
3157 const { re, t } = __webpack_require__(976)
3158 const SemVer = __webpack_require__(65)
3159
3160 const parse = (version, options) => {
3161 if (!options || typeof options !== 'object') {
3162 options = {
3163 loose: !!options,
3164 includePrerelease: false
3165 }
3166 }
3167
3168 if (version instanceof SemVer) {
3169 return version
3170 }
3171
3172 if (typeof version !== 'string') {
3173 return null
3174 }
3175
3176 if (version.length > MAX_LENGTH) {
3177 return null
3178 }
3179
3180 const r = options.loose ? re[t.LOOSE] : re[t.FULL]
3181 if (!r.test(version)) {
3182 return null
3183 }
3184
3185 try {
3186 return new SemVer(version, options)
3187 } catch (er) {
3188 return null
3189 }
3123 +exports.group = group;
3124 +//-----------------------------------------------------------------------
3125 +// Wrapper action state
3126 +//-----------------------------------------------------------------------
3127 +/**
3128 + * Saves state for current action, the state can only be retrieved by this action's post job execution.
3129 + *
3130 + * @param name name of the state to store
3131 + * @param value value to store. Non-string values will be converted to a string via JSON.stringify
3132 + */
3133 +// eslint-disable-next-line @typescript-eslint/no-explicit-any
3134 +function saveState(name, value) {
3135 + command_1.issueCommand('save-state', { name }, value);
3190 3136 }
3191
3192 module.exports = parse
3193
3194
3195 /***/ }),
3196
3197 /***/ 873:
3198 /***/ (function(module, __unusedexports, __webpack_require__) {
3199
3200 const compare = __webpack_require__(874)
3201 const neq = (a, b, loose) => compare(a, b, loose) !== 0
3202 module.exports = neq
3203
3137 +exports.saveState = saveState;
3138 +/**
3139 + * Gets the value of an state set by this action's main execution.
3140 + *
3141 + * @param name name of the state to get
3142 + * @returns string
3143 + */
3144 +function getState(name) {
3145 + return process.env[`STATE_${name}`] || '';
3146 +}
3147 +exports.getState = getState;
3148 +//# sourceMappingURL=core.js.map
3204 3149
3205 3150 /***/ }),
3206 3151
3207 /***/ 874:
3208 /***/ (function(module, __unusedexports, __webpack_require__) {
3209
3210 const SemVer = __webpack_require__(65)
3211 const compare = (a, b, loose) =>
3212 new SemVer(a, loose).compare(new SemVer(b, loose))
3213
3214 module.exports = compare
3152 +/***/ 614:
3153 +/***/ (function(module) {
3215 3154
3155 +module.exports = require("events");
3216 3156
3217 3157 /***/ }),
3218 3158
3219 /***/ 876:
3220 /***/ (function(module, __unusedexports, __webpack_require__) {
3221
3222 // just pre-load all the stuff that index.js lazily exports
3223 const internalRe = __webpack_require__(976)
3224 module.exports = {
3225 re: internalRe.re,
3226 src: internalRe.src,
3227 tokens: internalRe.t,
3228 SEMVER_SPEC_VERSION: __webpack_require__(181).SEMVER_SPEC_VERSION,
3229 SemVer: __webpack_require__(65),
3230 compareIdentifiers: __webpack_require__(760).compareIdentifiers,
3231 rcompareIdentifiers: __webpack_require__(760).rcompareIdentifiers,
3232 parse: __webpack_require__(830),
3233 valid: __webpack_require__(714),
3234 clean: __webpack_require__(503),
3235 inc: __webpack_require__(928),
3236 diff: __webpack_require__(822),
3237 major: __webpack_require__(744),
3238 minor: __webpack_require__(803),
3239 patch: __webpack_require__(489),
3240 prerelease: __webpack_require__(968),
3241 compare: __webpack_require__(874),
3242 rcompare: __webpack_require__(630),
3243 compareLoose: __webpack_require__(283),
3244 compareBuild: __webpack_require__(16),
3245 sort: __webpack_require__(120),
3246 rsort: __webpack_require__(593),
3247 gt: __webpack_require__(486),
3248 lt: __webpack_require__(586),
3249 eq: __webpack_require__(298),
3250 neq: __webpack_require__(873),
3251 gte: __webpack_require__(167),
3252 lte: __webpack_require__(898),
3253 cmp: __webpack_require__(752),
3254 coerce: __webpack_require__(499),
3255 Comparator: __webpack_require__(174),
3256 Range: __webpack_require__(124),
3257 satisfies: __webpack_require__(310),
3258 toComparators: __webpack_require__(219),
3259 maxSatisfying: __webpack_require__(811),
3260 minSatisfying: __webpack_require__(740),
3261 minVersion: __webpack_require__(164),
3262 validRange: __webpack_require__(480),
3263 outside: __webpack_require__(462),
3264 gtr: __webpack_require__(531),
3265 ltr: __webpack_require__(323),
3266 intersects: __webpack_require__(259),
3267 simplifyRange: __webpack_require__(877),
3268 subset: __webpack_require__(999),
3269 }
3159 +/***/ 622:
3160 +/***/ (function(module) {
3270 3161
3162 +module.exports = require("path");
3271 3163
3272 3164 /***/ }),
3273 3165
3274 /***/ 877:
3275 /***/ (function(module, __unusedexports, __webpack_require__) {
3276
3277 // given a set of versions and a range, create a "simplified" range
3278 // that includes the same versions that the original range does
3279 // If the original range is shorter than the simplified one, return that.
3280 const satisfies = __webpack_require__(310)
3281 const compare = __webpack_require__(874)
3282 module.exports = (versions, range, options) => {
3283 const set = []
3284 let min = null
3285 let prev = null
3286 const v = versions.sort((a, b) => compare(a, b, options))
3287 for (const version of v) {
3288 const included = satisfies(version, range, options)
3289 if (included) {
3290 prev = version
3291 if (!min)
3292 min = version
3293 } else {
3294 if (prev) {
3295 set.push([min, prev])
3296 }
3297 prev = null
3298 min = null
3299 }
3300 }
3301 if (min)
3302 set.push([min, null])
3303
3304 const ranges = []
3305 for (const [min, max] of set) {
3306 if (min === max)
3307 ranges.push(min)
3308 else if (!max && min === v[0])
3309 ranges.push('*')
3310 else if (!max)
3311 ranges.push(`>=${min}`)
3312 else if (min === v[0])
3313 ranges.push(`<=${max}`)
3314 else
3315 ranges.push(`${min} - ${max}`)
3316 }
3317 const simplified = ranges.join(' || ')
3318 const original = typeof range.raw === 'string' ? range.raw : String(range)
3319 return simplified.length < original.length ? simplified : range
3320 }
3166 +/***/ 669:
3167 +/***/ (function(module) {
3321 3168
3169 +module.exports = require("util");
3322 3170
3323 3171 /***/ }),
3324 3172
3325 /***/ 898:
3326 /***/ (function(module, __unusedexports, __webpack_require__) {
3327
3328 const compare = __webpack_require__(874)
3329 const lte = (a, b, loose) => compare(a, b, loose) <= 0
3330 module.exports = lte
3173 +/***/ 747:
3174 +/***/ (function(module) {
3331 3175
3176 +module.exports = require("fs");
3332 3177
3333 3178 /***/ }),
3334 3179
@@ -3381,230 +3226,6 @@ function exec(commandLine, args, options) {
3381 3226 exports.exec = exec;
3382 3227 //# sourceMappingURL=exec.js.map
3383 3228
3384 /***/ }),
3385
3386 /***/ 928:
3387 /***/ (function(module, __unusedexports, __webpack_require__) {
3388
3389 const SemVer = __webpack_require__(65)
3390
3391 const inc = (version, release, options, identifier) => {
3392 if (typeof (options) === 'string') {
3393 identifier = options
3394 options = undefined
3395 }
3396
3397 try {
3398 return new SemVer(version, options).inc(release, identifier).version
3399 } catch (er) {
3400 return null
3401 }
3402 }
3403 module.exports = inc
3404
3405
3406 /***/ }),
3407
3408 /***/ 968:
3409 /***/ (function(module, __unusedexports, __webpack_require__) {
3410
3411 const parse = __webpack_require__(830)
3412 const prerelease = (version, options) => {
3413 const parsed = parse(version, options)
3414 return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
3415 }
3416 module.exports = prerelease
3417
3418
3419 /***/ }),
3420
3421 /***/ 976:
3422 /***/ (function(module, exports, __webpack_require__) {
3423
3424 const { MAX_SAFE_COMPONENT_LENGTH } = __webpack_require__(181)
3425 const debug = __webpack_require__(548)
3426 exports = module.exports = {}
3427
3428 // The actual regexps go on exports.re
3429 const re = exports.re = []
3430 const src = exports.src = []
3431 const t = exports.t = {}
3432 let R = 0
3433
3434 const createToken = (name, value, isGlobal) => {
3435 const index = R++
3436 debug(index, value)
3437 t[name] = index
3438 src[index] = value
3439 re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
3440 }
3441
3442 // The following Regular Expressions can be used for tokenizing,
3443 // validating, and parsing SemVer version strings.
3444
3445 // ## Numeric Identifier
3446 // A single `0`, or a non-zero digit followed by zero or more digits.
3447
3448 createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
3449 createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
3450
3451 // ## Non-numeric Identifier
3452 // Zero or more digits, followed by a letter or hyphen, and then zero or
3453 // more letters, digits, or hyphens.
3454
3455 createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
3456
3457 // ## Main Version
3458 // Three dot-separated numeric identifiers.
3459
3460 createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` +
3461 `(${src[t.NUMERICIDENTIFIER]})\\.` +
3462 `(${src[t.NUMERICIDENTIFIER]})`)
3463
3464 createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
3465 `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
3466 `(${src[t.NUMERICIDENTIFIERLOOSE]})`)
3467
3468 // ## Pre-release Version Identifier
3469 // A numeric identifier, or a non-numeric identifier.
3470
3471 createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]
3472 }|${src[t.NONNUMERICIDENTIFIER]})`)
3473
3474 createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]
3475 }|${src[t.NONNUMERICIDENTIFIER]})`)
3476
3477 // ## Pre-release Version
3478 // Hyphen, followed by one or more dot-separated pre-release version
3479 // identifiers.
3480
3481 createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]
3482 }(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`)
3483
3484 createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
3485 }(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)
3486
3487 // ## Build Metadata Identifier
3488 // Any combination of digits, letters, or hyphens.
3489
3490 createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
3491
3492 // ## Build Metadata
3493 // Plus sign, followed by one or more period-separated build metadata
3494 // identifiers.
3495
3496 createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]
3497 }(?:\\.${src[t.BUILDIDENTIFIER]})*))`)
3498
3499 // ## Full Version String
3500 // A main version, followed optionally by a pre-release version and
3501 // build metadata.
3502
3503 // Note that the only major, minor, patch, and pre-release sections of
3504 // the version string are capturing groups. The build metadata is not a
3505 // capturing group, because it should not ever be used in version
3506 // comparison.
3507
3508 createToken('FULLPLAIN', `v?${src[t.MAINVERSION]
3509 }${src[t.PRERELEASE]}?${
3510 src[t.BUILD]}?`)
3511
3512 createToken('FULL', `^${src[t.FULLPLAIN]}$`)
3513
3514 // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
3515 // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
3516 // common in the npm registry.
3517 createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]
3518 }${src[t.PRERELEASELOOSE]}?${
3519 src[t.BUILD]}?`)
3520
3521 createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)
3522
3523 createToken('GTLT', '((?:<|>)?=?)')
3524
3525 // Something like "2.*" or "1.2.x".
3526 // Note that "x.x" is a valid xRange identifer, meaning "any version"
3527 // Only the first item is strictly required.
3528 createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`)
3529 createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`)
3530
3531 createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` +
3532 `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
3533 `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
3534 `(?:${src[t.PRERELEASE]})?${
3535 src[t.BUILD]}?` +
3536 `)?)?`)
3537
3538 createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +
3539 `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
3540 `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
3541 `(?:${src[t.PRERELEASELOOSE]})?${
3542 src[t.BUILD]}?` +
3543 `)?)?`)
3544
3545 createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`)
3546 createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
3547
3548 // Coercion.
3549 // Extract anything that could conceivably be a part of a valid semver
3550 createToken('COERCE', `${'(^|[^\\d])' +
3551 '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
3552 `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
3553 `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
3554 `(?:$|[^\\d])`)
3555 createToken('COERCERTL', src[t.COERCE], true)
3556
3557 // Tilde ranges.
3558 // Meaning is "reasonably at or greater than"
3559 createToken('LONETILDE', '(?:~>?)')
3560
3561 createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true)
3562 exports.tildeTrimReplace = '$1~'
3563
3564 createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)
3565 createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)
3566
3567 // Caret ranges.
3568 // Meaning is "at least and backwards compatible with"
3569 createToken('LONECARET', '(?:\\^)')
3570
3571 createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true)
3572 exports.caretTrimReplace = '$1^'
3573
3574 createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)
3575 createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)
3576
3577 // A simple gt/lt/eq thing, or just "" to indicate "any version"
3578 createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`)
3579 createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`)
3580
3581 // An expression to strip any whitespace between the gtlt and the thing
3582 // it modifies, so that `> 1.2.3` ==> `>1.2.3`
3583 createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]
3584 }\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)
3585 exports.comparatorTrimReplace = '$1$2$3'
3586
3587 // Something like `1.2.3 - 1.2.4`
3588 // Note that these all use the loose form, because they'll be
3589 // checked against either the strict or loose comparator form
3590 // later.
3591 createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` +
3592 `\\s+-\\s+` +
3593 `(${src[t.XRANGEPLAIN]})` +
3594 `\\s*$`)
3595
3596 createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` +
3597 `\\s+-\\s+` +
3598 `(${src[t.XRANGEPLAINLOOSE]})` +
3599 `\\s*$`)
3600
3601 // Star ranges basically just allow anything at all.
3602 createToken('STAR', '(<|>)?=?\\s*\\*')
3603 // >=0.0.0 is like a star
3604 createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$')
3605 createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$')
3606
3607
3608 3229 /***/ }),
3609 3230
3610 3231 /***/ 986:
@@ -3614,7 +3235,7 @@ const core = __webpack_require__(470)
3614 3235 const {exec} = __webpack_require__(917)
3615 3236 const {installElixir, installOTP} = __webpack_require__(449)
3616 3237 const path = __webpack_require__(622)
3617 const semver = __webpack_require__(876)
3238 +const semver = __webpack_require__(280)
3618 3239 const https = __webpack_require__(211)
3619 3240 const {
3620 3241 fstat,
@@ -3765,168 +3386,6 @@ function get(url) {
3765 3386 }
3766 3387
3767 3388
3768 /***/ }),
3769
3770 /***/ 999:
3771 /***/ (function(module, __unusedexports, __webpack_require__) {
3772
3773 const Range = __webpack_require__(124)
3774 const { ANY } = __webpack_require__(174)
3775 const satisfies = __webpack_require__(310)
3776 const compare = __webpack_require__(874)
3777
3778 // Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:
3779 // - Every simple range `r1, r2, ...` is a subset of some `R1, R2, ...`
3780 //
3781 // Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:
3782 // - If c is only the ANY comparator
3783 // - If C is only the ANY comparator, return true
3784 // - Else return false
3785 // - Let EQ be the set of = comparators in c
3786 // - If EQ is more than one, return true (null set)
3787 // - Let GT be the highest > or >= comparator in c
3788 // - Let LT be the lowest < or <= comparator in c
3789 // - If GT and LT, and GT.semver > LT.semver, return true (null set)
3790 // - If EQ
3791 // - If GT, and EQ does not satisfy GT, return true (null set)
3792 // - If LT, and EQ does not satisfy LT, return true (null set)
3793 // - If EQ satisfies every C, return true
3794 // - Else return false
3795 // - If GT
3796 // - If GT is lower than any > or >= comp in C, return false
3797 // - If GT is >=, and GT.semver does not satisfy every C, return false
3798 // - If LT
3799 // - If LT.semver is greater than that of any > comp in C, return false
3800 // - If LT is <=, and LT.semver does not satisfy every C, return false
3801 // - If any C is a = range, and GT or LT are set, return false
3802 // - Else return true
3803
3804 const subset = (sub, dom, options) => {
3805 sub = new Range(sub, options)
3806 dom = new Range(dom, options)
3807 let sawNonNull = false
3808
3809 OUTER: for (const simpleSub of sub.set) {
3810 for (const simpleDom of dom.set) {
3811 const isSub = simpleSubset(simpleSub, simpleDom, options)
3812 sawNonNull = sawNonNull || isSub !== null
3813 if (isSub)
3814 continue OUTER
3815 }
3816 // the null set is a subset of everything, but null simple ranges in
3817 // a complex range should be ignored. so if we saw a non-null range,
3818 // then we know this isn't a subset, but if EVERY simple range was null,
3819 // then it is a subset.
3820 if (sawNonNull)
3821 return false
3822 }
3823 return true
3824 }
3825
3826 const simpleSubset = (sub, dom, options) => {
3827 if (sub.length === 1 && sub[0].semver === ANY)
3828 return dom.length === 1 && dom[0].semver === ANY
3829
3830 const eqSet = new Set()
3831 let gt, lt
3832 for (const c of sub) {
3833 if (c.operator === '>' || c.operator === '>=')
3834 gt = higherGT(gt, c, options)
3835 else if (c.operator === '<' || c.operator === '<=')
3836 lt = lowerLT(lt, c, options)
3837 else
3838 eqSet.add(c.semver)
3839 }
3840
3841 if (eqSet.size > 1)
3842 return null
3843
3844 let gtltComp
3845 if (gt && lt) {
3846 gtltComp = compare(gt.semver, lt.semver, options)
3847 if (gtltComp > 0)
3848 return null
3849 else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<='))
3850 return null
3851 }
3852
3853 // will iterate one or zero times
3854 for (const eq of eqSet) {
3855 if (gt && !satisfies(eq, String(gt), options))
3856 return null
3857
3858 if (lt && !satisfies(eq, String(lt), options))
3859 return null
3860
3861 for (const c of dom) {
3862 if (!satisfies(eq, String(c), options))
3863 return false
3864 }
3865 return true
3866 }
3867
3868 let higher, lower
3869 let hasDomLT, hasDomGT
3870 for (const c of dom) {
3871 hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='
3872 hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='
3873 if (gt) {
3874 if (c.operator === '>' || c.operator === '>=') {
3875 higher = higherGT(gt, c, options)
3876 if (higher === c)
3877 return false
3878 } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options))
3879 return false
3880 }
3881 if (lt) {
3882 if (c.operator === '<' || c.operator === '<=') {
3883 lower = lowerLT(lt, c, options)
3884 if (lower === c)
3885 return false
3886 } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options))
3887 return false
3888 }
3889 if (!c.operator && (lt || gt) && gtltComp !== 0)
3890 return false
3891 }
3892
3893 // if there was a < or >, and nothing in the dom, then must be false
3894 // UNLESS it was limited by another range in the other direction.
3895 // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0
3896 if (gt && hasDomLT && !lt && gtltComp !== 0)
3897 return false
3898
3899 if (lt && hasDomGT && !gt && gtltComp !== 0)
3900 return false
3901
3902 return true
3903 }
3904
3905 // >=1.2.3 is lower than >1.2.3
3906 const higherGT = (a, b, options) => {
3907 if (!a)
3908 return b
3909 const comp = compare(a.semver, b.semver, options)
3910 return comp > 0 ? a
3911 : comp < 0 ? b
3912 : b.operator === '>' && a.operator === '>=' ? b
3913 : a
3914 }
3915
3916 // <=1.2.3 is higher than <1.2.3
3917 const lowerLT = (a, b, options) => {
3918 if (!a)
3919 return b
3920 const comp = compare(a.semver, b.semver, options)
3921 return comp < 0 ? a
3922 : comp > 0 ? b
3923 : b.operator === '<' && a.operator === '<=' ? b
3924 : a
3925 }
3926
3927 module.exports = subset
3928
3929
3930 3389 /***/ })
3931 3390
3932 3391 /******/ });
modified package-lock.json
+237 −4888
@@ -68,56 +68,23 @@
68 68 "@babel/highlight": "^7.8.3"
69 69 }
70 70 },
71 "@babel/core": {
72 "version": "7.11.6",
73 "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz",
74 "integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==",
71 + "@babel/helper-validator-identifier": {
72 + "version": "7.9.5",
73 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
74 + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
75 + "dev": true
76 + },
77 + "@babel/highlight": {
78 + "version": "7.9.0",
79 + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
80 + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
75 81 "dev": true,
76 82 "requires": {
77 "@babel/code-frame": "^7.10.4",
78 "@babel/generator": "^7.11.6",
79 "@babel/helper-module-transforms": "^7.11.0",
80 "@babel/helpers": "^7.10.4",
81 "@babel/parser": "^7.11.5",
82 "@babel/template": "^7.10.4",
83 "@babel/traverse": "^7.11.5",
84 "@babel/types": "^7.11.5",
85 "convert-source-map": "^1.7.0",
86 "debug": "^4.1.0",
87 "gensync": "^1.0.0-beta.1",
88 "json5": "^2.1.2",
89 "lodash": "^4.17.19",
90 "resolve": "^1.3.2",
91 "semver": "^5.4.1",
92 "source-map": "^0.5.0"
83 + "@babel/helper-validator-identifier": "^7.9.0",
84 + "chalk": "^2.0.0",
85 + "js-tokens": "^4.0.0"
93 86 },
94 87 "dependencies": {
95 "@babel/code-frame": {
96 "version": "7.10.4",
97 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
98 "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
99 "dev": true,
100 "requires": {
101 "@babel/highlight": "^7.10.4"
102 }
103 },
104 "@babel/helper-validator-identifier": {
105 "version": "7.10.4",
106 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
107 "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
108 "dev": true
109 },
110 "@babel/highlight": {
111 "version": "7.10.4",
112 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
113 "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
114 "dev": true,
115 "requires": {
116 "@babel/helper-validator-identifier": "^7.10.4",
117 "chalk": "^2.0.0",
118 "js-tokens": "^4.0.0"
119 }
120 },
121 88 "ansi-styles": {
122 89 "version": "3.2.1",
123 90 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -159,18 +126,6 @@
159 126 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
160 127 "dev": true
161 128 },
162 "semver": {
163 "version": "5.7.1",
164 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
165 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
166 "dev": true
167 },
168 "source-map": {
169 "version": "0.5.7",
170 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
171 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
172 "dev": true
173 },
174 129 "supports-color": {
175 130 "version": "5.5.0",
176 131 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -182,4615 +137,329 @@
182 137 }
183 138 }
184 139 },
185 "@babel/generator": {
186 "version": "7.11.6",
187 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
188 "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
140 + "@babel/runtime": {
141 + "version": "7.9.6",
142 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
143 + "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
189 144 "dev": true,
190 145 "requires": {
191 "@babel/types": "^7.11.5",
192 "jsesc": "^2.5.1",
193 "source-map": "^0.5.0"
194 },
195 "dependencies": {
196 "source-map": {
197 "version": "0.5.7",
198 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
199 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
200 "dev": true
201 }
146 + "regenerator-runtime": "^0.13.4"
202 147 }
203 148 },
204 "@babel/helper-function-name": {
205 "version": "7.10.4",
206 "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
207 "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
208 "dev": true,
209 "requires": {
210 "@babel/helper-get-function-arity": "^7.10.4",
211 "@babel/template": "^7.10.4",
212 "@babel/types": "^7.10.4"
213 }
149 + "@types/color-name": {
150 + "version": "1.1.1",
151 + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
152 + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
153 + "dev": true
214 154 },
215 "@babel/helper-get-function-arity": {
216 "version": "7.10.4",
217 "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
218 "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
219 "dev": true,
220 "requires": {
221 "@babel/types": "^7.10.4"
222 }
155 + "@types/parse-json": {
156 + "version": "4.0.0",
157 + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
158 + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
159 + "dev": true
223 160 },
224 "@babel/helper-member-expression-to-functions": {
225 "version": "7.11.0",
226 "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
227 "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
228 "dev": true,
229 "requires": {
230 "@babel/types": "^7.11.0"
231 }
161 + "@zeit/ncc": {
162 + "version": "0.22.1",
163 + "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.22.1.tgz",
164 + "integrity": "sha512-Qq3bMuonkcnV/96jhy9SQYdh39NXHxNMJ1O31ZFzWG9n52fR2DLtgrNzhj/ahlEjnBziMLGVWDbaS9sf03/fEw==",
165 + "dev": true
232 166 },
233 "@babel/helper-module-imports": {
234 "version": "7.10.4",
235 "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
236 "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
167 + "ansi-styles": {
168 + "version": "4.2.1",
169 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
170 + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
237 171 "dev": true,
238 172 "requires": {
239 "@babel/types": "^7.10.4"
173 + "@types/color-name": "^1.1.1",
174 + "color-convert": "^2.0.1"
240 175 }
241 176 },
242 "@babel/helper-module-transforms": {
243 "version": "7.11.0",
244 "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
245 "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
246 "dev": true,
247 "requires": {
248 "@babel/helper-module-imports": "^7.10.4",
249 "@babel/helper-replace-supers": "^7.10.4",
250 "@babel/helper-simple-access": "^7.10.4",
251 "@babel/helper-split-export-declaration": "^7.11.0",
252 "@babel/template": "^7.10.4",
253 "@babel/types": "^7.11.0",
254 "lodash": "^4.17.19"
255 }
177 + "callsites": {
178 + "version": "3.1.0",
179 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
180 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
181 + "dev": true
256 182 },
257 "@babel/helper-optimise-call-expression": {
258 "version": "7.10.4",
259 "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
260 "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
183 + "chalk": {
184 + "version": "4.0.0",
185 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
186 + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
261 187 "dev": true,
262 188 "requires": {
263 "@babel/types": "^7.10.4"
189 + "ansi-styles": "^4.1.0",
190 + "supports-color": "^7.1.0"
264 191 }
265 192 },
266 "@babel/helper-plugin-utils": {
267 "version": "7.10.4",
268 "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
269 "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
193 + "ci-info": {
194 + "version": "2.0.0",
195 + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
196 + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
270 197 "dev": true
271 198 },
272 "@babel/helper-replace-supers": {
273 "version": "7.10.4",
274 "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
275 "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
199 + "color-convert": {
200 + "version": "2.0.1",
201 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
202 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
276 203 "dev": true,
277 204 "requires": {
278 "@babel/helper-member-expression-to-functions": "^7.10.4",
279 "@babel/helper-optimise-call-expression": "^7.10.4",
280 "@babel/traverse": "^7.10.4",
281 "@babel/types": "^7.10.4"
205 + "color-name": "~1.1.4"
282 206 }
283 207 },
284 "@babel/helper-simple-access": {
285 "version": "7.10.4",
286 "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
287 "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
208 + "color-name": {
209 + "version": "1.1.4",
210 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
211 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
212 + "dev": true
213 + },
214 + "compare-versions": {
215 + "version": "3.6.0",
216 + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
217 + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==",
218 + "dev": true
219 + },
220 + "cosmiconfig": {
221 + "version": "6.0.0",
222 + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
223 + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
288 224 "dev": true,
289 225 "requires": {
290 "@babel/template": "^7.10.4",
291 "@babel/types": "^7.10.4"
226 + "@types/parse-json": "^4.0.0",
227 + "import-fresh": "^3.1.0",
228 + "parse-json": "^5.0.0",
229 + "path-type": "^4.0.0",
230 + "yaml": "^1.7.2"
292 231 }
293 232 },
294 "@babel/helper-split-export-declaration": {
295 "version": "7.11.0",
296 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
297 "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
233 + "error-ex": {
234 + "version": "1.3.2",
235 + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
236 + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
298 237 "dev": true,
299 238 "requires": {
300 "@babel/types": "^7.11.0"
239 + "is-arrayish": "^0.2.1"
301 240 }
302 241 },
303 "@babel/helper-validator-identifier": {
304 "version": "7.9.5",
305 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
306 "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
242 + "escape-string-regexp": {
243 + "version": "1.0.5",
244 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
245 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
307 246 "dev": true
308 247 },
309 "@babel/helpers": {
310 "version": "7.10.4",
311 "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
312 "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
248 + "find-up": {
249 + "version": "4.1.0",
250 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
251 + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
313 252 "dev": true,
314 253 "requires": {
315 "@babel/template": "^7.10.4",
316 "@babel/traverse": "^7.10.4",
317 "@babel/types": "^7.10.4"
254 + "locate-path": "^5.0.0",
255 + "path-exists": "^4.0.0"
318 256 }
319 257 },
320 "@babel/highlight": {
321 "version": "7.9.0",
322 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
323 "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
258 + "find-versions": {
259 + "version": "3.2.0",
260 + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
261 + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
324 262 "dev": true,
325 263 "requires": {
326 "@babel/helper-validator-identifier": "^7.9.0",
327 "chalk": "^2.0.0",
328 "js-tokens": "^4.0.0"
329 },
330 "dependencies": {
331 "ansi-styles": {
332 "version": "3.2.1",
333 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
334 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
335 "dev": true,
336 "requires": {
337 "color-convert": "^1.9.0"
338 }
339 },
340 "chalk": {
341 "version": "2.4.2",
342 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
343 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
344 "dev": true,
345 "requires": {
346 "ansi-styles": "^3.2.1",
347 "escape-string-regexp": "^1.0.5",
348 "supports-color": "^5.3.0"
349 }
350 },
351 "color-convert": {
352 "version": "1.9.3",
353 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
354 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
355 "dev": true,
356 "requires": {
357 "color-name": "1.1.3"
358 }
359 },
360 "color-name": {
361 "version": "1.1.3",
362 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
363 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
364 "dev": true
365 },
366 "has-flag": {
367 "version": "3.0.0",
368 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
369 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
370 "dev": true
371 },
372 "supports-color": {
373 "version": "5.5.0",
374 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
375 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
376 "dev": true,
377 "requires": {
378 "has-flag": "^3.0.0"
379 }
380 }
264 + "semver-regex": "^2.0.0"
381 265 }
382 266 },
383 "@babel/parser": {
384 "version": "7.11.5",
385 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
386 "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
267 + "has-flag": {
268 + "version": "4.0.0",
269 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
270 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
387 271 "dev": true
388 272 },
389 "@babel/plugin-syntax-async-generators": {
390 "version": "7.8.4",
391 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
392 "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
273 + "husky": {
274 + "version": "4.2.5",
275 + "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz",
276 + "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==",
393 277 "dev": true,
394 278 "requires": {
395 "@babel/helper-plugin-utils": "^7.8.0"
279 + "chalk": "^4.0.0",
280 + "ci-info": "^2.0.0",
281 + "compare-versions": "^3.6.0",
282 + "cosmiconfig": "^6.0.0",
283 + "find-versions": "^3.2.0",
284 + "opencollective-postinstall": "^2.0.2",
285 + "pkg-dir": "^4.2.0",
286 + "please-upgrade-node": "^3.2.0",
287 + "slash": "^3.0.0",
288 + "which-pm-runs": "^1.0.0"
396 289 }
397 290 },
398 "@babel/plugin-syntax-bigint": {
399 "version": "7.8.3",
400 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
401 "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
291 + "import-fresh": {
292 + "version": "3.2.1",
293 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
294 + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
402 295 "dev": true,
403 296 "requires": {
404 "@babel/helper-plugin-utils": "^7.8.0"
297 + "parent-module": "^1.0.0",
298 + "resolve-from": "^4.0.0"
405 299 }
406 300 },
407 "@babel/plugin-syntax-class-properties": {
408 "version": "7.10.4",
409 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
410 "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
411 "dev": true,
412 "requires": {
413 "@babel/helper-plugin-utils": "^7.10.4"
414 }
301 + "is-arrayish": {
302 + "version": "0.2.1",
303 + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
304 + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
305 + "dev": true
415 306 },
416 "@babel/plugin-syntax-import-meta": {
417 "version": "7.10.4",
418 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
419 "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
420 "dev": true,
421 "requires": {
422 "@babel/helper-plugin-utils": "^7.10.4"
423 }
307 + "js-tokens": {
308 + "version": "4.0.0",
309 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
310 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
311 + "dev": true
424 312 },
425 "@babel/plugin-syntax-json-strings": {
426 "version": "7.8.3",
427 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
428 "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
429 "dev": true,
430 "requires": {
431 "@babel/helper-plugin-utils": "^7.8.0"
432 }
313 + "json-parse-better-errors": {
314 + "version": "1.0.2",
315 + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
316 + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
317 + "dev": true
318 + },
319 + "lines-and-columns": {
320 + "version": "1.1.6",
321 + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
322 + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
323 + "dev": true
433 324 },
434 "@babel/plugin-syntax-logical-assignment-operators": {
435 "version": "7.10.4",
436 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
437 "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
325 + "locate-path": {
326 + "version": "5.0.0",
327 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
328 + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
438 329 "dev": true,
439 330 "requires": {
440 "@babel/helper-plugin-utils": "^7.10.4"
331 + "p-locate": "^4.1.0"
441 332 }
442 333 },
443 "@babel/plugin-syntax-nullish-coalescing-operator": {
444 "version": "7.8.3",
445 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
446 "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
447 "dev": true,
448 "requires": {
449 "@babel/helper-plugin-utils": "^7.8.0"
450 }
451 },
452 "@babel/plugin-syntax-numeric-separator": {
453 "version": "7.10.4",
454 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
455 "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
456 "dev": true,
457 "requires": {
458 "@babel/helper-plugin-utils": "^7.10.4"
459 }
460 },
461 "@babel/plugin-syntax-object-rest-spread": {
462 "version": "7.8.3",
463 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
464 "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
465 "dev": true,
466 "requires": {
467 "@babel/helper-plugin-utils": "^7.8.0"
468 }
469 },
470 "@babel/plugin-syntax-optional-catch-binding": {
471 "version": "7.8.3",
472 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
473 "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
474 "dev": true,
475 "requires": {
476 "@babel/helper-plugin-utils": "^7.8.0"
477 }
478 },
479 "@babel/plugin-syntax-optional-chaining": {
480 "version": "7.8.3",
481 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
482 "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
483 "dev": true,
484 "requires": {
485 "@babel/helper-plugin-utils": "^7.8.0"
486 }
487 },
488 "@babel/runtime": {
489 "version": "7.9.6",
490 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
491 "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
492 "dev": true,
493 "requires": {
494 "regenerator-runtime": "^0.13.4"
495 }
496 },
497 "@babel/template": {
498 "version": "7.10.4",
499 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
500 "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
501 "dev": true,
502 "requires": {
503 "@babel/code-frame": "^7.10.4",
504 "@babel/parser": "^7.10.4",
505 "@babel/types": "^7.10.4"
506 },
507 "dependencies": {
508 "@babel/code-frame": {
509 "version": "7.10.4",
510 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
511 "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
512 "dev": true,
513 "requires": {
514 "@babel/highlight": "^7.10.4"
515 }
516 },
517 "@babel/helper-validator-identifier": {
518 "version": "7.10.4",
519 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
520 "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
521 "dev": true
522 },
523 "@babel/highlight": {
524 "version": "7.10.4",
525 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
526 "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
527 "dev": true,
528 "requires": {
529 "@babel/helper-validator-identifier": "^7.10.4",
530 "chalk": "^2.0.0",
531 "js-tokens": "^4.0.0"
532 }
533 },
534 "ansi-styles": {
535 "version": "3.2.1",
536 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
537 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
538 "dev": true,
539 "requires": {
540 "color-convert": "^1.9.0"
541 }
542 },
543 "chalk": {
544 "version": "2.4.2",
545 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
546 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
547 "dev": true,
548 "requires": {
549 "ansi-styles": "^3.2.1",
550 "escape-string-regexp": "^1.0.5",
551 "supports-color": "^5.3.0"
552 }
553 },
554 "color-convert": {
555 "version": "1.9.3",
556 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
557 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
558 "dev": true,
559 "requires": {
560 "color-name": "1.1.3"
561 }
562 },
563 "color-name": {
564 "version": "1.1.3",
565 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
566 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
567 "dev": true
568 },
569 "has-flag": {
570 "version": "3.0.0",
571 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
572 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
573 "dev": true
574 },
575 "supports-color": {
576 "version": "5.5.0",
577 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
578 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
579 "dev": true,
580 "requires": {
581 "has-flag": "^3.0.0"
582 }
583 }
584 }
585 },
586 "@babel/traverse": {
587 "version": "7.11.5",
588 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
589 "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
590 "dev": true,
591 "requires": {
592 "@babel/code-frame": "^7.10.4",
593 "@babel/generator": "^7.11.5",
594 "@babel/helper-function-name": "^7.10.4",
595 "@babel/helper-split-export-declaration": "^7.11.0",
596 "@babel/parser": "^7.11.5",
597 "@babel/types": "^7.11.5",
598 "debug": "^4.1.0",
599 "globals": "^11.1.0",
600 "lodash": "^4.17.19"
601 },
602 "dependencies": {
603 "@babel/code-frame": {
604 "version": "7.10.4",
605 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
606 "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
607 "dev": true,
608 "requires": {
609 "@babel/highlight": "^7.10.4"
610 }
611 },
612 "@babel/helper-validator-identifier": {
613 "version": "7.10.4",
614 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
615 "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
616 "dev": true
617 },
618 "@babel/highlight": {
619 "version": "7.10.4",
620 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
621 "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
622 "dev": true,
623 "requires": {
624 "@babel/helper-validator-identifier": "^7.10.4",
625 "chalk": "^2.0.0",
626 "js-tokens": "^4.0.0"
627 }
628 },
629 "ansi-styles": {
630 "version": "3.2.1",
631 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
632 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
633 "dev": true,
634 "requires": {
635 "color-convert": "^1.9.0"
636 }
637 },
638 "chalk": {
639 "version": "2.4.2",
640 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
641 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
642 "dev": true,
643 "requires": {
644 "ansi-styles": "^3.2.1",
645 "escape-string-regexp": "^1.0.5",
646 "supports-color": "^5.3.0"
647 }
648 },
649 "color-convert": {
650 "version": "1.9.3",
651 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
652 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
653 "dev": true,
654 "requires": {
655 "color-name": "1.1.3"
656 }
657 },
658 "color-name": {
659 "version": "1.1.3",
660 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
661 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
662 "dev": true
663 },
664 "has-flag": {
665 "version": "3.0.0",
666 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
667 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
668 "dev": true
669 },
670 "supports-color": {
671 "version": "5.5.0",
672 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
673 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
674 "dev": true,
675 "requires": {
676 "has-flag": "^3.0.0"
677 }
678 }
679 }
680 },
681 "@babel/types": {
682 "version": "7.11.5",
683 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
684 "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
685 "dev": true,
686 "requires": {
687 "@babel/helper-validator-identifier": "^7.10.4",
688 "lodash": "^4.17.19",
689 "to-fast-properties": "^2.0.0"
690 },
691 "dependencies": {
692 "@babel/helper-validator-identifier": {
693 "version": "7.10.4",
694 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
695 "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
696 "dev": true
697 }
698 }
699 },
700 "@bcoe/v8-coverage": {
701 "version": "0.2.3",
702 "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
703 "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
704 "dev": true
705 },
706 "@cnakazawa/watch": {
707 "version": "1.0.4",
708 "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
709 "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
710 "dev": true,
711 "requires": {
712 "exec-sh": "^0.3.2",
713 "minimist": "^1.2.0"
714 }
715 },
716 "@istanbuljs/load-nyc-config": {
717 "version": "1.1.0",
718 "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
719 "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
720 "dev": true,
721 "requires": {
722 "camelcase": "^5.3.1",
723 "find-up": "^4.1.0",
724 "get-package-type": "^0.1.0",
725 "js-yaml": "^3.13.1",
726 "resolve-from": "^5.0.0"
727 },
728 "dependencies": {
729 "resolve-from": {
730 "version": "5.0.0",
731 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
732 "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
733 "dev": true
734 }
735 }
736 },
737 "@istanbuljs/schema": {
738 "version": "0.1.2",
739 "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
740 "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
741 "dev": true
742 },
743 "@jest/console": {
744 "version": "26.3.0",
745 "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.3.0.tgz",
746 "integrity": "sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w==",
747 "dev": true,
748 "requires": {
749 "@jest/types": "^26.3.0",
750 "@types/node": "*",
751 "chalk": "^4.0.0",
752 "jest-message-util": "^26.3.0",
753 "jest-util": "^26.3.0",
754 "slash": "^3.0.0"
755 }
756 },
757 "@jest/core": {
758 "version": "26.4.2",
759 "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.4.2.tgz",
760 "integrity": "sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg==",
761 "dev": true,
762 "requires": {
763 "@jest/console": "^26.3.0",
764 "@jest/reporters": "^26.4.1",
765 "@jest/test-result": "^26.3.0",
766 "@jest/transform": "^26.3.0",
767 "@jest/types": "^26.3.0",
768 "@types/node": "*",
769 "ansi-escapes": "^4.2.1",
770 "chalk": "^4.0.0",
771 "exit": "^0.1.2",
772 "graceful-fs": "^4.2.4",
773 "jest-changed-files": "^26.3.0",
774 "jest-config": "^26.4.2",
775 "jest-haste-map": "^26.3.0",
776 "jest-message-util": "^26.3.0",
777 "jest-regex-util": "^26.0.0",
778 "jest-resolve": "^26.4.0",
779 "jest-resolve-dependencies": "^26.4.2",
780 "jest-runner": "^26.4.2",
781 "jest-runtime": "^26.4.2",
782 "jest-snapshot": "^26.4.2",
783 "jest-util": "^26.3.0",
784 "jest-validate": "^26.4.2",
785 "jest-watcher": "^26.3.0",
786 "micromatch": "^4.0.2",
787 "p-each-series": "^2.1.0",
788 "rimraf": "^3.0.0",
789 "slash": "^3.0.0",
790 "strip-ansi": "^6.0.0"
791 }
792 },
793 "@jest/environment": {
794 "version": "26.3.0",
795 "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.3.0.tgz",
796 "integrity": "sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA==",
797 "dev": true,
798 "requires": {
799 "@jest/fake-timers": "^26.3.0",
800 "@jest/types": "^26.3.0",
801 "@types/node": "*",
802 "jest-mock": "^26.3.0"
803 }
804 },
805 "@jest/fake-timers": {
806 "version": "26.3.0",
807 "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.3.0.tgz",
808 "integrity": "sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A==",
809 "dev": true,
810 "requires": {
811 "@jest/types": "^26.3.0",
812 "@sinonjs/fake-timers": "^6.0.1",
813 "@types/node": "*",
814 "jest-message-util": "^26.3.0",
815 "jest-mock": "^26.3.0",
816 "jest-util": "^26.3.0"
817 }
818 },
819 "@jest/globals": {
820 "version": "26.4.2",
821 "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.4.2.tgz",
822 "integrity": "sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow==",
823 "dev": true,
824 "requires": {
825 "@jest/environment": "^26.3.0",
826 "@jest/types": "^26.3.0",
827 "expect": "^26.4.2"
828 }
829 },
830 "@jest/reporters": {
831 "version": "26.4.1",
832 "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.4.1.tgz",
833 "integrity": "sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ==",
834 "dev": true,
835 "requires": {
836 "@bcoe/v8-coverage": "^0.2.3",
837 "@jest/console": "^26.3.0",
838 "@jest/test-result": "^26.3.0",
839 "@jest/transform": "^26.3.0",
840 "@jest/types": "^26.3.0",
841 "chalk": "^4.0.0",
842 "collect-v8-coverage": "^1.0.0",
843 "exit": "^0.1.2",
844 "glob": "^7.1.2",
845 "graceful-fs": "^4.2.4",
846 "istanbul-lib-coverage": "^3.0.0",
847 "istanbul-lib-instrument": "^4.0.3",
848 "istanbul-lib-report": "^3.0.0",
849 "istanbul-lib-source-maps": "^4.0.0",
850 "istanbul-reports": "^3.0.2",
851 "jest-haste-map": "^26.3.0",
852 "jest-resolve": "^26.4.0",
853 "jest-util": "^26.3.0",
854 "jest-worker": "^26.3.0",
855 "node-notifier": "^8.0.0",
856 "slash": "^3.0.0",
857 "source-map": "^0.6.0",
858 "string-length": "^4.0.1",
859 "terminal-link": "^2.0.0",
860 "v8-to-istanbul": "^5.0.1"
861 }
862 },
863 "@jest/source-map": {
864 "version": "26.3.0",
865 "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.3.0.tgz",
866 "integrity": "sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ==",
867 "dev": true,
868 "requires": {
869 "callsites": "^3.0.0",
870 "graceful-fs": "^4.2.4",
871 "source-map": "^0.6.0"
872 }
873 },
874 "@jest/test-result": {
875 "version": "26.3.0",
876 "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.3.0.tgz",
877 "integrity": "sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg==",
878 "dev": true,
879 "requires": {
880 "@jest/console": "^26.3.0",
881 "@jest/types": "^26.3.0",
882 "@types/istanbul-lib-coverage": "^2.0.0",
883 "collect-v8-coverage": "^1.0.0"
884 }
885 },
886 "@jest/test-sequencer": {
887 "version": "26.4.2",
888 "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz",
889 "integrity": "sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog==",
890 "dev": true,
891 "requires": {
892 "@jest/test-result": "^26.3.0",
893 "graceful-fs": "^4.2.4",
894 "jest-haste-map": "^26.3.0",
895 "jest-runner": "^26.4.2",
896 "jest-runtime": "^26.4.2"
897 }
898 },
899 "@jest/transform": {
900 "version": "26.3.0",
901 "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.3.0.tgz",
902 "integrity": "sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A==",
903 "dev": true,
904 "requires": {
905 "@babel/core": "^7.1.0",
906 "@jest/types": "^26.3.0",
907 "babel-plugin-istanbul": "^6.0.0",
908 "chalk": "^4.0.0",
909 "convert-source-map": "^1.4.0",
910 "fast-json-stable-stringify": "^2.0.0",
911 "graceful-fs": "^4.2.4",
912 "jest-haste-map": "^26.3.0",
913 "jest-regex-util": "^26.0.0",
914 "jest-util": "^26.3.0",
915 "micromatch": "^4.0.2",
916 "pirates": "^4.0.1",
917 "slash": "^3.0.0",
918 "source-map": "^0.6.1",
919 "write-file-atomic": "^3.0.0"
920 }
921 },
922 "@jest/types": {
923 "version": "26.3.0",
924 "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
925 "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
926 "dev": true,
927 "requires": {
928 "@types/istanbul-lib-coverage": "^2.0.0",
929 "@types/istanbul-reports": "^3.0.0",
930 "@types/node": "*",
931 "@types/yargs": "^15.0.0",
932 "chalk": "^4.0.0"
933 }
934 },
935 "@sinonjs/commons": {
936 "version": "1.8.1",
937 "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz",
938 "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==",
939 "dev": true,
940 "requires": {
941 "type-detect": "4.0.8"
942 }
943 },
944 "@sinonjs/fake-timers": {
945 "version": "6.0.1",
946 "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz",
947 "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==",
948 "dev": true,
949 "requires": {
950 "@sinonjs/commons": "^1.7.0"
951 }
952 },
953 "@types/babel__core": {
954 "version": "7.1.9",
955 "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz",
956 "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==",
957 "dev": true,
958 "requires": {
959 "@babel/parser": "^7.1.0",
960 "@babel/types": "^7.0.0",
961 "@types/babel__generator": "*",
962 "@types/babel__template": "*",
963 "@types/babel__traverse": "*"
964 }
965 },
966 "@types/babel__generator": {
967 "version": "7.6.1",
968 "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
969 "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
970 "dev": true,
971 "requires": {
972 "@babel/types": "^7.0.0"
973 }
974 },
975 "@types/babel__template": {
976 "version": "7.0.2",
977 "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
978 "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
979 "dev": true,
980 "requires": {
981 "@babel/parser": "^7.1.0",
982 "@babel/types": "^7.0.0"
983 }
984 },
985 "@types/babel__traverse": {
986 "version": "7.0.14",
987 "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.14.tgz",
988 "integrity": "sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg==",
989 "dev": true,
990 "requires": {
991 "@babel/types": "^7.3.0"
992 }
993 },
994 "@types/color-name": {
995 "version": "1.1.1",
996 "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
997 "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
998 "dev": true
999 },
1000 "@types/graceful-fs": {
1001 "version": "4.1.3",
1002 "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
1003 "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==",
1004 "dev": true,
1005 "requires": {
1006 "@types/node": "*"
1007 }
1008 },
1009 "@types/istanbul-lib-coverage": {
1010 "version": "2.0.3",
1011 "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
1012 "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
1013 "dev": true
1014 },
1015 "@types/istanbul-lib-report": {
1016 "version": "3.0.0",
1017 "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
1018 "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
1019 "dev": true,
1020 "requires": {
1021 "@types/istanbul-lib-coverage": "*"
1022 }
1023 },
1024 "@types/istanbul-reports": {
1025 "version": "3.0.0",
1026 "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
1027 "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==",
1028 "dev": true,
1029 "requires": {
1030 "@types/istanbul-lib-report": "*"
1031 }
1032 },
1033 "@types/node": {
1034 "version": "14.10.2",
1035 "resolved": "https://registry.npmjs.org/@types/node/-/node-14.10.2.tgz",
1036 "integrity": "sha512-IzMhbDYCpv26pC2wboJ4MMOa9GKtjplXfcAqrMeNJpUUwpM/2ATt2w1JPUXwS6spu856TvKZL2AOmeU2rAxskw==",
1037 "dev": true
1038 },
1039 "@types/normalize-package-data": {
1040 "version": "2.4.0",
1041 "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
1042 "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
1043 "dev": true
1044 },
1045 "@types/parse-json": {
1046 "version": "4.0.0",
1047 "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
1048 "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
1049 "dev": true
1050 },
1051 "@types/prettier": {
1052 "version": "2.1.1",
1053 "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.1.tgz",
1054 "integrity": "sha512-2zs+O+UkDsJ1Vcp667pd3f8xearMdopz/z54i99wtRDI5KLmngk7vlrYZD0ZjKHaROR03EznlBbVY9PfAEyJIQ==",
1055 "dev": true
1056 },
1057 "@types/stack-utils": {
1058 "version": "1.0.1",
1059 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
1060 "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
1061 "dev": true
1062 },
1063 "@types/yargs": {
1064 "version": "15.0.5",
1065 "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
1066 "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
1067 "dev": true,
1068 "requires": {
1069 "@types/yargs-parser": "*"
1070 }
1071 },
1072 "@types/yargs-parser": {
1073 "version": "15.0.0",
1074 "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
1075 "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
1076 "dev": true
1077 },
1078 "@zeit/ncc": {
1079 "version": "0.22.1",
1080 "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.22.1.tgz",
1081 "integrity": "sha512-Qq3bMuonkcnV/96jhy9SQYdh39NXHxNMJ1O31ZFzWG9n52fR2DLtgrNzhj/ahlEjnBziMLGVWDbaS9sf03/fEw==",
1082 "dev": true
1083 },
1084 "abab": {
1085 "version": "2.0.5",
1086 "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
1087 "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
1088 "dev": true
1089 },
1090 "acorn": {
1091 "version": "7.4.0",
1092 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
1093 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
1094 "dev": true
1095 },
1096 "acorn-globals": {
1097 "version": "6.0.0",
1098 "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
1099 "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
1100 "dev": true,
1101 "requires": {
1102 "acorn": "^7.1.1",
1103 "acorn-walk": "^7.1.1"
1104 }
1105 },
1106 "acorn-walk": {
1107 "version": "7.2.0",
1108 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
1109 "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
1110 "dev": true
1111 },
1112 "ajv": {
1113 "version": "6.12.5",
1114 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz",
1115 "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==",
1116 "dev": true,
1117 "requires": {
1118 "fast-deep-equal": "^3.1.1",
1119 "fast-json-stable-stringify": "^2.0.0",
1120 "json-schema-traverse": "^0.4.1",
1121 "uri-js": "^4.2.2"
1122 }
1123 },
1124 "ansi-escapes": {
1125 "version": "4.3.1",
1126 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
1127 "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
1128 "dev": true,
1129 "requires": {
1130 "type-fest": "^0.11.0"
1131 },
1132 "dependencies": {
1133 "type-fest": {
1134 "version": "0.11.0",
1135 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
1136 "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
1137 "dev": true
1138 }
1139 }
1140 },
1141 "ansi-regex": {
1142 "version": "5.0.0",
1143 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1144 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
1145 "dev": true
1146 },
1147 "ansi-styles": {
1148 "version": "4.2.1",
1149 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
1150 "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
1151 "dev": true,
1152 "requires": {
1153 "@types/color-name": "^1.1.1",
1154 "color-convert": "^2.0.1"
1155 }
1156 },
1157 "anymatch": {
1158 "version": "3.1.1",
1159 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
1160 "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
1161 "dev": true,
1162 "requires": {
1163 "normalize-path": "^3.0.0",
1164 "picomatch": "^2.0.4"
1165 }
1166 },
1167 "argparse": {
1168 "version": "1.0.10",
1169 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
1170 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
1171 "dev": true,
1172 "requires": {
1173 "sprintf-js": "~1.0.2"
1174 }
1175 },
1176 "arr-diff": {
1177 "version": "4.0.0",
1178 "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
1179 "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
1180 "dev": true
1181 },
1182 "arr-flatten": {
1183 "version": "1.1.0",
1184 "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
1185 "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
1186 "dev": true
1187 },
1188 "arr-union": {
1189 "version": "3.1.0",
1190 "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
1191 "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
1192 "dev": true
1193 },
1194 "array-unique": {
1195 "version": "0.3.2",
1196 "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
1197 "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
1198 "dev": true
1199 },
1200 "asn1": {
1201 "version": "0.2.4",
1202 "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
1203 "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
1204 "dev": true,
1205 "requires": {
1206 "safer-buffer": "~2.1.0"
1207 }
1208 },
1209 "assert-plus": {
1210 "version": "1.0.0",
1211 "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1212 "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
1213 "dev": true
1214 },
1215 "assign-symbols": {
1216 "version": "1.0.0",
1217 "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
1218 "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
1219 "dev": true
1220 },
1221 "asynckit": {
1222 "version": "0.4.0",
1223 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1224 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
1225 "dev": true
1226 },
1227 "atob": {
1228 "version": "2.1.2",
1229 "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
1230 "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
1231 "dev": true
1232 },
1233 "aws-sign2": {
1234 "version": "0.7.0",
1235 "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
1236 "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
1237 "dev": true
1238 },
1239 "aws4": {
1240 "version": "1.10.1",
1241 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
1242 "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==",
1243 "dev": true
1244 },
1245 "babel-jest": {
1246 "version": "26.3.0",
1247 "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.3.0.tgz",
1248 "integrity": "sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g==",
1249 "dev": true,
1250 "requires": {
1251 "@jest/transform": "^26.3.0",
1252 "@jest/types": "^26.3.0",
1253 "@types/babel__core": "^7.1.7",
1254 "babel-plugin-istanbul": "^6.0.0",
1255 "babel-preset-jest": "^26.3.0",
1256 "chalk": "^4.0.0",
1257 "graceful-fs": "^4.2.4",
1258 "slash": "^3.0.0"
1259 }
1260 },
1261 "babel-plugin-istanbul": {
1262 "version": "6.0.0",
1263 "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
1264 "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
1265 "dev": true,
1266 "requires": {
1267 "@babel/helper-plugin-utils": "^7.0.0",
1268 "@istanbuljs/load-nyc-config": "^1.0.0",
1269 "@istanbuljs/schema": "^0.1.2",
1270 "istanbul-lib-instrument": "^4.0.0",
1271 "test-exclude": "^6.0.0"
1272 }
1273 },
1274 "babel-plugin-jest-hoist": {
1275 "version": "26.2.0",
1276 "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz",
1277 "integrity": "sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA==",
1278 "dev": true,
1279 "requires": {
1280 "@babel/template": "^7.3.3",
1281 "@babel/types": "^7.3.3",
1282 "@types/babel__core": "^7.0.0",
1283 "@types/babel__traverse": "^7.0.6"
1284 }
1285 },
1286 "babel-preset-current-node-syntax": {
1287 "version": "0.1.3",
1288 "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz",
1289 "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==",
1290 "dev": true,
1291 "requires": {
1292 "@babel/plugin-syntax-async-generators": "^7.8.4",
1293 "@babel/plugin-syntax-bigint": "^7.8.3",
1294 "@babel/plugin-syntax-class-properties": "^7.8.3",
1295 "@babel/plugin-syntax-import-meta": "^7.8.3",
1296 "@babel/plugin-syntax-json-strings": "^7.8.3",
1297 "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
1298 "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
1299 "@babel/plugin-syntax-numeric-separator": "^7.8.3",
1300 "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
1301 "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
1302 "@babel/plugin-syntax-optional-chaining": "^7.8.3"
1303 }
1304 },
1305 "babel-preset-jest": {
1306 "version": "26.3.0",
1307 "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz",
1308 "integrity": "sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw==",
1309 "dev": true,
1310 "requires": {
1311 "babel-plugin-jest-hoist": "^26.2.0",
1312 "babel-preset-current-node-syntax": "^0.1.3"
1313 }
1314 },
1315 "balanced-match": {
1316 "version": "1.0.0",
1317 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1318 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1319 "dev": true
1320 },
1321 "base": {
1322 "version": "0.11.2",
1323 "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
1324 "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
1325 "dev": true,
1326 "requires": {
1327 "cache-base": "^1.0.1",
1328 "class-utils": "^0.3.5",
1329 "component-emitter": "^1.2.1",
1330 "define-property": "^1.0.0",
1331 "isobject": "^3.0.1",
1332 "mixin-deep": "^1.2.0",
1333 "pascalcase": "^0.1.1"
1334 },
1335 "dependencies": {
1336 "define-property": {
1337 "version": "1.0.0",
1338 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1339 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1340 "dev": true,
1341 "requires": {
1342 "is-descriptor": "^1.0.0"
1343 }
1344 },
1345 "is-accessor-descriptor": {
1346 "version": "1.0.0",
1347 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1348 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1349 "dev": true,
1350 "requires": {
1351 "kind-of": "^6.0.0"
1352 }
1353 },
1354 "is-data-descriptor": {
1355 "version": "1.0.0",
1356 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1357 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1358 "dev": true,
1359 "requires": {
1360 "kind-of": "^6.0.0"
1361 }
1362 },
1363 "is-descriptor": {
1364 "version": "1.0.2",
1365 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1366 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1367 "dev": true,
1368 "requires": {
1369 "is-accessor-descriptor": "^1.0.0",
1370 "is-data-descriptor": "^1.0.0",
1371 "kind-of": "^6.0.2"
1372 }
1373 }
1374 }
1375 },
1376 "bcrypt-pbkdf": {
1377 "version": "1.0.2",
1378 "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
1379 "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
1380 "dev": true,
1381 "requires": {
1382 "tweetnacl": "^0.14.3"
1383 }
1384 },
1385 "brace-expansion": {
1386 "version": "1.1.11",
1387 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1388 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1389 "dev": true,
1390 "requires": {
1391 "balanced-match": "^1.0.0",
1392 "concat-map": "0.0.1"
1393 }
1394 },
1395 "braces": {
1396 "version": "3.0.2",
1397 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1398 "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1399 "dev": true,
1400 "requires": {
1401 "fill-range": "^7.0.1"
1402 }
1403 },
1404 "browser-process-hrtime": {
1405 "version": "1.0.0",
1406 "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
1407 "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
1408 "dev": true
1409 },
1410 "bser": {
1411 "version": "2.1.1",
1412 "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
1413 "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
1414 "dev": true,
1415 "requires": {
1416 "node-int64": "^0.4.0"
1417 }
1418 },
1419 "buffer-from": {
1420 "version": "1.1.1",
1421 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
1422 "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
1423 "dev": true
1424 },
1425 "cache-base": {
1426 "version": "1.0.1",
1427 "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
1428 "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
1429 "dev": true,
1430 "requires": {
1431 "collection-visit": "^1.0.0",
1432 "component-emitter": "^1.2.1",
1433 "get-value": "^2.0.6",
1434 "has-value": "^1.0.0",
1435 "isobject": "^3.0.1",
1436 "set-value": "^2.0.0",
1437 "to-object-path": "^0.3.0",
1438 "union-value": "^1.0.0",
1439 "unset-value": "^1.0.0"
1440 }
1441 },
1442 "callsites": {
1443 "version": "3.1.0",
1444 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1445 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1446 "dev": true
1447 },
1448 "camelcase": {
1449 "version": "5.3.1",
1450 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
1451 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
1452 "dev": true
1453 },
1454 "capture-exit": {
1455 "version": "2.0.0",
1456 "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
1457 "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
1458 "dev": true,
1459 "requires": {
1460 "rsvp": "^4.8.4"
1461 }
1462 },
1463 "caseless": {
1464 "version": "0.12.0",
1465 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
1466 "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
1467 "dev": true
1468 },
1469 "chalk": {
1470 "version": "4.0.0",
1471 "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
1472 "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
1473 "dev": true,
1474 "requires": {
1475 "ansi-styles": "^4.1.0",
1476 "supports-color": "^7.1.0"
1477 }
1478 },
1479 "char-regex": {
1480 "version": "1.0.2",
1481 "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
1482 "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
1483 "dev": true
1484 },
1485 "ci-info": {
1486 "version": "2.0.0",
1487 "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
1488 "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
1489 "dev": true
1490 },
1491 "class-utils": {
1492 "version": "0.3.6",
1493 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
1494 "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
1495 "dev": true,
1496 "requires": {
1497 "arr-union": "^3.1.0",
1498 "define-property": "^0.2.5",
1499 "isobject": "^3.0.0",
1500 "static-extend": "^0.1.1"
1501 },
1502 "dependencies": {
1503 "define-property": {
1504 "version": "0.2.5",
1505 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1506 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1507 "dev": true,
1508 "requires": {
1509 "is-descriptor": "^0.1.0"
1510 }
1511 }
1512 }
1513 },
1514 "cliui": {
1515 "version": "6.0.0",
1516 "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
1517 "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
1518 "dev": true,
1519 "requires": {
1520 "string-width": "^4.2.0",
1521 "strip-ansi": "^6.0.0",
1522 "wrap-ansi": "^6.2.0"
1523 }
1524 },
1525 "co": {
1526 "version": "4.6.0",
1527 "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
1528 "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
1529 "dev": true
1530 },
1531 "collect-v8-coverage": {
1532 "version": "1.0.1",
1533 "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
1534 "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
1535 "dev": true
1536 },
1537 "collection-visit": {
1538 "version": "1.0.0",
1539 "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
1540 "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
1541 "dev": true,
1542 "requires": {
1543 "map-visit": "^1.0.0",
1544 "object-visit": "^1.0.0"
1545 }
1546 },
1547 "color-convert": {
1548 "version": "2.0.1",
1549 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1550 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1551 "dev": true,
1552 "requires": {
1553 "color-name": "~1.1.4"
1554 }
1555 },
1556 "color-name": {
1557 "version": "1.1.4",
1558 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1559 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1560 "dev": true
1561 },
1562 "combined-stream": {
1563 "version": "1.0.8",
1564 "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
1565 "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
1566 "dev": true,
1567 "requires": {
1568 "delayed-stream": "~1.0.0"
1569 }
1570 },
1571 "compare-versions": {
1572 "version": "3.6.0",
1573 "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
1574 "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==",
1575 "dev": true
1576 },
1577 "component-emitter": {
1578 "version": "1.3.0",
1579 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
1580 "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
1581 "dev": true
1582 },
1583 "concat-map": {
1584 "version": "0.0.1",
1585 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1586 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1587 "dev": true
1588 },
1589 "convert-source-map": {
1590 "version": "1.7.0",
1591 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
1592 "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
1593 "dev": true,
1594 "requires": {
1595 "safe-buffer": "~5.1.1"
1596 }
1597 },
1598 "copy-descriptor": {
1599 "version": "0.1.1",
1600 "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
1601 "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
1602 "dev": true
1603 },
1604 "core-util-is": {
1605 "version": "1.0.2",
1606 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1607 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
1608 "dev": true
1609 },
1610 "cosmiconfig": {
1611 "version": "6.0.0",
1612 "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
1613 "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
1614 "dev": true,
1615 "requires": {
1616 "@types/parse-json": "^4.0.0",
1617 "import-fresh": "^3.1.0",
1618 "parse-json": "^5.0.0",
1619 "path-type": "^4.0.0",
1620 "yaml": "^1.7.2"
1621 }
1622 },
1623 "cross-spawn": {
1624 "version": "6.0.5",
1625 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1626 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1627 "dev": true,
1628 "requires": {
1629 "nice-try": "^1.0.4",
1630 "path-key": "^2.0.1",
1631 "semver": "^5.5.0",
1632 "shebang-command": "^1.2.0",
1633 "which": "^1.2.9"
1634 },
1635 "dependencies": {
1636 "semver": {
1637 "version": "5.7.1",
1638 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1639 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1640 "dev": true
1641 }
1642 }
1643 },
1644 "cssom": {
1645 "version": "0.4.4",
1646 "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
1647 "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
1648 "dev": true
1649 },
1650 "cssstyle": {
1651 "version": "2.3.0",
1652 "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
1653 "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
1654 "dev": true,
1655 "requires": {
1656 "cssom": "~0.3.6"
1657 },
1658 "dependencies": {
1659 "cssom": {
1660 "version": "0.3.8",
1661 "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
1662 "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
1663 "dev": true
1664 }
1665 }
1666 },
1667 "dashdash": {
1668 "version": "1.14.1",
1669 "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
1670 "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1671 "dev": true,
1672 "requires": {
1673 "assert-plus": "^1.0.0"
1674 }
1675 },
1676 "data-urls": {
1677 "version": "2.0.0",
1678 "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
1679 "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
1680 "dev": true,
1681 "requires": {
1682 "abab": "^2.0.3",
1683 "whatwg-mimetype": "^2.3.0",
1684 "whatwg-url": "^8.0.0"
1685 }
1686 },
1687 "debug": {
1688 "version": "4.1.1",
1689 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1690 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1691 "dev": true,
1692 "requires": {
1693 "ms": "^2.1.1"
1694 }
1695 },
1696 "decamelize": {
1697 "version": "1.2.0",
1698 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
1699 "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
1700 "dev": true
1701 },
1702 "decimal.js": {
1703 "version": "10.2.0",
1704 "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz",
1705 "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==",
1706 "dev": true
1707 },
1708 "decode-uri-component": {
1709 "version": "0.2.0",
1710 "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1711 "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1712 "dev": true
1713 },
1714 "deep-is": {
1715 "version": "0.1.3",
1716 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
1717 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
1718 "dev": true
1719 },
1720 "deepmerge": {
1721 "version": "4.2.2",
1722 "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
1723 "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
1724 "dev": true
1725 },
1726 "define-property": {
1727 "version": "2.0.2",
1728 "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1729 "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1730 "dev": true,
1731 "requires": {
1732 "is-descriptor": "^1.0.2",
1733 "isobject": "^3.0.1"
1734 },
1735 "dependencies": {
1736 "is-accessor-descriptor": {
1737 "version": "1.0.0",
1738 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1739 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1740 "dev": true,
1741 "requires": {
1742 "kind-of": "^6.0.0"
1743 }
1744 },
1745 "is-data-descriptor": {
1746 "version": "1.0.0",
1747 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1748 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1749 "dev": true,
1750 "requires": {
1751 "kind-of": "^6.0.0"
1752 }
1753 },
1754 "is-descriptor": {
1755 "version": "1.0.2",
1756 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1757 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1758 "dev": true,
1759 "requires": {
1760 "is-accessor-descriptor": "^1.0.0",
1761 "is-data-descriptor": "^1.0.0",
1762 "kind-of": "^6.0.2"
1763 }
1764 }
1765 }
1766 },
1767 "delayed-stream": {
1768 "version": "1.0.0",
1769 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
1770 "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
1771 "dev": true
1772 },
1773 "detect-newline": {
1774 "version": "3.1.0",
1775 "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
1776 "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
1777 "dev": true
1778 },
1779 "diff-sequences": {
1780 "version": "26.3.0",
1781 "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.3.0.tgz",
1782 "integrity": "sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig==",
1783 "dev": true
1784 },
1785 "domexception": {
1786 "version": "2.0.1",
1787 "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
1788 "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
1789 "dev": true,
1790 "requires": {
1791 "webidl-conversions": "^5.0.0"
1792 },
1793 "dependencies": {
1794 "webidl-conversions": {
1795 "version": "5.0.0",
1796 "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
1797 "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
1798 "dev": true
1799 }
1800 }
1801 },
1802 "ecc-jsbn": {
1803 "version": "0.1.2",
1804 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
1805 "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
1806 "dev": true,
1807 "requires": {
1808 "jsbn": "~0.1.0",
1809 "safer-buffer": "^2.1.0"
1810 }
1811 },
1812 "emittery": {
1813 "version": "0.7.1",
1814 "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.1.tgz",
1815 "integrity": "sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ==",
1816 "dev": true
1817 },
1818 "emoji-regex": {
1819 "version": "8.0.0",
1820 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1821 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1822 "dev": true
1823 },
1824 "end-of-stream": {
1825 "version": "1.4.4",
1826 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
1827 "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
1828 "dev": true,
1829 "requires": {
1830 "once": "^1.4.0"
1831 }
1832 },
1833 "error-ex": {
1834 "version": "1.3.2",
1835 "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
1836 "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1837 "dev": true,
1838 "requires": {
1839 "is-arrayish": "^0.2.1"
1840 }
1841 },
1842 "escape-string-regexp": {
1843 "version": "1.0.5",
1844 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1845 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1846 "dev": true
1847 },
1848 "escodegen": {
1849 "version": "1.14.3",
1850 "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
1851 "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
1852 "dev": true,
1853 "requires": {
1854 "esprima": "^4.0.1",
1855 "estraverse": "^4.2.0",
1856 "esutils": "^2.0.2",
1857 "optionator": "^0.8.1",
1858 "source-map": "~0.6.1"
1859 }
1860 },
1861 "esprima": {
1862 "version": "4.0.1",
1863 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1864 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1865 "dev": true
1866 },
1867 "estraverse": {
1868 "version": "4.3.0",
1869 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1870 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1871 "dev": true
1872 },
1873 "esutils": {
1874 "version": "2.0.3",
1875 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1876 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1877 "dev": true
1878 },
1879 "exec-sh": {
1880 "version": "0.3.4",
1881 "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
1882 "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
1883 "dev": true
1884 },
1885 "execa": {
1886 "version": "1.0.0",
1887 "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
1888 "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
1889 "dev": true,
1890 "requires": {
1891 "cross-spawn": "^6.0.0",
1892 "get-stream": "^4.0.0",
1893 "is-stream": "^1.1.0",
1894 "npm-run-path": "^2.0.0",
1895 "p-finally": "^1.0.0",
1896 "signal-exit": "^3.0.0",
1897 "strip-eof": "^1.0.0"
1898 }
1899 },
1900 "exit": {
1901 "version": "0.1.2",
1902 "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
1903 "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
1904 "dev": true
1905 },
1906 "expand-brackets": {
1907 "version": "2.1.4",
1908 "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1909 "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1910 "dev": true,
1911 "requires": {
1912 "debug": "^2.3.3",
1913 "define-property": "^0.2.5",
1914 "extend-shallow": "^2.0.1",
1915 "posix-character-classes": "^0.1.0",
1916 "regex-not": "^1.0.0",
1917 "snapdragon": "^0.8.1",
1918 "to-regex": "^3.0.1"
1919 },
1920 "dependencies": {
1921 "debug": {
1922 "version": "2.6.9",
1923 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1924 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1925 "dev": true,
1926 "requires": {
1927 "ms": "2.0.0"
1928 }
1929 },
1930 "define-property": {
1931 "version": "0.2.5",
1932 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1933 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1934 "dev": true,
1935 "requires": {
1936 "is-descriptor": "^0.1.0"
1937 }
1938 },
1939 "extend-shallow": {
1940 "version": "2.0.1",
1941 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1942 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1943 "dev": true,
1944 "requires": {
1945 "is-extendable": "^0.1.0"
1946 }
1947 },
1948 "ms": {
1949 "version": "2.0.0",
1950 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1951 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1952 "dev": true
1953 }
1954 }
1955 },
1956 "expect": {
1957 "version": "26.4.2",
1958 "resolved": "https://registry.npmjs.org/expect/-/expect-26.4.2.tgz",
1959 "integrity": "sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA==",
1960 "dev": true,
1961 "requires": {
1962 "@jest/types": "^26.3.0",
1963 "ansi-styles": "^4.0.0",
1964 "jest-get-type": "^26.3.0",
1965 "jest-matcher-utils": "^26.4.2",
1966 "jest-message-util": "^26.3.0",
1967 "jest-regex-util": "^26.0.0"
1968 }
1969 },
1970 "extend": {
1971 "version": "3.0.2",
1972 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1973 "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
1974 "dev": true
1975 },
1976 "extend-shallow": {
1977 "version": "3.0.2",
1978 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1979 "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1980 "dev": true,
1981 "requires": {
1982 "assign-symbols": "^1.0.0",
1983 "is-extendable": "^1.0.1"
1984 },
1985 "dependencies": {
1986 "is-extendable": {
1987 "version": "1.0.1",
1988 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1989 "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1990 "dev": true,
1991 "requires": {
1992 "is-plain-object": "^2.0.4"
1993 }
1994 }
1995 }
1996 },
1997 "extglob": {
1998 "version": "2.0.4",
1999 "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
2000 "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2001 "dev": true,
2002 "requires": {
2003 "array-unique": "^0.3.2",
2004 "define-property": "^1.0.0",
2005 "expand-brackets": "^2.1.4",
2006 "extend-shallow": "^2.0.1",
2007 "fragment-cache": "^0.2.1",
2008 "regex-not": "^1.0.0",
2009 "snapdragon": "^0.8.1",
2010 "to-regex": "^3.0.1"
2011 },
2012 "dependencies": {
2013 "define-property": {
2014 "version": "1.0.0",
2015 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2016 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2017 "dev": true,
2018 "requires": {
2019 "is-descriptor": "^1.0.0"
2020 }
2021 },
2022 "extend-shallow": {
2023 "version": "2.0.1",
2024 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2025 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2026 "dev": true,
2027 "requires": {
2028 "is-extendable": "^0.1.0"
2029 }
2030 },
2031 "is-accessor-descriptor": {
2032 "version": "1.0.0",
2033 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2034 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2035 "dev": true,
2036 "requires": {
2037 "kind-of": "^6.0.0"
2038 }
2039 },
2040 "is-data-descriptor": {
2041 "version": "1.0.0",
2042 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2043 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2044 "dev": true,
2045 "requires": {
2046 "kind-of": "^6.0.0"
2047 }
2048 },
2049 "is-descriptor": {
2050 "version": "1.0.2",
2051 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2052 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2053 "dev": true,
2054 "requires": {
2055 "is-accessor-descriptor": "^1.0.0",
2056 "is-data-descriptor": "^1.0.0",
2057 "kind-of": "^6.0.2"
2058 }
2059 }
2060 }
2061 },
2062 "extsprintf": {
2063 "version": "1.3.0",
2064 "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
2065 "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
2066 "dev": true
2067 },
2068 "fast-deep-equal": {
2069 "version": "3.1.3",
2070 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2071 "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
2072 "dev": true
2073 },
2074 "fast-json-stable-stringify": {
2075 "version": "2.1.0",
2076 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2077 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
2078 "dev": true
2079 },
2080 "fast-levenshtein": {
2081 "version": "2.0.6",
2082 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2083 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
2084 "dev": true
2085 },
2086 "fb-watchman": {
2087 "version": "2.0.1",
2088 "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
2089 "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
2090 "dev": true,
2091 "requires": {
2092 "bser": "2.1.1"
2093 }
2094 },
2095 "fill-range": {
2096 "version": "7.0.1",
2097 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
2098 "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
2099 "dev": true,
2100 "requires": {
2101 "to-regex-range": "^5.0.1"
2102 }
2103 },
2104 "find-up": {
2105 "version": "4.1.0",
2106 "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
2107 "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
2108 "dev": true,
2109 "requires": {
2110 "locate-path": "^5.0.0",
2111 "path-exists": "^4.0.0"
2112 }
2113 },
2114 "find-versions": {
2115 "version": "3.2.0",
2116 "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
2117 "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
2118 "dev": true,
2119 "requires": {
2120 "semver-regex": "^2.0.0"
2121 }
2122 },
2123 "for-in": {
2124 "version": "1.0.2",
2125 "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
2126 "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
2127 "dev": true
2128 },
2129 "forever-agent": {
2130 "version": "0.6.1",
2131 "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
2132 "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
2133 "dev": true
2134 },
2135 "form-data": {
2136 "version": "2.3.3",
2137 "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
2138 "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
2139 "dev": true,
2140 "requires": {
2141 "asynckit": "^0.4.0",
2142 "combined-stream": "^1.0.6",
2143 "mime-types": "^2.1.12"
2144 }
2145 },
2146 "fragment-cache": {
2147 "version": "0.2.1",
2148 "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
2149 "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
2150 "dev": true,
2151 "requires": {
2152 "map-cache": "^0.2.2"
2153 }
2154 },
2155 "fs.realpath": {
2156 "version": "1.0.0",
2157 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2158 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2159 "dev": true
2160 },
2161 "fsevents": {
2162 "version": "2.1.3",
2163 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
2164 "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
2165 "dev": true,
2166 "optional": true
2167 },
2168 "gensync": {
2169 "version": "1.0.0-beta.1",
2170 "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
2171 "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
2172 "dev": true
2173 },
2174 "get-caller-file": {
2175 "version": "2.0.5",
2176 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
2177 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
2178 "dev": true
2179 },
2180 "get-package-type": {
2181 "version": "0.1.0",
2182 "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
2183 "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
2184 "dev": true
2185 },
2186 "get-stream": {
2187 "version": "4.1.0",
2188 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
2189 "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
2190 "dev": true,
2191 "requires": {
2192 "pump": "^3.0.0"
2193 }
2194 },
2195 "get-value": {
2196 "version": "2.0.6",
2197 "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
2198 "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
2199 "dev": true
2200 },
2201 "getpass": {
2202 "version": "0.1.7",
2203 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
2204 "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
2205 "dev": true,
2206 "requires": {
2207 "assert-plus": "^1.0.0"
2208 }
2209 },
2210 "glob": {
2211 "version": "7.1.6",
2212 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
2213 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
2214 "dev": true,
2215 "requires": {
2216 "fs.realpath": "^1.0.0",
2217 "inflight": "^1.0.4",
2218 "inherits": "2",
2219 "minimatch": "^3.0.4",
2220 "once": "^1.3.0",
2221 "path-is-absolute": "^1.0.0"
2222 }
2223 },
2224 "globals": {
2225 "version": "11.12.0",
2226 "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
2227 "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
2228 "dev": true
2229 },
2230 "graceful-fs": {
2231 "version": "4.2.4",
2232 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
2233 "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
2234 "dev": true
2235 },
2236 "growly": {
2237 "version": "1.3.0",
2238 "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
2239 "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
2240 "dev": true,
2241 "optional": true
2242 },
2243 "har-schema": {
2244 "version": "2.0.0",
2245 "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
2246 "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
2247 "dev": true
2248 },
2249 "har-validator": {
2250 "version": "5.1.5",
2251 "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
2252 "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
2253 "dev": true,
2254 "requires": {
2255 "ajv": "^6.12.3",
2256 "har-schema": "^2.0.0"
2257 }
2258 },
2259 "has-flag": {
2260 "version": "4.0.0",
2261 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2262 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2263 "dev": true
2264 },
2265 "has-value": {
2266 "version": "1.0.0",
2267 "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
2268 "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
2269 "dev": true,
2270 "requires": {
2271 "get-value": "^2.0.6",
2272 "has-values": "^1.0.0",
2273 "isobject": "^3.0.0"
2274 }
2275 },
2276 "has-values": {
2277 "version": "1.0.0",
2278 "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
2279 "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
2280 "dev": true,
2281 "requires": {
2282 "is-number": "^3.0.0",
2283 "kind-of": "^4.0.0"
2284 },
2285 "dependencies": {
2286 "is-number": {
2287 "version": "3.0.0",
2288 "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2289 "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2290 "dev": true,
2291 "requires": {
2292 "kind-of": "^3.0.2"
2293 },
2294 "dependencies": {
2295 "kind-of": {
2296 "version": "3.2.2",
2297 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2298 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2299 "dev": true,
2300 "requires": {
2301 "is-buffer": "^1.1.5"
2302 }
2303 }
2304 }
2305 },
2306 "kind-of": {
2307 "version": "4.0.0",
2308 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
2309 "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2310 "dev": true,
2311 "requires": {
2312 "is-buffer": "^1.1.5"
2313 }
2314 }
2315 }
2316 },
2317 "hosted-git-info": {
2318 "version": "2.8.8",
2319 "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
2320 "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
2321 "dev": true
2322 },
2323 "html-encoding-sniffer": {
2324 "version": "2.0.1",
2325 "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
2326 "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
2327 "dev": true,
2328 "requires": {
2329 "whatwg-encoding": "^1.0.5"
2330 }
2331 },
2332 "html-escaper": {
2333 "version": "2.0.2",
2334 "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
2335 "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
2336 "dev": true
2337 },
2338 "http-signature": {
2339 "version": "1.2.0",
2340 "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
2341 "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
2342 "dev": true,
2343 "requires": {
2344 "assert-plus": "^1.0.0",
2345 "jsprim": "^1.2.2",
2346 "sshpk": "^1.7.0"
2347 }
2348 },
2349 "human-signals": {
2350 "version": "1.1.1",
2351 "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
2352 "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
2353 "dev": true
2354 },
2355 "husky": {
2356 "version": "4.2.5",
2357 "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz",
2358 "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==",
2359 "dev": true,
2360 "requires": {
2361 "chalk": "^4.0.0",
2362 "ci-info": "^2.0.0",
2363 "compare-versions": "^3.6.0",
2364 "cosmiconfig": "^6.0.0",
2365 "find-versions": "^3.2.0",
2366 "opencollective-postinstall": "^2.0.2",
2367 "pkg-dir": "^4.2.0",
2368 "please-upgrade-node": "^3.2.0",
2369 "slash": "^3.0.0",
2370 "which-pm-runs": "^1.0.0"
2371 }
2372 },
2373 "iconv-lite": {
2374 "version": "0.4.24",
2375 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
2376 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
2377 "dev": true,
2378 "requires": {
2379 "safer-buffer": ">= 2.1.2 < 3"
2380 }
2381 },
2382 "import-fresh": {
2383 "version": "3.2.1",
2384 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
2385 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
2386 "dev": true,
2387 "requires": {
2388 "parent-module": "^1.0.0",
2389 "resolve-from": "^4.0.0"
2390 }
2391 },
2392 "import-local": {
2393 "version": "3.0.2",
2394 "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
2395 "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
2396 "dev": true,
2397 "requires": {
2398 "pkg-dir": "^4.2.0",
2399 "resolve-cwd": "^3.0.0"
2400 }
2401 },
2402 "imurmurhash": {
2403 "version": "0.1.4",
2404 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2405 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
2406 "dev": true
2407 },
2408 "inflight": {
2409 "version": "1.0.6",
2410 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2411 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2412 "dev": true,
2413 "requires": {
2414 "once": "^1.3.0",
2415 "wrappy": "1"
2416 }
2417 },
2418 "inherits": {
2419 "version": "2.0.4",
2420 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2421 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2422 "dev": true
2423 },
2424 "ip-regex": {
2425 "version": "2.1.0",
2426 "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
2427 "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
2428 "dev": true
2429 },
2430 "is-accessor-descriptor": {
2431 "version": "0.1.6",
2432 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
2433 "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2434 "dev": true,
2435 "requires": {
2436 "kind-of": "^3.0.2"
2437 },
2438 "dependencies": {
2439 "kind-of": {
2440 "version": "3.2.2",
2441 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2442 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2443 "dev": true,
2444 "requires": {
2445 "is-buffer": "^1.1.5"
2446 }
2447 }
2448 }
2449 },
2450 "is-arrayish": {
2451 "version": "0.2.1",
2452 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
2453 "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
2454 "dev": true
2455 },
2456 "is-buffer": {
2457 "version": "1.1.6",
2458 "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
2459 "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
2460 "dev": true
2461 },
2462 "is-ci": {
2463 "version": "2.0.0",
2464 "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
2465 "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
2466 "dev": true,
2467 "requires": {
2468 "ci-info": "^2.0.0"
2469 }
2470 },
2471 "is-data-descriptor": {
2472 "version": "0.1.4",
2473 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2474 "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2475 "dev": true,
2476 "requires": {
2477 "kind-of": "^3.0.2"
2478 },
2479 "dependencies": {
2480 "kind-of": {
2481 "version": "3.2.2",
2482 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2483 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2484 "dev": true,
2485 "requires": {
2486 "is-buffer": "^1.1.5"
2487 }
2488 }
2489 }
2490 },
2491 "is-descriptor": {
2492 "version": "0.1.6",
2493 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2494 "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2495 "dev": true,
2496 "requires": {
2497 "is-accessor-descriptor": "^0.1.6",
2498 "is-data-descriptor": "^0.1.4",
2499 "kind-of": "^5.0.0"
2500 },
2501 "dependencies": {
2502 "kind-of": {
2503 "version": "5.1.0",
2504 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2505 "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2506 "dev": true
2507 }
2508 }
2509 },
2510 "is-docker": {
2511 "version": "2.1.1",
2512 "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
2513 "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
2514 "dev": true,
2515 "optional": true
2516 },
2517 "is-extendable": {
2518 "version": "0.1.1",
2519 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2520 "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
2521 "dev": true
2522 },
2523 "is-fullwidth-code-point": {
2524 "version": "3.0.0",
2525 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2526 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
2527 "dev": true
2528 },
2529 "is-generator-fn": {
2530 "version": "2.1.0",
2531 "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
2532 "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
2533 "dev": true
2534 },
2535 "is-number": {
2536 "version": "7.0.0",
2537 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
2538 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
2539 "dev": true
2540 },
2541 "is-plain-object": {
2542 "version": "2.0.4",
2543 "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
2544 "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
2545 "dev": true,
2546 "requires": {
2547 "isobject": "^3.0.1"
2548 }
2549 },
2550 "is-potential-custom-element-name": {
2551 "version": "1.0.0",
2552 "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz",
2553 "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=",
2554 "dev": true
2555 },
2556 "is-stream": {
2557 "version": "1.1.0",
2558 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
2559 "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
2560 "dev": true
2561 },
2562 "is-typedarray": {
2563 "version": "1.0.0",
2564 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
2565 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
2566 "dev": true
2567 },
2568 "is-windows": {
2569 "version": "1.0.2",
2570 "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
2571 "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
2572 "dev": true
2573 },
2574 "is-wsl": {
2575 "version": "2.2.0",
2576 "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
2577 "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
2578 "dev": true,
2579 "optional": true,
2580 "requires": {
2581 "is-docker": "^2.0.0"
2582 }
2583 },
2584 "isarray": {
2585 "version": "1.0.0",
2586 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2587 "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
2588 "dev": true
2589 },
2590 "isexe": {
2591 "version": "2.0.0",
2592 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2593 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2594 "dev": true
2595 },
2596 "isobject": {
2597 "version": "3.0.1",
2598 "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2599 "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2600 "dev": true
2601 },
2602 "isstream": {
2603 "version": "0.1.2",
2604 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
2605 "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
2606 "dev": true
2607 },
2608 "istanbul-lib-coverage": {
2609 "version": "3.0.0",
2610 "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
2611 "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
2612 "dev": true
2613 },
2614 "istanbul-lib-instrument": {
2615 "version": "4.0.3",
2616 "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
2617 "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
2618 "dev": true,
2619 "requires": {
2620 "@babel/core": "^7.7.5",
2621 "@istanbuljs/schema": "^0.1.2",
2622 "istanbul-lib-coverage": "^3.0.0",
2623 "semver": "^6.3.0"
2624 },
2625 "dependencies": {
2626 "semver": {
2627 "version": "6.3.0",
2628 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2629 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2630 "dev": true
2631 }
2632 }
2633 },
2634 "istanbul-lib-report": {
2635 "version": "3.0.0",
2636 "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
2637 "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
2638 "dev": true,
2639 "requires": {
2640 "istanbul-lib-coverage": "^3.0.0",
2641 "make-dir": "^3.0.0",
2642 "supports-color": "^7.1.0"
2643 }
2644 },
2645 "istanbul-lib-source-maps": {
2646 "version": "4.0.0",
2647 "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
2648 "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
2649 "dev": true,
2650 "requires": {
2651 "debug": "^4.1.1",
2652 "istanbul-lib-coverage": "^3.0.0",
2653 "source-map": "^0.6.1"
2654 }
2655 },
2656 "istanbul-reports": {
2657 "version": "3.0.2",
2658 "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
2659 "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
2660 "dev": true,
2661 "requires": {
2662 "html-escaper": "^2.0.0",
2663 "istanbul-lib-report": "^3.0.0"
2664 }
2665 },
2666 "jest": {
2667 "version": "26.4.2",
2668 "resolved": "https://registry.npmjs.org/jest/-/jest-26.4.2.tgz",
2669 "integrity": "sha512-LLCjPrUh98Ik8CzW8LLVnSCfLaiY+wbK53U7VxnFSX7Q+kWC4noVeDvGWIFw0Amfq1lq2VfGm7YHWSLBV62MJw==",
2670 "dev": true,
2671 "requires": {
2672 "@jest/core": "^26.4.2",
2673 "import-local": "^3.0.2",
2674 "jest-cli": "^26.4.2"
2675 },
2676 "dependencies": {
2677 "jest-cli": {
2678 "version": "26.4.2",
2679 "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.4.2.tgz",
2680 "integrity": "sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw==",
2681 "dev": true,
2682 "requires": {
2683 "@jest/core": "^26.4.2",
2684 "@jest/test-result": "^26.3.0",
2685 "@jest/types": "^26.3.0",
2686 "chalk": "^4.0.0",
2687 "exit": "^0.1.2",
2688 "graceful-fs": "^4.2.4",
2689 "import-local": "^3.0.2",
2690 "is-ci": "^2.0.0",
2691 "jest-config": "^26.4.2",
2692 "jest-util": "^26.3.0",
2693 "jest-validate": "^26.4.2",
2694 "prompts": "^2.0.1",
2695 "yargs": "^15.3.1"
2696 }
2697 }
2698 }
2699 },
2700 "jest-changed-files": {
2701 "version": "26.3.0",
2702 "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.3.0.tgz",
2703 "integrity": "sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g==",
2704 "dev": true,
2705 "requires": {
2706 "@jest/types": "^26.3.0",
2707 "execa": "^4.0.0",
2708 "throat": "^5.0.0"
2709 },
2710 "dependencies": {
2711 "cross-spawn": {
2712 "version": "7.0.3",
2713 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2714 "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2715 "dev": true,
2716 "requires": {
2717 "path-key": "^3.1.0",
2718 "shebang-command": "^2.0.0",
2719 "which": "^2.0.1"
2720 }
2721 },
2722 "execa": {
2723 "version": "4.0.3",
2724 "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz",
2725 "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==",
2726 "dev": true,
2727 "requires": {
2728 "cross-spawn": "^7.0.0",
2729 "get-stream": "^5.0.0",
2730 "human-signals": "^1.1.1",
2731 "is-stream": "^2.0.0",
2732 "merge-stream": "^2.0.0",
2733 "npm-run-path": "^4.0.0",
2734 "onetime": "^5.1.0",
2735 "signal-exit": "^3.0.2",
2736 "strip-final-newline": "^2.0.0"
2737 }
2738 },
2739 "get-stream": {
2740 "version": "5.2.0",
2741 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
2742 "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
2743 "dev": true,
2744 "requires": {
2745 "pump": "^3.0.0"
2746 }
2747 },
2748 "is-stream": {
2749 "version": "2.0.0",
2750 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
2751 "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
2752 "dev": true
2753 },
2754 "npm-run-path": {
2755 "version": "4.0.1",
2756 "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
2757 "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
2758 "dev": true,
2759 "requires": {
2760 "path-key": "^3.0.0"
2761 }
2762 },
2763 "path-key": {
2764 "version": "3.1.1",
2765 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2766 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2767 "dev": true
2768 },
2769 "shebang-command": {
2770 "version": "2.0.0",
2771 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2772 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2773 "dev": true,
2774 "requires": {
2775 "shebang-regex": "^3.0.0"
2776 }
2777 },
2778 "shebang-regex": {
2779 "version": "3.0.0",
2780 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2781 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2782 "dev": true
2783 },
2784 "which": {
2785 "version": "2.0.2",
2786 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2787 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2788 "dev": true,
2789 "requires": {
2790 "isexe": "^2.0.0"
2791 }
2792 }
2793 }
2794 },
2795 "jest-config": {
2796 "version": "26.4.2",
2797 "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.4.2.tgz",
2798 "integrity": "sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A==",
2799 "dev": true,
2800 "requires": {
2801 "@babel/core": "^7.1.0",
2802 "@jest/test-sequencer": "^26.4.2",
2803 "@jest/types": "^26.3.0",
2804 "babel-jest": "^26.3.0",
2805 "chalk": "^4.0.0",
2806 "deepmerge": "^4.2.2",
2807 "glob": "^7.1.1",
2808 "graceful-fs": "^4.2.4",
2809 "jest-environment-jsdom": "^26.3.0",
2810 "jest-environment-node": "^26.3.0",
2811 "jest-get-type": "^26.3.0",
2812 "jest-jasmine2": "^26.4.2",
2813 "jest-regex-util": "^26.0.0",
2814 "jest-resolve": "^26.4.0",
2815 "jest-util": "^26.3.0",
2816 "jest-validate": "^26.4.2",
2817 "micromatch": "^4.0.2",
2818 "pretty-format": "^26.4.2"
2819 }
2820 },
2821 "jest-diff": {
2822 "version": "26.4.2",
2823 "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.4.2.tgz",
2824 "integrity": "sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ==",
2825 "dev": true,
2826 "requires": {
2827 "chalk": "^4.0.0",
2828 "diff-sequences": "^26.3.0",
2829 "jest-get-type": "^26.3.0",
2830 "pretty-format": "^26.4.2"
2831 }
2832 },
2833 "jest-docblock": {
2834 "version": "26.0.0",
2835 "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz",
2836 "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==",
2837 "dev": true,
2838 "requires": {
2839 "detect-newline": "^3.0.0"
2840 }
2841 },
2842 "jest-each": {
2843 "version": "26.4.2",
2844 "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.4.2.tgz",
2845 "integrity": "sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA==",
2846 "dev": true,
2847 "requires": {
2848 "@jest/types": "^26.3.0",
2849 "chalk": "^4.0.0",
2850 "jest-get-type": "^26.3.0",
2851 "jest-util": "^26.3.0",
2852 "pretty-format": "^26.4.2"
2853 }
2854 },
2855 "jest-environment-jsdom": {
2856 "version": "26.3.0",
2857 "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz",
2858 "integrity": "sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA==",
2859 "dev": true,
2860 "requires": {
2861 "@jest/environment": "^26.3.0",
2862 "@jest/fake-timers": "^26.3.0",
2863 "@jest/types": "^26.3.0",
2864 "@types/node": "*",
2865 "jest-mock": "^26.3.0",
2866 "jest-util": "^26.3.0",
2867 "jsdom": "^16.2.2"
2868 }
2869 },
2870 "jest-environment-node": {
2871 "version": "26.3.0",
2872 "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.3.0.tgz",
2873 "integrity": "sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw==",
2874 "dev": true,
2875 "requires": {
2876 "@jest/environment": "^26.3.0",
2877 "@jest/fake-timers": "^26.3.0",
2878 "@jest/types": "^26.3.0",
2879 "@types/node": "*",
2880 "jest-mock": "^26.3.0",
2881 "jest-util": "^26.3.0"
2882 }
2883 },
2884 "jest-get-type": {
2885 "version": "26.3.0",
2886 "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
2887 "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
2888 "dev": true
2889 },
2890 "jest-haste-map": {
2891 "version": "26.3.0",
2892 "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.3.0.tgz",
2893 "integrity": "sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA==",
2894 "dev": true,
2895 "requires": {
2896 "@jest/types": "^26.3.0",
2897 "@types/graceful-fs": "^4.1.2",
2898 "@types/node": "*",
2899 "anymatch": "^3.0.3",
2900 "fb-watchman": "^2.0.0",
2901 "fsevents": "^2.1.2",
2902 "graceful-fs": "^4.2.4",
2903 "jest-regex-util": "^26.0.0",
2904 "jest-serializer": "^26.3.0",
2905 "jest-util": "^26.3.0",
2906 "jest-worker": "^26.3.0",
2907 "micromatch": "^4.0.2",
2908 "sane": "^4.0.3",
2909 "walker": "^1.0.7"
2910 }
2911 },
2912 "jest-jasmine2": {
2913 "version": "26.4.2",
2914 "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz",
2915 "integrity": "sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA==",
2916 "dev": true,
2917 "requires": {
2918 "@babel/traverse": "^7.1.0",
2919 "@jest/environment": "^26.3.0",
2920 "@jest/source-map": "^26.3.0",
2921 "@jest/test-result": "^26.3.0",
2922 "@jest/types": "^26.3.0",
2923 "@types/node": "*",
2924 "chalk": "^4.0.0",
2925 "co": "^4.6.0",
2926 "expect": "^26.4.2",
2927 "is-generator-fn": "^2.0.0",
2928 "jest-each": "^26.4.2",
2929 "jest-matcher-utils": "^26.4.2",
2930 "jest-message-util": "^26.3.0",
2931 "jest-runtime": "^26.4.2",
2932 "jest-snapshot": "^26.4.2",
2933 "jest-util": "^26.3.0",
2934 "pretty-format": "^26.4.2",
2935 "throat": "^5.0.0"
2936 }
2937 },
2938 "jest-leak-detector": {
2939 "version": "26.4.2",
2940 "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz",
2941 "integrity": "sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA==",
2942 "dev": true,
2943 "requires": {
2944 "jest-get-type": "^26.3.0",
2945 "pretty-format": "^26.4.2"
2946 }
2947 },
2948 "jest-matcher-utils": {
2949 "version": "26.4.2",
2950 "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz",
2951 "integrity": "sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q==",
2952 "dev": true,
2953 "requires": {
2954 "chalk": "^4.0.0",
2955 "jest-diff": "^26.4.2",
2956 "jest-get-type": "^26.3.0",
2957 "pretty-format": "^26.4.2"
2958 }
2959 },
2960 "jest-message-util": {
2961 "version": "26.3.0",
2962 "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.3.0.tgz",
2963 "integrity": "sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA==",
2964 "dev": true,
2965 "requires": {
2966 "@babel/code-frame": "^7.0.0",
2967 "@jest/types": "^26.3.0",
2968 "@types/stack-utils": "^1.0.1",
2969 "chalk": "^4.0.0",
2970 "graceful-fs": "^4.2.4",
2971 "micromatch": "^4.0.2",
2972 "slash": "^3.0.0",
2973 "stack-utils": "^2.0.2"
2974 }
2975 },
2976 "jest-mock": {
2977 "version": "26.3.0",
2978 "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.3.0.tgz",
2979 "integrity": "sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q==",
2980 "dev": true,
2981 "requires": {
2982 "@jest/types": "^26.3.0",
2983 "@types/node": "*"
2984 }
2985 },
2986 "jest-pnp-resolver": {
2987 "version": "1.2.2",
2988 "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
2989 "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
2990 "dev": true
2991 },
2992 "jest-regex-util": {
2993 "version": "26.0.0",
2994 "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz",
2995 "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==",
2996 "dev": true
2997 },
2998 "jest-resolve": {
2999 "version": "26.4.0",
3000 "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.4.0.tgz",
3001 "integrity": "sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg==",
3002 "dev": true,
3003 "requires": {
3004 "@jest/types": "^26.3.0",
3005 "chalk": "^4.0.0",
3006 "graceful-fs": "^4.2.4",
3007 "jest-pnp-resolver": "^1.2.2",
3008 "jest-util": "^26.3.0",
3009 "read-pkg-up": "^7.0.1",
3010 "resolve": "^1.17.0",
3011 "slash": "^3.0.0"
3012 }
3013 },
3014 "jest-resolve-dependencies": {
3015 "version": "26.4.2",
3016 "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz",
3017 "integrity": "sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ==",
3018 "dev": true,
3019 "requires": {
3020 "@jest/types": "^26.3.0",
3021 "jest-regex-util": "^26.0.0",
3022 "jest-snapshot": "^26.4.2"
3023 }
3024 },
3025 "jest-runner": {
3026 "version": "26.4.2",
3027 "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.4.2.tgz",
3028 "integrity": "sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g==",
3029 "dev": true,
3030 "requires": {
3031 "@jest/console": "^26.3.0",
3032 "@jest/environment": "^26.3.0",
3033 "@jest/test-result": "^26.3.0",
3034 "@jest/types": "^26.3.0",
3035 "@types/node": "*",
3036 "chalk": "^4.0.0",
3037 "emittery": "^0.7.1",
3038 "exit": "^0.1.2",
3039 "graceful-fs": "^4.2.4",
3040 "jest-config": "^26.4.2",
3041 "jest-docblock": "^26.0.0",
3042 "jest-haste-map": "^26.3.0",
3043 "jest-leak-detector": "^26.4.2",
3044 "jest-message-util": "^26.3.0",
3045 "jest-resolve": "^26.4.0",
3046 "jest-runtime": "^26.4.2",
3047 "jest-util": "^26.3.0",
3048 "jest-worker": "^26.3.0",
3049 "source-map-support": "^0.5.6",
3050 "throat": "^5.0.0"
3051 }
3052 },
3053 "jest-runtime": {
3054 "version": "26.4.2",
3055 "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.4.2.tgz",
3056 "integrity": "sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ==",
3057 "dev": true,
3058 "requires": {
3059 "@jest/console": "^26.3.0",
3060 "@jest/environment": "^26.3.0",
3061 "@jest/fake-timers": "^26.3.0",
3062 "@jest/globals": "^26.4.2",
3063 "@jest/source-map": "^26.3.0",
3064 "@jest/test-result": "^26.3.0",
3065 "@jest/transform": "^26.3.0",
3066 "@jest/types": "^26.3.0",
3067 "@types/yargs": "^15.0.0",
3068 "chalk": "^4.0.0",
3069 "collect-v8-coverage": "^1.0.0",
3070 "exit": "^0.1.2",
3071 "glob": "^7.1.3",
3072 "graceful-fs": "^4.2.4",
3073 "jest-config": "^26.4.2",
3074 "jest-haste-map": "^26.3.0",
3075 "jest-message-util": "^26.3.0",
3076 "jest-mock": "^26.3.0",
3077 "jest-regex-util": "^26.0.0",
3078 "jest-resolve": "^26.4.0",
3079 "jest-snapshot": "^26.4.2",
3080 "jest-util": "^26.3.0",
3081 "jest-validate": "^26.4.2",
3082 "slash": "^3.0.0",
3083 "strip-bom": "^4.0.0",
3084 "yargs": "^15.3.1"
3085 }
3086 },
3087 "jest-serializer": {
3088 "version": "26.3.0",
3089 "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.3.0.tgz",
3090 "integrity": "sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow==",
3091 "dev": true,
3092 "requires": {
3093 "@types/node": "*",
3094 "graceful-fs": "^4.2.4"
3095 }
3096 },
3097 "jest-snapshot": {
3098 "version": "26.4.2",
3099 "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.4.2.tgz",
3100 "integrity": "sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg==",
3101 "dev": true,
3102 "requires": {
3103 "@babel/types": "^7.0.0",
3104 "@jest/types": "^26.3.0",
3105 "@types/prettier": "^2.0.0",
3106 "chalk": "^4.0.0",
3107 "expect": "^26.4.2",
3108 "graceful-fs": "^4.2.4",
3109 "jest-diff": "^26.4.2",
3110 "jest-get-type": "^26.3.0",
3111 "jest-haste-map": "^26.3.0",
3112 "jest-matcher-utils": "^26.4.2",
3113 "jest-message-util": "^26.3.0",
3114 "jest-resolve": "^26.4.0",
3115 "natural-compare": "^1.4.0",
3116 "pretty-format": "^26.4.2",
3117 "semver": "^7.3.2"
3118 }
3119 },
3120 "jest-util": {
3121 "version": "26.3.0",
3122 "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.3.0.tgz",
3123 "integrity": "sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw==",
3124 "dev": true,
3125 "requires": {
3126 "@jest/types": "^26.3.0",
3127 "@types/node": "*",
3128 "chalk": "^4.0.0",
3129 "graceful-fs": "^4.2.4",
3130 "is-ci": "^2.0.0",
3131 "micromatch": "^4.0.2"
3132 }
3133 },
3134 "jest-validate": {
3135 "version": "26.4.2",
3136 "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.4.2.tgz",
3137 "integrity": "sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ==",
3138 "dev": true,
3139 "requires": {
3140 "@jest/types": "^26.3.0",
3141 "camelcase": "^6.0.0",
3142 "chalk": "^4.0.0",
3143 "jest-get-type": "^26.3.0",
3144 "leven": "^3.1.0",
3145 "pretty-format": "^26.4.2"
3146 },
3147 "dependencies": {
3148 "camelcase": {
3149 "version": "6.0.0",
3150 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
3151 "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
3152 "dev": true
3153 }
3154 }
3155 },
3156 "jest-watcher": {
3157 "version": "26.3.0",
3158 "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.3.0.tgz",
3159 "integrity": "sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ==",
3160 "dev": true,
3161 "requires": {
3162 "@jest/test-result": "^26.3.0",
3163 "@jest/types": "^26.3.0",
3164 "@types/node": "*",
3165 "ansi-escapes": "^4.2.1",
3166 "chalk": "^4.0.0",
3167 "jest-util": "^26.3.0",
3168 "string-length": "^4.0.1"
3169 }
3170 },
3171 "jest-worker": {
3172 "version": "26.3.0",
3173 "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz",
3174 "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==",
3175 "dev": true,
3176 "requires": {
3177 "@types/node": "*",
3178 "merge-stream": "^2.0.0",
3179 "supports-color": "^7.0.0"
3180 }
3181 },
3182 "js-tokens": {
3183 "version": "4.0.0",
3184 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3185 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
3186 "dev": true
3187 },
3188 "js-yaml": {
3189 "version": "3.14.0",
3190 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
3191 "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
3192 "dev": true,
3193 "requires": {
3194 "argparse": "^1.0.7",
3195 "esprima": "^4.0.0"
3196 }
3197 },
3198 "jsbn": {
3199 "version": "0.1.1",
3200 "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
3201 "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
3202 "dev": true
3203 },
3204 "jsdom": {
3205 "version": "16.4.0",
3206 "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz",
3207 "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==",
3208 "dev": true,
3209 "requires": {
3210 "abab": "^2.0.3",
3211 "acorn": "^7.1.1",
3212 "acorn-globals": "^6.0.0",
3213 "cssom": "^0.4.4",
3214 "cssstyle": "^2.2.0",
3215 "data-urls": "^2.0.0",
3216 "decimal.js": "^10.2.0",
3217 "domexception": "^2.0.1",
3218 "escodegen": "^1.14.1",
3219 "html-encoding-sniffer": "^2.0.1",
3220 "is-potential-custom-element-name": "^1.0.0",
3221 "nwsapi": "^2.2.0",
3222 "parse5": "5.1.1",
3223 "request": "^2.88.2",
3224 "request-promise-native": "^1.0.8",
3225 "saxes": "^5.0.0",
3226 "symbol-tree": "^3.2.4",
3227 "tough-cookie": "^3.0.1",
3228 "w3c-hr-time": "^1.0.2",
3229 "w3c-xmlserializer": "^2.0.0",
3230 "webidl-conversions": "^6.1.0",
3231 "whatwg-encoding": "^1.0.5",
3232 "whatwg-mimetype": "^2.3.0",
3233 "whatwg-url": "^8.0.0",
3234 "ws": "^7.2.3",
3235 "xml-name-validator": "^3.0.0"
3236 }
3237 },
3238 "jsesc": {
3239 "version": "2.5.2",
3240 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
3241 "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
3242 "dev": true
3243 },
3244 "json-parse-better-errors": {
3245 "version": "1.0.2",
3246 "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
3247 "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
3248 "dev": true
3249 },
3250 "json-schema": {
3251 "version": "0.2.3",
3252 "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
3253 "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
3254 "dev": true
3255 },
3256 "json-schema-traverse": {
3257 "version": "0.4.1",
3258 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3259 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3260 "dev": true
3261 },
3262 "json-stringify-safe": {
3263 "version": "5.0.1",
3264 "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
3265 "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
3266 "dev": true
3267 },
3268 "json5": {
3269 "version": "2.1.3",
3270 "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
3271 "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
3272 "dev": true,
3273 "requires": {
3274 "minimist": "^1.2.5"
3275 }
3276 },
3277 "jsprim": {
3278 "version": "1.4.1",
3279 "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
3280 "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
3281 "dev": true,
3282 "requires": {
3283 "assert-plus": "1.0.0",
3284 "extsprintf": "1.3.0",
3285 "json-schema": "0.2.3",
3286 "verror": "1.10.0"
3287 }
3288 },
3289 "kind-of": {
3290 "version": "6.0.3",
3291 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
3292 "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
3293 "dev": true
3294 },
3295 "kleur": {
3296 "version": "3.0.3",
3297 "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
3298 "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
3299 "dev": true
3300 },
3301 "leven": {
3302 "version": "3.1.0",
3303 "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
3304 "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
3305 "dev": true
3306 },
3307 "levn": {
3308 "version": "0.3.0",
3309 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
3310 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
3311 "dev": true,
3312 "requires": {
3313 "prelude-ls": "~1.1.2",
3314 "type-check": "~0.3.2"
3315 }
3316 },
3317 "lines-and-columns": {
3318 "version": "1.1.6",
3319 "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
3320 "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
3321 "dev": true
3322 },
3323 "locate-path": {
3324 "version": "5.0.0",
3325 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
3326 "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
3327 "dev": true,
3328 "requires": {
3329 "p-locate": "^4.1.0"
3330 }
3331 },
3332 "lodash": {
3333 "version": "4.17.20",
3334 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
3335 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
3336 "dev": true
3337 },
3338 "lodash.sortby": {
3339 "version": "4.7.0",
3340 "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
3341 "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
3342 "dev": true
3343 },
3344 "make-dir": {
3345 "version": "3.1.0",
3346 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
3347 "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
3348 "dev": true,
3349 "requires": {
3350 "semver": "^6.0.0"
3351 },
3352 "dependencies": {
3353 "semver": {
3354 "version": "6.3.0",
3355 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
3356 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
3357 "dev": true
3358 }
3359 }
3360 },
3361 "makeerror": {
3362 "version": "1.0.11",
3363 "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
3364 "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
3365 "dev": true,
3366 "requires": {
3367 "tmpl": "1.0.x"
3368 }
3369 },
3370 "map-cache": {
3371 "version": "0.2.2",
3372 "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
3373 "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
3374 "dev": true
3375 },
3376 "map-visit": {
3377 "version": "1.0.0",
3378 "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
3379 "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
3380 "dev": true,
3381 "requires": {
3382 "object-visit": "^1.0.0"
3383 }
3384 },
3385 "merge-stream": {
3386 "version": "2.0.0",
3387 "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
3388 "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
3389 "dev": true
3390 },
3391 "micromatch": {
3392 "version": "4.0.2",
3393 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
3394 "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
3395 "dev": true,
3396 "requires": {
3397 "braces": "^3.0.1",
3398 "picomatch": "^2.0.5"
3399 }
3400 },
3401 "mime-db": {
3402 "version": "1.44.0",
3403 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
3404 "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
3405 "dev": true
3406 },
3407 "mime-types": {
3408 "version": "2.1.27",
3409 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
3410 "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
3411 "dev": true,
3412 "requires": {
3413 "mime-db": "1.44.0"
3414 }
3415 },
3416 "mimic-fn": {
3417 "version": "2.1.0",
3418 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
3419 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
3420 "dev": true
3421 },
3422 "minimatch": {
3423 "version": "3.0.4",
3424 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
3425 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
3426 "dev": true,
3427 "requires": {
3428 "brace-expansion": "^1.1.7"
3429 }
3430 },
3431 "minimist": {
3432 "version": "1.2.5",
3433 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
3434 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
3435 "dev": true
3436 },
3437 "mixin-deep": {
3438 "version": "1.3.2",
3439 "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
3440 "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
3441 "dev": true,
3442 "requires": {
3443 "for-in": "^1.0.2",
3444 "is-extendable": "^1.0.1"
3445 },
3446 "dependencies": {
3447 "is-extendable": {
3448 "version": "1.0.1",
3449 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
3450 "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
3451 "dev": true,
3452 "requires": {
3453 "is-plain-object": "^2.0.4"
3454 }
3455 }
3456 }
3457 },
3458 "ms": {
3459 "version": "2.1.2",
3460 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
3461 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
3462 "dev": true
3463 },
3464 "nanomatch": {
3465 "version": "1.2.13",
3466 "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
3467 "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
3468 "dev": true,
3469 "requires": {
3470 "arr-diff": "^4.0.0",
3471 "array-unique": "^0.3.2",
3472 "define-property": "^2.0.2",
3473 "extend-shallow": "^3.0.2",
3474 "fragment-cache": "^0.2.1",
3475 "is-windows": "^1.0.2",
3476 "kind-of": "^6.0.2",
3477 "object.pick": "^1.3.0",
3478 "regex-not": "^1.0.0",
3479 "snapdragon": "^0.8.1",
3480 "to-regex": "^3.0.1"
3481 }
3482 },
3483 "natural-compare": {
3484 "version": "1.4.0",
3485 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
3486 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
3487 "dev": true
3488 },
3489 "nice-try": {
3490 "version": "1.0.5",
3491 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
3492 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
3493 "dev": true
3494 },
3495 "node-int64": {
3496 "version": "0.4.0",
3497 "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
3498 "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
3499 "dev": true
3500 },
3501 "node-modules-regexp": {
3502 "version": "1.0.0",
3503 "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
3504 "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
3505 "dev": true
3506 },
3507 "node-notifier": {
3508 "version": "8.0.0",
3509 "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz",
3510 "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==",
3511 "dev": true,
3512 "optional": true,
3513 "requires": {
3514 "growly": "^1.3.0",
3515 "is-wsl": "^2.2.0",
3516 "semver": "^7.3.2",
3517 "shellwords": "^0.1.1",
3518 "uuid": "^8.3.0",
3519 "which": "^2.0.2"
3520 },
3521 "dependencies": {
3522 "uuid": {
3523 "version": "8.3.0",
3524 "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz",
3525 "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==",
3526 "dev": true,
3527 "optional": true
3528 },
3529 "which": {
3530 "version": "2.0.2",
3531 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3532 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3533 "dev": true,
3534 "optional": true,
3535 "requires": {
3536 "isexe": "^2.0.0"
3537 }
3538 }
3539 }
3540 },
3541 "normalize-package-data": {
3542 "version": "2.5.0",
3543 "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
3544 "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
3545 "dev": true,
3546 "requires": {
3547 "hosted-git-info": "^2.1.4",
3548 "resolve": "^1.10.0",
3549 "semver": "2 || 3 || 4 || 5",
3550 "validate-npm-package-license": "^3.0.1"
3551 },
3552 "dependencies": {
3553 "semver": {
3554 "version": "5.7.1",
3555 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
3556 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
3557 "dev": true
3558 }
3559 }
3560 },
3561 "normalize-path": {
3562 "version": "3.0.0",
3563 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
3564 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
3565 "dev": true
3566 },
3567 "npm-run-path": {
3568 "version": "2.0.2",
3569 "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
3570 "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
3571 "dev": true,
3572 "requires": {
3573 "path-key": "^2.0.0"
3574 }
3575 },
3576 "nwsapi": {
3577 "version": "2.2.0",
3578 "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
3579 "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
3580 "dev": true
3581 },
3582 "oauth-sign": {
3583 "version": "0.9.0",
3584 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
3585 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
3586 "dev": true
3587 },
3588 "object-copy": {
3589 "version": "0.1.0",
3590 "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
3591 "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
3592 "dev": true,
3593 "requires": {
3594 "copy-descriptor": "^0.1.0",
3595 "define-property": "^0.2.5",
3596 "kind-of": "^3.0.3"
3597 },
3598 "dependencies": {
3599 "define-property": {
3600 "version": "0.2.5",
3601 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3602 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3603 "dev": true,
3604 "requires": {
3605 "is-descriptor": "^0.1.0"
3606 }
3607 },
3608 "kind-of": {
3609 "version": "3.2.2",
3610 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3611 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3612 "dev": true,
3613 "requires": {
3614 "is-buffer": "^1.1.5"
3615 }
3616 }
3617 }
3618 },
3619 "object-visit": {
3620 "version": "1.0.1",
3621 "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
3622 "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
3623 "dev": true,
3624 "requires": {
3625 "isobject": "^3.0.0"
3626 }
3627 },
3628 "object.pick": {
3629 "version": "1.3.0",
3630 "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
3631 "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
3632 "dev": true,
3633 "requires": {
3634 "isobject": "^3.0.1"
3635 }
3636 },
3637 "once": {
3638 "version": "1.4.0",
3639 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3640 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3641 "dev": true,
3642 "requires": {
3643 "wrappy": "1"
3644 }
3645 },
3646 "onetime": {
3647 "version": "5.1.2",
3648 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
3649 "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
3650 "dev": true,
3651 "requires": {
3652 "mimic-fn": "^2.1.0"
3653 }
3654 },
3655 "opencollective-postinstall": {
3656 "version": "2.0.2",
3657 "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
3658 "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
3659 "dev": true
3660 },
3661 "optionator": {
3662 "version": "0.8.3",
3663 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
3664 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
3665 "dev": true,
3666 "requires": {
3667 "deep-is": "~0.1.3",
3668 "fast-levenshtein": "~2.0.6",
3669 "levn": "~0.3.0",
3670 "prelude-ls": "~1.1.2",
3671 "type-check": "~0.3.2",
3672 "word-wrap": "~1.2.3"
3673 }
3674 },
3675 "p-each-series": {
3676 "version": "2.1.0",
3677 "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz",
3678 "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==",
3679 "dev": true
3680 },
3681 "p-finally": {
3682 "version": "1.0.0",
3683 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
3684 "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
3685 "dev": true
3686 },
3687 "p-limit": {
3688 "version": "2.3.0",
3689 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
3690 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
3691 "dev": true,
3692 "requires": {
3693 "p-try": "^2.0.0"
3694 }
3695 },
3696 "p-locate": {
3697 "version": "4.1.0",
3698 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
3699 "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
3700 "dev": true,
3701 "requires": {
3702 "p-limit": "^2.2.0"
3703 }
3704 },
3705 "p-try": {
3706 "version": "2.2.0",
3707 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
3708 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
3709 "dev": true
3710 },
3711 "parent-module": {
3712 "version": "1.0.1",
3713 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
3714 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
3715 "dev": true,
3716 "requires": {
3717 "callsites": "^3.0.0"
3718 }
3719 },
3720 "parse-json": {
3721 "version": "5.0.0",
3722 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
3723 "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
3724 "dev": true,
3725 "requires": {
3726 "@babel/code-frame": "^7.0.0",
3727 "error-ex": "^1.3.1",
3728 "json-parse-better-errors": "^1.0.1",
3729 "lines-and-columns": "^1.1.6"
3730 }
3731 },
3732 "parse5": {
3733 "version": "5.1.1",
3734 "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
3735 "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
3736 "dev": true
3737 },
3738 "pascalcase": {
3739 "version": "0.1.1",
3740 "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
3741 "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
3742 "dev": true
3743 },
3744 "path-exists": {
3745 "version": "4.0.0",
3746 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
3747 "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
3748 "dev": true
3749 },
3750 "path-is-absolute": {
3751 "version": "1.0.1",
3752 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3753 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3754 "dev": true
3755 },
3756 "path-key": {
3757 "version": "2.0.1",
3758 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
3759 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
3760 "dev": true
3761 },
3762 "path-parse": {
3763 "version": "1.0.6",
3764 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
3765 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
3766 "dev": true
3767 },
3768 "path-type": {
3769 "version": "4.0.0",
3770 "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
3771 "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
3772 "dev": true
3773 },
3774 "performance-now": {
3775 "version": "2.1.0",
3776 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
3777 "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
3778 "dev": true
3779 },
3780 "picomatch": {
3781 "version": "2.2.2",
3782 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
3783 "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
3784 "dev": true
3785 },
3786 "pirates": {
3787 "version": "4.0.1",
3788 "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
3789 "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
3790 "dev": true,
3791 "requires": {
3792 "node-modules-regexp": "^1.0.0"
3793 }
3794 },
3795 "pkg-dir": {
3796 "version": "4.2.0",
3797 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
3798 "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
3799 "dev": true,
3800 "requires": {
3801 "find-up": "^4.0.0"
3802 }
3803 },
3804 "please-upgrade-node": {
3805 "version": "3.2.0",
3806 "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
3807 "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
3808 "dev": true,
3809 "requires": {
3810 "semver-compare": "^1.0.0"
3811 }
3812 },
3813 "posix-character-classes": {
3814 "version": "0.1.1",
3815 "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
3816 "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
3817 "dev": true
3818 },
3819 "prelude-ls": {
3820 "version": "1.1.2",
3821 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
3822 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
3823 "dev": true
3824 },
3825 "prettier": {
3826 "version": "2.0.5",
3827 "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz",
3828 "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==",
3829 "dev": true
3830 },
3831 "pretty-format": {
3832 "version": "26.4.2",
3833 "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
3834 "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
3835 "dev": true,
3836 "requires": {
3837 "@jest/types": "^26.3.0",
3838 "ansi-regex": "^5.0.0",
3839 "ansi-styles": "^4.0.0",
3840 "react-is": "^16.12.0"
3841 }
3842 },
3843 "prompts": {
3844 "version": "2.3.2",
3845 "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
3846 "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
3847 "dev": true,
3848 "requires": {
3849 "kleur": "^3.0.3",
3850 "sisteransi": "^1.0.4"
3851 }
3852 },
3853 "psl": {
3854 "version": "1.8.0",
3855 "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
3856 "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
3857 "dev": true
3858 },
3859 "pump": {
3860 "version": "3.0.0",
3861 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
3862 "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
3863 "dev": true,
3864 "requires": {
3865 "end-of-stream": "^1.1.0",
3866 "once": "^1.3.1"
3867 }
3868 },
3869 "punycode": {
3870 "version": "2.1.1",
3871 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
3872 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
3873 "dev": true
3874 },
3875 "qs": {
3876 "version": "6.5.2",
3877 "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
3878 "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
3879 "dev": true
3880 },
3881 "react-is": {
3882 "version": "16.13.1",
3883 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
3884 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
3885 "dev": true
3886 },
3887 "read-pkg": {
3888 "version": "5.2.0",
3889 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
3890 "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
3891 "dev": true,
3892 "requires": {
3893 "@types/normalize-package-data": "^2.4.0",
3894 "normalize-package-data": "^2.5.0",
3895 "parse-json": "^5.0.0",
3896 "type-fest": "^0.6.0"
3897 },
3898 "dependencies": {
3899 "type-fest": {
3900 "version": "0.6.0",
3901 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
3902 "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
3903 "dev": true
3904 }
3905 }
3906 },
3907 "read-pkg-up": {
3908 "version": "7.0.1",
3909 "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
3910 "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
3911 "dev": true,
3912 "requires": {
3913 "find-up": "^4.1.0",
3914 "read-pkg": "^5.2.0",
3915 "type-fest": "^0.8.1"
3916 }
3917 },
3918 "regenerator-runtime": {
3919 "version": "0.13.5",
3920 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
3921 "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
3922 "dev": true
3923 },
3924 "regex-not": {
3925 "version": "1.0.2",
3926 "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
3927 "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
3928 "dev": true,
3929 "requires": {
3930 "extend-shallow": "^3.0.2",
3931 "safe-regex": "^1.1.0"
3932 }
3933 },
3934 "remove-trailing-separator": {
3935 "version": "1.1.0",
3936 "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
3937 "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
3938 "dev": true
3939 },
3940 "repeat-element": {
3941 "version": "1.1.3",
3942 "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
3943 "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
3944 "dev": true
3945 },
3946 "repeat-string": {
3947 "version": "1.6.1",
3948 "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3949 "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
3950 "dev": true
3951 },
3952 "request": {
3953 "version": "2.88.2",
3954 "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
3955 "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
3956 "dev": true,
3957 "requires": {
3958 "aws-sign2": "~0.7.0",
3959 "aws4": "^1.8.0",
3960 "caseless": "~0.12.0",
3961 "combined-stream": "~1.0.6",
3962 "extend": "~3.0.2",
3963 "forever-agent": "~0.6.1",
3964 "form-data": "~2.3.2",
3965 "har-validator": "~5.1.3",
3966 "http-signature": "~1.2.0",
3967 "is-typedarray": "~1.0.0",
3968 "isstream": "~0.1.2",
3969 "json-stringify-safe": "~5.0.1",
3970 "mime-types": "~2.1.19",
3971 "oauth-sign": "~0.9.0",
3972 "performance-now": "^2.1.0",
3973 "qs": "~6.5.2",
3974 "safe-buffer": "^5.1.2",
3975 "tough-cookie": "~2.5.0",
3976 "tunnel-agent": "^0.6.0",
3977 "uuid": "^3.3.2"
3978 },
3979 "dependencies": {
3980 "tough-cookie": {
3981 "version": "2.5.0",
3982 "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
3983 "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
3984 "dev": true,
3985 "requires": {
3986 "psl": "^1.1.28",
3987 "punycode": "^2.1.1"
3988 }
3989 }
3990 }
3991 },
3992 "request-promise-core": {
3993 "version": "1.1.4",
3994 "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
3995 "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
3996 "dev": true,
3997 "requires": {
3998 "lodash": "^4.17.19"
3999 }
4000 },
4001 "request-promise-native": {
4002 "version": "1.0.9",
4003 "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
4004 "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
4005 "dev": true,
4006 "requires": {
4007 "request-promise-core": "1.1.4",
4008 "stealthy-require": "^1.1.1",
4009 "tough-cookie": "^2.3.3"
4010 },
4011 "dependencies": {
4012 "tough-cookie": {
4013 "version": "2.5.0",
4014 "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
4015 "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
4016 "dev": true,
4017 "requires": {
4018 "psl": "^1.1.28",
4019 "punycode": "^2.1.1"
4020 }
4021 }
4022 }
4023 },
4024 "require-directory": {
4025 "version": "2.1.1",
4026 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
4027 "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
4028 "dev": true
4029 },
4030 "require-main-filename": {
4031 "version": "2.0.0",
4032 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
4033 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
4034 "dev": true
4035 },
4036 "resolve": {
4037 "version": "1.17.0",
4038 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
4039 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
4040 "dev": true,
4041 "requires": {
4042 "path-parse": "^1.0.6"
4043 }
4044 },
4045 "resolve-cwd": {
4046 "version": "3.0.0",
4047 "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
4048 "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
4049 "dev": true,
4050 "requires": {
4051 "resolve-from": "^5.0.0"
4052 },
4053 "dependencies": {
4054 "resolve-from": {
4055 "version": "5.0.0",
4056 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
4057 "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
4058 "dev": true
4059 }
4060 }
4061 },
4062 "resolve-from": {
4063 "version": "4.0.0",
4064 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
4065 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
4066 "dev": true
4067 },
4068 "resolve-url": {
4069 "version": "0.2.1",
4070 "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
4071 "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
4072 "dev": true
4073 },
4074 "ret": {
4075 "version": "0.1.15",
4076 "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
4077 "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
4078 "dev": true
4079 },
4080 "rimraf": {
4081 "version": "3.0.2",
4082 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
4083 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
4084 "dev": true,
4085 "requires": {
4086 "glob": "^7.1.3"
4087 }
4088 },
4089 "rsvp": {
4090 "version": "4.8.5",
4091 "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
4092 "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
4093 "dev": true
4094 },
4095 "safe-buffer": {
4096 "version": "5.1.2",
4097 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
4098 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
4099 "dev": true
4100 },
4101 "safe-regex": {
4102 "version": "1.1.0",
4103 "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
4104 "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
4105 "dev": true,
4106 "requires": {
4107 "ret": "~0.1.10"
4108 }
4109 },
4110 "safer-buffer": {
4111 "version": "2.1.2",
4112 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
4113 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
4114 "dev": true
4115 },
4116 "sane": {
4117 "version": "4.1.0",
4118 "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
4119 "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
4120 "dev": true,
4121 "requires": {
4122 "@cnakazawa/watch": "^1.0.3",
4123 "anymatch": "^2.0.0",
4124 "capture-exit": "^2.0.0",
4125 "exec-sh": "^0.3.2",
4126 "execa": "^1.0.0",
4127 "fb-watchman": "^2.0.0",
4128 "micromatch": "^3.1.4",
4129 "minimist": "^1.1.1",
4130 "walker": "~1.0.5"
4131 },
4132 "dependencies": {
4133 "anymatch": {
4134 "version": "2.0.0",
4135 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
4136 "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
4137 "dev": true,
4138 "requires": {
4139 "micromatch": "^3.1.4",
4140 "normalize-path": "^2.1.1"
4141 }
4142 },
4143 "braces": {
4144 "version": "2.3.2",
4145 "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
4146 "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
4147 "dev": true,
4148 "requires": {
4149 "arr-flatten": "^1.1.0",
4150 "array-unique": "^0.3.2",
4151 "extend-shallow": "^2.0.1",
4152 "fill-range": "^4.0.0",
4153 "isobject": "^3.0.1",
4154 "repeat-element": "^1.1.2",
4155 "snapdragon": "^0.8.1",
4156 "snapdragon-node": "^2.0.1",
4157 "split-string": "^3.0.2",
4158 "to-regex": "^3.0.1"
4159 },
4160 "dependencies": {
4161 "extend-shallow": {
4162 "version": "2.0.1",
4163 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4164 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4165 "dev": true,
4166 "requires": {
4167 "is-extendable": "^0.1.0"
4168 }
4169 }
4170 }
4171 },
4172 "fill-range": {
4173 "version": "4.0.0",
4174 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
4175 "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
4176 "dev": true,
4177 "requires": {
4178 "extend-shallow": "^2.0.1",
4179 "is-number": "^3.0.0",
4180 "repeat-string": "^1.6.1",
4181 "to-regex-range": "^2.1.0"
4182 },
4183 "dependencies": {
4184 "extend-shallow": {
4185 "version": "2.0.1",
4186 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4187 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4188 "dev": true,
4189 "requires": {
4190 "is-extendable": "^0.1.0"
4191 }
4192 }
4193 }
4194 },
4195 "is-number": {
4196 "version": "3.0.0",
4197 "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
4198 "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
4199 "dev": true,
4200 "requires": {
4201 "kind-of": "^3.0.2"
4202 },
4203 "dependencies": {
4204 "kind-of": {
4205 "version": "3.2.2",
4206 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4207 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4208 "dev": true,
4209 "requires": {
4210 "is-buffer": "^1.1.5"
4211 }
4212 }
4213 }
4214 },
4215 "micromatch": {
4216 "version": "3.1.10",
4217 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
4218 "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
4219 "dev": true,
4220 "requires": {
4221 "arr-diff": "^4.0.0",
4222 "array-unique": "^0.3.2",
4223 "braces": "^2.3.1",
4224 "define-property": "^2.0.2",
4225 "extend-shallow": "^3.0.2",
4226 "extglob": "^2.0.4",
4227 "fragment-cache": "^0.2.1",
4228 "kind-of": "^6.0.2",
4229 "nanomatch": "^1.2.9",
4230 "object.pick": "^1.3.0",
4231 "regex-not": "^1.0.0",
4232 "snapdragon": "^0.8.1",
4233 "to-regex": "^3.0.2"
4234 }
4235 },
4236 "normalize-path": {
4237 "version": "2.1.1",
4238 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
4239 "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
4240 "dev": true,
4241 "requires": {
4242 "remove-trailing-separator": "^1.0.1"
4243 }
4244 },
4245 "to-regex-range": {
4246 "version": "2.1.1",
4247 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
4248 "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
4249 "dev": true,
4250 "requires": {
4251 "is-number": "^3.0.0",
4252 "repeat-string": "^1.6.1"
4253 }
4254 }
4255 }
4256 },
4257 "saxes": {
4258 "version": "5.0.1",
4259 "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
4260 "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
4261 "dev": true,
4262 "requires": {
4263 "xmlchars": "^2.2.0"
4264 }
4265 },
4266 "semver": {
4267 "version": "7.3.2",
4268 "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
4269 "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
4270 },
4271 "semver-compare": {
4272 "version": "1.0.0",
4273 "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
4274 "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
4275 "dev": true
4276 },
4277 "semver-regex": {
4278 "version": "2.0.0",
4279 "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
4280 "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
4281 "dev": true
4282 },
4283 "set-blocking": {
4284 "version": "2.0.0",
4285 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
4286 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
4287 "dev": true
4288 },
4289 "set-value": {
4290 "version": "2.0.1",
4291 "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
4292 "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
4293 "dev": true,
4294 "requires": {
4295 "extend-shallow": "^2.0.1",
4296 "is-extendable": "^0.1.1",
4297 "is-plain-object": "^2.0.3",
4298 "split-string": "^3.0.1"
4299 },
4300 "dependencies": {
4301 "extend-shallow": {
4302 "version": "2.0.1",
4303 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4304 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4305 "dev": true,
4306 "requires": {
4307 "is-extendable": "^0.1.0"
4308 }
4309 }
4310 }
4311 },
4312 "shebang-command": {
4313 "version": "1.2.0",
4314 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
4315 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
4316 "dev": true,
4317 "requires": {
4318 "shebang-regex": "^1.0.0"
4319 }
4320 },
4321 "shebang-regex": {
4322 "version": "1.0.0",
4323 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
4324 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
4325 "dev": true
4326 },
4327 "shellwords": {
4328 "version": "0.1.1",
4329 "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
4330 "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
4331 "dev": true,
4332 "optional": true
4333 },
4334 "signal-exit": {
4335 "version": "3.0.3",
4336 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
4337 "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
4338 "dev": true
4339 },
4340 "sisteransi": {
4341 "version": "1.0.5",
4342 "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
4343 "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
4344 "dev": true
4345 },
4346 "slash": {
4347 "version": "3.0.0",
4348 "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
4349 "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
4350 "dev": true
4351 },
4352 "snapdragon": {
4353 "version": "0.8.2",
4354 "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
4355 "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
4356 "dev": true,
4357 "requires": {
4358 "base": "^0.11.1",
4359 "debug": "^2.2.0",
4360 "define-property": "^0.2.5",
4361 "extend-shallow": "^2.0.1",
4362 "map-cache": "^0.2.2",
4363 "source-map": "^0.5.6",
4364 "source-map-resolve": "^0.5.0",
4365 "use": "^3.1.0"
4366 },
4367 "dependencies": {
4368 "debug": {
4369 "version": "2.6.9",
4370 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4371 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4372 "dev": true,
4373 "requires": {
4374 "ms": "2.0.0"
4375 }
4376 },
4377 "define-property": {
4378 "version": "0.2.5",
4379 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4380 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4381 "dev": true,
4382 "requires": {
4383 "is-descriptor": "^0.1.0"
4384 }
4385 },
4386 "extend-shallow": {
4387 "version": "2.0.1",
4388 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4389 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4390 "dev": true,
4391 "requires": {
4392 "is-extendable": "^0.1.0"
4393 }
4394 },
4395 "ms": {
4396 "version": "2.0.0",
4397 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
4398 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
4399 "dev": true
4400 },
4401 "source-map": {
4402 "version": "0.5.7",
4403 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
4404 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
4405 "dev": true
4406 }
4407 }
4408 },
4409 "snapdragon-node": {
4410 "version": "2.1.1",
4411 "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
4412 "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
4413 "dev": true,
4414 "requires": {
4415 "define-property": "^1.0.0",
4416 "isobject": "^3.0.0",
4417 "snapdragon-util": "^3.0.1"
4418 },
4419 "dependencies": {
4420 "define-property": {
4421 "version": "1.0.0",
4422 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
4423 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
4424 "dev": true,
4425 "requires": {
4426 "is-descriptor": "^1.0.0"
4427 }
4428 },
4429 "is-accessor-descriptor": {
4430 "version": "1.0.0",
4431 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
4432 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
4433 "dev": true,
4434 "requires": {
4435 "kind-of": "^6.0.0"
4436 }
4437 },
4438 "is-data-descriptor": {
4439 "version": "1.0.0",
4440 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
4441 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
4442 "dev": true,
4443 "requires": {
4444 "kind-of": "^6.0.0"
4445 }
4446 },
4447 "is-descriptor": {
4448 "version": "1.0.2",
4449 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
4450 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
4451 "dev": true,
4452 "requires": {
4453 "is-accessor-descriptor": "^1.0.0",
4454 "is-data-descriptor": "^1.0.0",
4455 "kind-of": "^6.0.2"
4456 }
4457 }
4458 }
4459 },
4460 "snapdragon-util": {
4461 "version": "3.0.1",
4462 "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
4463 "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
4464 "dev": true,
4465 "requires": {
4466 "kind-of": "^3.2.0"
4467 },
4468 "dependencies": {
4469 "kind-of": {
4470 "version": "3.2.2",
4471 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4472 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4473 "dev": true,
4474 "requires": {
4475 "is-buffer": "^1.1.5"
4476 }
4477 }
4478 }
4479 },
4480 "source-map": {
4481 "version": "0.6.1",
4482 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
4483 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
4484 "dev": true
4485 },
4486 "source-map-resolve": {
4487 "version": "0.5.3",
4488 "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
4489 "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
4490 "dev": true,
4491 "requires": {
4492 "atob": "^2.1.2",
4493 "decode-uri-component": "^0.2.0",
4494 "resolve-url": "^0.2.1",
4495 "source-map-url": "^0.4.0",
4496 "urix": "^0.1.0"
4497 }
4498 },
4499 "source-map-support": {
4500 "version": "0.5.19",
4501 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
4502 "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
4503 "dev": true,
4504 "requires": {
4505 "buffer-from": "^1.0.0",
4506 "source-map": "^0.6.0"
4507 }
4508 },
4509 "source-map-url": {
4510 "version": "0.4.0",
4511 "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
4512 "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
4513 "dev": true
4514 },
4515 "spdx-correct": {
4516 "version": "3.1.1",
4517 "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
4518 "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
4519 "dev": true,
4520 "requires": {
4521 "spdx-expression-parse": "^3.0.0",
4522 "spdx-license-ids": "^3.0.0"
4523 }
4524 },
4525 "spdx-exceptions": {
4526 "version": "2.3.0",
4527 "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
4528 "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
4529 "dev": true
4530 },
4531 "spdx-expression-parse": {
4532 "version": "3.0.1",
4533 "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
4534 "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
4535 "dev": true,
4536 "requires": {
4537 "spdx-exceptions": "^2.1.0",
4538 "spdx-license-ids": "^3.0.0"
4539 }
4540 },
4541 "spdx-license-ids": {
4542 "version": "3.0.5",
4543 "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
4544 "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
4545 "dev": true
4546 },
4547 "split-string": {
4548 "version": "3.1.0",
4549 "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
4550 "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
4551 "dev": true,
4552 "requires": {
4553 "extend-shallow": "^3.0.0"
4554 }
4555 },
4556 "sprintf-js": {
4557 "version": "1.0.3",
4558 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
4559 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
4560 "dev": true
4561 },
4562 "sshpk": {
4563 "version": "1.16.1",
4564 "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
4565 "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
4566 "dev": true,
4567 "requires": {
4568 "asn1": "~0.2.3",
4569 "assert-plus": "^1.0.0",
4570 "bcrypt-pbkdf": "^1.0.0",
4571 "dashdash": "^1.12.0",
4572 "ecc-jsbn": "~0.1.1",
4573 "getpass": "^0.1.1",
4574 "jsbn": "~0.1.0",
4575 "safer-buffer": "^2.0.2",
4576 "tweetnacl": "~0.14.0"
4577 }
4578 },
4579 "stack-utils": {
4580 "version": "2.0.2",
4581 "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz",
4582 "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==",
4583 "dev": true,
4584 "requires": {
4585 "escape-string-regexp": "^2.0.0"
4586 },
4587 "dependencies": {
4588 "escape-string-regexp": {
4589 "version": "2.0.0",
4590 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
4591 "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
4592 "dev": true
4593 }
4594 }
4595 },
4596 "static-extend": {
4597 "version": "0.1.2",
4598 "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
4599 "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
4600 "dev": true,
4601 "requires": {
4602 "define-property": "^0.2.5",
4603 "object-copy": "^0.1.0"
4604 },
4605 "dependencies": {
4606 "define-property": {
4607 "version": "0.2.5",
4608 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4609 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4610 "dev": true,
4611 "requires": {
4612 "is-descriptor": "^0.1.0"
4613 }
4614 }
4615 }
4616 },
4617 "stealthy-require": {
4618 "version": "1.1.1",
4619 "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
4620 "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
334 + "opencollective-postinstall": {
335 + "version": "2.0.2",
336 + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
337 + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
4621 338 "dev": true
4622 339 },
4623 "string-length": {
4624 "version": "4.0.1",
4625 "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz",
4626 "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==",
4627 "dev": true,
4628 "requires": {
4629 "char-regex": "^1.0.2",
4630 "strip-ansi": "^6.0.0"
4631 }
4632 },
4633 "string-width": {
4634 "version": "4.2.0",
4635 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
4636 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
340 + "p-limit": {
341 + "version": "2.3.0",
342 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
343 + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
4637 344 "dev": true,
4638 345 "requires": {
4639 "emoji-regex": "^8.0.0",
4640 "is-fullwidth-code-point": "^3.0.0",
4641 "strip-ansi": "^6.0.0"
346 + "p-try": "^2.0.0"
4642 347 }
4643 348 },
4644 "strip-ansi": {
4645 "version": "6.0.0",
4646 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
4647 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
349 + "p-locate": {
350 + "version": "4.1.0",
351 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
352 + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
4648 353 "dev": true,
4649 354 "requires": {
4650 "ansi-regex": "^5.0.0"
355 + "p-limit": "^2.2.0"
4651 356 }
4652 357 },
4653 "strip-bom": {
4654 "version": "4.0.0",
4655 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
4656 "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
4657 "dev": true
4658 },
4659 "strip-eof": {
4660 "version": "1.0.0",
4661 "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
4662 "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
4663 "dev": true
4664 },
4665 "strip-final-newline": {
4666 "version": "2.0.0",
4667 "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
4668 "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
358 + "p-try": {
359 + "version": "2.2.0",
360 + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
361 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
4669 362 "dev": true
4670 363 },
4671 "supports-color": {
4672 "version": "7.1.0",
4673 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
4674 "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
364 + "parent-module": {
365 + "version": "1.0.1",
366 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
367 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
4675 368 "dev": true,
4676 369 "requires": {
4677 "has-flag": "^4.0.0"
370 + "callsites": "^3.0.0"
4678 371 }
4679 372 },
4680 "supports-hyperlinks": {
4681 "version": "2.1.0",
4682 "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz",
4683 "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==",
373 + "parse-json": {
374 + "version": "5.0.0",
375 + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
376 + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
4684 377 "dev": true,
4685 378 "requires": {
4686 "has-flag": "^4.0.0",
4687 "supports-color": "^7.0.0"
379 + "@babel/code-frame": "^7.0.0",
380 + "error-ex": "^1.3.1",
381 + "json-parse-better-errors": "^1.0.1",
382 + "lines-and-columns": "^1.1.6"
4688 383 }
4689 384 },
4690 "symbol-tree": {
4691 "version": "3.2.4",
4692 "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
4693 "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
385 + "path-exists": {
386 + "version": "4.0.0",
387 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
388 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
389 + "dev": true
390 + },
391 + "path-type": {
392 + "version": "4.0.0",
393 + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
394 + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
4694 395 "dev": true
4695 396 },
4696 "terminal-link": {
4697 "version": "2.1.1",
4698 "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
4699 "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
397 + "pkg-dir": {
398 + "version": "4.2.0",
399 + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
400 + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
4700 401 "dev": true,
4701 402 "requires": {
4702 "ansi-escapes": "^4.2.1",
4703 "supports-hyperlinks": "^2.0.0"
403 + "find-up": "^4.0.0"
4704 404 }
4705 405 },
4706 "test-exclude": {
4707 "version": "6.0.0",
4708 "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
4709 "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
406 + "please-upgrade-node": {
407 + "version": "3.2.0",
408 + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
409 + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
4710 410 "dev": true,
4711 411 "requires": {
4712 "@istanbuljs/schema": "^0.1.2",
4713 "glob": "^7.1.4",
4714 "minimatch": "^3.0.4"
412 + "semver-compare": "^1.0.0"
4715 413 }
4716 414 },
4717 "throat": {
4718 "version": "5.0.0",
4719 "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
4720 "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
415 + "prettier": {
416 + "version": "2.0.5",
417 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz",
418 + "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==",
4721 419 "dev": true
4722 420 },
4723 "tmpl": {
4724 "version": "1.0.4",
4725 "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
4726 "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
421 + "regenerator-runtime": {
422 + "version": "0.13.5",
423 + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
424 + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
4727 425 "dev": true
4728 426 },
4729 "to-fast-properties": {
4730 "version": "2.0.0",
4731 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
4732 "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
427 + "resolve-from": {
428 + "version": "4.0.0",
429 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
430 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
4733 431 "dev": true
4734 432 },
4735 "to-object-path": {
4736 "version": "0.3.0",
4737 "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
4738 "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
4739 "dev": true,
4740 "requires": {
4741 "kind-of": "^3.0.2"
4742 },
4743 "dependencies": {
4744 "kind-of": {
4745 "version": "3.2.2",
4746 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4747 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4748 "dev": true,
4749 "requires": {
4750 "is-buffer": "^1.1.5"
4751 }
4752 }
4753 }
433 + "semver": {
434 + "version": "6.3.0",
435 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
436 + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
4754 437 },
4755 "to-regex": {
4756 "version": "3.0.2",
4757 "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
4758 "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
4759 "dev": true,
4760 "requires": {
4761 "define-property": "^2.0.2",
4762 "extend-shallow": "^3.0.2",
4763 "regex-not": "^1.0.2",
4764 "safe-regex": "^1.1.0"
4765 }
438 + "semver-compare": {
439 + "version": "1.0.0",
440 + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
441 + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
442 + "dev": true
4766 443 },
4767 "to-regex-range": {
4768 "version": "5.0.1",
4769 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
4770 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
4771 "dev": true,
4772 "requires": {
4773 "is-number": "^7.0.0"
4774 }
444 + "semver-regex": {
445 + "version": "2.0.0",
446 + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
447 + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
448 + "dev": true
4775 449 },
4776 "tough-cookie": {
4777 "version": "3.0.1",
4778 "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
4779 "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
4780 "dev": true,
4781 "requires": {
4782 "ip-regex": "^2.1.0",
4783 "psl": "^1.1.28",
4784 "punycode": "^2.1.1"
4785 }
450 + "slash": {
451 + "version": "3.0.0",
452 + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
453 + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
454 + "dev": true
4786 455 },
4787 "tr46": {
4788 "version": "2.0.2",
4789 "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
4790 "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
456 + "supports-color": {
457 + "version": "7.1.0",
458 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
459 + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
4791 460 "dev": true,
4792 461 "requires": {
4793 "punycode": "^2.1.1"
462 + "has-flag": "^4.0.0"
4794 463 }
4795 464 },
4796 465 "tunnel": {
@@ -4798,42 +467,6 @@
4798 467 "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz",
4799 468 "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM="
4800 469 },
4801 "tunnel-agent": {
4802 "version": "0.6.0",
4803 "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
4804 "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
4805 "dev": true,
4806 "requires": {
4807 "safe-buffer": "^5.0.1"
4808 }
4809 },
4810 "tweetnacl": {
4811 "version": "0.14.5",
4812 "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
4813 "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
4814 "dev": true
4815 },
4816 "type-check": {
4817 "version": "0.3.2",
4818 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
4819 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
4820 "dev": true,
4821 "requires": {
4822 "prelude-ls": "~1.1.2"
4823 }
4824 },
4825 "type-detect": {
4826 "version": "4.0.8",
4827 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
4828 "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
4829 "dev": true
4830 },
4831 "type-fest": {
4832 "version": "0.8.1",
4833 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
4834 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
4835 "dev": true
4836 },
4837 470 "typed-rest-client": {
4838 471 "version": "1.5.0",
4839 472 "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.5.0.tgz",
@@ -4843,277 +476,22 @@
4843 476 "underscore": "1.8.3"
4844 477 }
4845 478 },
4846 "typedarray-to-buffer": {
4847 "version": "3.1.5",
4848 "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
4849 "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
4850 "dev": true,
4851 "requires": {
4852 "is-typedarray": "^1.0.0"
4853 }
4854 },
4855 479 "underscore": {
4856 480 "version": "1.8.3",
4857 481 "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
4858 482 "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
4859 483 },
4860 "union-value": {
4861 "version": "1.0.1",
4862 "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
4863 "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
4864 "dev": true,
4865 "requires": {
4866 "arr-union": "^3.1.0",
4867 "get-value": "^2.0.6",
4868 "is-extendable": "^0.1.1",
4869 "set-value": "^2.0.1"
4870 }
4871 },
4872 "unset-value": {
4873 "version": "1.0.0",
4874 "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
4875 "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
4876 "dev": true,
4877 "requires": {
4878 "has-value": "^0.3.1",
4879 "isobject": "^3.0.0"
4880 },
4881 "dependencies": {
4882 "has-value": {
4883 "version": "0.3.1",
4884 "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
4885 "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
4886 "dev": true,
4887 "requires": {
4888 "get-value": "^2.0.3",
4889 "has-values": "^0.1.4",
4890 "isobject": "^2.0.0"
4891 },
4892 "dependencies": {
4893 "isobject": {
4894 "version": "2.1.0",
4895 "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
4896 "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
4897 "dev": true,
4898 "requires": {
4899 "isarray": "1.0.0"
4900 }
4901 }
4902 }
4903 },
4904 "has-values": {
4905 "version": "0.1.4",
4906 "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
4907 "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
4908 "dev": true
4909 }
4910 }
4911 },
4912 "uri-js": {
4913 "version": "4.4.0",
4914 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
4915 "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
4916 "dev": true,
4917 "requires": {
4918 "punycode": "^2.1.0"
4919 }
4920 },
4921 "urix": {
4922 "version": "0.1.0",
4923 "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
4924 "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
4925 "dev": true
4926 },
4927 "use": {
4928 "version": "3.1.1",
4929 "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
4930 "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
4931 "dev": true
4932 },
4933 484 "uuid": {
4934 485 "version": "3.3.3",
4935 486 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
4936 487 "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
4937 488 },
4938 "v8-to-istanbul": {
4939 "version": "5.0.1",
4940 "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz",
4941 "integrity": "sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q==",
4942 "dev": true,
4943 "requires": {
4944 "@types/istanbul-lib-coverage": "^2.0.1",
4945 "convert-source-map": "^1.6.0",
4946 "source-map": "^0.7.3"
4947 },
4948 "dependencies": {
4949 "source-map": {
4950 "version": "0.7.3",
4951 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
4952 "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
4953 "dev": true
4954 }
4955 }
4956 },
4957 "validate-npm-package-license": {
4958 "version": "3.0.4",
4959 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
4960 "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
4961 "dev": true,
4962 "requires": {
4963 "spdx-correct": "^3.0.0",
4964 "spdx-expression-parse": "^3.0.0"
4965 }
4966 },
4967 "verror": {
4968 "version": "1.10.0",
4969 "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
4970 "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
4971 "dev": true,
4972 "requires": {
4973 "assert-plus": "^1.0.0",
4974 "core-util-is": "1.0.2",
4975 "extsprintf": "^1.2.0"
4976 }
4977 },
4978 "w3c-hr-time": {
4979 "version": "1.0.2",
4980 "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
4981 "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
4982 "dev": true,
4983 "requires": {
4984 "browser-process-hrtime": "^1.0.0"
4985 }
4986 },
4987 "w3c-xmlserializer": {
4988 "version": "2.0.0",
4989 "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
4990 "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
4991 "dev": true,
4992 "requires": {
4993 "xml-name-validator": "^3.0.0"
4994 }
4995 },
4996 "walker": {
4997 "version": "1.0.7",
4998 "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
4999 "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
5000 "dev": true,
5001 "requires": {
5002 "makeerror": "1.0.x"
5003 }
5004 },
5005 "webidl-conversions": {
5006 "version": "6.1.0",
5007 "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
5008 "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
5009 "dev": true
5010 },
5011 "whatwg-encoding": {
5012 "version": "1.0.5",
5013 "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
5014 "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
5015 "dev": true,
5016 "requires": {
5017 "iconv-lite": "0.4.24"
5018 }
5019 },
5020 "whatwg-mimetype": {
5021 "version": "2.3.0",
5022 "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
5023 "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
5024 "dev": true
5025 },
5026 "whatwg-url": {
5027 "version": "8.2.2",
5028 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.2.2.tgz",
5029 "integrity": "sha512-PcVnO6NiewhkmzV0qn7A+UZ9Xx4maNTI+O+TShmfE4pqjoCMwUMjkvoNhNHPTvgR7QH9Xt3R13iHuWy2sToFxQ==",
5030 "dev": true,
5031 "requires": {
5032 "lodash.sortby": "^4.7.0",
5033 "tr46": "^2.0.2",
5034 "webidl-conversions": "^6.1.0"
5035 }
5036 },
5037 "which": {
5038 "version": "1.3.1",
5039 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
5040 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
5041 "dev": true,
5042 "requires": {
5043 "isexe": "^2.0.0"
5044 }
5045 },
5046 "which-module": {
5047 "version": "2.0.0",
5048 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
5049 "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
5050 "dev": true
5051 },
5052 489 "which-pm-runs": {
5053 490 "version": "1.0.0",
5054 491 "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
5055 492 "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
5056 493 "dev": true
5057 494 },
5058 "word-wrap": {
5059 "version": "1.2.3",
5060 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
5061 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
5062 "dev": true
5063 },
5064 "wrap-ansi": {
5065 "version": "6.2.0",
5066 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
5067 "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
5068 "dev": true,
5069 "requires": {
5070 "ansi-styles": "^4.0.0",
5071 "string-width": "^4.1.0",
5072 "strip-ansi": "^6.0.0"
5073 }
5074 },
5075 "wrappy": {
5076 "version": "1.0.2",
5077 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5078 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
5079 "dev": true
5080 },
5081 "write-file-atomic": {
5082 "version": "3.0.3",
5083 "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
5084 "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
5085 "dev": true,
5086 "requires": {
5087 "imurmurhash": "^0.1.4",
5088 "is-typedarray": "^1.0.0",
5089 "signal-exit": "^3.0.2",
5090 "typedarray-to-buffer": "^3.1.5"
5091 }
5092 },
5093 "ws": {
5094 "version": "7.3.1",
5095 "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz",
5096 "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==",
5097 "dev": true
5098 },
5099 "xml-name-validator": {
5100 "version": "3.0.0",
5101 "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
5102 "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
5103 "dev": true
5104 },
5105 "xmlchars": {
5106 "version": "2.2.0",
5107 "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
5108 "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
5109 "dev": true
5110 },
5111 "y18n": {
5112 "version": "4.0.0",
5113 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
5114 "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
5115 "dev": true
5116 },
5117 495 "yaml": {
5118 496 "version": "1.9.2",
5119 497 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz",
@@ -5122,35 +500,6 @@
5122 500 "requires": {
5123 501 "@babel/runtime": "^7.9.2"
5124 502 }
5125 },
5126 "yargs": {
5127 "version": "15.4.1",
5128 "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
5129 "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
5130 "dev": true,
5131 "requires": {
5132 "cliui": "^6.0.0",
5133 "decamelize": "^1.2.0",
5134 "find-up": "^4.1.0",
5135 "get-caller-file": "^2.0.1",
5136 "require-directory": "^2.1.1",
5137 "require-main-filename": "^2.0.0",
5138 "set-blocking": "^2.0.0",
5139 "string-width": "^4.2.0",
5140 "which-module": "^2.0.0",
5141 "y18n": "^4.0.0",
5142 "yargs-parser": "^18.1.2"
5143 }
5144 },
5145 "yargs-parser": {
5146 "version": "18.1.3",
5147 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
5148 "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
5149 "dev": true,
5150 "requires": {
5151 "camelcase": "^5.0.0",
5152 "decamelize": "^1.2.0"
5153 }
5154 503 }
5155 504 }
5156 505 }
modified package.json
+2 −3
@@ -5,8 +5,7 @@
5 5 "private": true,
6 6 "scripts": {
7 7 "build": "ncc build src/setup-elixir.js",
8 "format": "prettier \"src/**/*.js\"",
9 "test": "node __tests__/setup-elixir.test.js"
8 + "format": "prettier \"src/**/*.js\""
10 9 },
11 10 "husky": {
12 11 "hooks": {
@@ -17,7 +16,7 @@
17 16 "@actions/core": "^1.0.0",
18 17 "@actions/exec": "^1.0.0",
19 18 "@actions/tool-cache": "^1.1.0",
20 "semver": "^7.3.2"
19 + "semver": "^6.3.0"
21 20 },
22 21 "devDependencies": {
23 22 "@zeit/ncc": "^0.22.1",

Parents: e0c9b41