occam-file-system 5.0.113 → 5.0.114

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.
@@ -22,18 +22,13 @@ var _pathMaps = require("./utilities/pathMaps");
22
22
  var _removeProjectEntries = require("./removeProjectEntries");
23
23
  var concatenatePaths = _necessary.pathUtilities.concatenatePaths, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty;
24
24
  function moveProjectEntries(projectsDirectoryPath, json, callback) {
25
- var pathMaps = json.pathMaps, targetEntryPaths = [], done = function() {
25
+ var pathMaps = json.pathMaps;
26
+ moveEntries(pathMaps, projectsDirectoryPath, function(targetEntryPaths) {
26
27
  var _$json = {
27
28
  targetEntryPaths: targetEntryPaths
28
29
  };
29
30
  callback(_$json);
30
- };
31
- (0, _pathMaps.asynchronousForEach)(pathMaps, function(sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) {
32
- moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, function(sourceEntryPath, targetEntryPath) {
33
- targetEntryPaths.push(targetEntryPath);
34
- next();
35
- });
36
- }, done);
31
+ });
37
32
  }
38
33
  function moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, callback) {
39
34
  if (targetEntryPath === null) {
@@ -48,6 +43,17 @@ function moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, pr
48
43
  }
49
44
  entryDirectory ? moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
50
45
  }
46
+ function moveEntries(pathMaps, projectsDirectoryPath, callback) {
47
+ var targetEntryPaths = [];
48
+ (0, _pathMaps.asynchronousForEach)(pathMaps, function(sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) {
49
+ moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, function(sourceEntryPath, targetEntryPath) {
50
+ targetEntryPaths.push(targetEntryPath);
51
+ next();
52
+ });
53
+ }, function() {
54
+ callback(targetEntryPaths);
55
+ });
56
+ }
51
57
  function moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
52
58
  var sourceFilePath = sourceEntryPath, targetFilePath = targetEntryPath, absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath), absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath), targetFileExists = checkEntryExists(absoluteTargetFilePath);
53
59
  if (targetFileExists) {
@@ -87,4 +93,4 @@ function moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirect
87
93
  });
88
94
  }
89
95
 
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tb3ZlUHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1vdmUsIHJlbW92ZSB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuaW1wb3J0IHsgcmVtb3ZlRW50cnlPcGVyYXRpb24gfSBmcm9tIFwiLi9yZW1vdmVQcm9qZWN0RW50cmllc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRGlyZWN0b3J5RW1wdHkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb24sXG5cdFx0ICAgIHRhcmdldEVudHJ5UGF0aHMgPSBbXSxcbiAgICAgICAgZG9uZSA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBqc29uID0ge1xuICAgICAgICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBjYWxsYmFjayhqc29uKTtcbiAgICAgICAgfTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRvbmVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgaWYgKHRhcmdldEVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgIHJlbW92ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VFbnRyeVBhdGgpLFxuICAgICAgICBzb3VyY2VFbnRyeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgpO1xuXG4gIGlmICghc291cmNlRW50cnlFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIG1vdmVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIDpcbiAgICAgIG1vdmVGaWxlT3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsIC8vL1xuICAgICAgICB0YXJnZXRGaWxlUGF0aCA9IHRhcmdldEVudHJ5UGF0aCwgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRmlsZVBhdGgpLFxuICAgICAgICBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldEZpbGVQYXRoKSxcbiAgICAgICAgdGFyZ2V0RmlsZUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCk7XG5cbiAgaWYgKHRhcmdldEZpbGVFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIG1vdmUoYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCwgYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG1vdmVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRGlyZWN0b3J5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgIC8vL1xuICAgICAgICB0YXJnZXREaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoLCAgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VEaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgc291cmNlRGlyZWN0b3J5RW1wdHkgPSBpc0RpcmVjdG9yeUVtcHR5KGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VEaXJlY3RvcnlFbXB0eSkge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgpLFxuICAgICAgICB0YXJnZXREaXJlY3RvcnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKHRhcmdldERpcmVjdG9yeUV4aXN0cykge1xuICAgIHJlbW92ZShhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBtb3ZlKGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsibW92ZVByb2plY3RFbnRyaWVzIiwibW92ZUVudHJ5T3BlcmF0aW9uIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImlzRGlyZWN0b3J5RW1wdHkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsInRhcmdldEVudHJ5UGF0aHMiLCJkb25lIiwiYXN5bmNocm9ub3VzRm9yRWFjaCIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwibmV4dCIsImluZGV4IiwicHVzaCIsInJlbW92ZUVudHJ5T3BlcmF0aW9uIiwiYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeUV4aXN0cyIsIm1vdmVEaXJlY3RvcnlPcGVyYXRpb24iLCJtb3ZlRmlsZU9wZXJhdGlvbiIsInNvdXJjZUZpbGVQYXRoIiwidGFyZ2V0RmlsZVBhdGgiLCJhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoIiwiYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCIsInRhcmdldEZpbGVFeGlzdHMiLCJtb3ZlIiwiZXJyb3IiLCJzb3VyY2VEaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5UGF0aCIsImFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCIsInNvdXJjZURpcmVjdG9yeUVtcHR5IiwiYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5RXhpc3RzIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFXQSxPQXNCQztlQXRCdUJBOztJQXdCUkMsa0JBQWtCO2VBQWxCQTs7O3VCQWpDYTt5QkFDc0I7d0JBRWY7b0NBQ0M7QUFFckMsSUFBTSxBQUFFQyxtQkFBcUJDLHdCQUFhLENBQWxDRCxrQkFDQUUsbUJBQXVDQyw4QkFBbUIsQ0FBMURELGtCQUFrQkUsbUJBQXFCRCw4QkFBbUIsQ0FBeENDO0FBRVgsU0FBU04sbUJBQW1CTyxxQkFBcUIsRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUU7SUFDaEYsSUFBTSxBQUFFQyxXQUFhRixLQUFiRSxVQUNKQyxtQkFBbUIsRUFBRSxFQUNuQkMsT0FBTyxXQUFNO1FBQ1gsSUFBTUosU0FBTztZQUNYRyxrQkFBQUE7UUFDRjtRQUVBRixTQUFTRDtJQUNYO0lBRU5LLElBQUFBLDZCQUFtQixFQUNqQkgsVUFDQSxTQUFDSSxpQkFBaUJDLGlCQUFpQkMsZ0JBQWdCQyxNQUFNTCxNQUFNTSxPQUFVO1FBQ3ZFakIsbUJBQW1CYSxpQkFBaUJDLGlCQUFpQkMsZ0JBQWdCVCx1QkFBdUIsU0FBQ08saUJBQWlCQyxpQkFBb0I7WUFDaElKLGlCQUFpQlEsSUFBSSxDQUFDSjtZQUV0QkU7UUFDRjtJQUNGLEdBQ0FMO0FBRUo7QUFFTyxTQUFTWCxtQkFBbUJhLGVBQWUsRUFBRUMsZUFBZSxFQUFFQyxjQUFjLEVBQUVULHFCQUFxQixFQUFFRSxRQUFRLEVBQUU7SUFDcEgsSUFBSU0sb0JBQW9CLElBQUksRUFBRTtRQUM1QkssSUFBQUEsMENBQW9CLEVBQUNOLGlCQUFpQkMsaUJBQWlCQyxnQkFBZ0JULHVCQUF1QkU7UUFFOUY7SUFDRixDQUFDO0lBRUQsSUFBTVksMEJBQTBCbkIsaUJBQWlCSyx1QkFBdUJPLGtCQUNsRVEsb0JBQW9CbEIsaUJBQWlCaUI7SUFFM0MsSUFBSSxDQUFDQyxtQkFBbUI7UUFDdEJQLGtCQUFrQixJQUFJO1FBRXRCTixTQUFTSyxpQkFBaUJDO1FBRTFCO0lBQ0YsQ0FBQztJQUVEQyxpQkFDRU8sdUJBQXVCVCxpQkFBaUJDLGlCQUFpQlIsdUJBQXVCRSxZQUM5RWUsa0JBQWtCVixpQkFBaUJDLGlCQUFpQlIsdUJBQXVCRSxTQUFTO0FBQzFGO0FBRUEsU0FBU2Usa0JBQWtCVixlQUFlLEVBQUVDLGVBQWUsRUFBRVIscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUM1RixJQUFNZ0IsaUJBQWlCWCxpQkFDakJZLGlCQUFpQlgsaUJBQ2pCWSx5QkFBeUJ6QixpQkFBaUJLLHVCQUF1QmtCLGlCQUNqRUcseUJBQXlCMUIsaUJBQWlCSyx1QkFBdUJtQixpQkFDakVHLG1CQUFtQnpCLGlCQUFpQndCO0lBRTFDLElBQUlDLGtCQUFrQjtRQUNwQmQsa0JBQWtCRCxpQkFBa0IsR0FBRztRQUV2Q0wsU0FBU0ssaUJBQWlCQztRQUUxQjtJQUNGLENBQUM7SUFFRGUsSUFBQUEsYUFBSSxFQUFDSCx3QkFBd0JDLHdCQUF3QixTQUFDRyxPQUFVO1FBQzlELElBQUlBLE9BQU87WUFDVGhCLGtCQUFrQixJQUFJO1FBQ3hCLENBQUM7UUFFRE4sU0FBU0ssaUJBQWlCQztJQUM1QjtBQUNGO0FBRUEsU0FBU1EsdUJBQXVCVCxlQUFlLEVBQUVDLGVBQWUsRUFBRVIscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUNqRyxJQUFNdUIsc0JBQXNCbEIsaUJBQ3RCbUIsc0JBQXNCbEIsaUJBQ3RCbUIsOEJBQThCaEMsaUJBQWlCSyx1QkFBdUJ5QixzQkFDdEVHLHVCQUF1QjdCLGlCQUFpQjRCO0lBRTlDLElBQUksQ0FBQ0Msc0JBQXNCO1FBQ3pCcEIsa0JBQWtCRCxpQkFBa0IsR0FBRztRQUV2Q0wsU0FBU0ssaUJBQWlCQztRQUUxQjtJQUNGLENBQUM7SUFFRCxJQUFNcUIsOEJBQThCbEMsaUJBQWlCSyx1QkFBdUIwQixzQkFDdEVJLHdCQUF3QmpDLGlCQUFpQmdDO0lBRS9DLElBQUlDLHVCQUF1QjtRQUN6QkMsSUFBQUEsZUFBTSxFQUFDSiw2QkFBNkIsU0FBQ0gsT0FBVTtZQUM3QyxJQUFJQSxPQUFPO2dCQUNUaEIsa0JBQWtCRCxpQkFBa0IsR0FBRztZQUN6QyxDQUFDO1lBRURMLFNBQVNLLGlCQUFpQkM7UUFDNUI7UUFFQTtJQUNGLENBQUM7SUFFRGUsSUFBQUEsYUFBSSxFQUFDSSw2QkFBNkJFLDZCQUE2QixTQUFDTCxPQUFVO1FBQ3hFLElBQUlBLE9BQU87WUFDVGhCLGtCQUFrQkQsaUJBQWtCLEdBQUc7UUFDekMsQ0FBQztRQUVETCxTQUFTSyxpQkFBaUJDO0lBQzVCO0FBQ0YifQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tb3ZlUHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1vdmUsIHJlbW92ZSB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuaW1wb3J0IHsgcmVtb3ZlRW50cnlPcGVyYXRpb24gfSBmcm9tIFwiLi9yZW1vdmVQcm9qZWN0RW50cmllc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRGlyZWN0b3J5RW1wdHkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb247XG5cbiAgbW92ZUVudHJpZXMocGF0aE1hcHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHRhcmdldEVudHJ5UGF0aHMpID0+IHtcbiAgICBjb25zdCBqc29uID0ge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgIH07XG5cbiAgICBjYWxsYmFjayhqc29uKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGlmICh0YXJnZXRFbnRyeVBhdGggPT09IG51bGwpIHtcbiAgICByZW1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRW50cnlQYXRoKSxcbiAgICAgICAgc291cmNlRW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRW50cnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZUVudHJ5RXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGVudHJ5RGlyZWN0b3J5ID9cbiAgICBtb3ZlRGlyZWN0b3J5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA6XG4gICAgICBtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIG1vdmVFbnRyaWVzKHBhdGhNYXBzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHRhcmdldEVudHJ5UGF0aHMgPSBbXTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgICgpID0+IHtcbiAgICAgIGNhbGxiYWNrKHRhcmdldEVudHJ5UGF0aHMpO1xuICAgIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsIC8vL1xuICAgICAgICB0YXJnZXRGaWxlUGF0aCA9IHRhcmdldEVudHJ5UGF0aCwgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRmlsZVBhdGgpLFxuICAgICAgICBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldEZpbGVQYXRoKSxcbiAgICAgICAgdGFyZ2V0RmlsZUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCk7XG5cbiAgaWYgKHRhcmdldEZpbGVFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIG1vdmUoYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCwgYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG1vdmVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRGlyZWN0b3J5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgIC8vL1xuICAgICAgICB0YXJnZXREaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoLCAgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VEaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgc291cmNlRGlyZWN0b3J5RW1wdHkgPSBpc0RpcmVjdG9yeUVtcHR5KGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VEaXJlY3RvcnlFbXB0eSkge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgpLFxuICAgICAgICB0YXJnZXREaXJlY3RvcnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKHRhcmdldERpcmVjdG9yeUV4aXN0cykge1xuICAgIHJlbW92ZShhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBtb3ZlKGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsibW92ZVByb2plY3RFbnRyaWVzIiwibW92ZUVudHJ5T3BlcmF0aW9uIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImlzRGlyZWN0b3J5RW1wdHkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsIm1vdmVFbnRyaWVzIiwidGFyZ2V0RW50cnlQYXRocyIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwicmVtb3ZlRW50cnlPcGVyYXRpb24iLCJhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5RXhpc3RzIiwibW92ZURpcmVjdG9yeU9wZXJhdGlvbiIsIm1vdmVGaWxlT3BlcmF0aW9uIiwiYXN5bmNocm9ub3VzRm9yRWFjaCIsIm5leHQiLCJkb25lIiwiaW5kZXgiLCJwdXNoIiwic291cmNlRmlsZVBhdGgiLCJ0YXJnZXRGaWxlUGF0aCIsImFic29sdXRlU291cmNlRmlsZVBhdGgiLCJhYnNvbHV0ZVRhcmdldEZpbGVQYXRoIiwidGFyZ2V0RmlsZUV4aXN0cyIsIm1vdmUiLCJlcnJvciIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoIiwic291cmNlRGlyZWN0b3J5RW1wdHkiLCJhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlFeGlzdHMiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVdBLE9BVUM7ZUFWdUJBOztJQVlSQyxrQkFBa0I7ZUFBbEJBOzs7dUJBckJhO3lCQUNzQjt3QkFFZjtvQ0FDQztBQUVyQyxJQUFNLEFBQUVDLG1CQUFxQkMsd0JBQWEsQ0FBbENELGtCQUNBRSxtQkFBdUNDLDhCQUFtQixDQUExREQsa0JBQWtCRSxtQkFBcUJELDhCQUFtQixDQUF4Q0M7QUFFWCxTQUFTTixtQkFBbUJPLHFCQUFxQixFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRTtJQUNoRixJQUFNLEFBQUVDLFdBQWFGLEtBQWJFO0lBRVJDLFlBQVlELFVBQVVILHVCQUF1QixTQUFDSyxrQkFBcUI7UUFDakUsSUFBTUosU0FBTztZQUNYSSxrQkFBQUE7UUFDRjtRQUVBSCxTQUFTRDtJQUNYO0FBQ0Y7QUFFTyxTQUFTUCxtQkFBbUJZLGVBQWUsRUFBRUMsZUFBZSxFQUFFQyxjQUFjLEVBQUVSLHFCQUFxQixFQUFFRSxRQUFRLEVBQUU7SUFDcEgsSUFBSUssb0JBQW9CLElBQUksRUFBRTtRQUM1QkUsSUFBQUEsMENBQW9CLEVBQUNILGlCQUFpQkMsaUJBQWlCQyxnQkFBZ0JSLHVCQUF1QkU7UUFFOUY7SUFDRixDQUFDO0lBRUQsSUFBTVEsMEJBQTBCZixpQkFBaUJLLHVCQUF1Qk0sa0JBQ2xFSyxvQkFBb0JkLGlCQUFpQmE7SUFFM0MsSUFBSSxDQUFDQyxtQkFBbUI7UUFDdEJKLGtCQUFrQixJQUFJO1FBRXRCTCxTQUFTSSxpQkFBaUJDO1FBRTFCO0lBQ0YsQ0FBQztJQUVEQyxpQkFDRUksdUJBQXVCTixpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRSxZQUM5RVcsa0JBQWtCUCxpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRSxTQUFTO0FBQzFGO0FBRUEsU0FBU0UsWUFBWUQsUUFBUSxFQUFFSCxxQkFBcUIsRUFBRUUsUUFBUSxFQUFFO0lBQzlELElBQU1HLG1CQUFtQixFQUFFO0lBRTNCUyxJQUFBQSw2QkFBbUIsRUFDakJYLFVBQ0EsU0FBQ0csaUJBQWlCQyxpQkFBaUJDLGdCQUFnQk8sTUFBTUMsTUFBTUMsT0FBVTtRQUN2RXZCLG1CQUFtQlksaUJBQWlCQyxpQkFBaUJDLGdCQUFnQlIsdUJBQXVCLFNBQUNNLGlCQUFpQkMsaUJBQW9CO1lBQ2hJRixpQkFBaUJhLElBQUksQ0FBQ1g7WUFFdEJRO1FBQ0Y7SUFDRixHQUNBLFdBQU07UUFDSmIsU0FBU0c7SUFDWDtBQUVKO0FBRUEsU0FBU1Esa0JBQWtCUCxlQUFlLEVBQUVDLGVBQWUsRUFBRVAscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUM1RixJQUFNaUIsaUJBQWlCYixpQkFDakJjLGlCQUFpQmIsaUJBQ2pCYyx5QkFBeUIxQixpQkFBaUJLLHVCQUF1Qm1CLGlCQUNqRUcseUJBQXlCM0IsaUJBQWlCSyx1QkFBdUJvQixpQkFDakVHLG1CQUFtQjFCLGlCQUFpQnlCO0lBRTFDLElBQUlDLGtCQUFrQjtRQUNwQmhCLGtCQUFrQkQsaUJBQWtCLEdBQUc7UUFFdkNKLFNBQVNJLGlCQUFpQkM7UUFFMUI7SUFDRixDQUFDO0lBRURpQixJQUFBQSxhQUFJLEVBQUNILHdCQUF3QkMsd0JBQXdCLFNBQUNHLE9BQVU7UUFDOUQsSUFBSUEsT0FBTztZQUNUbEIsa0JBQWtCLElBQUk7UUFDeEIsQ0FBQztRQUVETCxTQUFTSSxpQkFBaUJDO0lBQzVCO0FBQ0Y7QUFFQSxTQUFTSyx1QkFBdUJOLGVBQWUsRUFBRUMsZUFBZSxFQUFFUCxxQkFBcUIsRUFBRUUsUUFBUSxFQUFFO0lBQ2pHLElBQU13QixzQkFBc0JwQixpQkFDdEJxQixzQkFBc0JwQixpQkFDdEJxQiw4QkFBOEJqQyxpQkFBaUJLLHVCQUF1QjBCLHNCQUN0RUcsdUJBQXVCOUIsaUJBQWlCNkI7SUFFOUMsSUFBSSxDQUFDQyxzQkFBc0I7UUFDekJ0QixrQkFBa0JELGlCQUFrQixHQUFHO1FBRXZDSixTQUFTSSxpQkFBaUJDO1FBRTFCO0lBQ0YsQ0FBQztJQUVELElBQU11Qiw4QkFBOEJuQyxpQkFBaUJLLHVCQUF1QjJCLHNCQUN0RUksd0JBQXdCbEMsaUJBQWlCaUM7SUFFL0MsSUFBSUMsdUJBQXVCO1FBQ3pCQyxJQUFBQSxlQUFNLEVBQUNKLDZCQUE2QixTQUFDSCxPQUFVO1lBQzdDLElBQUlBLE9BQU87Z0JBQ1RsQixrQkFBa0JELGlCQUFrQixHQUFHO1lBQ3pDLENBQUM7WUFFREosU0FBU0ksaUJBQWlCQztRQUM1QjtRQUVBO0lBQ0YsQ0FBQztJQUVEaUIsSUFBQUEsYUFBSSxFQUFDSSw2QkFBNkJFLDZCQUE2QixTQUFDTCxPQUFVO1FBQ3hFLElBQUlBLE9BQU87WUFDVGxCLGtCQUFrQkQsaUJBQWtCLEdBQUc7UUFDekMsQ0FBQztRQUVESixTQUFTSSxpQkFBaUJDO0lBQzVCO0FBQ0YifQ==
@@ -21,18 +21,13 @@ var _necessary = require("necessary");
21
21
  var _pathMaps = require("./utilities/pathMaps");
