occam-open-cli 4.0.13 → 4.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,10 +6,8 @@ exports.loadFile = loadFile;
6
6
  exports.saveFile = saveFile;
7
7
  exports.loadFiles = loadFiles;
8
8
  exports.saveFiles = saveFiles;
9
- exports.directoryFromPath = directoryFromPath;
10
- exports.entriesFromTopmostDirectoryName = entriesFromTopmostDirectoryName;
11
- exports.projectFromTopmostDirectoryName = projectFromTopmostDirectoryName;
12
- exports.projectsFromProjectsDirectoryPath = projectsFromProjectsDirectoryPath;
9
+ exports.loadProject = loadProject;
10
+ exports.loadProjects = loadProjects;
13
11
  exports.releaseFromName = releaseFromName;
14
12
  exports.default = void 0;
15
13
  var _mkdirp = _interopRequireDefault(require("mkdirp"));
@@ -86,36 +84,18 @@ function saveFiles(files, projectsDirectoryPath) {
86
84
  saveFile(file, projectsDirectoryPath);
87
85
  });
88
86
  }
89
- function directoryFromPath(path, projectsDirectoryPath) {
90
- var directory = null;
91
- try {
92
- var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryDirectory = isEntryDirectory(absolutePath);
93
- if (entryDirectory) {
94
- directory = new _directory.default(path);
95
- }
96
- } catch (error) {
97
- ///
98
- }
99
- return directory;
100
- }
101
- function entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
102
- var array = [], relativeDirectoryPath = topmostDirectoryName; ///
103
- entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
104
- var entries = new _entries.default(array);
105
- return entries;
106
- }
107
- function projectFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
87
+ function loadProject(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
108
88
  var name = topmostDirectoryName, entries = entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories), project = new _project.default(name, entries);
109
89
  return project;
110
90
  }
