occam-open-cli 5.0.39 → 5.0.41

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.
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
 
3
- const { fileSystemUtilities } = require("../../lib/main"); ///
3
+ import { characters } from "necessary";
4
4
 
5
- const { releaseFromReleaseName } = fileSystemUtilities;
5
+ const { Release, entriesUUtilities } = require("../../lib/main"); ///
6
+
7
+ const { PERIOD_CHARACTER } = characters,
8
+ { entriesFromTopmostDirectoryName } = entriesUUtilities;
6
9
 
7
10
  function createReleaseOperation(proceed, abort, context) {
8
11
  const { releaseName } = context,
@@ -22,3 +25,17 @@ function createReleaseOperation(proceed, abort, context) {
22
25
  }
23
26
 
24
27
  module.exports = createReleaseOperation;
28
+
29
+ function releaseFromReleaseName(releaseName) {
30
+ const topmostDirectoryName = releaseName, ///
31
+ projectsDirectoryPath = PERIOD_CHARACTER,
32
+ loadOnlyRecognisedFiles = true,
33
+ doNotLoadHiddenFilesAndDirectories = true,
34
+ name = releaseName, ///
35
+ entries = entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories),
36
+ versionNumber = null, ///
37
+ release = new Release(name, entries, versionNumber);
38
+
39
+ return release;
40
+ }
41
+
package/lib/main.js CHANGED
@@ -39,11 +39,11 @@ _export(exports, {
39
39
  contentUtilities: function() {
40
40
  return _content.default;
41
41
  },
42
+ entriesUtilities: function() {
43
+ return _entries1.default;
44
+ },
42
45
  filePathUtilities: function() {
43
46
  return _filePath.default;
44
- },
45
- fileSystemUtilities: function() {
46
- return _fileSystem.default;
47
47
  }
48
48
  });
49
49
  var _file = /*#__PURE__*/ _interopRequireDefault(require("./file"));
@@ -56,12 +56,12 @@ var _project = /*#__PURE__*/ _interopRequireDefault(require("./project"));
56
56
  var _projects = /*#__PURE__*/ _interopRequireDefault(require("./projects"));
57
57
  var _name = /*#__PURE__*/ _interopRequireDefault(require("./utilities/name"));
58
58
  var _content = /*#__PURE__*/ _interopRequireDefault(require("./utilities/content"));
59
+ var _entries1 = /*#__PURE__*/ _interopRequireDefault(require("./utilities/entries"));
59
60
  var _filePath = /*#__PURE__*/ _interopRequireDefault(require("./utilities/filePath"));
60
- var _fileSystem = /*#__PURE__*/ _interopRequireDefault(require("./utilities/fileSystem"));
61
61
  function _interopRequireDefault(obj) {
62
62
  return obj && obj.__esModule ? obj : {
63
63
  default: obj
64
64
  };
65
65
  }