22
22
  var concatenatePaths = _necessary.pathUtilities.concatenatePaths, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty;
23
23
  function removeProjectEntries(projectsDirectoryPath, json, callback) {
24
- var pathMaps = json.pathMaps, targetEntryPaths = [], done = function() {
24
+ var pathMaps = json.pathMaps;
25
+ removeEntries(pathMaps, projectsDirectoryPath, function(targetEntryPaths) {
25
26
  var _$json = {
26
27
  targetEntryPaths: targetEntryPaths
27
28
  };
28
29
  callback(_$json);
29
- };
30
- (0, _pathMaps.asynchronousForEach)(pathMaps, function(sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) {
31
- removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, function(sourceEntryPath, targetEntryPath) {
32
- targetEntryPaths.push(targetEntryPath);
33
- next();
34
- });
35
- }, done);
30
+ });
36
31
  }
37
32
  function removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, callback) {
38
33
  var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), sourceEntryExists = checkEntryExists(absoluteSourceEntryPath);
@@ -43,6 +38,17 @@ function removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory,
43
38
  }
44
39
  entryDirectory ? removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
45
40
  }
41
+ function removeEntries(pathMaps, projectsDirectoryPath, callback) {
42
+ var targetEntryPaths = [];
43
+ (0, _pathMaps.asynchronousForEach)(pathMaps, function(sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) {
44
+ removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, function(sourceEntryPath, targetEntryPath) {
45
+ targetEntryPaths.push(targetEntryPath);
46
+ next();
47
+ });
48
+ }, function() {
49
+ callback(targetEntryPaths);
50
+ });
51
+ }
46
52
  function removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
47
53
  var sourceFilePath = sourceEntryPath, absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath);
48
54
  (0, _fsExtra.remove)(absoluteSourceFilePath, function(error) {
@@ -67,4 +73,4 @@ function removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDire
67
73
  });
68
74
  }