111
- function projectsFromProjectsDirectoryPath(projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
91
+ function loadProjects(projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
112
92
  var projects;
113
93
  try {
114
94
  var array = [];
115
95
  projects = new _projects.default(array);
116
96
  var topmostDirectoryNames = topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath, doNotLoadHiddenFilesAndDirectories);
117
97
  topmostDirectoryNames.forEach(function(topmostDirectoryName) {
118
- var project = projectFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
98
+ var project = loadProject(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
119
99
  projects.addProject(project);
120
100
  });
121
101
  } catch (error) {
@@ -132,13 +112,29 @@ var _default = {
132
112
  saveFile: saveFile,
133
113
  loadFiles: loadFiles,
134
114
  saveFiles: saveFiles,
135
- directoryFromPath: directoryFromPath,
136
- entriesFromTopmostDirectoryName: entriesFromTopmostDirectoryName,
137
- projectFromTopmostDirectoryName: projectFromTopmostDirectoryName,
138
- projectsFromProjectsDirectoryPath: projectsFromProjectsDirectoryPath,
115
+ loadProject: loadProject,
116
+ loadProjects: loadProjects,
139
117
  releaseFromName: releaseFromName
140
118
  };
141
119
  exports.default = _default;
120
+ function directoryFromPath(path, projectsDirectoryPath) {
121
+ var directory = null;
122
+ try {
123
+ var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryDirectory = isEntryDirectory(absolutePath);
124
+ if (entryDirectory) {
125
+ directory = new _directory.default(path);
126
+ }
127
+ } catch (error) {
128
+ ///
129
+ }
130
+ return directory;
131
+ }
132
+ function entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
133
+ var array = [], relativeDirectoryPath = topmostDirectoryName; ///
134
+ entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
135
+ var entries = new _entries.default(array);
136
+ return entries;
137
+ }
142
138
  function entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
143
139
  var absoluteDirectoryPath = concatenatePaths(projectsDirectoryPath, relativeDirectoryPath), subEntryNames = readDirectory(absoluteDirectoryPath);
144
140
  subEntryNames.forEach(function(subEntryName) {
@@ -191,4 +187,4 @@ function topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath, d
191
187
  return topmostDirectoryNames;
192
188
  }
193
189
 
194
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcclxuXHJcbmltcG9ydCBGaWxlIGZyb20gXCIuLi9maWxlXCI7XHJcbmltcG9ydCBGaWxlcyBmcm9tIFwiLi4vZmlsZXNcIjtcclxuaW1wb3J0IEVudHJpZXMgZnJvbSBcIi4uL2VudHJpZXNcIjtcclxuaW1wb3J0IFByb2plY3QgZnJvbSBcIi4uL3Byb2plY3RcIjtcclxuaW1wb3J0IFJlbGVhc2UgZnJvbSBcIi4uL3JlbGVhc2VcIjtcclxuaW1wb3J0IFByb2plY3RzIGZyb20gXCIuLi9wcm9qZWN0c1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IERPVCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgaXNOYW1lSGlkZGVuTmFtZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xyXG5pbXBvcnQgeyBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlUGF0aFwiO1xyXG5pbXBvcnQgeyBjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UgfSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgeyBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UgfSBmcm9tIFwiLi4vbWVzc2FnZXNcIjtcclxuXHJcbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocywgdG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aCB9ID0gcGF0aFV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZmlsZSA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeUZpbGUpIHtcclxuICAgICAgbGV0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xyXG5cclxuICAgICAgZmlsZSA9IG5ldyBGaWxlKHBhdGgsIGNvbnRlbnQpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgcGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKSxcclxuICAgICAgICBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgdG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlQYXRoRnJvbVBhdGgoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgbWtkaXJwLnN5bmModG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHdyaXRlRmlsZShhYnNvbHV0ZVBhdGgsIGNvbnRlbnQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEZpbGVzKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBhcnJheSA9IFtdLFxyXG4gICAgICAgIGZpbGVzID0gbmV3IEZpbGVzKGFycmF5KTtcclxuXHJcbiAgcGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGVzKGZpbGVzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBmaWxlcy5mb3JFYWNoRmlsZSgoZmlsZSkgPT4ge1xyXG4gICAgc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRpcmVjdG9yeUZyb21QYXRoKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBkaXJlY3RvcnkgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgaWYgKGVudHJ5RGlyZWN0b3J5KSB7XHJcbiAgICAgIGRpcmVjdG9yeSA9IG5ldyBEaXJlY3RvcnkocGF0aCk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGRpcmVjdG9yeTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBjb25zdCBhcnJheSA9IFtdLFxyXG4gICAgICAgIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlOYW1lOyAgLy8vXHJcblxyXG4gIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGFycmF5LCByZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpO1xyXG5cclxuICBjb25zdCBlbnRyaWVzID0gbmV3IEVudHJpZXMoYXJyYXkpO1xyXG5cclxuICByZXR1cm4gZW50cmllcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb2plY3RGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBjb25zdCBuYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWUsICAvLy9cclxuICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21Ub3Btb3N0RGlyZWN0b3J5TmFtZSh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyksXHJcbiAgICAgICAgcHJvamVjdCA9IG5ldyBQcm9qZWN0KG5hbWUsIGVudHJpZXMpO1xyXG5cclxuICByZXR1cm4gcHJvamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb2plY3RzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgbGV0IHByb2plY3RzO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgYXJyYXkgPSBbXTtcclxuXHJcbiAgICBwcm9qZWN0cyA9IG5ldyBQcm9qZWN0cyhhcnJheSk7XHJcblxyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpO1xyXG5cclxuICAgIHRvcG1vc3REaXJlY3RvcnlOYW1lcy5mb3JFYWNoKCh0b3Btb3N0RGlyZWN0b3J5TmFtZSkgPT4ge1xyXG4gICAgICBjb25zdCBwcm9qZWN0ID0gcHJvamVjdEZyb21Ub3Btb3N0RGlyZWN0b3J5TmFtZSh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcyk7XHJcblxyXG4gICAgICBwcm9qZWN0cy5hZGRQcm9qZWN0KHByb2plY3QpO1xyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHByb2plY3RzID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0cztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbGVhc2VGcm9tTmFtZShuYW1lKSB7XHJcbiAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSBuYW1lLCAvLy9cclxuICAgICAgICBwcm9qZWN0c0RpcmVjdG9yeVBhdGggPSBET1QsXHJcbiAgICAgICAgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMgPSB0cnVlLFxyXG4gICAgICAgIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMgPSB0cnVlLFxyXG4gICAgICAgIGVudHJpZXMgPSBlbnRyaWVzRnJvbVRvcG1vc3REaXJlY3RvcnlOYW1lKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSxcclxuICAgICAgICB2ZXJzaW9uTnVtYmVyID0gbnVsbCwgLy8vXHJcbiAgICAgICAgcmVsZWFzZSA9IG5ldyBSZWxlYXNlKG5hbWUsIGVudHJpZXMsIHZlcnNpb25OdW1iZXIpO1xyXG5cclxuICByZXR1cm4gcmVsZWFzZTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGxvYWRGaWxlLFxyXG4gIHNhdmVGaWxlLFxyXG4gIGxvYWRGaWxlcyxcclxuICBzYXZlRmlsZXMsXHJcbiAgZGlyZWN0b3J5RnJvbVBhdGgsXHJcbiAgZW50cmllc0Zyb21Ub3Btb3N0RGlyZWN0b3J5TmFtZSxcclxuICBwcm9qZWN0RnJvbVRvcG1vc3REaXJlY3RvcnlOYW1lLFxyXG4gIHByb2plY3RzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aCxcclxuICByZWxlYXNlRnJvbU5hbWVcclxufTtcclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGFycmF5LCByZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBjb25zdCBhYnNvbHV0ZURpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcmVsYXRpdmVEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShhYnNvbHV0ZURpcmVjdG9yeVBhdGgpO1xyXG5cclxuICBzdWJFbnRyeU5hbWVzLmZvckVhY2goKHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3Qgc3ViRW50cnlOYW1lSGlkZGVuTmFtZSA9IGlzTmFtZUhpZGRlbk5hbWUoc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgPSAhc3ViRW50cnlOYW1lSGlkZGVuTmFtZSxcclxuICAgICAgICAgIGxvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzID0gIWRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMsXHJcbiAgICAgICAgICBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyA9ICFsb2FkT25seVJlY29nbmlzZWRGaWxlcztcclxuXHJcbiAgICBpZiAoc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSB8fCBsb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICBsZXQgZW50cnk7XHJcblxyXG4gICAgICBjb25zdCBwYXRoID0gY29uY2F0ZW5hdGVQYXRocyhyZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICAgIGRpcmVjdG9yeSA9IGRpcmVjdG9yeUZyb21QYXRoKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoZGlyZWN0b3J5ICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IHBhdGg7IC8vL1xyXG5cclxuICAgICAgICBpZiAobG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgIGVudHJ5ID0gZGlyZWN0b3J5OyAgLy8vXHJcblxyXG4gICAgICAgICAgYXJyYXkucHVzaChlbnRyeSk7ICAvLy9cclxuXHJcbiAgICAgICAgICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcclxuXHJcbiAgICAgICAgICBpZiAoYXJyYXlMZW5ndGggPiBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChhcnJheSwgZGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcyk7IC8vL1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoID0gaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aChmaWxlUGF0aCksXHJcbiAgICAgICAgICAgICAgICBmaWxlUmVjb2duaXNlZEZpbGUgPSBmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aDsgIC8vL1xyXG5cclxuICAgICAgICAgIGlmIChmaWxlUmVjb2duaXNlZEZpbGUgfHwgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgICAgZW50cnkgPSBmaWxlOyAvLy9cclxuXHJcbiAgICAgICAgICAgIGFycmF5LnB1c2goZW50cnkpOyAgLy8vXHJcblxyXG4gICAgICAgICAgICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcclxuXHJcbiAgICAgICAgICAgIGlmIChhcnJheUxlbmd0aCA+IEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEgpIHtcclxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgbGV0IHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3REaXJlY3RvcnlOYW1lcywgc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVN1YkVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lSGlkZGVuTmFtZSA9IGlzTmFtZUhpZGRlbk5hbWUoc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgPSAhc3ViRW50cnlOYW1lSGlkZGVuTmFtZSxcclxuICAgICAgICAgIGxvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzID0gIWRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXM7XHJcblxyXG4gICAgaWYgKHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgfHwgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgY29uc3Qgc3ViRW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3REaXJlY3RvcnlOYW1lcy5wdXNoKHRvcG1vc3REaXJlY3RvcnlOYW1lKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJDQUFBLFVBQVk7Ozs7UUF3QkksUUFBUSxHQUFSLFFBQVE7UUFxQlIsUUFBUSxHQUFSLFFBQVE7UUFXUixTQUFTLEdBQVQsU0FBUztRQWFULFNBQVMsR0FBVCxTQUFTO1FBTVQsaUJBQWlCLEdBQWpCLGlCQUFpQjtRQWlCakIsK0JBQStCLEdBQS9CLCtCQUErQjtRQVcvQiwrQkFBK0IsR0FBL0IsK0JBQStCO1FBUS9CLGlDQUFpQyxHQUFqQyxpQ0FBaUM7UUFzQmpDLGVBQWUsR0FBZixlQUFlOztBQW5JWixHQUFRLENBQVIsT0FBUTtBQUV3QixHQUFXLENBQVgsVUFBVztBQUU3QyxHQUFTLENBQVQsS0FBUztBQUNSLEdBQVUsQ0FBVixNQUFVO0FBQ1IsR0FBWSxDQUFaLFFBQVk7QUFDWixHQUFZLENBQVosUUFBWTtBQUNaLEdBQVks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
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcclxuXHJcbmltcG9ydCBGaWxlIGZyb20gXCIuLi9maWxlXCI7XHJcbmltcG9ydCBGaWxlcyBmcm9tIFwiLi4vZmlsZXNcIjtcclxuaW1wb3J0IEVudHJpZXMgZnJvbSBcIi4uL2VudHJpZXNcIjtcclxuaW1wb3J0IFByb2plY3QgZnJvbSBcIi4uL3Byb2plY3RcIjtcclxuaW1wb3J0IFJlbGVhc2UgZnJvbSBcIi4uL3JlbGVhc2VcIjtcclxuaW1wb3J0IFByb2plY3RzIGZyb20gXCIuLi9wcm9qZWN0c1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IERPVCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgaXNOYW1lSGlkZGVuTmFtZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xyXG5pbXBvcnQgeyBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlUGF0aFwiO1xyXG5pbXBvcnQgeyBjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UgfSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgeyBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UgfSBmcm9tIFwiLi4vbWVzc2FnZXNcIjtcclxuXHJcbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocywgdG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aCB9ID0gcGF0aFV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZmlsZSA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeUZpbGUpIHtcclxuICAgICAgbGV0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xyXG5cclxuICAgICAgZmlsZSA9IG5ldyBGaWxlKHBhdGgsIGNvbnRlbnQpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgcGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKSxcclxuICAgICAgICBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgdG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlQYXRoRnJvbVBhdGgoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgbWtkaXJwLnN5bmModG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHdyaXRlRmlsZShhYnNvbHV0ZVBhdGgsIGNvbnRlbnQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEZpbGVzKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBhcnJheSA9IFtdLFxyXG4gICAgICAgIGZpbGVzID0gbmV3IEZpbGVzKGFycmF5KTtcclxuXHJcbiAgcGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGVzKGZpbGVzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBmaWxlcy5mb3JFYWNoRmlsZSgoZmlsZSkgPT4ge1xyXG4gICAgc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0KHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgY29uc3QgbmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lLCAgLy8vXHJcbiAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpLFxyXG4gICAgICAgIHByb2plY3QgPSBuZXcgUHJvamVjdChuYW1lLCBlbnRyaWVzKTtcclxuXHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUHJvamVjdHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gIGxldCBwcm9qZWN0cztcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGFycmF5ID0gW107XHJcblxyXG4gICAgcHJvamVjdHMgPSBuZXcgUHJvamVjdHMoYXJyYXkpO1xyXG5cclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMuZm9yRWFjaCgodG9wbW9zdERpcmVjdG9yeU5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgICAgIHByb2plY3RzLmFkZFByb2plY3QocHJvamVjdCk7XHJcbiAgICB9KTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcHJvamVjdHMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHByb2plY3RzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVsZWFzZUZyb21OYW1lKG5hbWUpIHtcclxuICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IG5hbWUsIC8vL1xyXG4gICAgICAgIHByb2plY3RzRGlyZWN0b3J5UGF0aCA9IERPVCxcclxuICAgICAgICBsb2FkT25seVJlY29nbmlzZWRGaWxlcyA9IHRydWUsXHJcbiAgICAgICAgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyA9IHRydWUsXHJcbiAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpLFxyXG4gICAgICAgIHZlcnNpb25OdW1iZXIgPSBudWxsLCAvLy9cclxuICAgICAgICByZWxlYXNlID0gbmV3IFJlbGVhc2UobmFtZSwgZW50cmllcywgdmVyc2lvbk51bWJlcik7XHJcblxyXG4gIHJldHVybiByZWxlYXNlO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbG9hZEZpbGUsXHJcbiAgc2F2ZUZpbGUsXHJcbiAgbG9hZEZpbGVzLFxyXG4gIHNhdmVGaWxlcyxcclxuICBsb2FkUHJvamVjdCxcclxuICBsb2FkUHJvamVjdHMsXHJcbiAgcmVsZWFzZUZyb21OYW1lXHJcbn07XHJcblxyXG5mdW5jdGlvbiBkaXJlY3RvcnlGcm9tUGF0aChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZGlyZWN0b3J5ID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICBkaXJlY3RvcnkgPSBuZXcgRGlyZWN0b3J5KHBhdGgpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBkaXJlY3Rvcnk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBjb25zdCBhcnJheSA9IFtdLFxyXG4gICAgICAgIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlOYW1lOyAgLy8vXHJcblxyXG4gIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGFycmF5LCByZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpO1xyXG5cclxuICBjb25zdCBlbnRyaWVzID0gbmV3IEVudHJpZXMoYXJyYXkpO1xyXG5cclxuICByZXR1cm4gZW50cmllcztcclxufVxyXG5cclxuZnVuY3Rpb24gZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoYXJyYXksIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gIGNvbnN0IGFic29sdXRlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KGFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHN1YkVudHJ5TmFtZXMuZm9yRWFjaCgoc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSA9ICFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lLFxyXG4gICAgICAgICAgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyxcclxuICAgICAgICAgIGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzID0gIWxvYWRPbmx5UmVjb2duaXNlZEZpbGVzO1xyXG5cclxuICAgIGlmIChzdWJFbnRyeU5hbWVOb3RIaWRkZW5OYW1lIHx8IGxvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgIGxldCBlbnRyeTtcclxuXHJcbiAgICAgIGNvbnN0IHBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgICAgZGlyZWN0b3J5ID0gZGlyZWN0b3J5RnJvbVBhdGgocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChkaXJlY3RvcnkgIT09IG51bGwpIHtcclxuICAgICAgICBjb25zdCBkaXJlY3RvcnlQYXRoID0gcGF0aDsgLy8vXHJcblxyXG4gICAgICAgIGlmIChsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgZW50cnkgPSBkaXJlY3Rvcnk7ICAvLy9cclxuXHJcbiAgICAgICAgICBhcnJheS5wdXNoKGVudHJ5KTsgIC8vL1xyXG5cclxuICAgICAgICAgIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xyXG5cclxuICAgICAgICAgIGlmIChhcnJheUxlbmd0aCA+IEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEhfRVhDRUVERURfTUVTU0FHRSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGFycmF5LCBkaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTsgLy8vXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICAgIGlmIChmaWxlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgICAgICAgICAgZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggPSBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoKGZpbGVQYXRoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVSZWNvZ25pc2VkRmlsZSA9IGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoOyAgLy8vXHJcblxyXG4gICAgICAgICAgaWYgKGZpbGVSZWNvZ25pc2VkRmlsZSB8fCBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgICBlbnRyeSA9IGZpbGU7IC8vL1xyXG5cclxuICAgICAgICAgICAgYXJyYXkucHVzaChlbnRyeSk7ICAvLy9cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xyXG5cclxuICAgICAgICAgICAgaWYgKGFycmF5TGVuZ3RoID4gRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCkge1xyXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBsZXQgdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG5cclxuICBjb25zdCBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMgPSBzdWJFbnRyeU5hbWVzLnJlZHVjZSgodG9wbW9zdERpcmVjdG9yeU5hbWVzLCBzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IGFic29sdXRlU3ViRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSA9ICFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lLFxyXG4gICAgICAgICAgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcztcclxuXHJcbiAgICBpZiAoc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSB8fCBsb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICBjb25zdCBzdWJFbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVTdWJFbnRyeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKHN1YkVudHJ5RGlyZWN0b3J5KSB7XHJcbiAgICAgICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSBzdWJFbnRyeU5hbWU7ICAvLy9cclxuXHJcbiAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWVzLnB1c2godG9wbW9zdERpcmVjdG9yeU5hbWUpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkNBQUEsVUFBWTs7OztRQXdCSSxRQUFRLEdBQVIsUUFBUTtRQXFCUixRQUFRLEdBQVIsUUFBUTtRQVdSLFNBQVMsR0FBVCxTQUFTO1FBYVQsU0FBUyxHQUFULFNBQVM7UUFNVCxXQUFXLEdBQVgsV0FBVztRQVFYLFlBQVksR0FBWixZQUFZO1FBc0JaLGVBQWUsR0FBZixlQUFlOztBQXZHWixHQUFRLENBQVIsT0FBUTtBQUV3QixHQUFXLENBQVgsVUFBVztBQUU3QyxHQUFTLENBQVQsS0FBUztBQUNSLEdBQVUsQ0FBVixNQUFVO0FBQ1IsR0FBWSxDQUFaLFFBQVk7QUFDWixHQUFZLENBQVosUUFBWTtBQUNaLEdBQVksQ0FBWixRQUFZO0FBQ1gsR0FBYSxDQUFiLFNBQWE7QUFDWixHQUFjLENBQWQsVUFBYztBQUVoQixHQUFjLENBQWQsVUFBYztBQUNELEdBQW1CLENBQW5CLEtBQW1CO0FBRVAsR0FBdUIsQ0FBdkIsU0FBdUI7QUFFTixHQUFhLENBQWIsU0FBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFM0UsR0FBSyxDQUFHLGdCQUFnQixHQWpCMkIsVUFBVyxlQWlCdEQsZ0JBQWdCLEVBQUUsNEJBQTRCLEdBakJILFVBQVcsZUFpQnBD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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-open-cli",
3
3
  "author": "James Smith",
4
- "version": "4.0.13",
4
+ "version": "4.0.14",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-open-cli",
7
7
  "description": "Occam's command line package management tool.",