occam-furtle 1.0.36 → 1.0.38

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.
@@ -339,4 +339,4 @@ var FileContext = /*#__PURE__*/ function() {
339
339
  return FileContext;
340
340
  }();
341
341
 
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgZnVydGxlTGV4ZXJGcm9tTm90aGluZyB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCksXG4gICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpO1xuXG5jb25zdCBlcnJvck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2RvY3VtZW50L2Vycm9yXCIpLFxuICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVEZWNsYXJhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcykge1xuICAgIHRoaXMucmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0UmVsZWFzZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQ7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyOyAgLy8vXG5cbiAgICByZXR1cm4gbGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZnVydGxlUGFyc2VyOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZ2V0TWV0YVR5cGVzKCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dC5nZXRNZXRhVHlwZXMoKTsgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGF4aW9tcyA9IFtdO1xuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBsZW1tYXM7XG4gIH1cblxuICBnZXRUaGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvY2VkdXJlcztcbiAgfVxuXG4gIGdldE1ldGFMZW1tYXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YUxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIG1ldGFMZW1tYXM7XG4gIH1cblxuICBnZXRDb25qZWN0dXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25qZWN0dXJlcyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbmplY3R1cmVzO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29tYmluYXRvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb21iaW5hdG9ycztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGZpbmRGaWxlKGZpbGVQYXRoKSB7IHJldHVybiB0aGlzLnJlbGVhc2VDb250ZXh0LmZpbmRGaWxlKGZpbGVQYXRoKTsgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRoaXMudG9rZW5zKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBhZGRQcm9jZWR1cmVzKG5vZGUpIHtcbiAgICBjb25zdCBmaWxlQ29udGV4dCA9IHRoaXM7IC8vL1xuXG4gICAgY29uc3QgeyBQcm9jZWR1cmVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMgPSBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzUXVlcnkobm9kZSk7XG5cbiAgICBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzLmZvckVhY2goKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgY29uc3QgcHJvY2VkdXJlRGVjbGFyYXRpb24gPSBQcm9jZWR1cmVEZWNsYXJhdGlvbi5mcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlRGVjbGFyYXRpb24uZ2V0UHJvY2VkdXJlKCk7XG5cbiAgICAgIHRoaXMucHJvY2VkdXJlcy5wdXNoKHByb2NlZHVyZSk7XG4gICAgfSk7XG4gIH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQudHJhY2UobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQuZGVidWcobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBpbmZvKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC5pbmZvKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQud2FybmluZyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIGVycm9yKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC5lcnJvcihtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUuLi5gKTtcblxuICAgIHRoaXMucHJlcGFyZSgpO1xuXG4gICAgaWYgKHRoaXMubm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy53YXJuaW5nKGBVbmFibGUgdG8gdmVyaWZ5IHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZSBiZWNhdXNlIGl0IGNhbm5vdCBiZSBwYXJzZWQuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVycm9yTm9kZXMgPSBlcnJvck5vZGVzUXVlcnkodGhpcy5ub2RlKSxcbiAgICAgICAgICAgIGVycm9yTm9kZXNMZW5ndGggPSBlcnJvck5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKGVycm9yTm9kZXNMZW5ndGggID09PSAwKSB7XG4gICAgICAgIHRoaXMuYWRkUHJvY2VkdXJlcyh0aGlzLm5vZGUpO1xuXG4gICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud2FybmluZyhgVGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlIGNhbm5vdCBiZSB2ZXJpZmllZCBiZWNhdXNlIHRoZXJlIGFyZSBlcnJvcnMuYCk7XG5cbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgdGhpcy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5wcm9jZWR1cmVzID0gW107XG4gIH1cblxuICBwcmVwYXJlKCkge1xuICAgIGlmICh0aGlzLnRva2VucyAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbmRGaWxlKHRoaXMuZmlsZVBhdGgpLFxuICAgICAgICAgIGxleGVyID0gdGhpcy5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IHRoaXMuZ2V0UGFyc2VyKCksXG4gICAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpO1xuXG4gICAgdGhpcy50b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICAgIHRoaXMubm9kZSA9IHBhcnNlci5wYXJzZSh0aGlzLnRva2Vucyk7XG4gIH1cblxuICBpbml0aWFsaXNlKGpzb24pIHtcbiAgICBjb25zdCBjb250ZW50ID0geyBqc29uIH0sXG4gICAgICAgICAgbGV4ZXIgPSB0aGlzLmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gdGhpcy5nZXRQYXJzZXIoKSxcbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICB0aGlzLmFkZFByb2NlZHVyZXMobm9kZSk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgZmlsZSA9IHRoaXMuZmluZEZpbGUodGhpcy5maWxlUGF0aCksXG4gICAgICAgICAgZmlsZVBhdGggPSB0aGlzLmZpbGVQYXRoLCAvLy9cbiAgICAgICAgICBjb250ZW50ID0gZmlsZS5nZXRDb250ZW50KCksXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGZpbGVQYXRoLFxuICAgICAgICAgICAgY29udGVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZShmaWxlLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gW10sXG4gICAgICAgICAgZmlsZUNvbnRleHQgPSBuZXcgRmlsZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGZpbGVQYXRoLCBub2RlLCB0b2tlbnMsIHByb2NlZHVyZXMpO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlUGF0aEFuZEpTT04oZmlsZVBhdGgsIGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gbnVsbCxcbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBGaWxlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcyk7XG5cbiAgICBmaWxlQ29udGV4dC5pbml0aWFsaXNlKGpzb24pO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRmlsZUNvbnRleHQiLCJmdXJ0bGVMZXhlckZyb21Ob3RoaW5nIiwibGV4ZXJzVXRpbGl0aWVzIiwiZnVydGxlUGFyc2VyRnJvbU5vdGhpbmciLCJwYXJzZXJzVXRpbGl0aWVzIiwiZnVydGxlTGV4ZXIiLCJmdXJ0bGVQYXJzZXIiLCJlcnJvck5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5IiwicmVsZWFzZUNvbnRleHQiLCJmaWxlUGF0aCIsIm5vZGUiLCJ0b2tlbnMiLCJwcm9jZWR1cmVzIiwiZ2V0UmVsZWFzZUNvbnRleHQiLCJnZXRGaWxlUGF0aCIsImdldE5vZGUiLCJnZXRUb2tlbnMiLCJnZXRMZXhlciIsImxleGVyIiwiZ2V0UGFyc2VyIiwicGFyc2VyIiwiZ2V0TWV0YVR5cGVzIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZVJlbGVhc2UiLCJsYWJlbHMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImdldEF4aW9tcyIsImF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImdldFRoZW9yZW1zIiwidGhlb3JlbXMiLCJnZXRWYXJpYWJsZXMiLCJ2YXJpYWJsZXMiLCJnZXRQcm9jZWR1cmVzIiwiZ2V0TWV0YUxlbW1hcyIsIm1ldGFMZW1tYXMiLCJnZXRDb25qZWN0dXJlcyIsImNvbmplY3R1cmVzIiwiZ2V0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldE1ldGF0aGVvcmVtcyIsIm1ldGF0aGVvcmVtcyIsImdldE1ldGF2YXJpYWJsZXMiLCJtZXRhdmFyaWFibGVzIiwiZmluZEZpbGUiLCJub2RlQXNTdHJpbmciLCJzdHJpbmciLCJhZGRQcm9jZWR1cmVzIiwiZmlsZUNvbnRleHQiLCJQcm9jZWR1cmVEZWNsYXJhdGlvbiIsImRvbSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMiLCJmb3JFYWNoIiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwicHJvY2VkdXJlRGVjbGFyYXRpb24iLCJmcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwicHJvY2VkdXJlIiwiZ2V0UHJvY2VkdXJlIiwicHVzaCIsInRyYWNlIiwibWVzc2FnZSIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsInZlcmlmeSIsInZlcmlmaWVkIiwicHJlcGFyZSIsImVycm9yTm9kZXMiLCJlcnJvck5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiY2xlYXIiLCJmaWxlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbmlzZSIsInBhcnNlIiwiaW5pdGlhbGlzZSIsImpzb24iLCJ0b0pTT04iLCJmcm9tRmlsZSIsImdldFBhdGgiLCJmcm9tRmlsZVBhdGhBbmRKU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWtCcUJBOzs7NkJBaEI2QjswREFFbEM7cUJBRVc7c0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTSxBQUFFQyx5QkFBMkJDLDhCQUFlLENBQTFDRCx3QkFDRixBQUFFRSwwQkFBNEJDLCtCQUFnQixDQUE1Q0Q7QUFFUixJQUFNRSxjQUFjSiwwQkFDZEssZUFBZUg7QUFFckIsSUFBTUksa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLG9CQUM3QkMsaUNBQWlDRCxJQUFBQSxpQkFBVSxFQUFDO0FBRW5DLElBQUEsQUFBTVIsNEJBQU47YUFBTUEsWUFDUFUsY0FBYyxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxVQUFVO2dDQUQzQ2Q7UUFFakIsSUFBSSxDQUFDVSxjQUFjLEdBQUdBO1FBQ3RCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFVBQVUsR0FBR0E7O2tCQU5EZDs7WUFTbkJlLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsY0FBYztZQUM1Qjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsUUFBUTtZQUN0Qjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsSUFBSTtZQUNsQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsTUFBTTtZQUNwQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxRQUFRZixhQUFjLEdBQUc7Z0JBRS9CLE9BQU9lO1lB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
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgZnVydGxlTGV4ZXJGcm9tTm90aGluZyB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCksXG4gICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpO1xuXG5jb25zdCBlcnJvck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2RvY3VtZW50L2Vycm9yXCIpLFxuICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVEZWNsYXJhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcykge1xuICAgIHRoaXMucmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0UmVsZWFzZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQ7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyOyAgLy8vXG5cbiAgICByZXR1cm4gbGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZnVydGxlUGFyc2VyOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZ2V0TWV0YVR5cGVzKCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dC5nZXRNZXRhVHlwZXMoKTsgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGF4aW9tcyA9IFtdO1xuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBsZW1tYXM7XG4gIH1cblxuICBnZXRUaGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvY2VkdXJlcztcbiAgfVxuXG4gIGdldE1ldGFMZW1tYXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YUxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIG1ldGFMZW1tYXM7XG4gIH1cblxuICBnZXRDb25qZWN0dXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25qZWN0dXJlcyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbmplY3R1cmVzO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29tYmluYXRvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb21iaW5hdG9ycztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGZpbmRGaWxlKGZpbGVQYXRoKSB7IHJldHVybiB0aGlzLnJlbGVhc2VDb250ZXh0LmZpbmRGaWxlKGZpbGVQYXRoKTsgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRoaXMudG9rZW5zKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBhZGRQcm9jZWR1cmVzKG5vZGUpIHtcbiAgICBjb25zdCBmaWxlQ29udGV4dCA9IHRoaXM7IC8vL1xuXG4gICAgY29uc3QgeyBQcm9jZWR1cmVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMgPSBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzUXVlcnkobm9kZSk7XG5cbiAgICBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzLmZvckVhY2goKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgY29uc3QgcHJvY2VkdXJlRGVjbGFyYXRpb24gPSBQcm9jZWR1cmVEZWNsYXJhdGlvbi5mcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlRGVjbGFyYXRpb24uZ2V0UHJvY2VkdXJlKCk7XG5cbiAgICAgIHRoaXMucHJvY2VkdXJlcy5wdXNoKHByb2NlZHVyZSk7XG4gICAgfSk7XG4gIH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQudHJhY2UobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQuZGVidWcobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBpbmZvKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC5pbmZvKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQud2FybmluZyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIGVycm9yKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC5lcnJvcihtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUuLi5gKTtcblxuICAgIHRoaXMucHJlcGFyZSgpO1xuXG4gICAgaWYgKHRoaXMubm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy53YXJuaW5nKGBVbmFibGUgdG8gdmVyaWZ5IHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZSBiZWNhdXNlIGl0IGNhbm5vdCBiZSBwYXJzZWQuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVycm9yTm9kZXMgPSBlcnJvck5vZGVzUXVlcnkodGhpcy5ub2RlKSxcbiAgICAgICAgICAgIGVycm9yTm9kZXNMZW5ndGggPSBlcnJvck5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKGVycm9yTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5hZGRQcm9jZWR1cmVzKHRoaXMubm9kZSk7XG5cbiAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy53YXJuaW5nKGBUaGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUgY2Fubm90IGJlIHZlcmlmaWVkIGJlY2F1c2UgdGhlcmUgYXJlIGVycm9ycy5gKTtcblxuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmluZm8oYC4uLnZlcmlmaWVkIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBbXTtcbiAgfVxuXG4gIHByZXBhcmUoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IHRoaXMuZmluZEZpbGUodGhpcy5maWxlUGF0aCksXG4gICAgICAgICAgbGV4ZXIgPSB0aGlzLmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gdGhpcy5nZXRQYXJzZXIoKSxcbiAgICAgICAgICBjb250ZW50ID0gZmlsZS5nZXRDb250ZW50KCk7XG5cbiAgICB0aGlzLnRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpO1xuXG4gICAgdGhpcy5ub2RlID0gcGFyc2VyLnBhcnNlKHRoaXMudG9rZW5zKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoanNvbikge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB7IGpzb24gfSxcbiAgICAgICAgICBsZXhlciA9IHRoaXMuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSB0aGlzLmdldFBhcnNlcigpLFxuICAgICAgICAgIHRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIHRoaXMuYWRkUHJvY2VkdXJlcyhub2RlKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBmaWxlID0gdGhpcy5maW5kRmlsZSh0aGlzLmZpbGVQYXRoKSxcbiAgICAgICAgICBmaWxlUGF0aCA9IHRoaXMuZmlsZVBhdGgsIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgICBjb250ZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlKGZpbGUsIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcbiAgICAgICAgICB0b2tlbnMgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIHByb2NlZHVyZXMgPSBbXSxcbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBGaWxlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcyk7XG5cbiAgICByZXR1cm4gZmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVQYXRoQW5kSlNPTihmaWxlUGF0aCwganNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIHByb2NlZHVyZXMgPSBudWxsLFxuICAgICAgICAgIGZpbGVDb250ZXh0ID0gbmV3IEZpbGVDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBmaWxlUGF0aCwgbm9kZSwgdG9rZW5zLCBwcm9jZWR1cmVzKTtcblxuICAgIGZpbGVDb250ZXh0LmluaXRpYWxpc2UoanNvbik7XG5cbiAgICByZXR1cm4gZmlsZUNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGaWxlQ29udGV4dCIsImZ1cnRsZUxleGVyRnJvbU5vdGhpbmciLCJsZXhlcnNVdGlsaXRpZXMiLCJmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyIsInBhcnNlcnNVdGlsaXRpZXMiLCJmdXJ0bGVMZXhlciIsImZ1cnRsZVBhcnNlciIsImVycm9yTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzUXVlcnkiLCJyZWxlYXNlQ29udGV4dCIsImZpbGVQYXRoIiwibm9kZSIsInRva2VucyIsInByb2NlZHVyZXMiLCJnZXRSZWxlYXNlQ29udGV4dCIsImdldEZpbGVQYXRoIiwiZ2V0Tm9kZSIsImdldFRva2VucyIsImdldExleGVyIiwibGV4ZXIiLCJnZXRQYXJzZXIiLCJwYXJzZXIiLCJnZXRNZXRhVHlwZXMiLCJnZXRMYWJlbHMiLCJpbmNsdWRlUmVsZWFzZSIsImxhYmVscyIsImdldFR5cGVzIiwidHlwZXMiLCJnZXRSdWxlcyIsInJ1bGVzIiwiZ2V0QXhpb21zIiwiYXhpb21zIiwiZ2V0TGVtbWFzIiwibGVtbWFzIiwiZ2V0VGhlb3JlbXMiLCJ0aGVvcmVtcyIsImdldFZhcmlhYmxlcyIsInZhcmlhYmxlcyIsImdldFByb2NlZHVyZXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldENvbmplY3R1cmVzIiwiY29uamVjdHVyZXMiLCJnZXRDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZ2V0TWV0YXRoZW9yZW1zIiwibWV0YXRoZW9yZW1zIiwiZ2V0TWV0YXZhcmlhYmxlcyIsIm1ldGF2YXJpYWJsZXMiLCJmaW5kRmlsZSIsIm5vZGVBc1N0cmluZyIsInN0cmluZyIsImFkZFByb2NlZHVyZXMiLCJmaWxlQ29udGV4dCIsIlByb2NlZHVyZURlY2xhcmF0aW9uIiwiZG9tIiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlcyIsImZvckVhY2giLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbiIsImZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmUiLCJnZXRQcm9jZWR1cmUiLCJwdXNoIiwidHJhY2UiLCJtZXNzYWdlIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJwcmVwYXJlIiwiZXJyb3JOb2RlcyIsImVycm9yTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJjbGVhciIsImZpbGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInRva2VuaXNlIiwicGFyc2UiLCJpbml0aWFsaXNlIiwianNvbiIsInRvSlNPTiIsImZyb21GaWxlIiwiZ2V0UGF0aCIsImZyb21GaWxlUGF0aEFuZEpTT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBa0JxQkE7Ozs2QkFoQjZCOzBEQUVsQztxQkFFVztzQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNLEFBQUVDLHlCQUEyQkMsOEJBQWUsQ0FBMUNELHdCQUNGLEFBQUVFLDBCQUE0QkMsK0JBQWdCLENBQTVDRDtBQUVSLElBQU1FLGNBQWNKLDBCQUNkSyxlQUFlSDtBQUVyQixJQUFNSSxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsb0JBQzdCQyxpQ0FBaUNELElBQUFBLGlCQUFVLEVBQUM7QUFFbkMsSUFBQSxBQUFNUiw0QkFBTjthQUFNQSxZQUNQVSxjQUFjLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLFVBQVU7Z0NBRDNDZDtRQUVqQixJQUFJLENBQUNVLGNBQWMsR0FBR0E7UUFDdEIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7a0JBTkRkOztZQVNuQmUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxjQUFjO1lBQzVCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxRQUFRO1lBQ3RCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxNQUFNO1lBQ3BCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFFBQVFmLGFBQWMsR0FBRztnQkFFL0IsT0FBT2U7WUFD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
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ReleaseContext", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ReleaseContext;
9
+ }
10
+ });
11
+ function _class_call_check(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+ function _defineProperties(target, props) {
17
+ for(var i = 0; i < props.length; i++){
18
+ var descriptor = props[i];
19
+ descriptor.enumerable = descriptor.enumerable || false;
20
+ descriptor.configurable = true;
21
+ if ("value" in descriptor) descriptor.writable = true;
22
+ Object.defineProperty(target, descriptor.key, descriptor);
23
+ }
24
+ }
25
+ function _create_class(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+ var ReleaseContext = /*#__PURE__*/ function() {
31
+ function ReleaseContext(file) {
32
+ _class_call_check(this, ReleaseContext);
33
+ this.file = file;
34
+ }
35
+ _create_class(ReleaseContext, [
36
+ {
37
+ key: "getFile",
38
+ value: function getFile() {
39
+ return this.file;
40
+ }
41
+ },
42
+ {
43
+ key: "findFile",
44
+ value: function findFile(filePath) {
45
+ var file = this.getFile(); ///
46
+ return file;
47
+ }
48
+ },
49
+ {
50
+ key: "trace",
51
+ value: function trace(message) {
52
+ console.log(message);
53
+ }
54
+ },
55
+ {
56
+ key: "debug",
57
+ value: function debug(message) {
58
+ console.log(message);
59
+ }
60
+ },
61
+ {
62
+ key: "info",
63
+ value: function info(message) {
64
+ console.log(message);
65
+ }
66
+ },
67
+ {
68
+ key: "warning",
69
+ value: function warning(message) {
70
+ console.log(message);
71
+ }
72
+ },
73
+ {
74
+ key: "error",
75
+ value: function error(message) {
76
+ console.log(message);
77
+ }
78
+ }
79
+ ], [
80
+ {
81
+ key: "fromFile",
82
+ value: function fromFile(file) {
83
+ var releaseContext = new ReleaseContext(file);
84
+ return releaseContext;
85
+ }
86
+ }
87
+ ]);
88
+ return ReleaseContext;
89
+ }();
90
+
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2NvbnRleHQvcmVsZWFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNsYXNzIFJlbGVhc2VDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoZmlsZSkge1xuICAgIHRoaXMuZmlsZSA9IGZpbGU7XG4gIH1cblxuICBnZXRGaWxlKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGU7XG4gIH1cblxuICBmaW5kRmlsZShmaWxlUGF0aCkge1xuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmdldEZpbGUoKTsgIC8vL1xuXG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICB0cmFjZShtZXNzYWdlKSB7IGNvbnNvbGUubG9nKG1lc3NhZ2UpOyB9XG5cbiAgZGVidWcobWVzc2FnZSkgeyBjb25zb2xlLmxvZyhtZXNzYWdlKTsgfVxuXG4gIGluZm8obWVzc2FnZSkgeyBjb25zb2xlLmxvZyhtZXNzYWdlKTsgfVxuXG4gIHdhcm5pbmcobWVzc2FnZSkgeyBjb25zb2xlLmxvZyhtZXNzYWdlKTsgfVxuXG4gIGVycm9yKG1lc3NhZ2UpIHsgY29uc29sZS5sb2cobWVzc2FnZSk7IH1cblxuICBzdGF0aWMgZnJvbUZpbGUoZmlsZSkge1xuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gbmV3IFJlbGVhc2VDb250ZXh0KGZpbGUpO1xuXG4gICAgcmV0dXJuIHJlbGVhc2VDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiUmVsZWFzZUNvbnRleHQiLCJmaWxlIiwiZ2V0RmlsZSIsImZpbmRGaWxlIiwiZmlsZVBhdGgiLCJ0cmFjZSIsIm1lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwiZnJvbUZpbGUiLCJyZWxlYXNlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRWFBOzs7ZUFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLCtCQUFOO2FBQU1BLGVBQ0NDLElBQUk7Z0NBRExEO1FBRVQsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztrQkFGSEQ7O1lBS1hFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsSUFBSTtZQUNsQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxRQUFRO2dCQUNmLElBQU1ILE9BQU8sSUFBSSxDQUFDQyxPQUFPLElBQUssR0FBRztnQkFFakMsT0FBT0Q7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNQyxPQUFPO2dCQUFJQyxRQUFRQyxHQUFHLENBQUNGO1lBQVU7OztZQUV2Q0csS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1ILE9BQU87Z0JBQUlDLFFBQVFDLEdBQUcsQ0FBQ0Y7WUFBVTs7O1lBRXZDSSxLQUFBQTttQkFBQUEsU0FBQUEsS0FBS0osT0FBTztnQkFBSUMsUUFBUUMsR0FBRyxDQUFDRjtZQUFVOzs7WUFFdENLLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRTCxPQUFPO2dCQUFJQyxRQUFRQyxHQUFHLENBQUNGO1lBQVU7OztZQUV6Q00sS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1OLE9BQU87Z0JBQUlDLFFBQVFDLEdBQUcsQ0FBQ0Y7WUFBVTs7OztZQUVoQ08sS0FBQUE7bUJBQVAsU0FBT0EsU0FBU1osSUFBSTtnQkFDbEIsSUFBTWEsaUJBQWlCLElBMUJkZCxlQTBCaUNDO2dCQUUxQyxPQUFPYTtZQUNUOzs7V0E3QldkIn0=
package/lib/example.js CHANGED
@@ -6,13 +6,18 @@ require("./index");
6
6
  var _occamentities = require("occam-entities");
7
7
  var _necessary = require("necessary");
8
8
  var _file = /*#__PURE__*/ _interop_require_default(require("./context/file"));
9
+ var _release = require("./example/context/release");
9
10
  function _interop_require_default(obj) {
10
11
  return obj && obj.__esModule ? obj : {
11
12
  default: obj
12
13
  };
13
14
  }
14
15
  var readFile = _necessary.fileSystemUtilities.readFile;
15
- var filePath = "first-order-logic/Procedures/Free and bound variables.ftl", fileContent = readFile(filePath), path = filePath, content = fileContent, released = false, file = _occamentities.File.fromPathContentAndReleased(path, content, released), releaseContext = null, fileContext = _file.default.fromFile(file, releaseContext);
16
- fileContext.initialise();
16
+ var filePath = "first-order-logic/Procedures/Free and bound variables.ftl", file = fileFromFilePath(filePath), releaseContext = _release.ReleaseContext.fromFile(file), fileContext = _file.default.fromFile(file, releaseContext);
17
+ fileContext.verify();
18
+ function fileFromFilePath(filePath) {
19
+ var fileContent = readFile(filePath), path = filePath, content = fileContent, released = false, file = _occamentities.File.fromPathContentAndReleased(path, content, released);
20
+ return file;
21
+ }
17
22
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4XCI7XG5cbmltcG9ydCB7IEZpbGUgfSBmcm9tIFwib2NjYW0tZW50aXRpZXNcIjtcbmltcG9ydCB7IGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBGaWxlQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcblxuY29uc3QgeyByZWFkRmlsZSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxuY29uc3QgZmlsZVBhdGggPSBcImZpcnN0LW9yZGVyLWxvZ2ljL1Byb2NlZHVyZXMvRnJlZSBhbmQgYm91bmQgdmFyaWFibGVzLmZ0bFwiLFxuICAgICAgZmlsZUNvbnRlbnQgPSByZWFkRmlsZShmaWxlUGF0aCksXG4gICAgICBwYXRoID0gZmlsZVBhdGgsICAvLy9cbiAgICAgIGNvbnRlbnQgPSBmaWxlQ29udGVudCwgIC8vL1xuICAgICAgcmVsZWFzZWQgPSBmYWxzZSxcbiAgICAgIGZpbGUgPSBGaWxlLmZyb21QYXRoQ29udGVudEFuZFJlbGVhc2VkKHBhdGgsIGNvbnRlbnQsIHJlbGVhc2VkKSxcbiAgICAgIHJlbGVhc2VDb250ZXh0ID0gbnVsbCxcbiAgICAgIGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUZpbGUoZmlsZSwgcmVsZWFzZUNvbnRleHQpO1xuXG5maWxlQ29udGV4dC5pbml0aWFsaXNlKCk7XG4iXSwibmFtZXMiOlsicmVhZEZpbGUiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiZmlsZVBhdGgiLCJmaWxlQ29udGVudCIsInBhdGgiLCJjb250ZW50IiwicmVsZWFzZWQiLCJmaWxlIiwiRmlsZSIsImZyb21QYXRoQ29udGVudEFuZFJlbGVhc2VkIiwicmVsZWFzZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsIkZpbGVDb250ZXh0IiwiZnJvbUZpbGUiLCJpbml0aWFsaXNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztRQUVPOzZCQUVjO3lCQUNlOzJEQUVaOzs7Ozs7QUFFeEIsSUFBTSxBQUFFQSxXQUFhQyw4QkFBbUIsQ0FBaENEO0FBRVIsSUFBTUUsV0FBVyw2REFDWEMsY0FBY0gsU0FBU0UsV0FDdkJFLE9BQU9GLFVBQ1BHLFVBQVVGLGFBQ1ZHLFdBQVcsT0FDWEMsT0FBT0MsbUJBQUksQ0FBQ0MsMEJBQTBCLENBQUNMLE1BQU1DLFNBQVNDLFdBQ3RESSxpQkFBaUIsTUFDakJDLGNBQWNDLGFBQVcsQ0FBQ0MsUUFBUSxDQUFDTixNQUFNRztBQUUvQ0MsWUFBWUcsVUFBVSJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4XCI7XG5cbmltcG9ydCB7IEZpbGUgfSBmcm9tIFwib2NjYW0tZW50aXRpZXNcIjtcbmltcG9ydCB7IGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBGaWxlQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcbmltcG9ydCB7UmVsZWFzZUNvbnRleHR9IGZyb20gXCIuL2V4YW1wbGUvY29udGV4dC9yZWxlYXNlXCI7XG5cbmNvbnN0IHsgcmVhZEZpbGUgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmNvbnN0IGZpbGVQYXRoID0gXCJmaXJzdC1vcmRlci1sb2dpYy9Qcm9jZWR1cmVzL0ZyZWUgYW5kIGJvdW5kIHZhcmlhYmxlcy5mdGxcIixcbiAgICAgIGZpbGUgPSBmaWxlRnJvbUZpbGVQYXRoKGZpbGVQYXRoKSxcbiAgICAgIHJlbGVhc2VDb250ZXh0ID0gUmVsZWFzZUNvbnRleHQuZnJvbUZpbGUoZmlsZSksXG4gICAgICBmaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21GaWxlKGZpbGUsIHJlbGVhc2VDb250ZXh0KTtcblxuZmlsZUNvbnRleHQudmVyaWZ5KCk7XG5cbmZ1bmN0aW9uIGZpbGVGcm9tRmlsZVBhdGgoZmlsZVBhdGgpIHtcbiAgY29uc3QgZmlsZUNvbnRlbnQgPSByZWFkRmlsZShmaWxlUGF0aCksXG4gICAgICAgIHBhdGggPSBmaWxlUGF0aCwgIC8vL1xuICAgICAgICBjb250ZW50ID0gZmlsZUNvbnRlbnQsICAvLy9cbiAgICAgICAgcmVsZWFzZWQgPSBmYWxzZSxcbiAgICAgICAgZmlsZSA9IEZpbGUuZnJvbVBhdGhDb250ZW50QW5kUmVsZWFzZWQocGF0aCwgY29udGVudCwgcmVsZWFzZWQpO1xuXG4gIHJldHVybiBmaWxlO1xufSJdLCJuYW1lcyI6WyJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJmaWxlUGF0aCIsImZpbGUiLCJmaWxlRnJvbUZpbGVQYXRoIiwicmVsZWFzZUNvbnRleHQiLCJSZWxlYXNlQ29udGV4dCIsImZyb21GaWxlIiwiZmlsZUNvbnRleHQiLCJGaWxlQ29udGV4dCIsInZlcmlmeSIsImZpbGVDb250ZW50IiwicGF0aCIsImNvbnRlbnQiLCJyZWxlYXNlZCIsIkZpbGUiLCJmcm9tUGF0aENvbnRlbnRBbmRSZWxlYXNlZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7UUFFTzs2QkFFYzt5QkFDZTsyREFFWjt1QkFDSzs7Ozs7O0FBRTdCLElBQU0sQUFBRUEsV0FBYUMsOEJBQW1CLENBQWhDRDtBQUVSLElBQU1FLFdBQVcsNkRBQ1hDLE9BQU9DLGlCQUFpQkYsV0FDeEJHLGlCQUFpQkMsdUJBQWMsQ0FBQ0MsUUFBUSxDQUFDSixPQUN6Q0ssY0FBY0MsYUFBVyxDQUFDRixRQUFRLENBQUNKLE1BQU1FO0FBRS9DRyxZQUFZRSxNQUFNO0FBRWxCLFNBQVNOLGlCQUFpQkYsUUFBUTtJQUNoQyxJQUFNUyxjQUFjWCxTQUFTRSxXQUN2QlUsT0FBT1YsVUFDUFcsVUFBVUYsYUFDVkcsV0FBVyxPQUNYWCxPQUFPWSxtQkFBSSxDQUFDQywwQkFBMEIsQ0FBQ0osTUFBTUMsU0FBU0M7SUFFNUQsT0FBT1g7QUFDVCJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-furtle",
3
3
  "author": "James Smith",
4
- "version": "1.0.36",
4
+ "version": "1.0.38",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-furtle",
7
7
  "description": "Occam's Furtle language.",
@@ -182,7 +182,7 @@ export default class FileContext {
182
182
  const errorNodes = errorNodesQuery(this.node),
183
183
  errorNodesLength = errorNodes.length;
184
184
 
185
- if (errorNodesLength === 0) {
185
+ if (errorNodesLength === 0) {
186
186
  this.addProcedures(this.node);
187
187
 
188
188
  verified = true;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ export class ReleaseContext {
4
+ constructor(file) {
5
+ this.file = file;
6
+ }
7
+
8
+ getFile() {
9
+ return this.file;
10
+ }
11
+
12
+ findFile(filePath) {
13
+ const file = this.getFile(); ///
14
+
15
+ return file;
16
+ }
17
+
18
+ trace(message) { console.log(message); }
19
+
20
+ debug(message) { console.log(message); }
21
+
22
+ info(message) { console.log(message); }
23
+
24
+ warning(message) { console.log(message); }
25
+
26
+ error(message) { console.log(message); }
27
+
28
+ static fromFile(file) {
29
+ const releaseContext = new ReleaseContext(file);
30
+
31
+ return releaseContext;
32
+ }
33
+ }
package/src/example.js CHANGED
@@ -6,16 +6,23 @@ import { File } from "occam-entities";
6
6
  import { fileSystemUtilities } from "necessary";
7
7
 
8
8
  import FileContext from "./context/file";
9
+ import {ReleaseContext} from "./example/context/release";
9
10
 
10
11
  const { readFile } = fileSystemUtilities;
11
12
 
12
13
  const filePath = "first-order-logic/Procedures/Free and bound variables.ftl",
13
- fileContent = readFile(filePath),
14
- path = filePath, ///
15
- content = fileContent, ///
16
- released = false,
17
- file = File.fromPathContentAndReleased(path, content, released),
18
- releaseContext = null,
14
+ file = fileFromFilePath(filePath),
15
+ releaseContext = ReleaseContext.fromFile(file),
19
16
  fileContext = FileContext.fromFile(file, releaseContext);
20
17
 
21
- fileContext.initialise();
18
+ fileContext.verify();
19
+
20
+ function fileFromFilePath(filePath) {
21
+ const fileContent = readFile(filePath),
22
+ path = filePath, ///
23
+ content = fileContent, ///
24
+ released = false,
25
+ file = File.fromPathContentAndReleased(path, content, released);
26
+
27
+ return file;
28
+ }