69
75
 
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW1vdmVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmVtb3ZlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBhc3luY2hyb25vdXNGb3JFYWNoIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhdGhNYXBzXCI7XG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcbiAgICAgIHsgY2hlY2tFbnRyeUV4aXN0cywgaXNEaXJlY3RvcnlFbXB0eSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVtb3ZlUHJvamVjdEVudHJpZXMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBqc29uLCBjYWxsYmFjaykge1xuICBjb25zdCB7IHBhdGhNYXBzIH0gPSBqc29uLFxuXHRcdCAgICB0YXJnZXRFbnRyeVBhdGhzID0gW10sXG4gICAgICAgIGRvbmUgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3QganNvbiA9IHtcbiAgICAgICAgICAgIHRhcmdldEVudHJ5UGF0aHNcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY2FsbGJhY2soanNvbik7XG4gICAgICAgIH07XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChcbiAgICBwYXRoTWFwcyxcbiAgICAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBuZXh0LCBkb25lLCBpbmRleCkgPT4ge1xuICAgICAgcmVtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRvbmVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VFbnRyeVBhdGgpLFxuICAgICAgICBzb3VyY2VFbnRyeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgpO1xuXG4gIGlmICghc291cmNlRW50cnlFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIHJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgcmVtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsIC8vL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUZpbGVQYXRoKTtcblxuICByZW1vdmUoYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRGlyZWN0b3J5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgIC8vL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHNvdXJjZURpcmVjdG9yeUVtcHR5ID0gaXNEaXJlY3RvcnlFbXB0eShhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgpO1xuXG4gIGlmICghc291cmNlRGlyZWN0b3J5RW1wdHkpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHJlbW92ZShhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJyZW1vdmVQcm9qZWN0RW50cmllcyIsInJlbW92ZUVudHJ5T3BlcmF0aW9uIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImlzRGlyZWN0b3J5RW1wdHkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsInRhcmdldEVudHJ5UGF0aHMiLCJkb25lIiwiYXN5bmNocm9ub3VzRm9yRWFjaCIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwibmV4dCIsImluZGV4IiwicHVzaCIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlFeGlzdHMiLCJyZW1vdmVEaXJlY3RvcnlPcGVyYXRpb24iLCJyZW1vdmVGaWxlT3BlcmF0aW9uIiwic291cmNlRmlsZVBhdGgiLCJhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoIiwicmVtb3ZlIiwiZXJyb3IiLCJzb3VyY2VEaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoIiwic291cmNlRGlyZWN0b3J5RW1wdHkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVVBLE9Bc0JDO2VBdEJ1QkE7O0lBd0JSQyxvQkFBb0I7ZUFBcEJBOzs7dUJBaENPO3lCQUM0Qjt3QkFFZjtBQUVwQyxJQUFNLEFBQUVDLG1CQUFxQkMsd0JBQWEsQ0FBbENELGtCQUNBRSxtQkFBdUNDLDhCQUFtQixDQUExREQsa0JBQWtCRSxtQkFBcUJELDhCQUFtQixDQUF4Q0M7QUFFWCxTQUFTTixxQkFBcUJPLHFCQUFxQixFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRTtJQUNsRixJQUFNLEFBQUVDLFdBQWFGLEtBQWJFLFVBQ0pDLG1CQUFtQixFQUFFLEVBQ25CQyxPQUFPLFdBQU07UUFDWCxJQUFNSixTQUFPO1lBQ1hHLGtCQUFBQTtRQUNGO1FBRUFGLFNBQVNEO0lBQ1g7SUFFTkssSUFBQUEsNkJBQW1CLEVBQ2pCSCxVQUNBLFNBQUNJLGlCQUFpQkMsaUJBQWlCQyxnQkFBZ0JDLE1BQU1MLE1BQU1NLE9BQVU7UUFDdkVqQixxQkFBcUJhLGlCQUFpQkMsaUJBQWlCQyxnQkFBZ0JULHVCQUF1QixTQUFDTyxpQkFBaUJDLGlCQUFvQjtZQUNsSUosaUJBQWlCUSxJQUFJLENBQUNKO1lBRXRCRTtRQUNGO0lBQ0YsR0FDQUw7QUFFSjtBQUVPLFNBQVNYLHFCQUFxQmEsZUFBZSxFQUFFQyxlQUFlLEVBQUVDLGNBQWMsRUFBRVQscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUN0SCxJQUFNVywwQkFBMEJsQixpQkFBaUJLLHVCQUF1Qk8sa0JBQ2xFTyxvQkFBb0JqQixpQkFBaUJnQjtJQUUzQyxJQUFJLENBQUNDLG1CQUFtQjtRQUN0Qk4sa0JBQWtCLElBQUk7UUFFdEJOLFNBQVNLLGlCQUFpQkM7UUFFMUI7SUFDRixDQUFDO0lBRURDLGlCQUNFTSx5QkFBeUJSLGlCQUFpQkMsaUJBQWlCUix1QkFBdUJFLFlBQ2hGYyxvQkFBb0JULGlCQUFpQkMsaUJBQWlCUix1QkFBdUJFLFNBQVM7QUFDNUY7QUFFQSxTQUFTYyxvQkFBb0JULGVBQWUsRUFBRUMsZUFBZSxFQUFFUixxQkFBcUIsRUFBRUUsUUFBUSxFQUFFO0lBQzlGLElBQU1lLGlCQUFpQlYsaUJBQ2pCVyx5QkFBeUJ2QixpQkFBaUJLLHVCQUF1QmlCO0lBRXZFRSxJQUFBQSxlQUFNLEVBQUNELHdCQUF3QixTQUFDRSxPQUFVO1FBQ3hDLElBQUlBLE9BQU87WUFDVFosa0JBQWtCRCxpQkFBa0IsR0FBRztRQUN6QyxDQUFDO1FBRURMLFNBQVNLLGlCQUFpQkM7SUFDNUI7QUFDRjtBQUVBLFNBQVNPLHlCQUF5QlIsZUFBZSxFQUFFQyxlQUFlLEVBQUVSLHFCQUFxQixFQUFFRSxRQUFRLEVBQUU7SUFDbkcsSUFBTW1CLHNCQUFzQmQsaUJBQ3RCZSw4QkFBOEIzQixpQkFBaUJLLHVCQUF1QnFCLHNCQUN0RUUsdUJBQXVCeEIsaUJBQWlCdUI7SUFFOUMsSUFBSSxDQUFDQyxzQkFBc0I7UUFDekJmLGtCQUFrQkQsaUJBQWtCLEdBQUc7UUFFdkNMLFNBQVNLLGlCQUFpQkM7UUFFMUI7SUFDRixDQUFDO0lBRURXLElBQUFBLGVBQU0sRUFBQ0csNkJBQTZCLFNBQUNGLE9BQVU7UUFDN0MsSUFBSUEsT0FBTztZQUNUWixrQkFBa0JELGlCQUFrQixHQUFHO1FBQ3pDLENBQUM7UUFFREwsU0FBU0ssaUJBQWlCQztJQUM1QjtBQUNGIn0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW1vdmVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmVtb3ZlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBhc3luY2hyb25vdXNGb3JFYWNoIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhdGhNYXBzXCI7XG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcbiAgICAgIHsgY2hlY2tFbnRyeUV4aXN0cywgaXNEaXJlY3RvcnlFbXB0eSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVtb3ZlUHJvamVjdEVudHJpZXMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBqc29uLCBjYWxsYmFjaykge1xuICBjb25zdCB7IHBhdGhNYXBzIH0gPSBqc29uO1xuXG4gIHJlbW92ZUVudHJpZXMocGF0aE1hcHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHRhcmdldEVudHJ5UGF0aHMpID0+IHtcbiAgICBjb25zdCBqc29uID0ge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgIH07XG5cbiAgICBjYWxsYmFjayhqc29uKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRW50cnlQYXRoKSxcbiAgICAgICAgc291cmNlRW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRW50cnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZUVudHJ5RXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGVudHJ5RGlyZWN0b3J5ID9cbiAgICByZW1vdmVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIDpcbiAgICAgIHJlbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiByZW1vdmVFbnRyaWVzKHBhdGhNYXBzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHRhcmdldEVudHJ5UGF0aHMgPSBbXTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICByZW1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSA9PiB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aHMucHVzaCh0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgKCkgPT4ge1xuICAgICAgY2FsbGJhY2sodGFyZ2V0RW50cnlQYXRocyk7XG4gICAgfVxuICApO1xufVxuXG5mdW5jdGlvbiByZW1vdmVGaWxlT3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHNvdXJjZUZpbGVQYXRoID0gc291cmNlRW50cnlQYXRoLCAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VGaWxlUGF0aCk7XG5cbiAgcmVtb3ZlKGFic29sdXRlU291cmNlRmlsZVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRGlyZWN0b3J5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHNvdXJjZURpcmVjdG9yeVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpLFxuICAgICAgICBzb3VyY2VEaXJlY3RvcnlFbXB0eSA9IGlzRGlyZWN0b3J5RW1wdHkoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUVtcHR5KSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICByZW1vdmUoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsicmVtb3ZlUHJvamVjdEVudHJpZXMiLCJyZW1vdmVFbnRyeU9wZXJhdGlvbiIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwiY2hlY2tFbnRyeUV4aXN0cyIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJpc0RpcmVjdG9yeUVtcHR5IiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwianNvbiIsImNhbGxiYWNrIiwicGF0aE1hcHMiLCJyZW1vdmVFbnRyaWVzIiwidGFyZ2V0RW50cnlQYXRocyIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwiYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeUV4aXN0cyIsInJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbiIsInJlbW92ZUZpbGVPcGVyYXRpb24iLCJhc3luY2hyb25vdXNGb3JFYWNoIiwibmV4dCIsImRvbmUiLCJpbmRleCIsInB1c2giLCJzb3VyY2VGaWxlUGF0aCIsImFic29sdXRlU291cmNlRmlsZVBhdGgiLCJyZW1vdmUiLCJlcnJvciIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgiLCJzb3VyY2VEaXJlY3RvcnlFbXB0eSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBVUEsT0FVQztlQVZ1QkE7O0lBWVJDLG9CQUFvQjtlQUFwQkE7Ozt1QkFwQk87eUJBQzRCO3dCQUVmO0FBRXBDLElBQU0sQUFBRUMsbUJBQXFCQyx3QkFBYSxDQUFsQ0Qsa0JBQ0FFLG1CQUF1Q0MsOEJBQW1CLENBQTFERCxrQkFBa0JFLG1CQUFxQkQsOEJBQW1CLENBQXhDQztBQUVYLFNBQVNOLHFCQUFxQk8scUJBQXFCLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFO0lBQ2xGLElBQU0sQUFBRUMsV0FBYUYsS0FBYkU7SUFFUkMsY0FBY0QsVUFBVUgsdUJBQXVCLFNBQUNLLGtCQUFxQjtRQUNuRSxJQUFNSixTQUFPO1lBQ1hJLGtCQUFBQTtRQUNGO1FBRUFILFNBQVNEO0lBQ1g7QUFDRjtBQUVPLFNBQVNQLHFCQUFxQlksZUFBZSxFQUFFQyxlQUFlLEVBQUVDLGNBQWMsRUFBRVIscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUN0SCxJQUFNTywwQkFBMEJkLGlCQUFpQkssdUJBQXVCTSxrQkFDbEVJLG9CQUFvQmIsaUJBQWlCWTtJQUUzQyxJQUFJLENBQUNDLG1CQUFtQjtRQUN0Qkgsa0JBQWtCLElBQUk7UUFFdEJMLFNBQVNJLGlCQUFpQkM7UUFFMUI7SUFDRixDQUFDO0lBRURDLGlCQUNFRyx5QkFBeUJMLGlCQUFpQkMsaUJBQWlCUCx1QkFBdUJFLFlBQ2hGVSxvQkFBb0JOLGlCQUFpQkMsaUJBQWlCUCx1QkFBdUJFLFNBQVM7QUFDNUY7QUFFQSxTQUFTRSxjQUFjRCxRQUFRLEVBQUVILHFCQUFxQixFQUFFRSxRQUFRLEVBQUU7SUFDaEUsSUFBTUcsbUJBQW1CLEVBQUU7SUFFM0JRLElBQUFBLDZCQUFtQixFQUNqQlYsVUFDQSxTQUFDRyxpQkFBaUJDLGlCQUFpQkMsZ0JBQWdCTSxNQUFNQyxNQUFNQyxPQUFVO1FBQ3ZFdEIscUJBQXFCWSxpQkFBaUJDLGlCQUFpQkMsZ0JBQWdCUix1QkFBdUIsU0FBQ00saUJBQWlCQyxpQkFBb0I7WUFDbElGLGlCQUFpQlksSUFBSSxDQUFDVjtZQUV0Qk87UUFDRjtJQUNGLEdBQ0EsV0FBTTtRQUNKWixTQUFTRztJQUNYO0FBRUo7QUFFQSxTQUFTTyxvQkFBb0JOLGVBQWUsRUFBRUMsZUFBZSxFQUFFUCxxQkFBcUIsRUFBRUUsUUFBUSxFQUFFO0lBQzlGLElBQU1nQixpQkFBaUJaLGlCQUNqQmEseUJBQXlCeEIsaUJBQWlCSyx1QkFBdUJrQjtJQUV2RUUsSUFBQUEsZUFBTSxFQUFDRCx3QkFBd0IsU0FBQ0UsT0FBVTtRQUN4QyxJQUFJQSxPQUFPO1lBQ1RkLGtCQUFrQkQsaUJBQWtCLEdBQUc7UUFDekMsQ0FBQztRQUVESixTQUFTSSxpQkFBaUJDO0lBQzVCO0FBQ0Y7QUFFQSxTQUFTSSx5QkFBeUJMLGVBQWUsRUFBRUMsZUFBZSxFQUFFUCxxQkFBcUIsRUFBRUUsUUFBUSxFQUFFO0lBQ25HLElBQU1vQixzQkFBc0JoQixpQkFDdEJpQiw4QkFBOEI1QixpQkFBaUJLLHVCQUF1QnNCLHNCQUN0RUUsdUJBQXVCekIsaUJBQWlCd0I7SUFFOUMsSUFBSSxDQUFDQyxzQkFBc0I7UUFDekJqQixrQkFBa0JELGlCQUFrQixHQUFHO1FBRXZDSixTQUFTSSxpQkFBaUJDO1FBRTFCO0lBQ0YsQ0FBQztJQUVEYSxJQUFBQSxlQUFNLEVBQUNHLDZCQUE2QixTQUFDRixPQUFVO1FBQzdDLElBQUlBLE9BQU87WUFDVGQsa0JBQWtCRCxpQkFBa0IsR0FBRztRQUN6QyxDQUFDO1FBRURKLFNBQVNJLGlCQUFpQkM7SUFDNUI7QUFDRiJ9
@@ -61,7 +61,7 @@ function _interopRequireDefault(obj) {
61
61
  default: obj
62
62
  };
63
63
  }