66
66
 
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlIH0gZnJvbSBcIi4vZmlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlcyB9IGZyb20gXCIuL2ZpbGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHR5cGVzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmVyc2lvbiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZSB9IGZyb20gXCIuL3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRW50cmllcyB9IGZyb20gXCIuL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdHMgfSBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBuYW1lVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25hbWVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVQYXRoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuIl0sIm5hbWVzIjpbIkZpbGUiLCJGaWxlcyIsInR5cGVzIiwiVmVyc2lvbiIsIlJlbGVhc2UiLCJFbnRyaWVzIiwiUHJvamVjdCIsIlByb2plY3RzIiwibmFtZVV0aWxpdGllcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJmaWxlUGF0aFV0aWxpdGllcyIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVvQkEsSUFBSTtlQUFKQSxhQUFJOztJQUNKQyxLQUFLO2VBQUxBLGNBQUs7O0lBQ0xDLEtBQUs7ZUFBTEEsY0FBSzs7SUFDTEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsYUFBYTtlQUFiQSxhQUFhOztJQUNiQyxnQkFBZ0I7ZUFBaEJBLGdCQUFnQjs7SUFDaEJDLGlCQUFpQjtlQUFqQkEsaUJBQWlCOztJQUNqQkMsbUJBQW1CO2VBQW5CQSxtQkFBbUI7Ozt5REFYUDswREFDQzswREFDQTs0REFDRTs0REFDQTs0REFDQTs0REFDQTs2REFDQzt5REFDSzs0REFDRzs2REFDQzsrREFDRSJ9
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlIH0gZnJvbSBcIi4vZmlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlcyB9IGZyb20gXCIuL2ZpbGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHR5cGVzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmVyc2lvbiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZSB9IGZyb20gXCIuL3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRW50cmllcyB9IGZyb20gXCIuL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdHMgfSBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBuYW1lVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25hbWVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVudHJpZXNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZW50cmllc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlUGF0aFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9maWxlUGF0aFwiO1xuIl0sIm5hbWVzIjpbIkZpbGUiLCJGaWxlcyIsInR5cGVzIiwiVmVyc2lvbiIsIlJlbGVhc2UiLCJFbnRyaWVzIiwiUHJvamVjdCIsIlByb2plY3RzIiwibmFtZVV0aWxpdGllcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJlbnRyaWVzVXRpbGl0aWVzIiwiZmlsZVBhdGhVdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVvQkEsSUFBSTtlQUFKQSxhQUFJOztJQUNKQyxLQUFLO2VBQUxBLGNBQUs7O0lBQ0xDLEtBQUs7ZUFBTEEsY0FBSzs7SUFDTEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsYUFBYTtlQUFiQSxhQUFhOztJQUNiQyxnQkFBZ0I7ZUFBaEJBLGdCQUFnQjs7SUFDaEJDLGdCQUFnQjtlQUFoQkEsaUJBQWdCOztJQUNoQkMsaUJBQWlCO2VBQWpCQSxpQkFBaUI7Ozt5REFYTDswREFDQzswREFDQTs0REFDRTs0REFDQTs0REFDQTs0REFDQTs2REFDQzt5REFDSzs0REFDRzs2REFDQTs2REFDQyJ9
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ entriesFromTopmostDirectoryName: function() {
13
+ return entriesFromTopmostDirectoryName;
14
+ },
15
+ default: function() {
16
+ return _default;
17
+ }
18
+ });
19
+ var _necessary = require("necessary");
20
+ var _file = /*#__PURE__*/ _interopRequireDefault(require("../file"));
21
+ var _entries = /*#__PURE__*/ _interopRequireDefault(require("../entries"));
22
+ var _directory = /*#__PURE__*/ _interopRequireDefault(require("../directory"));
23
+ var _name = require("../utilities/name");
24
+ var _constants = require("../constants");
25
+ var _filePath = require("../utilities/filePath");
26
+ var _content = require("../utilities/content");
27
+ var _messages = require("../messages");
28
+ function _interopRequireDefault(obj) {
29
+ return obj && obj.__esModule ? obj : {
30
+ default: obj
31
+ };
32
+ }
33
+ var concatenatePaths = _necessary.pathUtilities.concatenatePaths, readFile = _necessary.fileSystemUtilities.readFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory;
34
+ function entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
35
+ var array = [], relativeDirectoryPath = topmostDirectoryName; ///
36
+ entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
37
+ var entries = new _entries.default(array);
38
+ return entries;
39
+ }
40
+ var _default = {
41
+ entriesFromTopmostDirectoryName: entriesFromTopmostDirectoryName
42
+ };
43
+ function fileFromPath(path, projectsDirectoryPath) {
44
+ var file = null;
45
+ try {
46
+ var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryFile = isEntryFile(absolutePath);
47
+ if (entryFile) {
48
+ var content = readFile(absolutePath);
49
+ content = (0, _content.convertContentTabsToWhitespace)(content); ///
50
+ file = new _file.default(path, content);
51
+ }
52
+ } catch (error) {
53
+ ///
54
+ }
55
+ return file;
56
+ }
57
+ function directoryFromPath(path, projectsDirectoryPath) {
58
+ var directory = null;
59
+ try {
60
+ var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryDirectory = isEntryDirectory(absolutePath);
61
+ if (entryDirectory) {
62
+ directory = new _directory.default(path);
63
+ }
64
+ } catch (error) {
65
+ ///
66
+ }
67
+ return directory;
68
+ }
69
+ function entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
70
+ var absoluteDirectoryPath = concatenatePaths(projectsDirectoryPath, relativeDirectoryPath), subEntryNames = readDirectory(absoluteDirectoryPath);
71
+ subEntryNames.forEach(function(subEntryName) {
72
+ var subEntryNameHiddenName = (0, _name.isNameHiddenName)(subEntryName), subEntryNameNotHiddenName = !subEntryNameHiddenName, loadHiddenFilesAndDirectories = !doNotLoadHiddenFilesAndDirectories, loadUnrecognisedFilesAndDirectories = !loadOnlyRecognisedFiles;
73
+ if (subEntryNameNotHiddenName || loadHiddenFilesAndDirectories) {
74
+ var entry;
75
+ var path = concatenatePaths(relativeDirectoryPath, subEntryName), directory = directoryFromPath(path, projectsDirectoryPath);
76
+ if (directory !== null) {
77
+ var directoryPath = path; ///
78
+ if (loadUnrecognisedFilesAndDirectories) {
79
+ entry = directory; ///
80
+ array.push(entry); ///
81
+ var arrayLength = array.length;
82
+ if (arrayLength > _constants.ENTRIES_MAXIMUM_ARRAY_LENGTH) {
83
+ throw new Error(_messages.ENTRIES_MAXIMUM_ARRAY_LENGTH_EXCEEDED_MESSAGE);
84
+ }
85
+ }
86
+ entriesFromRelativeDirectoryPath(array, directoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories); ///
87
+ } else {
88
+ var file = fileFromPath(path, projectsDirectoryPath);
89
+ if (file !== null) {
90
+ var filePath = file.getPath(), filePathRecognisedFilePath = (0, _filePath.isFilePathRecognisedFilePath)(filePath), fileRecognisedFile = filePathRecognisedFilePath; ///
91
+ if (fileRecognisedFile || loadUnrecognisedFilesAndDirectories) {
92
+ entry = file; ///
93
+ array.push(entry); ///
94
+ var arrayLength1 = array.length;
95
+ if (arrayLength1 > _constants.ENTRIES_MAXIMUM_ARRAY_LENGTH) {
96
+ throw new Error(_messages.ENTRIES_MAXIMUM_ARRAY_LENGTH_EXCEEDED_MESSAGE);
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ });
103
+ }
104
+
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XHJcblxyXG5pbXBvcnQgRmlsZSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgRW50cmllcyBmcm9tIFwiLi4vZW50cmllc1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IGlzTmFtZUhpZGRlbk5hbWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcclxuaW1wb3J0IHsgRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcclxuaW1wb3J0IHsgY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZW50XCI7XHJcbmltcG9ydCB7IEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEhfRVhDRUVERURfTUVTU0FHRSB9IGZyb20gXCIuLi9tZXNzYWdlc1wiO1xyXG5cclxuY29uc3QgeyBjb25jYXRlbmF0ZVBhdGhzIH0gPSBwYXRoVXRpbGl0aWVzLFxyXG4gICAgICB7IHJlYWRGaWxlLCByZWFkRGlyZWN0b3J5LCBpc0VudHJ5RmlsZSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbnRyaWVzRnJvbVRvcG1vc3REaXJlY3RvcnlOYW1lKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgY29uc3QgYXJyYXkgPSBbXSxcclxuICAgICAgICByZWxhdGl2ZURpcmVjdG9yeVBhdGggPSB0b3Btb3N0RGlyZWN0b3J5TmFtZTsgIC8vL1xyXG5cclxuICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChhcnJheSwgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgY29uc3QgZW50cmllcyA9IG5ldyBFbnRyaWVzKGFycmF5KTtcclxuXHJcbiAgcmV0dXJuIGVudHJpZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBlbnRyaWVzRnJvbVRvcG1vc3REaXJlY3RvcnlOYW1lXHJcbn07XHJcblxyXG5mdW5jdGlvbiBmaWxlRnJvbVBhdGgocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGUgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgICAgZW50cnlGaWxlID0gaXNFbnRyeUZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICBpZiAoZW50cnlGaWxlKSB7XHJcbiAgICAgIGxldCBjb250ZW50ID0gcmVhZEZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGNvbnRlbnQgPSBjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UoY29udGVudCk7ICAvLy9cclxuXHJcbiAgICAgIGZpbGUgPSBuZXcgRmlsZShwYXRoLCBjb250ZW50KTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZGlyZWN0b3J5RnJvbVBhdGgocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGRpcmVjdG9yeSA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICBpZiAoZW50cnlEaXJlY3RvcnkpIHtcclxuICAgICAgZGlyZWN0b3J5ID0gbmV3IERpcmVjdG9yeShwYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZGlyZWN0b3J5O1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChhcnJheSwgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgY29uc3QgYWJzb2x1dGVEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkoYWJzb2x1dGVEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgc3ViRW50cnlOYW1lcy5mb3JFYWNoKChzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVOb3RIaWRkZW5OYW1lID0gIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUsXHJcbiAgICAgICAgICBsb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyA9ICFkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzLFxyXG4gICAgICAgICAgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXM7XHJcblxyXG4gICAgaWYgKHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgfHwgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgbGV0IGVudHJ5O1xyXG5cclxuICAgICAgY29uc3QgcGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgICBkaXJlY3RvcnkgPSBkaXJlY3RvcnlGcm9tUGF0aChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKGRpcmVjdG9yeSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBwYXRoOyAvLy9cclxuXHJcbiAgICAgICAgaWYgKGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgICAgICBlbnRyeSA9IGRpcmVjdG9yeTsgIC8vL1xyXG5cclxuICAgICAgICAgIGFycmF5LnB1c2goZW50cnkpOyAgLy8vXHJcblxyXG4gICAgICAgICAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgaWYgKGFycmF5TGVuZ3RoID4gRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoYXJyYXksIGRpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpOyAvLy9cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBmaWxlID0gZmlsZUZyb21QYXRoKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICAgIGlmIChmaWxlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgICAgICAgICAgZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggPSBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoKGZpbGVQYXRoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVSZWNvZ25pc2VkRmlsZSA9IGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoOyAgLy8vXHJcblxyXG4gICAgICAgICAgaWYgKGZpbGVSZWNvZ25pc2VkRmlsZSB8fCBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgICBlbnRyeSA9IGZpbGU7IC8vL1xyXG5cclxuICAgICAgICAgICAgYXJyYXkucHVzaChlbnRyeSk7ICAvLy9cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xyXG5cclxuICAgICAgICAgICAgaWYgKGFycmF5TGVuZ3RoID4gRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCkge1xyXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG4iXSwibmFtZXMiOlsiZW50cmllc0Zyb21Ub3Btb3N0RGlyZWN0b3J5TmFtZSIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwicmVhZEZpbGUiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwicmVhZERpcmVjdG9yeSIsImlzRW50cnlGaWxlIiwiaXNFbnRyeURpcmVjdG9yeSIsInRvcG1vc3REaXJlY3RvcnlOYW1lIiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwibG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMiLCJkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzIiwiYXJyYXkiLCJyZWxhdGl2ZURpcmVjdG9yeVBhdGgiLCJlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aCIsImVudHJpZXMiLCJFbnRyaWVzIiwiZmlsZUZyb21QYXRoIiwicGF0aCIsImZpbGUiLCJhYnNvbHV0ZVBhdGgiLCJlbnRyeUZpbGUiLCJjb250ZW50IiwiY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIiwiRmlsZSIsImVycm9yIiwiZGlyZWN0b3J5RnJvbVBhdGgiLCJkaXJlY3RvcnkiLCJlbnRyeURpcmVjdG9yeSIsIkRpcmVjdG9yeSIsImFic29sdXRlRGlyZWN0b3J5UGF0aCIsInN1YkVudHJ5TmFtZXMiLCJmb3JFYWNoIiwic3ViRW50cnlOYW1lIiwic3ViRW50cnlOYW1lSGlkZGVuTmFtZSIsImlzTmFtZUhpZGRlbk5hbWUiLCJzdWJFbnRyeU5hbWVOb3RIaWRkZW5OYW1lIiwibG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMiLCJsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyIsImVudHJ5IiwiZGlyZWN0b3J5UGF0aCIsInB1c2giLCJhcnJheUxlbmd0aCIsImxlbmd0aCIsIkVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEgiLCJFcnJvciIsIkVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEhfRVhDRUVERURfTUVTU0FHRSIsImZpbGVQYXRoIiwiZ2V0UGF0aCIsImZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCIsImZpbGVSZWNvZ25pc2VkRmlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBaUJnQkEsK0JBQStCO2VBQS9CQTs7SUFXaEIsT0FFRTtlQUZGOzs7eUJBMUJtRDt5REFFbEM7NERBQ0c7OERBQ0U7b0JBRVc7eUJBQ1k7d0JBQ0E7dUJBQ0U7d0JBQ2U7Ozs7OztBQUU5RCxJQUFNLEFBQUVDLG1CQUFxQkMsd0JBQWEsQ0FBbENELGtCQUNBRSxXQUEyREMsOEJBQW1CLENBQTlFRCxVQUFVRSxnQkFBaURELDhCQUFtQixDQUFwRUMsZUFBZUMsY0FBa0NGLDhCQUFtQixDQUFyREUsYUFBYUMsbUJBQXFCSCw4QkFBbUIsQ0FBeENHO0FBRXZDLFNBQVNQLGdDQUFnQ1Esb0JBQW9CLEVBQUVDLHFCQUFxQixFQUFFQyx1QkFBdUIsRUFBRUMsa0NBQWtDLEVBQUU7SUFDeEosSUFBTUMsUUFBUSxFQUFFLEVBQ1ZDLHdCQUF3Qkwsc0JBQXVCLEdBQUc7SUFFeERNLGlDQUFpQ0YsT0FBT0MsdUJBQXVCSix1QkFBdUJDLHlCQUF5QkM7SUFFL0csSUFBTUksVUFBVSxJQUFJQyxnQkFBTyxDQUFDSjtJQUU1QixPQUFPRztBQUNUO0lBRUEsV0FBZTtJQUNiZixpQ0FBQUE7QUFDRjtBQUVBLFNBQVNpQixhQUFhQyxJQUFJLEVBQUVULHFCQUFxQixFQUFFO0lBQ2pELElBQUlVLE9BQU8sSUFBSTtJQUVmLElBQUk7UUFDRixJQUFNQyxlQUFlbkIsaUJBQWlCUSx1QkFBdUJTLE9BQ3ZERyxZQUFZZixZQUFZYztRQUU5QixJQUFJQyxXQUFXO1lBQ2IsSUFBSUMsVUFBVW5CLFNBQVNpQjtZQUV2QkUsVUFBVUMsSUFBQUEsdUNBQThCLEVBQUNELFVBQVcsR0FBRztZQUV2REgsT0FBTyxJQUFJSyxhQUFJLENBQUNOLE1BQU1JO1FBQ3hCLENBQUM7SUFDSCxFQUFFLE9BQU9HLE9BQU87SUFDZCxHQUFHO0lBQ0w7SUFFQSxPQUFPTjtBQUNUO0FBRUEsU0FBU08sa0JBQWtCUixJQUFJLEVBQUVULHFCQUFxQixFQUFFO0lBQ3RELElBQUlrQixZQUFZLElBQUk7SUFFcEIsSUFBSTtRQUNGLElBQU1QLGVBQWVuQixpQkFBaUJRLHVCQUF1QlMsT0FDdkRVLGlCQUFpQnJCLGlCQUFpQmE7UUFFeEMsSUFBSVEsZ0JBQWdCO1lBQ2xCRCxZQUFZLElBQUlFLGtCQUFTLENBQUNYO1FBQzVCLENBQUM7SUFDSCxFQUFFLE9BQU9PLE9BQU87SUFDZCxHQUFHO0lBQ0w7SUFFQSxPQUFPRTtBQUNUO0FBRUEsU0FBU2IsaUNBQWlDRixLQUFLLEVBQUVDLHFCQUFxQixFQUFFSixxQkFBcUIsRUFBRUMsdUJBQXVCLEVBQUVDLGtDQUFrQyxFQUFFO0lBQzFKLElBQU1tQix3QkFBd0I3QixpQkFBaUJRLHVCQUF1Qkksd0JBQ2hFa0IsZ0JBQWdCMUIsY0FBY3lCO0lBRXBDQyxjQUFjQyxPQUFPLENBQUMsU0FBQ0MsY0FBaUI7UUFDdEMsSUFBTUMseUJBQXlCQyxJQUFBQSxzQkFBZ0IsRUFBQ0YsZUFDMUNHLDRCQUE0QixDQUFDRix3QkFDN0JHLGdDQUFnQyxDQUFDMUIsb0NBQ2pDMkIsc0NBQXNDLENBQUM1QjtRQUU3QyxJQUFJMEIsNkJBQTZCQywrQkFBK0I7WUFDOUQsSUFBSUU7WUFFSixJQUFNckIsT0FBT2pCLGlCQUFpQlksdUJBQXVCb0IsZUFDL0NOLFlBQVlELGtCQUFrQlIsTUFBTVQ7WUFFMUMsSUFBSWtCLGNBQWMsSUFBSSxFQUFFO2dCQUN0QixJQUFNYSxnQkFBZ0J0QixNQUFNLEdBQUc7Z0JBRS9CLElBQUlvQixxQ0FBcUM7b0JBQ3ZDQyxRQUFRWixXQUFZLEdBQUc7b0JBRXZCZixNQUFNNkIsSUFBSSxDQUFDRixRQUFTLEdBQUc7b0JBRXZCLElBQU1HLGNBQWM5QixNQUFNK0IsTUFBTTtvQkFFaEMsSUFBSUQsY0FBY0UsdUNBQTRCLEVBQUU7d0JBQzlDLE1BQU0sSUFBSUMsTUFBTUMsdURBQTZDLEVBQUM7b0JBQ2hFLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRGhDLGlDQUFpQ0YsT0FBTzRCLGVBQWUvQix1QkFBdUJDLHlCQUF5QkMscUNBQXFDLEdBQUc7WUFDakosT0FBTztnQkFDTCxJQUFNUSxPQUFPRixhQUFhQyxNQUFNVDtnQkFFaEMsSUFBSVUsU0FBUyxJQUFJLEVBQUU7b0JBQ2pCLElBQU00QixXQUFXNUIsS0FBSzZCLE9BQU8sSUFDdkJDLDZCQUE2QkMsSUFBQUEsc0NBQTRCLEVBQUNILFdBQzFESSxxQkFBcUJGLDRCQUE2QixHQUFHO29CQUUzRCxJQUFJRSxzQkFBc0JiLHFDQUFxQzt3QkFDN0RDLFFBQVFwQixNQUFNLEdBQUc7d0JBRWpCUCxNQUFNNkIsSUFBSSxDQUFDRixRQUFTLEdBQUc7d0JBRXZCLElBQU1HLGVBQWM5QixNQUFNK0IsTUFBTTt3QkFFaEMsSUFBSUQsZUFBY0UsdUNBQTRCLEVBQUU7NEJBQzlDLE1BQU0sSUFBSUMsTUFBTUMsdURBQTZDLEVBQUM7d0JBQ2hFLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSDtBQUNGIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-open-cli",
3
3
  "author": "James Smith",
4
- "version": "5.0.39",
4
+ "version": "5.0.41",
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.",
package/src/main.js CHANGED
@@ -10,5 +10,5 @@ export { default as Project } from "./project";
10
10
  export { default as Projects } from "./projects";
11
11
  export { default as nameUtilities } from "./utilities/name";
12
12
  export { default as contentUtilities } from "./utilities/content";
13
+ export { default as entriesUtilities } from "./utilities/entries";
13
14
  export { default as filePathUtilities } from "./utilities/filePath";
14
- export { default as fileSystemUtilities } from "./utilities/fileSystem";
@@ -1,37 +1,56 @@
1
1
  "use strict";
2
2
 
3
- import { characters, pathUtilities, fileSystemUtilities } from "necessary";
3
+ import { pathUtilities, fileSystemUtilities } from "necessary";
4
4
 
5
+ import File from "../file";
5
6
  import Entries from "../entries";
6
- import Release from "../release";
7
7
  import Directory from "../directory";
8
8
 
9
9
  import { isNameHiddenName } from "../utilities/name";
10
10
  import { ENTRIES_MAXIMUM_ARRAY_LENGTH } from "../constants";
11
11
  import { isFilePathRecognisedFilePath } from "../utilities/filePath";
12
+ import { convertContentTabsToWhitespace } from "../utilities/content";
12
13
  import { ENTRIES_MAXIMUM_ARRAY_LENGTH_EXCEEDED_MESSAGE } from "../messages";
13
14
 
14
- const { PERIOD_CHARACTER } = characters,
15
- { concatenatePaths } = pathUtilities,
16
- { readDirectory, isEntryDirectory } = fileSystemUtilities;
17
-
18
- export function releaseFromReleaseName(releaseName) {
19
- const topmostDirectoryName = releaseName, ///
20
- projectsDirectoryPath = PERIOD_CHARACTER,
21
- loadOnlyRecognisedFiles = true,
22
- doNotLoadHiddenFilesAndDirectories = true,
23
- name = releaseName, ///
24
- entries = entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories),
25
- versionNumber = null, ///
26
- release = new Release(name, entries, versionNumber);
27
-
28
- return release;
15
+ const { concatenatePaths } = pathUtilities,
16
+ { readFile, readDirectory, isEntryFile, isEntryDirectory } = fileSystemUtilities;
17
+
18
+ export function entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
19
+ const array = [],
20
+ relativeDirectoryPath = topmostDirectoryName; ///
21
+
22
+ entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
23
+
24
+ const entries = new Entries(array);
25
+
26
+ return entries;
29
27
  }
30
28
 
31
29
  export default {
32
- releaseFromReleaseName
30
+ entriesFromTopmostDirectoryName
33
31
  };
34
32
 
33
+ function fileFromPath(path, projectsDirectoryPath) {
34
+ let file = null;
35
+
36
+ try {
37
+ const absolutePath = concatenatePaths(projectsDirectoryPath, path),
38
+ entryFile = isEntryFile(absolutePath);
39
+
40
+ if (entryFile) {
41
+ let content = readFile(absolutePath);
42
+
43
+ content = convertContentTabsToWhitespace(content); ///
44
+
45
+ file = new File(path, content);
46
+ }
47
+ } catch (error) {
48
+ ///
49
+ }
50
+
51
+ return file;
52
+ }
53
+
35
54
  function directoryFromPath(path, projectsDirectoryPath) {
36
55
  let directory = null;
37
56
 
@@ -49,17 +68,6 @@ function directoryFromPath(path, projectsDirectoryPath) {
49
68
  return directory;
50
69
  }
51
70
 
52
- function entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
53
- const array = [],
54
- relativeDirectoryPath = topmostDirectoryName; ///
55
-
56
- entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
57
-
58
- const entries = new Entries(array);
59
-
60
- return entries;
61
- }
62
-
63
71
  function entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
64
72
  const absoluteDirectoryPath = concatenatePaths(projectsDirectoryPath, relativeDirectoryPath),
65
73
  subEntryNames = readDirectory(absoluteDirectoryPath);
@@ -93,7 +101,7 @@ function entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projects
93
101
 
94
102
  entriesFromRelativeDirectoryPath(array, directoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories); ///
95
103
  } else {
96
- const file = loadFile(path, projectsDirectoryPath);
104
+ const file = fileFromPath(path, projectsDirectoryPath);
97
105
 
98
106
  if (file !== null) {
99
107
  const filePath = file.getPath(),
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- releaseFromReleaseName: function() {
13
- return releaseFromReleaseName;
14
- },
15
- default: function() {
16
- return _default;
17
- }
18
- });
19
- var _necessary = require("necessary");
20
- var _entries = /*#__PURE__*/ _interopRequireDefault(require("../entries"));
21
- var _release = /*#__PURE__*/ _interopRequireDefault(require("../release"));
22
- var _directory = /*#__PURE__*/ _interopRequireDefault(require("../directory"));
23
- var _name = require("../utilities/name");
24
- var _constants = require("../constants");
25
- var _filePath = require("../utilities/filePath");
26
- var _messages = require("../messages");
27
- function _interopRequireDefault(obj) {
28
- return obj && obj.__esModule ? obj : {
29
- default: obj
30
- };
31
- }
32
- var PERIOD_CHARACTER = _necessary.characters.PERIOD_CHARACTER, concatenatePaths = _necessary.pathUtilities.concatenatePaths, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory;
33
- function releaseFromReleaseName(releaseName) {
34
- var topmostDirectoryName = releaseName, projectsDirectoryPath = PERIOD_CHARACTER, loadOnlyRecognisedFiles = true, doNotLoadHiddenFilesAndDirectories = true, name = releaseName, entries = entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories), versionNumber = null, release = new _release.default(name, entries, versionNumber);
35
- return release;
36
- }
37
- var _default = {
38
- releaseFromReleaseName: releaseFromReleaseName
39
- };
40
- function directoryFromPath(path, projectsDirectoryPath) {
41
- var directory = null;
42
- try {
43
- var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryDirectory = isEntryDirectory(absolutePath);
44
- if (entryDirectory) {
45
- directory = new _directory.default(path);
46
- }
47
- } catch (error) {
48
- ///
49
- }
50
- return directory;
51
- }
52
- function entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
53
- var array = [], relativeDirectoryPath = topmostDirectoryName; ///
54
- entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories);
55
- var entries = new _entries.default(array);
56
- return entries;
57
- }
58
- function entriesFromRelativeDirectoryPath(array, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories) {
59
- var absoluteDirectoryPath = concatenatePaths(projectsDirectoryPath, relativeDirectoryPath), subEntryNames = readDirectory(absoluteDirectoryPath);
60
- subEntryNames.forEach(function(subEntryName) {
61
- var subEntryNameHiddenName = (0, _name.isNameHiddenName)(subEntryName), subEntryNameNotHiddenName = !subEntryNameHiddenName, loadHiddenFilesAndDirectories = !doNotLoadHiddenFilesAndDirectories, loadUnrecognisedFilesAndDirectories = !loadOnlyRecognisedFiles;
62
- if (subEntryNameNotHiddenName || loadHiddenFilesAndDirectories) {
63
- var entry;
64
- var path = concatenatePaths(relativeDirectoryPath, subEntryName), directory = directoryFromPath(path, projectsDirectoryPath);
65
- if (directory !== null) {
66
- var directoryPath = path; ///
67
- if (loadUnrecognisedFilesAndDirectories) {
68
- entry = directory; ///
69
- array.push(entry); ///
70
- var arrayLength = array.length;
71
- if (arrayLength > _constants.ENTRIES_MAXIMUM_ARRAY_LENGTH) {
72
- throw new Error(_messages.ENTRIES_MAXIMUM_ARRAY_LENGTH_EXCEEDED_MESSAGE);
73
- }
74
- }
75
- entriesFromRelativeDirectoryPath(array, directoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories); ///
76
- } else {
77
- var file = loadFile(path, projectsDirectoryPath);
78
- if (file !== null) {
79
- var filePath = file.getPath(), filePathRecognisedFilePath = (0, _filePath.isFilePathRecognisedFilePath)(filePath), fileRecognisedFile = filePathRecognisedFilePath; ///
80
- if (fileRecognisedFile || loadUnrecognisedFilesAndDirectories) {
81
- entry = file; ///
82
- array.push(entry); ///
83
- var arrayLength1 = array.length;
84
- if (arrayLength1 > _constants.ENTRIES_MAXIMUM_ARRAY_LENGTH) {
85
- throw new Error(_messages.ENTRIES_MAXIMUM_ARRAY_LENGTH_EXCEEDED_MESSAGE);
86
- }
87
- }
88
- }
89
- }
90
- }
91
- });
92
- }
93
-
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGNoYXJhY3RlcnMsIHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XHJcblxyXG5pbXBvcnQgRW50cmllcyBmcm9tIFwiLi4vZW50cmllc1wiO1xyXG5pbXBvcnQgUmVsZWFzZSBmcm9tIFwiLi4vcmVsZWFzZVwiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IGlzTmFtZUhpZGRlbk5hbWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcclxuaW1wb3J0IHsgRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcclxuaW1wb3J0IHsgRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFIH0gZnJvbSBcIi4uL21lc3NhZ2VzXCI7XHJcblxyXG5jb25zdCB7IFBFUklPRF9DSEFSQUNURVIgfSA9IGNoYXJhY3RlcnMsXHJcbiAgICAgIHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRGlyZWN0b3J5LCBpc0VudHJ5RGlyZWN0b3J5IH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbGVhc2VGcm9tUmVsZWFzZU5hbWUocmVsZWFzZU5hbWUpIHtcclxuICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHJlbGVhc2VOYW1lLCAvLy9cclxuICAgICAgICBwcm9qZWN0c0RpcmVjdG9yeVBhdGggPSBQRVJJT0RfQ0hBUkFDVEVSLFxyXG4gICAgICAgIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzID0gdHJ1ZSxcclxuICAgICAgICBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzID0gdHJ1ZSxcclxuICAgICAgICBuYW1lID0gcmVsZWFzZU5hbWUsIC8vL1xyXG4gICAgICAgIGVudHJpZXMgPSBlbnRyaWVzRnJvbVRvcG1vc3REaXJlY3RvcnlOYW1lKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSxcclxuICAgICAgICB2ZXJzaW9uTnVtYmVyID0gbnVsbCwgLy8vXHJcbiAgICAgICAgcmVsZWFzZSA9IG5ldyBSZWxlYXNlKG5hbWUsIGVudHJpZXMsIHZlcnNpb25OdW1iZXIpO1xyXG5cclxuICByZXR1cm4gcmVsZWFzZTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIHJlbGVhc2VGcm9tUmVsZWFzZU5hbWVcclxufTtcclxuXHJcbmZ1bmN0aW9uIGRpcmVjdG9yeUZyb21QYXRoKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBkaXJlY3RvcnkgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgaWYgKGVudHJ5RGlyZWN0b3J5KSB7XHJcbiAgICAgIGRpcmVjdG9yeSA9IG5ldyBEaXJlY3RvcnkocGF0aCk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGRpcmVjdG9yeTtcclxufVxyXG5cclxuZnVuY3Rpb24gZW50cmllc0Zyb21Ub3Btb3N0RGlyZWN0b3J5TmFtZSh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gIGNvbnN0IGFycmF5ID0gW10sXHJcbiAgICAgICAgcmVsYXRpdmVEaXJlY3RvcnlQYXRoID0gdG9wbW9zdERpcmVjdG9yeU5hbWU7ICAvLy9cclxuXHJcbiAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoYXJyYXksIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcyk7XHJcblxyXG4gIGNvbnN0IGVudHJpZXMgPSBuZXcgRW50cmllcyhhcnJheSk7XHJcblxyXG4gIHJldHVybiBlbnRyaWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChhcnJheSwgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgY29uc3QgYWJzb2x1dGVEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkoYWJzb2x1dGVEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgc3ViRW50cnlOYW1lcy5mb3JFYWNoKChzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVOb3RIaWRkZW5OYW1lID0gIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUsXHJcbiAgICAgICAgICBsb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyA9ICFkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzLFxyXG4gICAgICAgICAgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXM7XHJcblxyXG4gICAgaWYgKHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgfHwgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgbGV0IGVudHJ5O1xyXG5cclxuICAgICAgY29uc3QgcGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgICBkaXJlY3RvcnkgPSBkaXJlY3RvcnlGcm9tUGF0aChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKGRpcmVjdG9yeSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBwYXRoOyAvLy9cclxuXHJcbiAgICAgICAgaWYgKGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgICAgICBlbnRyeSA9IGRpcmVjdG9yeTsgIC8vL1xyXG5cclxuICAgICAgICAgIGFycmF5LnB1c2goZW50cnkpOyAgLy8vXHJcblxyXG4gICAgICAgICAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgaWYgKGFycmF5TGVuZ3RoID4gRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoYXJyYXksIGRpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpOyAvLy9cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBmaWxlID0gbG9hZEZpbGUocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICAgICAgaWYgKGZpbGUgIT09IG51bGwpIHtcclxuICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXHJcbiAgICAgICAgICAgICAgICBmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCA9IGlzRmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGgoZmlsZVBhdGgpLFxyXG4gICAgICAgICAgICAgICAgZmlsZVJlY29nbmlzZWRGaWxlID0gZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGg7ICAvLy9cclxuXHJcbiAgICAgICAgICBpZiAoZmlsZVJlY29nbmlzZWRGaWxlIHx8IGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgICAgICAgIGVudHJ5ID0gZmlsZTsgLy8vXHJcblxyXG4gICAgICAgICAgICBhcnJheS5wdXNoKGVudHJ5KTsgIC8vL1xyXG5cclxuICAgICAgICAgICAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgICBpZiAoYXJyYXlMZW5ndGggPiBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIKSB7XHJcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEhfRVhDRUVERURfTUVTU0FHRSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJyZWxlYXNlRnJvbVJlbGVhc2VOYW1lIiwiUEVSSU9EX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsInJlYWREaXJlY3RvcnkiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiaXNFbnRyeURpcmVjdG9yeSIsInJlbGVhc2VOYW1lIiwidG9wbW9zdERpcmVjdG9yeU5hbWUiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJsb2FkT25seVJlY29nbmlzZWRGaWxlcyIsImRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMiLCJuYW1lIiwiZW50cmllcyIsImVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUiLCJ2ZXJzaW9uTnVtYmVyIiwicmVsZWFzZSIsIlJlbGVhc2UiLCJkaXJlY3RvcnlGcm9tUGF0aCIsInBhdGgiLCJkaXJlY3RvcnkiLCJhYnNvbHV0ZVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsIkRpcmVjdG9yeSIsImVycm9yIiwiYXJyYXkiLCJyZWxhdGl2ZURpcmVjdG9yeVBhdGgiLCJlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aCIsIkVudHJpZXMiLCJhYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJzdWJFbnRyeU5hbWVzIiwiZm9yRWFjaCIsInN1YkVudHJ5TmFtZSIsInN1YkVudHJ5TmFtZUhpZGRlbk5hbWUiLCJpc05hbWVIaWRkZW5OYW1lIiwic3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSIsImxvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzIiwibG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMiLCJlbnRyeSIsImRpcmVjdG9yeVBhdGgiLCJwdXNoIiwiYXJyYXlMZW5ndGgiLCJsZW5ndGgiLCJFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIIiwiRXJyb3IiLCJFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UiLCJmaWxlIiwibG9hZEZpbGUiLCJmaWxlUGF0aCIsImdldFBhdGgiLCJmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCIsImlzRmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGgiLCJmaWxlUmVjb2duaXNlZEZpbGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWlCZ0JBLHNCQUFzQjtlQUF0QkE7O0lBYWhCLE9BRUU7ZUFGRjs7O3lCQTVCK0Q7NERBRTNDOzREQUNBOzhEQUNFO29CQUVXO3lCQUNZO3dCQUNBO3dCQUNpQjs7Ozs7O0FBRTlELElBQU0sQUFBRUMsbUJBQXFCQyxxQkFBVSxDQUEvQkQsa0JBQ0YsQUFBRUUsbUJBQXFCQyx3QkFBYSxDQUFsQ0Qsa0JBQ0FFLGdCQUFvQ0MsOEJBQW1CLENBQXZERCxlQUFlRSxtQkFBcUJELDhCQUFtQixDQUF4Q0M7QUFFaEIsU0FBU1AsdUJBQXVCUSxXQUFXLEVBQUU7SUFDbEQsSUFBTUMsdUJBQXVCRCxhQUN2QkUsd0JBQXdCVCxrQkFDeEJVLDBCQUEwQixJQUFJLEVBQzlCQyxxQ0FBcUMsSUFBSSxFQUN6Q0MsT0FBT0wsYUFDUE0sVUFBVUMsZ0NBQWdDTixzQkFBc0JDLHVCQUF1QkMseUJBQXlCQyxxQ0FDaEhJLGdCQUFnQixJQUFJLEVBQ3BCQyxVQUFVLElBQUlDLGdCQUFPLENBQUNMLE1BQU1DLFNBQVNFO0lBRTNDLE9BQU9DO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JqQix3QkFBQUE7QUFDRjtBQUVBLFNBQVNtQixrQkFBa0JDLElBQUksRUFBRVYscUJBQXFCLEVBQUU7SUFDdEQsSUFBSVcsWUFBWSxJQUFJO0lBRXBCLElBQUk7UUFDRixJQUFNQyxlQUFlbkIsaUJBQWlCTyx1QkFBdUJVLE9BQ3ZERyxpQkFBaUJoQixpQkFBaUJlO1FBRXhDLElBQUlDLGdCQUFnQjtZQUNsQkYsWUFBWSxJQUFJRyxrQkFBUyxDQUFDSjtRQUM1QixDQUFDO0lBQ0gsRUFBRSxPQUFPSyxPQUFPO0lBQ2QsR0FBRztJQUNMO0lBRUEsT0FBT0o7QUFDVDtBQUVBLFNBQVNOLGdDQUFnQ04sb0JBQW9CLEVBQUVDLHFCQUFxQixFQUFFQyx1QkFBdUIsRUFBRUMsa0NBQWtDLEVBQUU7SUFDakosSUFBTWMsUUFBUSxFQUFFLEVBQ1ZDLHdCQUF3QmxCLHNCQUF1QixHQUFHO0lBRXhEbUIsaUNBQWlDRixPQUFPQyx1QkFBdUJqQix1QkFBdUJDLHlCQUF5QkM7SUFFL0csSUFBTUUsVUFBVSxJQUFJZSxnQkFBTyxDQUFDSDtJQUU1QixPQUFPWjtBQUNUO0FBRUEsU0FBU2MsaUNBQWlDRixLQUFLLEVBQUVDLHFCQUFxQixFQUFFakIscUJBQXFCLEVBQUVDLHVCQUF1QixFQUFFQyxrQ0FBa0MsRUFBRTtJQUMxSixJQUFNa0Isd0JBQXdCM0IsaUJBQWlCTyx1QkFBdUJpQix3QkFDaEVJLGdCQUFnQjFCLGNBQWN5QjtJQUVwQ0MsY0FBY0MsT0FBTyxDQUFDLFNBQUNDLGNBQWlCO1FBQ3RDLElBQU1DLHlCQUF5QkMsSUFBQUEsc0JBQWdCLEVBQUNGLGVBQzFDRyw0QkFBNEIsQ0FBQ0Ysd0JBQzdCRyxnQ0FBZ0MsQ0FBQ3pCLG9DQUNqQzBCLHNDQUFzQyxDQUFDM0I7UUFFN0MsSUFBSXlCLDZCQUE2QkMsK0JBQStCO1lBQzlELElBQUlFO1lBRUosSUFBTW5CLE9BQU9qQixpQkFBaUJ3Qix1QkFBdUJNLGVBQy9DWixZQUFZRixrQkFBa0JDLE1BQU1WO1lBRTFDLElBQUlXLGNBQWMsSUFBSSxFQUFFO2dCQUN0QixJQUFNbUIsZ0JBQWdCcEIsTUFBTSxHQUFHO2dCQUUvQixJQUFJa0IscUNBQXFDO29CQUN2Q0MsUUFBUWxCLFdBQVksR0FBRztvQkFFdkJLLE1BQU1lLElBQUksQ0FBQ0YsUUFBUyxHQUFHO29CQUV2QixJQUFNRyxjQUFjaEIsTUFBTWlCLE1BQU07b0JBRWhDLElBQUlELGNBQWNFLHVDQUE0QixFQUFFO3dCQUM5QyxNQUFNLElBQUlDLE1BQU1DLHVEQUE2QyxFQUFDO29CQUNoRSxDQUFDO2dCQUNILENBQUM7Z0JBRURsQixpQ0FBaUNGLE9BQU9jLGVBQWU5Qix1QkFBdUJDLHlCQUF5QkMscUNBQXFDLEdBQUc7WUFDakosT0FBTztnQkFDTCxJQUFNbUMsT0FBT0MsU0FBUzVCLE1BQU1WO2dCQUU1QixJQUFJcUMsU0FBUyxJQUFJLEVBQUU7b0JBQ2pCLElBQU1FLFdBQVdGLEtBQUtHLE9BQU8sSUFDdkJDLDZCQUE2QkMsSUFBQUEsc0NBQTRCLEVBQUNILFdBQzFESSxxQkFBcUJGLDRCQUE2QixHQUFHO29CQUUzRCxJQUFJRSxzQkFBc0JmLHFDQUFxQzt3QkFDN0RDLFFBQVFRLE1BQU0sR0FBRzt3QkFFakJyQixNQUFNZSxJQUFJLENBQUNGLFFBQVMsR0FBRzt3QkFFdkIsSUFBTUcsZUFBY2hCLE1BQU1pQixNQUFNO3dCQUVoQyxJQUFJRCxlQUFjRSx1Q0FBNEIsRUFBRTs0QkFDOUMsTUFBTSxJQUFJQyxNQUFNQyx1REFBNkMsRUFBQzt3QkFDaEUsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNIO0FBQ0YifQ==