64
- var first = _necessary.arrayUtilities.first, readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory, concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath, topmostDirectoryPathFromPath = _necessary.pathUtilities.topmostDirectoryPathFromPath, pathWithoutTopmostDirectoryNameFromPath = _necessary.pathUtilities.pathWithoutTopmostDirectoryNameFromPath;
64
+ var first = _necessary.arrayUtilities.first, readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory, concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath, topmostDirectoryPathFromPath = _necessary.pathUtilities.topmostDirectoryPathFromPath;
65
65
  function loadFile(path1, projectsDirectoryPath) {
66
66
  var file = null;
67
67
  try {
@@ -265,4 +265,4 @@ function topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath) {
265
265
  return topmostDirectoryNames;
266
266
  }
267
267
 
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMsIHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XHJcblxyXG5pbXBvcnQgRmlsZSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgRmlsZXMgZnJvbSBcIi4uL2ZpbGVzXCI7XHJcbmltcG9ydCBFbnRyaWVzIGZyb20gXCIuLi9lbnRyaWVzXCI7XHJcbmltcG9ydCBQcm9qZWN0IGZyb20gXCIuLi9wcm9qZWN0XCI7XHJcbmltcG9ydCBSZWxlYXNlIGZyb20gXCIuLi9yZWxlYXNlXCI7XHJcbmltcG9ydCBQcm9qZWN0cyBmcm9tIFwiLi4vcHJvamVjdHNcIjtcclxuaW1wb3J0IFJlbGVhc2VzIGZyb20gXCIuLi9yZWxlYXNlc1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IGlzTmFtZUhpZGRlbk5hbWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcclxuaW1wb3J0IHsgaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcclxuaW1wb3J0IHsgY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZW50XCI7XHJcblxyXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcyxcclxuICAgICAgeyBjb25jYXRlbmF0ZVBhdGhzLCB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoLCB0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoLCBwYXRoV2l0aG91dFRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGggfSA9IHBhdGhVdGlsaXRpZXM7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEZpbGUocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGUgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpO1xyXG5cclxuICAgIGlmICh0b3Btb3N0RGlyZWN0b3J5TmFtZSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdERpcmVjdG9yeU5hbWUpLFxyXG4gICAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGZpbGUgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgIGZpbGVGcm9tUHJvamVjdChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIDpcclxuICAgICAgICAgICAgICAgICBmaWxlRnJvbVJlbGVhc2UocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNhdmVGaWxlKGZpbGUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICBjb250ZW50ID0gZmlsZS5nZXRDb250ZW50KCksXHJcbiAgICAgICAgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgIHRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGggPSB0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoKGFic29sdXRlUGF0aCk7XHJcblxyXG4gIG1rZGlycC5zeW5jKHRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB3cml0ZUZpbGUoYWJzb2x1dGVQYXRoLCBjb250ZW50KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlcyhwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGVzID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChwYXRoKTtcclxuXHJcbiAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3REaXJlY3RvcnlOYW1lKSxcclxuICAgICAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgICBmaWxlcyA9IGVudHJ5RGlyZWN0b3J5ID9cclxuICAgICAgICAgICAgICAgIGZpbGVzRnJvbVByb2plY3QocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkgOlxyXG4gICAgICAgICAgICAgICAgICBmaWxlc0Zyb21SZWxlYXNlKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNhdmVGaWxlcyhmaWxlcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgZmlsZXMuZm9yRWFjaEZpbGUoKGZpbGUpID0+IHtcclxuICAgIHNhdmVGaWxlKGZpbGUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkRW50cmllcyh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGNvbnN0IGVudHJpZXMgPSBFbnRyaWVzLmZyb21Ob3RoaW5nKCksXHJcbiAgICAgICAgcmVsYXRpdmVEaXJlY3RvcnlQYXRoID0gdG9wbW9zdERpcmVjdG9yeU5hbWU7ICAvLy9cclxuXHJcbiAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgcmV0dXJuIGVudHJpZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVsZWFzZSh0b3Btb3N0RmlsZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IG5hbWUgPSB0b3Btb3N0RmlsZU5hbWUsIC8vL1xyXG4gICAgICAgICAgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIG5hbWUpLFxyXG4gICAgICAgICAgZW50cnlGaWxlID0gaXNFbnRyeUZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICBpZiAoZW50cnlGaWxlKSB7XHJcbiAgICAgIGxldCBqc29uLFxyXG4gICAgICAgICAgZW50cmllcztcclxuXHJcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAganNvbiA9IEpTT04ucGFyc2UoY29udGVudCk7XHJcblxyXG4gICAgICAoeyBlbnRyaWVzIH0gPSBqc29uKTtcclxuXHJcbiAgICAgIGpzb24gID0gZW50cmllczsgIC8vL1xyXG5cclxuICAgICAgZW50cmllcyA9IEVudHJpZXMuZnJvbUpTT04oanNvbik7XHJcblxyXG4gICAgICByZWxlYXNlID0gUmVsZWFzZS5mcm9tTmFtZUFuZEVudHJpZXMobmFtZSwgZW50cmllcyk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlbGVhc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUHJvamVjdCh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGxldCBwcm9qZWN0ID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IG5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZSwgIC8vL1xyXG4gICAgICAgICAgZW50cmllcyA9IGxvYWRFbnRyaWVzKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgICBwcm9qZWN0ID0gUHJvamVjdC5mcm9tTmFtZUFuZEVudHJpZXMobmFtZSwgZW50cmllcyk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVsZWFzZXMocHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgcmVsZWFzZXMgPSBSZWxlYXNlcy5mcm9tTm90aGluZygpLFxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZXMgPSB0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB0b3Btb3N0RmlsZU5hbWVzLmZvckVhY2goKHRvcG1vc3RGaWxlTmFtZSkgPT4ge1xyXG4gICAgY29uc3QgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBpZiAocmVsZWFzZSAhPT0gbnVsbCkge1xyXG4gICAgICByZWxlYXNlcy5hZGRSZWxlYXNlKHJlbGVhc2UpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gcmVsZWFzZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUHJvamVjdHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGNvbnN0IHByb2plY3RzID0gUHJvamVjdHMuZnJvbU5vdGhpbmcoKSxcclxuICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHRvcG1vc3REaXJlY3RvcnlOYW1lcy5mb3JFYWNoKCh0b3Btb3N0RGlyZWN0b3J5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgICBpZiAocHJvamVjdCAhPT0gbnVsbCkge1xyXG4gICAgICBwcm9qZWN0cy5hZGRQcm9qZWN0KHByb2plY3QpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gcHJvamVjdHM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkRGlyZWN0b3J5KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBkaXJlY3RvcnkgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgaWYgKGVudHJ5RGlyZWN0b3J5KSB7XHJcbiAgICAgIGRpcmVjdG9yeSA9IERpcmVjdG9yeS5mcm9tUGF0aChwYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZGlyZWN0b3J5O1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbG9hZEZpbGUsXHJcbiAgc2F2ZUZpbGUsXHJcbiAgbG9hZEZpbGVzLFxyXG4gIHNhdmVGaWxlcyxcclxuICBsb2FkRW50cmllcyxcclxuICBsb2FkUmVsZWFzZSxcclxuICBsb2FkUHJvamVjdCxcclxuICBsb2FkUmVsZWFzZXMsXHJcbiAgbG9hZFByb2plY3RzLFxyXG4gIGxvYWREaXJlY3RvcnlcclxufTtcclxuXHJcbmZ1bmN0aW9uIGZpbGVGcm9tUHJvamVjdChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZmlsZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICBpZiAoZW50cnlGaWxlKSB7XHJcbiAgICBsZXQgY29udGVudCA9IHJlYWRGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xyXG5cclxuICAgIGZpbGUgPSBGaWxlLmZyb21QYXRoQW5kQ29udGVudChwYXRoLCBjb250ZW50KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlRnJvbVJlbGVhc2UocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpLFxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lLCAvLy9cclxuICAgICAgICByZWxlYXNlID0gbG9hZFJlbGVhc2UodG9wbW9zdEZpbGVOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIGZpbGUgPSByZWxlYXNlLmdldEZpbGUocGF0aCk7XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlc0Zyb21Qcm9qZWN0KHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gIHBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbGVzRnJvbVJlbGVhc2UocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IGZpbGVzID0gRmlsZXMuZnJvbU5vdGhpbmcoKSxcclxuICAgICAgICBwYXRoc0xlbmd0aCA9IHBhdGhzLmxlbmd0aDtcclxuXHJcbiAgaWYgKHBhdGhzTGVuZ3RoID4gMCkge1xyXG4gICAgY29uc3QgZmlyc3RQYXRoID0gZmlyc3QocGF0aHMpLFxyXG4gICAgICAgICAgcGF0aCA9IGZpcnN0UGF0aCwgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCksXHJcbiAgICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZSwgLy8vXHJcbiAgICAgICAgICByZWxlYXNlID0gbG9hZFJlbGVhc2UodG9wbW9zdEZpbGVOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgIHBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcclxuICAgICAgY29uc3QgZmlsZSA9IHJlbGVhc2UuZ2V0RmlsZShwYXRoKTtcclxuXHJcbiAgICAgIGZpbGVzLmFkZEZpbGUoZmlsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlcztcclxufVxyXG5cclxuZnVuY3Rpb24gZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgY29uc3QgYWJzb2x1dGVEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkoYWJzb2x1dGVEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgc3ViRW50cnlOYW1lcy5mb3JFYWNoKChzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyA9ICFsb2FkT25seVJlY29nbmlzZWRGaWxlcztcclxuXHJcbiAgICBpZiAoIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUpIHtcclxuICAgICAgY29uc3QgcGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgICBkaXJlY3RvcnkgPSBsb2FkRGlyZWN0b3J5KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoZGlyZWN0b3J5ICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IHBhdGg7IC8vL1xyXG5cclxuICAgICAgICBpZiAobG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgIGVudHJpZXMuYWRkRGlyZWN0b3J5KGRpcmVjdG9yeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChlbnRyaWVzLCBkaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTsgLy8vXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICAgIGlmIChmaWxlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgICAgICAgICAgZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggPSBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoKGZpbGVQYXRoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVSZWNvZ25pc2VkRmlsZSA9IGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoOyAgLy8vXHJcblxyXG4gICAgICAgICAgaWYgKGZpbGVSZWNvZ25pc2VkRmlsZSB8fCBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgICBlbnRyaWVzLmFkZEZpbGUoZmlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3RGaWxlTmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCB0b3Btb3N0RmlsZU5hbWVzO1xyXG5cclxuICBjb25zdCBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB0b3Btb3N0RmlsZU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3RGaWxlTmFtZXMsIHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgYWJzb2x1dGVTdWJFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSk7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHN1YkVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeUZpbGUpIHtcclxuICAgICAgICBjb25zdCB0b3Btb3N0RmlsZU5hbWUgPSBzdWJFbnRyeU5hbWU7ICAvLy9cclxuXHJcbiAgICAgICAgdG9wbW9zdEZpbGVOYW1lcy5wdXNoKHRvcG1vc3RGaWxlTmFtZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b3Btb3N0RmlsZU5hbWVzO1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgcmV0dXJuIHRvcG1vc3RGaWxlTmFtZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3REaXJlY3RvcnlOYW1lcywgc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVN1YkVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lSGlkZGVuTmFtZSA9IGlzTmFtZUhpZGRlbk5hbWUoc3ViRW50cnlOYW1lKTtcclxuXHJcbiAgICBpZiAoIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUpIHtcclxuICAgICAgY29uc3Qgc3ViRW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3REaXJlY3RvcnlOYW1lcy5wdXNoKHRvcG1vc3REaXJlY3RvcnlOYW1lKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbn1cclxuIl0sIm5hbWVzIjpbImxvYWRGaWxlIiwic2F2ZUZpbGUiLCJsb2FkRmlsZXMiLCJzYXZlRmlsZXMiLCJsb2FkRW50cmllcyIsImxvYWRSZWxlYXNlIiwibG9hZFByb2plY3QiLCJsb2FkUmVsZWFzZXMiLCJsb2FkUHJvamVjdHMiLCJsb2FkRGlyZWN0b3J5IiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInJlYWRGaWxlIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsIndyaXRlRmlsZSIsImlzRW50cnlGaWxlIiwicmVhZERpcmVjdG9yeSIsImlzRW50cnlEaXJlY3RvcnkiLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsInRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgiLCJ0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoIiwicGF0aFdpdGhvdXRUb3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoIiwicGF0aCIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImZpbGUiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZSIsImFic29sdXRlUGF0aCIsImVudHJ5RGlyZWN0b3J5IiwiZmlsZUZyb21Qcm9qZWN0IiwiZmlsZUZyb21SZWxlYXNlIiwiZXJyb3IiLCJnZXRQYXRoIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b3Btb3N0QWJzb2x1dGVEaXJlY3RvcnlQYXRoIiwibWtkaXJwIiwic3luYyIsInBhdGhzIiwiZmlsZXMiLCJmaWxlc0Zyb21Qcm9qZWN0IiwiZmlsZXNGcm9tUmVsZWFzZSIsImZvckVhY2hGaWxlIiwibG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMiLCJlbnRyaWVzIiwiRW50cmllcyIsImZyb21Ob3RoaW5nIiwicmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwiZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgiLCJ0b3Btb3N0RmlsZU5hbWUiLCJyZWxlYXNlIiwibmFtZSIsImVudHJ5RmlsZSIsImpzb24iLCJKU09OIiwicGFyc2UiLCJmcm9tSlNPTiIsIlJlbGVhc2UiLCJmcm9tTmFtZUFuZEVudHJpZXMiLCJwcm9qZWN0IiwiUHJvamVjdCIsInJlbGVhc2VzIiwiUmVsZWFzZXMiLCJ0b3Btb3N0RmlsZU5hbWVzIiwidG9wbW9zdEZpbGVOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJmb3JFYWNoIiwiYWRkUmVsZWFzZSIsInByb2plY3RzIiwiUHJvamVjdHMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoIiwiYWRkUHJvamVjdCIsImRpcmVjdG9yeSIsIkRpcmVjdG9yeSIsImZyb21QYXRoIiwiY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIiwiRmlsZSIsImZyb21QYXRoQW5kQ29udGVudCIsImdldEZpbGUiLCJGaWxlcyIsImFkZEZpbGUiLCJwYXRoc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0UGF0aCIsImFic29sdXRlRGlyZWN0b3J5UGF0aCIsInN1YkVudHJ5TmFtZXMiLCJzdWJFbnRyeU5hbWUiLCJzdWJFbnRyeU5hbWVIaWRkZW5OYW1lIiwiaXNOYW1lSGlkZGVuTmFtZSIsImxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzIiwiZGlyZWN0b3J5UGF0aCIsImFkZERpcmVjdG9yeSIsImZpbGVQYXRoIiwiZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGgiLCJpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiZmlsZVJlY29nbmlzZWRGaWxlIiwicmVkdWNlIiwiYWJzb2x1dGVTdWJFbnRyeVBhdGgiLCJzdWJFbnRyeUZpbGUiLCJwdXNoIiwic3ViRW50cnlEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXVCZ0JBLFFBQVE7ZUFBUkE7O0lBcUJBQyxRQUFRO2VBQVJBOztJQVdBQyxTQUFTO2VBQVRBOztJQXFCQUMsU0FBUztlQUFUQTs7SUFNQUMsV0FBVztlQUFYQTs7SUFTQUMsV0FBVztlQUFYQTs7SUErQkFDLFdBQVc7ZUFBWEE7O0lBZUFDLFlBQVk7ZUFBWkE7O0lBZUFDLFlBQVk7ZUFBWkE7O0lBZUFDLGFBQWE7ZUFBYkE7O0lBaUJoQixPQVdFO2VBWEY7OzsyREF0TG1CO3lCQUVnRDt5REFFbEQ7MERBQ0M7NERBQ0U7NERBQ0E7NERBQ0E7NkRBQ0M7NkRBQ0E7OERBQ0M7b0JBRVc7d0JBQ1k7dUJBQ0U7Ozs7OztBQUUvQyxJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRCxPQUNBRSxXQUFzRUMsOEJBQW1CLENBQXpGRCxVQUFVRSxZQUE0REQsOEJBQW1CLENBQS9FQyxXQUFXQyxjQUFpREYsOEJBQW1CLENBQXBFRSxhQUFhQyxnQkFBb0NILDhCQUFtQixDQUF2REcsZUFBZUMsbUJBQXFCSiw4QkFBbUIsQ0FBeENJLGtCQUNqREMsbUJBQTBIQyx3QkFBYSxDQUF2SUQsa0JBQWtCRSwrQkFBd0dELHdCQUFhLENBQXJIQyw4QkFBOEJDLCtCQUEwRUYsd0JBQWEsQ0FBdkZFLDhCQUE4QkMsMENBQTRDSCx3QkFBYSxDQUF6REc7QUFFL0UsU0FBU3RCLFNBQVN1QixLQUFJLEVBQUVDLHFCQUFxQixFQUFFO0lBQ3BELElBQUlDLE9BQU8sSUFBSTtJQUVmLElBQUk7UUFDRixJQUFNQyx1QkFBdUJOLDZCQUE2Qkc7UUFFMUQsSUFBSUcseUJBQXlCLElBQUksRUFBRTtZQUNqQyxJQUFNQyxlQUFlVCxpQkFBaUJNLHVCQUF1QkUsdUJBQ3ZERSxpQkFBaUJYLGlCQUFpQlU7WUFFeENGLE9BQU9HLGlCQUNFQyxnQkFBZ0JOLE9BQU1DLHlCQUNwQk0sZ0JBQWdCUCxPQUFNQyxzQkFBc0I7UUFDekQsQ0FBQztJQUNILEVBQUUsT0FBT08sT0FBTztJQUNkLEdBQUc7SUFDTDtJQUVBLE9BQU9OO0FBQ1Q7QUFFTyxTQUFTeEIsU0FBU3dCLElBQUksRUFBRUQscUJBQXFCLEVBQUU7SUFDcEQsSUFBTUQsUUFBT0UsS0FBS08sT0FBTyxJQUNuQkMsVUFBVVIsS0FBS1MsVUFBVSxJQUN6QlAsZUFBZVQsaUJBQWlCTSx1QkFBdUJELFFBQ3ZEWSwrQkFBK0JkLDZCQUE2Qk07SUFFbEVTLGVBQU0sQ0FBQ0MsSUFBSSxDQUFDRjtJQUVackIsVUFBVWEsY0FBY007QUFDMUI7QUFFTyxTQUFTL0IsVUFBVW9DLEtBQUssRUFBRWQscUJBQXFCLEVBQUU7SUFDdEQsSUFBSWUsUUFBUSxJQUFJO0lBRWhCLElBQUk7UUFDRixJQUFNYix1QkFBdUJOLDZCQUE2Qkc7UUFFMUQsSUFBSUcseUJBQXlCLElBQUksRUFBRTtZQUNqQyxJQUFNQyxlQUFlVCxpQkFBaUJNLHVCQUF1QkUsdUJBQ3ZERSxpQkFBaUJYLGlCQUFpQlU7WUFFeENZLFFBQVFYLGlCQUNFWSxpQkFBaUJGLE9BQU9kLHlCQUN0QmlCLGlCQUFpQkgsT0FBT2Qsc0JBQXNCO1FBQzVELENBQUM7SUFDSCxFQUFFLE9BQU9PLE9BQU87SUFDZCxHQUFHO0lBQ0w7SUFFQSxPQUFPUTtBQUNUO0FBRU8sU0FBU3BDLFVBQVVvQyxLQUFLLEVBQUVmLHFCQUFxQixFQUFFO0lBQ3REZSxNQUFNRyxXQUFXLENBQUMsU0FBQ2pCLE1BQVM7UUFDMUJ4QixTQUFTd0IsTUFBTUQ7SUFDakI7QUFDRjtBQUVPLFNBQVNwQixZQUFZc0Isb0JBQW9CLEVBQUVGLHFCQUFxQixFQUFFbUIsdUJBQXVCLEVBQUU7SUFDaEcsSUFBTUMsVUFBVUMsZ0JBQU8sQ0FBQ0MsV0FBVyxJQUM3QkMsd0JBQXdCckIsc0JBQXVCLEdBQUc7SUFFeERzQixpQ0FBaUNKLFNBQVNHLHVCQUF1QnZCLHVCQUF1Qm1CO0lBRXhGLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTdkMsWUFBWTRDLGVBQWUsRUFBRXpCLHFCQUFxQixFQUFFO0lBQ2xFLElBQUkwQixVQUFVLElBQUk7SUFFbEIsSUFBSTtRQUNGLElBQU1DLE9BQU9GLGlCQUNQdEIsZUFBZVQsaUJBQWlCTSx1QkFBdUIyQixPQUN2REMsWUFBWXJDLFlBQVlZO1FBRTlCLElBQUl5QixXQUFXO1lBQ2IsSUFBSUMsTUFDQVQ7WUFFSixJQUFNWCxVQUFVckIsU0FBU2U7WUFFekIwQixPQUFPQyxLQUFLQyxLQUFLLENBQUN0QjtZQUVmVyxVQUFZUyxLQUFaVDtZQUVIUyxPQUFRVCxTQUFVLEdBQUc7WUFFckJBLFVBQVVDLGdCQUFPLENBQUNXLFFBQVEsQ0FBQ0g7WUFFM0JILFVBQVVPLGdCQUFPLENBQUNDLGtCQUFrQixDQUFDUCxNQUFNUDtRQUM3QyxDQUFDO0lBQ0gsRUFBRSxPQUFPYixPQUFPO0lBQ2QsR0FBRztJQUNMO0lBRUEsT0FBT21CO0FBQ1Q7QUFFTyxTQUFTNUMsWUFBWW9CLG9CQUFvQixFQUFFRixxQkFBcUIsRUFBRW1CLHVCQUF1QixFQUFFO0lBQ2hHLElBQUlnQixVQUFVLElBQUk7SUFFbEIsSUFBSTtRQUNGLElBQU1SLE9BQU96QixzQkFDUGtCLFVBQVV4QyxZQUFZc0Isc0JBQXNCRix1QkFBdUJtQjtRQUV6RWdCLFVBQVVDLGdCQUFPLENBQUNGLGtCQUFrQixDQUFDUCxNQUFNUDtJQUM3QyxFQUFFLE9BQU9iLE9BQU87SUFDZCxHQUFHO0lBQ0w7SUFFQSxPQUFPNEI7QUFDVDtBQUVPLFNBQVNwRCxhQUFhaUIscUJBQXFCLEVBQUU7SUFDbEQsSUFBTXFDLFdBQVdDLGlCQUFRLENBQUNoQixXQUFXLElBQy9CaUIsbUJBQW1CQywwQ0FBMEN4QztJQUVuRXVDLGlCQUFpQkUsT0FBTyxDQUFDLFNBQUNoQixpQkFBb0I7UUFDNUMsSUFBTUMsVUFBVTdDLFlBQVk0QyxpQkFBaUJ6QjtRQUU3QyxJQUFJMEIsWUFBWSxJQUFJLEVBQUU7WUFDcEJXLFNBQVNLLFVBQVUsQ0FBQ2hCO1FBQ3RCLENBQUM7SUFDSDtJQUVBLE9BQU9XO0FBQ1Q7QUFFTyxTQUFTckQsYUFBYWdCLHFCQUFxQixFQUFFbUIsdUJBQXVCLEVBQUU7SUFDM0UsSUFBTXdCLFdBQVdDLGlCQUFRLENBQUN0QixXQUFXLElBQy9CdUIsd0JBQXdCQywrQ0FBK0M5QztJQUU3RTZDLHNCQUFzQkosT0FBTyxDQUFDLFNBQUN2QyxzQkFBeUI7UUFDdEQsSUFBTWlDLFVBQVVyRCxZQUFZb0Isc0JBQXNCRix1QkFBdUJtQjtRQUV6RSxJQUFJZ0IsWUFBWSxJQUFJLEVBQUU7WUFDcEJRLFNBQVNJLFVBQVUsQ0FBQ1o7UUFDdEIsQ0FBQztJQUNIO0lBRUEsT0FBT1E7QUFDVDtBQUVPLFNBQVMxRCxjQUFjYyxLQUFJLEVBQUVDLHFCQUFxQixFQUFFO0lBQ3pELElBQUlnRCxZQUFZLElBQUk7SUFFcEIsSUFBSTtRQUNGLElBQU03QyxlQUFlVCxpQkFBaUJNLHVCQUF1QkQsUUFDdkRLLGlCQUFpQlgsaUJBQWlCVTtRQUV4QyxJQUFJQyxnQkFBZ0I7WUFDbEI0QyxZQUFZQyxrQkFBUyxDQUFDQyxRQUFRLENBQUNuRDtRQUNqQyxDQUFDO0lBQ0gsRUFBRSxPQUFPUSxPQUFPO0lBQ2QsR0FBRztJQUNMO0lBRUEsT0FBT3lDO0FBQ1Q7SUFFQSxXQUFlO0lBQ2J4RSxVQUFBQTtJQUNBQyxVQUFBQTtJQUNBQyxXQUFBQTtJQUNBQyxXQUFBQTtJQUNBQyxhQUFBQTtJQUNBQyxhQUFBQTtJQUNBQyxhQUFBQTtJQUNBQyxjQUFBQTtJQUNBQyxjQUFBQTtJQUNBQyxlQUFBQTtBQUNGO0FBRUEsU0FBU29CLGdCQUFnQk4sS0FBSSxFQUFFQyxxQkFBcUIsRUFBRTtJQUNwRCxJQUFJQyxPQUFPLElBQUk7SUFFZixJQUFNRSxlQUFlVCxpQkFBaUJNLHVCQUF1QkQsUUFDdkQ2QixZQUFZckMsWUFBWVk7SUFFOUIsSUFBSXlCLFdBQVc7UUFDYixJQUFJbkIsVUFBVXJCLFNBQVNlO1FBRXZCTSxVQUFVMEMsSUFBQUEsdUNBQThCLEVBQUMxQyxVQUFXLEdBQUc7UUFFdkRSLE9BQU9tRCxhQUFJLENBQUNDLGtCQUFrQixDQUFDdEQsT0FBTVU7SUFDdkMsQ0FBQztJQUVELE9BQU9SO0FBQ1Q7QUFFQSxTQUFTSyxnQkFBZ0JQLEtBQUksRUFBRUMscUJBQXFCLEVBQUU7SUFDcEQsSUFBTUUsdUJBQXVCTiw2QkFBNkJHLFFBQ3BEMEIsa0JBQWtCdkIsc0JBQ2xCd0IsVUFBVTdDLFlBQVk0QyxpQkFBaUJ6Qix3QkFDdkNDLE9BQU95QixRQUFRNEIsT0FBTyxDQUFDdkQ7SUFFN0IsT0FBT0U7QUFDVDtBQUVBLFNBQVNlLGlCQUFpQkYsS0FBSyxFQUFFZCxxQkFBcUIsRUFBRTtJQUN0RCxJQUFNZSxRQUFRd0MsY0FBSyxDQUFDakMsV0FBVztJQUUvQlIsTUFBTTJCLE9BQU8sQ0FBQyxTQUFDMUMsT0FBUztRQUN0QixJQUFNRSxPQUFPSSxnQkFBZ0JOLE9BQU1DO1FBRW5DZSxNQUFNeUMsT0FBTyxDQUFDdkQ7SUFDaEI7SUFFQSxPQUFPYztBQUNUO0FBRUEsU0FBU0UsaUJBQWlCSCxLQUFLLEVBQUVkLHFCQUFxQixFQUFFO0lBQ3RELElBQU1lLFFBQVF3QyxjQUFLLENBQUNqQyxXQUFXLElBQ3pCbUMsY0FBYzNDLE1BQU00QyxNQUFNO0lBRWhDLElBQUlELGNBQWMsR0FBRztRQUNuQixJQUFNRSxZQUFZekUsTUFBTTRCLFFBQ2xCZixRQUFPNEQsV0FDUHpELHVCQUF1Qk4sNkJBQTZCRyxRQUNwRDBCLGtCQUFrQnZCLHNCQUNsQndCLFVBQVU3QyxZQUFZNEMsaUJBQWlCekI7UUFFN0NjLE1BQU0yQixPQUFPLENBQUMsU0FBQzFDLE9BQVM7WUFDdEIsSUFBTUUsT0FBT3lCLFFBQVE0QixPQUFPLENBQUN2RDtZQUU3QmdCLE1BQU15QyxPQUFPLENBQUN2RDtRQUNoQjtJQUNGLENBQUM7SUFFRCxPQUFPYztBQUNUO0FBRUEsU0FBU1MsaUNBQWlDSixPQUFPLEVBQUVHLHFCQUFxQixFQUFFdkIscUJBQXFCLEVBQUVtQix1QkFBdUIsRUFBRTtJQUN4SCxJQUFNeUMsd0JBQXdCbEUsaUJBQWlCTSx1QkFBdUJ1Qix3QkFDaEVzQyxnQkFBZ0JyRSxjQUFjb0U7SUFFcENDLGNBQWNwQixPQUFPLENBQUMsU0FBQ3FCLGNBQWlCO1FBQ3RDLElBQU1DLHlCQUF5QkMsSUFBQUEsc0JBQWdCLEVBQUNGLGVBQzFDRyxzQ0FBc0MsQ0FBQzlDO1FBRTdDLElBQUksQ0FBQzRDLHdCQUF3QjtZQUMzQixJQUFNaEUsUUFBT0wsaUJBQWlCNkIsdUJBQXVCdUMsZUFDL0NkLFlBQVkvRCxjQUFjYyxPQUFNQztZQUV0QyxJQUFJZ0QsY0FBYyxJQUFJLEVBQUU7Z0JBQ3RCLElBQU1rQixnQkFBZ0JuRSxPQUFNLEdBQUc7Z0JBRS9CLElBQUlrRSxxQ0FBcUM7b0JBQ3ZDN0MsUUFBUStDLFlBQVksQ0FBQ25CO2dCQUN2QixDQUFDO2dCQUVEeEIsaUNBQWlDSixTQUFTOEMsZUFBZWxFLHVCQUF1Qm1CLDBCQUEwQixHQUFHO1lBQy9HLE9BQU87Z0JBQ0wsSUFBTWxCLE9BQU96QixTQUFTdUIsT0FBTUM7Z0JBRTVCLElBQUlDLFNBQVMsSUFBSSxFQUFFO29CQUNqQixJQUFNbUUsV0FBV25FLEtBQUtPLE9BQU8sSUFDdkI2RCw2QkFBNkJDLElBQUFBLHNDQUE0QixFQUFDRixXQUMxREcscUJBQXFCRiw0QkFBNkIsR0FBRztvQkFFM0QsSUFBSUUsc0JBQXNCTixxQ0FBcUM7d0JBQzdEN0MsUUFBUW9DLE9BQU8sQ0FBQ3ZEO29CQUNsQixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNIO0FBQ0Y7QUFFQSxTQUFTdUMsMENBQTBDeEMscUJBQXFCLEVBQUU7SUFDeEUsSUFBSXVDO0lBRUosSUFBTXNCLGdCQUFnQnJFLGNBQWNRO0lBRXBDdUMsbUJBQW1Cc0IsY0FBY1csTUFBTSxDQUFDLFNBQUNqQyxrQkFBa0J1QixjQUFpQjtRQUMxRSxJQUFNVyx1QkFBdUIvRSxpQkFBaUJNLHVCQUF1QjhELGVBQy9EQyx5QkFBeUJDLElBQUFBLHNCQUFnQixFQUFDRjtRQUVoRCxJQUFJLENBQUNDLHdCQUF3QjtZQUMzQixJQUFNVyxlQUFlbkYsWUFBWWtGO1lBRWpDLElBQUlDLGNBQWM7Z0JBQ2hCLElBQU1qRCxrQkFBa0JxQyxjQUFlLEdBQUc7Z0JBRTFDdkIsaUJBQWlCb0MsSUFBSSxDQUFDbEQ7WUFDeEIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPYztJQUNULEdBQUcsRUFBRTtJQUVMLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTTywrQ0FBK0M5QyxxQkFBcUIsRUFBRTtJQUM3RSxJQUFJNkM7SUFFSixJQUFNZ0IsZ0JBQWdCckUsY0FBY1E7SUFFcEM2Qyx3QkFBd0JnQixjQUFjVyxNQUFNLENBQUMsU0FBQzNCLHVCQUF1QmlCLGNBQWlCO1FBQ3BGLElBQU1XLHVCQUF1Qi9FLGlCQUFpQk0sdUJBQXVCOEQsZUFDL0RDLHlCQUF5QkMsSUFBQUEsc0JBQWdCLEVBQUNGO1FBRWhELElBQUksQ0FBQ0Msd0JBQXdCO1lBQzNCLElBQU1hLG9CQUFvQm5GLGlCQUFpQmdGO1lBRTNDLElBQUlHLG1CQUFtQjtnQkFDckIsSUFBTTFFLHVCQUF1QjRELGNBQWUsR0FBRztnQkFFL0NqQixzQkFBc0I4QixJQUFJLENBQUN6RTtZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8yQztJQUNULEdBQUcsRUFBRTtJQUVMLE9BQU9BO0FBQ1QifQ==
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMsIHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XHJcblxyXG5pbXBvcnQgRmlsZSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgRmlsZXMgZnJvbSBcIi4uL2ZpbGVzXCI7XHJcbmltcG9ydCBFbnRyaWVzIGZyb20gXCIuLi9lbnRyaWVzXCI7XHJcbmltcG9ydCBQcm9qZWN0IGZyb20gXCIuLi9wcm9qZWN0XCI7XHJcbmltcG9ydCBSZWxlYXNlIGZyb20gXCIuLi9yZWxlYXNlXCI7XHJcbmltcG9ydCBQcm9qZWN0cyBmcm9tIFwiLi4vcHJvamVjdHNcIjtcclxuaW1wb3J0IFJlbGVhc2VzIGZyb20gXCIuLi9yZWxlYXNlc1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IGlzTmFtZUhpZGRlbk5hbWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcclxuaW1wb3J0IHsgaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcclxuaW1wb3J0IHsgY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZW50XCI7XHJcblxyXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcyxcclxuICAgICAgeyBjb25jYXRlbmF0ZVBhdGhzLCB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoLCB0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoIH0gPSBwYXRoVXRpbGl0aWVzO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChwYXRoKTtcclxuXHJcbiAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3REaXJlY3RvcnlOYW1lKSxcclxuICAgICAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgICBmaWxlID0gZW50cnlEaXJlY3RvcnkgP1xyXG4gICAgICAgICAgICAgICBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSA6XHJcbiAgICAgICAgICAgICAgICAgZmlsZUZyb21SZWxlYXNlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZpbGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBwYXRoID0gZmlsZS5nZXRQYXRoKCksXHJcbiAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgIGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICB0b3Btb3N0QWJzb2x1dGVEaXJlY3RvcnlQYXRoID0gdG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aChhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICBta2RpcnAuc3luYyh0b3Btb3N0QWJzb2x1dGVEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgd3JpdGVGaWxlKGFic29sdXRlUGF0aCwgY29udGVudCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkRmlsZXMocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlcyA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCk7XHJcblxyXG4gICAgaWYgKHRvcG1vc3REaXJlY3RvcnlOYW1lICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCB0b3Btb3N0RGlyZWN0b3J5TmFtZSksXHJcbiAgICAgICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgZmlsZXMgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgICBmaWxlc0Zyb21Qcm9qZWN0KHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIDpcclxuICAgICAgICAgICAgICAgICAgZmlsZXNGcm9tUmVsZWFzZShwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZXMoZmlsZXMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGZpbGVzLmZvckVhY2hGaWxlKChmaWxlKSA9PiB7XHJcbiAgICBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEVudHJpZXModG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBjb25zdCBlbnRyaWVzID0gRW50cmllcy5mcm9tTm90aGluZygpLFxyXG4gICAgICAgIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlOYW1lOyAgLy8vXHJcblxyXG4gIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGVudHJpZXMsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gIHJldHVybiBlbnRyaWVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2UodG9wbW9zdEZpbGVOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgcmVsZWFzZSA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBuYW1lID0gdG9wbW9zdEZpbGVOYW1lLCAvLy9cclxuICAgICAgICAgIGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBuYW1lKSxcclxuICAgICAgICAgIGVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgaWYgKGVudHJ5RmlsZSkge1xyXG4gICAgICBsZXQganNvbixcclxuICAgICAgICAgIGVudHJpZXM7XHJcblxyXG4gICAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGpzb24gPSBKU09OLnBhcnNlKGNvbnRlbnQpO1xyXG5cclxuICAgICAgKHsgZW50cmllcyB9ID0ganNvbik7XHJcblxyXG4gICAgICBqc29uICA9IGVudHJpZXM7ICAvLy9cclxuXHJcbiAgICAgIGVudHJpZXMgPSBFbnRyaWVzLmZyb21KU09OKGpzb24pO1xyXG5cclxuICAgICAgcmVsZWFzZSA9IFJlbGVhc2UuZnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiByZWxlYXNlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2plY3QodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBsZXQgcHJvamVjdCA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBuYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWUsICAvLy9cclxuICAgICAgICAgIGVudHJpZXMgPSBsb2FkRW50cmllcyh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gICAgcHJvamVjdCA9IFByb2plY3QuZnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2VzKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHJlbGVhc2VzID0gUmVsZWFzZXMuZnJvbU5vdGhpbmcoKSxcclxuICAgICAgICB0b3Btb3N0RmlsZU5hbWVzID0gdG9wbW9zdEZpbGVOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdEZpbGVOYW1lcy5mb3JFYWNoKCh0b3Btb3N0RmlsZU5hbWUpID0+IHtcclxuICAgIGNvbnN0IHJlbGVhc2UgPSBsb2FkUmVsZWFzZSh0b3Btb3N0RmlsZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgaWYgKHJlbGVhc2UgIT09IG51bGwpIHtcclxuICAgICAgcmVsZWFzZXMuYWRkUmVsZWFzZShyZWxlYXNlKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHJlbGVhc2VzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2plY3RzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBjb25zdCBwcm9qZWN0cyA9IFByb2plY3RzLmZyb21Ob3RoaW5nKCksXHJcbiAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMuZm9yRWFjaCgodG9wbW9zdERpcmVjdG9yeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IHByb2plY3QgPSBsb2FkUHJvamVjdCh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gICAgaWYgKHByb2plY3QgIT09IG51bGwpIHtcclxuICAgICAgcHJvamVjdHMuYWRkUHJvamVjdChwcm9qZWN0KTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHByb2plY3RzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZERpcmVjdG9yeShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZGlyZWN0b3J5ID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICBkaXJlY3RvcnkgPSBEaXJlY3RvcnkuZnJvbVBhdGgocGF0aCk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGRpcmVjdG9yeTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGxvYWRGaWxlLFxyXG4gIHNhdmVGaWxlLFxyXG4gIGxvYWRGaWxlcyxcclxuICBzYXZlRmlsZXMsXHJcbiAgbG9hZEVudHJpZXMsXHJcbiAgbG9hZFJlbGVhc2UsXHJcbiAgbG9hZFByb2plY3QsXHJcbiAgbG9hZFJlbGVhc2VzLFxyXG4gIGxvYWRQcm9qZWN0cyxcclxuICBsb2FkRGlyZWN0b3J5XHJcbn07XHJcblxyXG5mdW5jdGlvbiBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGUgPSBudWxsO1xyXG5cclxuICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgZW50cnlGaWxlID0gaXNFbnRyeUZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgaWYgKGVudHJ5RmlsZSkge1xyXG4gICAgbGV0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGNvbnRlbnQgPSBjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UoY29udGVudCk7ICAvLy9cclxuXHJcbiAgICBmaWxlID0gRmlsZS5mcm9tUGF0aEFuZENvbnRlbnQocGF0aCwgY29udGVudCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZUZyb21SZWxlYXNlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChwYXRoKSxcclxuICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZSwgLy8vXHJcbiAgICAgICAgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICBmaWxlID0gcmVsZWFzZS5nZXRGaWxlKHBhdGgpO1xyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZXNGcm9tUHJvamVjdChwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgZmlsZXMgPSBGaWxlcy5mcm9tTm90aGluZygpO1xyXG5cclxuICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlID0gZmlsZUZyb21Qcm9qZWN0KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlc0Zyb21SZWxlYXNlKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCksXHJcbiAgICAgICAgcGF0aHNMZW5ndGggPSBwYXRocy5sZW5ndGg7XHJcblxyXG4gIGlmIChwYXRoc0xlbmd0aCA+IDApIHtcclxuICAgIGNvbnN0IGZpcnN0UGF0aCA9IGZpcnN0KHBhdGhzKSxcclxuICAgICAgICAgIHBhdGggPSBmaXJzdFBhdGgsIC8vL1xyXG4gICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpLFxyXG4gICAgICAgICAgdG9wbW9zdEZpbGVOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWUsIC8vL1xyXG4gICAgICAgICAgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSByZWxlYXNlLmdldEZpbGUocGF0aCk7XHJcblxyXG4gICAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGVudHJpZXMsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGNvbnN0IGFic29sdXRlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KGFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHN1YkVudHJ5TmFtZXMuZm9yRWFjaCgoc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXM7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgICAgZGlyZWN0b3J5ID0gbG9hZERpcmVjdG9yeShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKGRpcmVjdG9yeSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBwYXRoOyAvLy9cclxuXHJcbiAgICAgICAgaWYgKGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgICAgICBlbnRyaWVzLmFkZERpcmVjdG9yeShkaXJlY3RvcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgZGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7IC8vL1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoID0gaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aChmaWxlUGF0aCksXHJcbiAgICAgICAgICAgICAgICBmaWxlUmVjb2duaXNlZEZpbGUgPSBmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aDsgIC8vL1xyXG5cclxuICAgICAgICAgIGlmIChmaWxlUmVjb2duaXNlZEZpbGUgfHwgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgICAgZW50cmllcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgdG9wbW9zdEZpbGVOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdEZpbGVOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RmlsZU5hbWVzLCBzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IGFic29sdXRlU3ViRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpO1xyXG5cclxuICAgIGlmICghc3ViRW50cnlOYW1lSGlkZGVuTmFtZSkge1xyXG4gICAgICBjb25zdCBzdWJFbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgdG9wbW9zdEZpbGVOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZXMucHVzaCh0b3Btb3N0RmlsZU5hbWUpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9wbW9zdEZpbGVOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RmlsZU5hbWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcblxyXG4gIGNvbnN0IHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RGlyZWN0b3J5TmFtZXMsIHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgYWJzb2x1dGVTdWJFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSk7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHN1YkVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlEaXJlY3RvcnkpIHtcclxuICAgICAgICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHN1YkVudHJ5TmFtZTsgIC8vL1xyXG5cclxuICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMucHVzaCh0b3Btb3N0RGlyZWN0b3J5TmFtZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbiAgfSwgW10pO1xyXG5cclxuICByZXR1cm4gdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJsb2FkRmlsZSIsInNhdmVGaWxlIiwibG9hZEZpbGVzIiwic2F2ZUZpbGVzIiwibG9hZEVudHJpZXMiLCJsb2FkUmVsZWFzZSIsImxvYWRQcm9qZWN0IiwibG9hZFJlbGVhc2VzIiwibG9hZFByb2plY3RzIiwibG9hZERpcmVjdG9yeSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJ3cml0ZUZpbGUiLCJpc0VudHJ5RmlsZSIsInJlYWREaXJlY3RvcnkiLCJpc0VudHJ5RGlyZWN0b3J5IiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoIiwidG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aCIsInBhdGgiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJmaWxlIiwidG9wbW9zdERpcmVjdG9yeU5hbWUiLCJhYnNvbHV0ZVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsImZpbGVGcm9tUHJvamVjdCIsImZpbGVGcm9tUmVsZWFzZSIsImVycm9yIiwiZ2V0UGF0aCIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCIsIm1rZGlycCIsInN5bmMiLCJwYXRocyIsImZpbGVzIiwiZmlsZXNGcm9tUHJvamVjdCIsImZpbGVzRnJvbVJlbGVhc2UiLCJmb3JFYWNoRmlsZSIsImxvYWRPbmx5UmVjb2duaXNlZEZpbGVzIiwiZW50cmllcyIsIkVudHJpZXMiLCJmcm9tTm90aGluZyIsInJlbGF0aXZlRGlyZWN0b3J5UGF0aCIsImVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwidG9wbW9zdEZpbGVOYW1lIiwicmVsZWFzZSIsIm5hbWUiLCJlbnRyeUZpbGUiLCJqc29uIiwiSlNPTiIsInBhcnNlIiwiZnJvbUpTT04iLCJSZWxlYXNlIiwiZnJvbU5hbWVBbmRFbnRyaWVzIiwicHJvamVjdCIsIlByb2plY3QiLCJyZWxlYXNlcyIsIlJlbGVhc2VzIiwidG9wbW9zdEZpbGVOYW1lcyIsInRvcG1vc3RGaWxlTmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoIiwiZm9yRWFjaCIsImFkZFJlbGVhc2UiLCJwcm9qZWN0cyIsIlByb2plY3RzIiwidG9wbW9zdERpcmVjdG9yeU5hbWVzIiwidG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aCIsImFkZFByb2plY3QiLCJkaXJlY3RvcnkiLCJEaXJlY3RvcnkiLCJmcm9tUGF0aCIsImNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZSIsIkZpbGUiLCJmcm9tUGF0aEFuZENvbnRlbnQiLCJnZXRGaWxlIiwiRmlsZXMiLCJhZGRGaWxlIiwicGF0aHNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdFBhdGgiLCJhYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJzdWJFbnRyeU5hbWVzIiwic3ViRW50cnlOYW1lIiwic3ViRW50cnlOYW1lSGlkZGVuTmFtZSIsImlzTmFtZUhpZGRlbk5hbWUiLCJsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyIsImRpcmVjdG9yeVBhdGgiLCJhZGREaXJlY3RvcnkiLCJmaWxlUGF0aCIsImZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCIsImZpbGVSZWNvZ25pc2VkRmlsZSIsInJlZHVjZSIsImFic29sdXRlU3ViRW50cnlQYXRoIiwic3ViRW50cnlGaWxlIiwicHVzaCIsInN1YkVudHJ5RGlyZWN0b3J5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUF1QmdCQSxRQUFRO2VBQVJBOztJQXFCQUMsUUFBUTtlQUFSQTs7SUFXQUMsU0FBUztlQUFUQTs7SUFxQkFDLFNBQVM7ZUFBVEE7O0lBTUFDLFdBQVc7ZUFBWEE7O0lBU0FDLFdBQVc7ZUFBWEE7O0lBK0JBQyxXQUFXO2VBQVhBOztJQWVBQyxZQUFZO2VBQVpBOztJQWVBQyxZQUFZO2VBQVpBOztJQWVBQyxhQUFhO2VBQWJBOztJQWlCaEIsT0FXRTtlQVhGOzs7MkRBdExtQjt5QkFFZ0Q7eURBRWxEOzBEQUNDOzREQUNFOzREQUNBOzREQUNBOzZEQUNDOzZEQUNBOzhEQUNDO29CQUVXO3dCQUNZO3VCQUNFOzs7Ozs7QUFFL0MsSUFBTSxBQUFFQyxRQUFVQyx5QkFBYyxDQUF4QkQsT0FDQUUsV0FBc0VDLDhCQUFtQixDQUF6RkQsVUFBVUUsWUFBNERELDhCQUFtQixDQUEvRUMsV0FBV0MsY0FBaURGLDhCQUFtQixDQUFwRUUsYUFBYUMsZ0JBQW9DSCw4QkFBbUIsQ0FBdkRHLGVBQWVDLG1CQUFxQkosOEJBQW1CLENBQXhDSSxrQkFDakRDLG1CQUFpRkMsd0JBQWEsQ0FBOUZELGtCQUFrQkUsK0JBQStERCx3QkFBYSxDQUE1RUMsOEJBQThCQywrQkFBaUNGLHdCQUFhLENBQTlDRTtBQUVqRCxTQUFTckIsU0FBU3NCLEtBQUksRUFBRUMscUJBQXFCLEVBQUU7SUFDcEQsSUFBSUMsT0FBTyxJQUFJO0lBRWYsSUFBSTtRQUNGLElBQU1DLHVCQUF1QkwsNkJBQTZCRTtRQUUxRCxJQUFJRyx5QkFBeUIsSUFBSSxFQUFFO1lBQ2pDLElBQU1DLGVBQWVSLGlCQUFpQkssdUJBQXVCRSx1QkFDdkRFLGlCQUFpQlYsaUJBQWlCUztZQUV4Q0YsT0FBT0csaUJBQ0VDLGdCQUFnQk4sT0FBTUMseUJBQ3BCTSxnQkFBZ0JQLE9BQU1DLHNCQUFzQjtRQUN6RCxDQUFDO0lBQ0gsRUFBRSxPQUFPTyxPQUFPO0lBQ2QsR0FBRztJQUNMO0lBRUEsT0FBT047QUFDVDtBQUVPLFNBQVN2QixTQUFTdUIsSUFBSSxFQUFFRCxxQkFBcUIsRUFBRTtJQUNwRCxJQUFNRCxRQUFPRSxLQUFLTyxPQUFPLElBQ25CQyxVQUFVUixLQUFLUyxVQUFVLElBQ3pCUCxlQUFlUixpQkFBaUJLLHVCQUF1QkQsUUFDdkRZLCtCQUErQmIsNkJBQTZCSztJQUVsRVMsZUFBTSxDQUFDQyxJQUFJLENBQUNGO0lBRVpwQixVQUFVWSxjQUFjTTtBQUMxQjtBQUVPLFNBQVM5QixVQUFVbUMsS0FBSyxFQUFFZCxxQkFBcUIsRUFBRTtJQUN0RCxJQUFJZSxRQUFRLElBQUk7SUFFaEIsSUFBSTtRQUNGLElBQU1iLHVCQUF1QkwsNkJBQTZCRTtRQUUxRCxJQUFJRyx5QkFBeUIsSUFBSSxFQUFFO1lBQ2pDLElBQU1DLGVBQWVSLGlCQUFpQkssdUJBQXVCRSx1QkFDdkRFLGlCQUFpQlYsaUJBQWlCUztZQUV4Q1ksUUFBUVgsaUJBQ0VZLGlCQUFpQkYsT0FBT2QseUJBQ3RCaUIsaUJBQWlCSCxPQUFPZCxzQkFBc0I7UUFDNUQsQ0FBQztJQUNILEVBQUUsT0FBT08sT0FBTztJQUNkLEdBQUc7SUFDTDtJQUVBLE9BQU9RO0FBQ1Q7QUFFTyxTQUFTbkMsVUFBVW1DLEtBQUssRUFBRWYscUJBQXFCLEVBQUU7SUFDdERlLE1BQU1HLFdBQVcsQ0FBQyxTQUFDakIsTUFBUztRQUMxQnZCLFNBQVN1QixNQUFNRDtJQUNqQjtBQUNGO0FBRU8sU0FBU25CLFlBQVlxQixvQkFBb0IsRUFBRUYscUJBQXFCLEVBQUVtQix1QkFBdUIsRUFBRTtJQUNoRyxJQUFNQyxVQUFVQyxnQkFBTyxDQUFDQyxXQUFXLElBQzdCQyx3QkFBd0JyQixzQkFBdUIsR0FBRztJQUV4RHNCLGlDQUFpQ0osU0FBU0csdUJBQXVCdkIsdUJBQXVCbUI7SUFFeEYsT0FBT0M7QUFDVDtBQUVPLFNBQVN0QyxZQUFZMkMsZUFBZSxFQUFFekIscUJBQXFCLEVBQUU7SUFDbEUsSUFBSTBCLFVBQVUsSUFBSTtJQUVsQixJQUFJO1FBQ0YsSUFBTUMsT0FBT0YsaUJBQ1B0QixlQUFlUixpQkFBaUJLLHVCQUF1QjJCLE9BQ3ZEQyxZQUFZcEMsWUFBWVc7UUFFOUIsSUFBSXlCLFdBQVc7WUFDYixJQUFJQyxNQUNBVDtZQUVKLElBQU1YLFVBQVVwQixTQUFTYztZQUV6QjBCLE9BQU9DLEtBQUtDLEtBQUssQ0FBQ3RCO1lBRWZXLFVBQVlTLEtBQVpUO1lBRUhTLE9BQVFULFNBQVUsR0FBRztZQUVyQkEsVUFBVUMsZ0JBQU8sQ0FBQ1csUUFBUSxDQUFDSDtZQUUzQkgsVUFBVU8sZ0JBQU8sQ0FBQ0Msa0JBQWtCLENBQUNQLE1BQU1QO1FBQzdDLENBQUM7SUFDSCxFQUFFLE9BQU9iLE9BQU87SUFDZCxHQUFHO0lBQ0w7SUFFQSxPQUFPbUI7QUFDVDtBQUVPLFNBQVMzQyxZQUFZbUIsb0JBQW9CLEVBQUVGLHFCQUFxQixFQUFFbUIsdUJBQXVCLEVBQUU7SUFDaEcsSUFBSWdCLFVBQVUsSUFBSTtJQUVsQixJQUFJO1FBQ0YsSUFBTVIsT0FBT3pCLHNCQUNQa0IsVUFBVXZDLFlBQVlxQixzQkFBc0JGLHVCQUF1Qm1CO1FBRXpFZ0IsVUFBVUMsZ0JBQU8sQ0FBQ0Ysa0JBQWtCLENBQUNQLE1BQU1QO0lBQzdDLEVBQUUsT0FBT2IsT0FBTztJQUNkLEdBQUc7SUFDTDtJQUVBLE9BQU80QjtBQUNUO0FBRU8sU0FBU25ELGFBQWFnQixxQkFBcUIsRUFBRTtJQUNsRCxJQUFNcUMsV0FBV0MsaUJBQVEsQ0FBQ2hCLFdBQVcsSUFDL0JpQixtQkFBbUJDLDBDQUEwQ3hDO0lBRW5FdUMsaUJBQWlCRSxPQUFPLENBQUMsU0FBQ2hCLGlCQUFvQjtRQUM1QyxJQUFNQyxVQUFVNUMsWUFBWTJDLGlCQUFpQnpCO1FBRTdDLElBQUkwQixZQUFZLElBQUksRUFBRTtZQUNwQlcsU0FBU0ssVUFBVSxDQUFDaEI7UUFDdEIsQ0FBQztJQUNIO0lBRUEsT0FBT1c7QUFDVDtBQUVPLFNBQVNwRCxhQUFhZSxxQkFBcUIsRUFBRW1CLHVCQUF1QixFQUFFO0lBQzNFLElBQU13QixXQUFXQyxpQkFBUSxDQUFDdEIsV0FBVyxJQUMvQnVCLHdCQUF3QkMsK0NBQStDOUM7SUFFN0U2QyxzQkFBc0JKLE9BQU8sQ0FBQyxTQUFDdkMsc0JBQXlCO1FBQ3RELElBQU1pQyxVQUFVcEQsWUFBWW1CLHNCQUFzQkYsdUJBQXVCbUI7UUFFekUsSUFBSWdCLFlBQVksSUFBSSxFQUFFO1lBQ3BCUSxTQUFTSSxVQUFVLENBQUNaO1FBQ3RCLENBQUM7SUFDSDtJQUVBLE9BQU9RO0FBQ1Q7QUFFTyxTQUFTekQsY0FBY2EsS0FBSSxFQUFFQyxxQkFBcUIsRUFBRTtJQUN6RCxJQUFJZ0QsWUFBWSxJQUFJO0lBRXBCLElBQUk7UUFDRixJQUFNN0MsZUFBZVIsaUJBQWlCSyx1QkFBdUJELFFBQ3ZESyxpQkFBaUJWLGlCQUFpQlM7UUFFeEMsSUFBSUMsZ0JBQWdCO1lBQ2xCNEMsWUFBWUMsa0JBQVMsQ0FBQ0MsUUFBUSxDQUFDbkQ7UUFDakMsQ0FBQztJQUNILEVBQUUsT0FBT1EsT0FBTztJQUNkLEdBQUc7SUFDTDtJQUVBLE9BQU95QztBQUNUO0lBRUEsV0FBZTtJQUNidkUsVUFBQUE7SUFDQUMsVUFBQUE7SUFDQUMsV0FBQUE7SUFDQUMsV0FBQUE7SUFDQUMsYUFBQUE7SUFDQUMsYUFBQUE7SUFDQUMsYUFBQUE7SUFDQUMsY0FBQUE7SUFDQUMsY0FBQUE7SUFDQUMsZUFBQUE7QUFDRjtBQUVBLFNBQVNtQixnQkFBZ0JOLEtBQUksRUFBRUMscUJBQXFCLEVBQUU7SUFDcEQsSUFBSUMsT0FBTyxJQUFJO0lBRWYsSUFBTUUsZUFBZVIsaUJBQWlCSyx1QkFBdUJELFFBQ3ZENkIsWUFBWXBDLFlBQVlXO0lBRTlCLElBQUl5QixXQUFXO1FBQ2IsSUFBSW5CLFVBQVVwQixTQUFTYztRQUV2Qk0sVUFBVTBDLElBQUFBLHVDQUE4QixFQUFDMUMsVUFBVyxHQUFHO1FBRXZEUixPQUFPbUQsYUFBSSxDQUFDQyxrQkFBa0IsQ0FBQ3RELE9BQU1VO0lBQ3ZDLENBQUM7SUFFRCxPQUFPUjtBQUNUO0FBRUEsU0FBU0ssZ0JBQWdCUCxLQUFJLEVBQUVDLHFCQUFxQixFQUFFO0lBQ3BELElBQU1FLHVCQUF1QkwsNkJBQTZCRSxRQUNwRDBCLGtCQUFrQnZCLHNCQUNsQndCLFVBQVU1QyxZQUFZMkMsaUJBQWlCekIsd0JBQ3ZDQyxPQUFPeUIsUUFBUTRCLE9BQU8sQ0FBQ3ZEO0lBRTdCLE9BQU9FO0FBQ1Q7QUFFQSxTQUFTZSxpQkFBaUJGLEtBQUssRUFBRWQscUJBQXFCLEVBQUU7SUFDdEQsSUFBTWUsUUFBUXdDLGNBQUssQ0FBQ2pDLFdBQVc7SUFFL0JSLE1BQU0yQixPQUFPLENBQUMsU0FBQzFDLE9BQVM7UUFDdEIsSUFBTUUsT0FBT0ksZ0JBQWdCTixPQUFNQztRQUVuQ2UsTUFBTXlDLE9BQU8sQ0FBQ3ZEO0lBQ2hCO0lBRUEsT0FBT2M7QUFDVDtBQUVBLFNBQVNFLGlCQUFpQkgsS0FBSyxFQUFFZCxxQkFBcUIsRUFBRTtJQUN0RCxJQUFNZSxRQUFRd0MsY0FBSyxDQUFDakMsV0FBVyxJQUN6Qm1DLGNBQWMzQyxNQUFNNEMsTUFBTTtJQUVoQyxJQUFJRCxjQUFjLEdBQUc7UUFDbkIsSUFBTUUsWUFBWXhFLE1BQU0yQixRQUNsQmYsUUFBTzRELFdBQ1B6RCx1QkFBdUJMLDZCQUE2QkUsUUFDcEQwQixrQkFBa0J2QixzQkFDbEJ3QixVQUFVNUMsWUFBWTJDLGlCQUFpQnpCO1FBRTdDYyxNQUFNMkIsT0FBTyxDQUFDLFNBQUMxQyxPQUFTO1lBQ3RCLElBQU1FLE9BQU95QixRQUFRNEIsT0FBTyxDQUFDdkQ7WUFFN0JnQixNQUFNeUMsT0FBTyxDQUFDdkQ7UUFDaEI7SUFDRixDQUFDO0lBRUQsT0FBT2M7QUFDVDtBQUVBLFNBQVNTLGlDQUFpQ0osT0FBTyxFQUFFRyxxQkFBcUIsRUFBRXZCLHFCQUFxQixFQUFFbUIsdUJBQXVCLEVBQUU7SUFDeEgsSUFBTXlDLHdCQUF3QmpFLGlCQUFpQkssdUJBQXVCdUIsd0JBQ2hFc0MsZ0JBQWdCcEUsY0FBY21FO0lBRXBDQyxjQUFjcEIsT0FBTyxDQUFDLFNBQUNxQixjQUFpQjtRQUN0QyxJQUFNQyx5QkFBeUJDLElBQUFBLHNCQUFnQixFQUFDRixlQUMxQ0csc0NBQXNDLENBQUM5QztRQUU3QyxJQUFJLENBQUM0Qyx3QkFBd0I7WUFDM0IsSUFBTWhFLFFBQU9KLGlCQUFpQjRCLHVCQUF1QnVDLGVBQy9DZCxZQUFZOUQsY0FBY2EsT0FBTUM7WUFFdEMsSUFBSWdELGNBQWMsSUFBSSxFQUFFO2dCQUN0QixJQUFNa0IsZ0JBQWdCbkUsT0FBTSxHQUFHO2dCQUUvQixJQUFJa0UscUNBQXFDO29CQUN2QzdDLFFBQVErQyxZQUFZLENBQUNuQjtnQkFDdkIsQ0FBQztnQkFFRHhCLGlDQUFpQ0osU0FBUzhDLGVBQWVsRSx1QkFBdUJtQiwwQkFBMEIsR0FBRztZQUMvRyxPQUFPO2dCQUNMLElBQU1sQixPQUFPeEIsU0FBU3NCLE9BQU1DO2dCQUU1QixJQUFJQyxTQUFTLElBQUksRUFBRTtvQkFDakIsSUFBTW1FLFdBQVduRSxLQUFLTyxPQUFPLElBQ3ZCNkQsNkJBQTZCQyxJQUFBQSxzQ0FBNEIsRUFBQ0YsV0FDMURHLHFCQUFxQkYsNEJBQTZCLEdBQUc7b0JBRTNELElBQUlFLHNCQUFzQk4scUNBQXFDO3dCQUM3RDdDLFFBQVFvQyxPQUFPLENBQUN2RDtvQkFDbEIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSDtBQUNGO0FBRUEsU0FBU3VDLDBDQUEwQ3hDLHFCQUFxQixFQUFFO0lBQ3hFLElBQUl1QztJQUVKLElBQU1zQixnQkFBZ0JwRSxjQUFjTztJQUVwQ3VDLG1CQUFtQnNCLGNBQWNXLE1BQU0sQ0FBQyxTQUFDakMsa0JBQWtCdUIsY0FBaUI7UUFDMUUsSUFBTVcsdUJBQXVCOUUsaUJBQWlCSyx1QkFBdUI4RCxlQUMvREMseUJBQXlCQyxJQUFBQSxzQkFBZ0IsRUFBQ0Y7UUFFaEQsSUFBSSxDQUFDQyx3QkFBd0I7WUFDM0IsSUFBTVcsZUFBZWxGLFlBQVlpRjtZQUVqQyxJQUFJQyxjQUFjO2dCQUNoQixJQUFNakQsa0JBQWtCcUMsY0FBZSxHQUFHO2dCQUUxQ3ZCLGlCQUFpQm9DLElBQUksQ0FBQ2xEO1lBQ3hCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBT2M7SUFDVCxHQUFHLEVBQUU7SUFFTCxPQUFPQTtBQUNUO0FBRUEsU0FBU08sK0NBQStDOUMscUJBQXFCLEVBQUU7SUFDN0UsSUFBSTZDO0lBRUosSUFBTWdCLGdCQUFnQnBFLGNBQWNPO0lBRXBDNkMsd0JBQXdCZ0IsY0FBY1csTUFBTSxDQUFDLFNBQUMzQix1QkFBdUJpQixjQUFpQjtRQUNwRixJQUFNVyx1QkFBdUI5RSxpQkFBaUJLLHVCQUF1QjhELGVBQy9EQyx5QkFBeUJDLElBQUFBLHNCQUFnQixFQUFDRjtRQUVoRCxJQUFJLENBQUNDLHdCQUF3QjtZQUMzQixJQUFNYSxvQkFBb0JsRixpQkFBaUIrRTtZQUUzQyxJQUFJRyxtQkFBbUI7Z0JBQ3JCLElBQU0xRSx1QkFBdUI0RCxjQUFlLEdBQUc7Z0JBRS9DakIsc0JBQXNCOEIsSUFBSSxDQUFDekU7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPMkM7SUFDVCxHQUFHLEVBQUU7SUFFTCxPQUFPQTtBQUNUIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-file-system",
3
3
  "author": "James Smith",
4
- "version": "5.0.113",
4
+ "version": "5.0.114",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-file-system",
7
7
  "description": "Occam's file system functionality.",
@@ -10,27 +10,15 @@ const { concatenatePaths } = pathUtilities,
10
10
  { checkEntryExists, isDirectoryEmpty } = fileSystemUtilities;
11
11
 
12
12
  export default function moveProjectEntries(projectsDirectoryPath, json, callback) {
13
- const { pathMaps } = json,
14
- targetEntryPaths = [],
15
- done = () => {
16
- const json = {
17
- targetEntryPaths
18
- };
13
+ const { pathMaps } = json;
19
14
 
20
- callback(json);
21
- };
15
+ moveEntries(pathMaps, projectsDirectoryPath, (targetEntryPaths) => {
16
+ const json = {
17
+ targetEntryPaths
18
+ };
22
19
 
23
- asynchronousForEach(
24
- pathMaps,
25
- (sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) => {
26
- moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, (sourceEntryPath, targetEntryPath) => {
27
- targetEntryPaths.push(targetEntryPath);
28
-
29
- next();
30
- });
31
- },
32
- done
33
- );
20
+ callback(json);
21
+ });
34
22
  }
35
23
 
36
24
  export function moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, callback) {
@@ -56,6 +44,24 @@ export function moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirect
56
44
  moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
57
45
  }
58
46
 
47
+ function moveEntries(pathMaps, projectsDirectoryPath, callback) {
48
+ const targetEntryPaths = [];
49
+
50
+ asynchronousForEach(
51
+ pathMaps,
52
+ (sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) => {
53
+ moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, (sourceEntryPath, targetEntryPath) => {
54
+ targetEntryPaths.push(targetEntryPath);
55
+
56
+ next();
57
+ });
58
+ },
59
+ () => {
60
+ callback(targetEntryPaths);
61
+ }
62
+ );
63
+ }
64
+
59
65
  function moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
60
66
  const sourceFilePath = sourceEntryPath, ///
61
67
  targetFilePath = targetEntryPath, ///
@@ -9,27 +9,15 @@ const { concatenatePaths } = pathUtilities,
9
9
  { checkEntryExists, isDirectoryEmpty } = fileSystemUtilities;
10
10
 
11
11
  export default function removeProjectEntries(projectsDirectoryPath, json, callback) {
12
- const { pathMaps } = json,
13
- targetEntryPaths = [],
14
- done = () => {
15
- const json = {
16
- targetEntryPaths
17
- };
12
+ const { pathMaps } = json;
18
13
 
19
- callback(json);
20
- };
14
+ removeEntries(pathMaps, projectsDirectoryPath, (targetEntryPaths) => {
15
+ const json = {
16
+ targetEntryPaths
17
+ };
21
18
 
22
- asynchronousForEach(
23
- pathMaps,
24
- (sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) => {
25
- removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, (sourceEntryPath, targetEntryPath) => {
26
- targetEntryPaths.push(targetEntryPath);
27
-
28
- next();
29
- });
30
- },
31
- done
32
- );
19
+ callback(json);
20
+ });
33
21
  }
34
22
 
35
23
  export function removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, callback) {
@@ -49,6 +37,24 @@ export function removeEntryOperation(sourceEntryPath, targetEntryPath, entryDire
49
37
  removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
50
38
  }
51
39
 
40
+ function removeEntries(pathMaps, projectsDirectoryPath, callback) {
41
+ const targetEntryPaths = [];
42
+
43
+ asynchronousForEach(
44
+ pathMaps,
45
+ (sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) => {
46
+ removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, (sourceEntryPath, targetEntryPath) => {
47
+ targetEntryPaths.push(targetEntryPath);
48
+
49
+ next();
50
+ });
51
+ },
52
+ () => {
53
+ callback(targetEntryPaths);
54
+ }
55
+ );
56
+ }
57
+
52
58
  function removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
53
59
  const sourceFilePath = sourceEntryPath, ///
54
60
  absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath);
@@ -19,7 +19,7 @@ import { convertContentTabsToWhitespace } from "../utilities/content";
19
19
 
20
20
  const { first } = arrayUtilities,
21
21
  { readFile, writeFile, isEntryFile, readDirectory, isEntryDirectory } = fileSystemUtilities,
22
- { concatenatePaths, topmostDirectoryNameFromPath, topmostDirectoryPathFromPath, pathWithoutTopmostDirectoryNameFromPath } = pathUtilities;
22
+ { concatenatePaths, topmostDirectoryNameFromPath, topmostDirectoryPathFromPath } = pathUtilities;
23
23
 
24
24
  export function loadFile(path, projectsDirectoryPath) {
25
25
  let file = null;