highmark-markdown 0.0.451 → 0.0.453
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.
- package/example.js +95 -74
- package/lib/constants.js +17 -1
- package/lib/example/importer.js +2 -2
- package/lib/example/indexOptions.js +2 -2
- package/lib/utilities/index.js +81 -71
- package/package.json +2 -2
- package/src/constants.js +4 -0
- package/src/example/importer.js +0 -2
- package/src/example/indexOptions.js +1 -1
- package/src/utilities/index.js +124 -98
package/lib/constants.js
CHANGED
|
@@ -30,14 +30,26 @@ _export(exports, {
|
|
|
30
30
|
HYPHEN: function() {
|
|
31
31
|
return HYPHEN;
|
|
32
32
|
},
|
|
33
|
+
IES_STRING: function() {
|
|
34
|
+
return IES_STRING;
|
|
35
|
+
},
|
|
36
|
+
PARENTHESISED_S_STRING: function() {
|
|
37
|
+
return PARENTHESISED_S_STRING;
|
|
38
|
+
},
|
|
33
39
|
SINGLE_SPACE: function() {
|
|
34
40
|
return SINGLE_SPACE;
|
|
35
41
|
},
|
|
36
42
|
STYLE: function() {
|
|
37
43
|
return STYLE;
|
|
38
44
|
},
|
|
45
|
+
S_STRING: function() {
|
|
46
|
+
return S_STRING;
|
|
47
|
+
},
|
|
39
48
|
UNDERSCORE: function() {
|
|
40
49
|
return UNDERSCORE;
|
|
50
|
+
},
|
|
51
|
+
Y_STRING: function() {
|
|
52
|
+
return Y_STRING;
|
|
41
53
|
}
|
|
42
54
|
});
|
|
43
55
|
var HEAD = "head";
|
|
@@ -45,10 +57,14 @@ var STYLE = "style";
|
|
|
45
57
|
var COMMA = ",";
|
|
46
58
|
var COLOUR = "color"; ///
|
|
47
59
|
var HYPHEN = "-";
|
|
60
|
+
var Y_STRING = "y";
|
|
61
|
+
var S_STRING = "s";
|
|
62
|
+
var IES_STRING = "ies";
|
|
48
63
|
var UNDERSCORE = "_";
|
|
49
64
|
var GLOBAL_FLAG = "g";
|
|
50
65
|
var EMPTY_STRING = "";
|
|
51
66
|
var SINGLE_SPACE = " ";
|
|
52
67
|
var CARRIAGE_RETURN = "\n";
|
|
68
|
+
var PARENTHESISED_S_STRING = "(s)";
|
|
53
69
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIRUFEID0gXCJoZWFkXCI7XG5leHBvcnQgY29uc3QgU1RZTEUgPSBcInN0eWxlXCI7XG5leHBvcnQgY29uc3QgQ09NTUEgPSBcIixcIjtcbmV4cG9ydCBjb25zdCBDT0xPVVIgPSBcImNvbG9yXCI7ICAvLy9cbmV4cG9ydCBjb25zdCBIWVBIRU4gPSBcIi1cIjtcbmV4cG9ydCBjb25zdCBZX1NUUklORyA9IFwieVwiO1xuZXhwb3J0IGNvbnN0IFNfU1RSSU5HID0gXCJzXCI7XG5leHBvcnQgY29uc3QgSUVTX1NUUklORyA9IFwiaWVzXCI7XG5leHBvcnQgY29uc3QgVU5ERVJTQ09SRSA9IFwiX1wiO1xuZXhwb3J0IGNvbnN0IEdMT0JBTF9GTEFHID0gXCJnXCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBTSU5HTEVfU1BBQ0UgPSBcIiBcIjtcbmV4cG9ydCBjb25zdCBDQVJSSUFHRV9SRVRVUk4gPSBcIlxcblwiO1xuZXhwb3J0IGNvbnN0IFBBUkVOVEhFU0lTRURfU19TVFJJTkcgPSBcIihzKVwiO1xuIl0sIm5hbWVzIjpbIkNBUlJJQUdFX1JFVFVSTiIsIkNPTE9VUiIsIkNPTU1BIiwiRU1QVFlfU1RSSU5HIiwiR0xPQkFMX0ZMQUciLCJIRUFEIiwiSFlQSEVOIiwiSUVTX1NUUklORyIsIlBBUkVOVEhFU0lTRURfU19TVFJJTkciLCJTSU5HTEVfU1BBQ0UiLCJTVFlMRSIsIlNfU1RSSU5HIiwiVU5ERVJTQ09SRSIsIllfU1RSSU5HIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFjYUEsZUFBZTtlQUFmQTs7SUFUQUMsTUFBTTtlQUFOQTs7SUFEQUMsS0FBSztlQUFMQTs7SUFRQUMsWUFBWTtlQUFaQTs7SUFEQUMsV0FBVztlQUFYQTs7SUFUQUMsSUFBSTtlQUFKQTs7SUFJQUMsTUFBTTtlQUFOQTs7SUFHQUMsVUFBVTtlQUFWQTs7SUFNQUMsc0JBQXNCO2VBQXRCQTs7SUFGQUMsWUFBWTtlQUFaQTs7SUFWQUMsS0FBSztlQUFMQTs7SUFLQUMsUUFBUTtlQUFSQTs7SUFFQUMsVUFBVTtlQUFWQTs7SUFIQUMsUUFBUTtlQUFSQTs7O0FBTE4sSUFBTVIsT0FBTztBQUNiLElBQU1LLFFBQVE7QUFDZCxJQUFNUixRQUFRO0FBQ2QsSUFBTUQsU0FBUyxTQUFVLEdBQUc7QUFDNUIsSUFBTUssU0FBUztBQUNmLElBQU1PLFdBQVc7QUFDakIsSUFBTUYsV0FBVztBQUNqQixJQUFNSixhQUFhO0FBQ25CLElBQU1LLGFBQWE7QUFDbkIsSUFBTVIsY0FBYztBQUNwQixJQUFNRCxlQUFlO0FBQ3JCLElBQU1NLGVBQWU7QUFDckIsSUFBTVQsa0JBQWtCO0FBQ3hCLElBQU1RLHlCQUF5QiJ9
|
package/lib/example/importer.js
CHANGED
|
@@ -49,8 +49,8 @@ function classNameFromFilePath(filePath) {
|
|
|
49
49
|
}
|
|
50
50
|
var INDEX_PATH = "index.md", CONTENT_PATH = "content.md", CONTENTS_PATH = "contents.md", HALF_TITLE_PATH = "half-title.md", FRONT_MATTER_PATH = "front-matter.md", INTRODUCTION_PATH = "introduction.md", GETTING_STARTED_PATH = "getting-started.md", INSTALLING_THE_CLI_PATH = "installing-the-cli.md", GETTING_TO_GRIPS_WITH_THE_IDE_PATH = "getting-to-grips-with-the-ide.md";
|
|
51
51
|
var defaultContent = "@ignore\n\n@include ".concat(FRONT_MATTER_PATH, "\n@include ").concat(CONTENT_PATH, "\n@include ").concat(INDEX_PATH, "\n");
|
|
52
|
-
var indexContent = "## Index\n\n@index", contentContent = "@ignore\n\n@include ".concat(INTRODUCTION_PATH, "\n@include ").concat(GETTING_STARTED_PATH), contentsContent = "## Contents\n\n@contents", halfTitleContent = "# Occam", frontMatterContent = "@ignore\n\n@include ".concat(HALF_TITLE_PATH, "\n@include ").concat(CONTENTS_PATH), introductionContent = "# Introduction\n \
|
|
52
|
+
var indexContent = "## Index\n\n@index", contentContent = "@ignore\n\n@include ".concat(INTRODUCTION_PATH, "\n@include ").concat(GETTING_STARTED_PATH), contentsContent = "## Contents\n\n@contents", halfTitleContent = "# Occam", frontMatterContent = "@ignore\n\n@include ".concat(HALF_TITLE_PATH, "\n@include ").concat(CONTENTS_PATH), introductionContent = "# Introduction\n \nI have tried to make Occam[^occam] as useable as possible but there are limits.\nAt the end of the day it is an expert system and some of its parts, not least the verifier, need detailed explanation.\nIt is the purpose of this book is to provide these explanations.\n\nThis book also goes into considerable detail on the subject of Occam's approach to language, which largely boils down to its use of grammars.\nOccam has its own language, called Florence,[^florence] but it will also support controlled natural languages in the near future.\nIndeed, the verifier cannot distinguish between these languages at all.\nThis book explains how this is possible.\n\n@footnotes\n\n@pageNumber\n", gettingStartedContent = "# Getting started\n \nAnother short paragraph with a reference to a footnote[^occam].\n\n[^occam]: The word Occam is used somewhat nebulously here.\nIt is most often associated with Occam's IDE but in fact it encompasses a range of software and services.\nThis book explains these divers parts and there is a companion book, called The Foundations of Symbolic Reasoning, that covers the underlying theory.\n\n[^florence]: Occam was originally called Florence but the former seemed more apt.\n\n@footnotes\n\n@embed ".concat(INSTALLING_THE_CLI_PATH, "\n@embed ").concat(GETTING_TO_GRIPS_WITH_THE_IDE_PATH, "\n\n@pageNumber\n"), installingTheCLIContent = "## Installing the CLI\n", gettingToGripsWithTheIDEIContent = "## Getting to grips with the IDE\n \n* An unordered list to test...\n* ...the indexing.\n \n1. As well as an...\n2. ...ordered list.\n \n";
|
|
53
53
|
var _obj;
|
|
54
54
|
var contentMap = (_obj = {}, _define_property(_obj, INDEX_PATH, indexContent), _define_property(_obj, CONTENT_PATH, contentContent), _define_property(_obj, CONTENTS_PATH, contentsContent), _define_property(_obj, HALF_TITLE_PATH, halfTitleContent), _define_property(_obj, FRONT_MATTER_PATH, frontMatterContent), _define_property(_obj, INTRODUCTION_PATH, introductionContent), _define_property(_obj, GETTING_STARTED_PATH, gettingStartedContent), _define_property(_obj, INSTALLING_THE_CLI_PATH, installingTheCLIContent), _define_property(_obj, GETTING_TO_GRIPS_WITH_THE_IDE_PATH, gettingToGripsWithTheIDEIContent), _obj);
|
|
55
55
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL2ltcG9ydGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBNYXJrZG93bkxleGVyLCBNYXJrZG93blBhcnNlciB9IGZyb20gXCIuLi9pbmRleFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaW1wb3J0ZXIoZmlsZVBhdGgsIGNvbnRleHQpIHtcbiAgY29uc3QgY29udGVudCA9IGNvbnRlbnRNYXBbZmlsZVBhdGhdIHx8IG51bGw7XG5cbiAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGFydE9mQ29udGVudCA9IHRydWUsXG4gICAgICAgICAgc3RhcnRSdWxlID0gbWFya2Rvd25QYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgICAgdG9rZW5zID0gbWFya2Rvd25MZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gbWFya2Rvd25QYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUsIHN0YXJ0T2ZDb250ZW50KSxcbiAgICAgICAgICBpbXBvcnRlZE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgaW1wb3J0ZWRUb2tlbnMgPSB0b2tlbnMsXG4gICAgICAgICAgaW1wb3J0ZWRDbGFzc05hbWUgPSBjbGFzc05hbWVGcm9tRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBpbXBvcnRlZE5vZGUsXG4gICAgICBpbXBvcnRlZFRva2VucyxcbiAgICAgIGltcG9ydGVkQ2xhc3NOYW1lXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xhc3NOYW1lRnJvbUZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IGZpbGVQYXRoLnJlcGxhY2UoL1xcLm1kLywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gY2xhc3NOYW1lO1xufVxuXG5jb25zdCBJTkRFWF9QQVRIID0gXCJpbmRleC5tZFwiLFxuICAgICAgQ09OVEVOVF9QQVRIID0gXCJjb250ZW50Lm1kXCIsXG4gICAgICBDT05URU5UU19QQVRIID0gXCJjb250ZW50cy5tZFwiLFxuICAgICAgSEFMRl9USVRMRV9QQVRIID0gXCJoYWxmLXRpdGxlLm1kXCIsXG4gICAgICBGUk9OVF9NQVRURVJfUEFUSCA9IFwiZnJvbnQtbWF0dGVyLm1kXCIsXG4gICAgICBJTlRST0RVQ1RJT05fUEFUSCA9IFwiaW50cm9kdWN0aW9uLm1kXCIsXG4gICAgICBHRVRUSU5HX1NUQVJURURfUEFUSCA9IFwiZ2V0dGluZy1zdGFydGVkLm1kXCIsXG4gICAgICBJTlNUQUxMSU5HX1RIRV9DTElfUEFUSCA9IFwiaW5zdGFsbGluZy10aGUtY2xpLm1kXCIsXG4gICAgICBHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIID0gXCJnZXR0aW5nLXRvLWdyaXBzLXdpdGgtdGhlLWlkZS5tZFwiO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdENvbnRlbnQgPSBgQGlnbm9yZVxuXG5AaW5jbHVkZSAke0ZST05UX01BVFRFUl9QQVRIfVxuQGluY2x1ZGUgJHtDT05URU5UX1BBVEh9XG5AaW5jbHVkZSAke0lOREVYX1BBVEh9XG5gO1xuXG5jb25zdCBpbmRleENvbnRlbnQgPSBgIyMgSW5kZXhcblxuQGluZGV4YCxcblxuICAgICAgY29udGVudENvbnRlbnQgPSBgQGlnbm9yZVxuXG5AaW5jbHVkZSAke0lOVFJPRFVDVElPTl9QQVRIfVxuQGluY2x1ZGUgJHtHRVRUSU5HX1NUQVJURURfUEFUSH1gLFxuXG4gICAgICBjb250ZW50c0NvbnRlbnQgPSBgIyMgQ29udGVudHNcblxuQGNvbnRlbnRzYCxcblxuICAgICAgaGFsZlRpdGxlQ29udGVudCA9IGAjIE9jY2FtYCxcblxuICAgICAgZnJvbnRNYXR0ZXJDb250ZW50ID0gYEBpZ25vcmVcblxuQGluY2x1ZGUgJHtIQUxGX1RJVExFX1BBVEh9XG5AaW5jbHVkZSAke0NPTlRFTlRTX1BBVEh9YCxcblxuICAgICAgaW50cm9kdWN0aW9uQ29udGVudCA9IGAjIEludHJvZHVjdGlvblxuICAgICAgXG5JIGhhdmUgdHJpZWQgdG8gbWFrZSBPY2NhbVteb2NjYW1dIGFzIHVzZWFibGUgYXMgcG9zc2libGUgYnV0IHRoZXJlIGFyZSBsaW1pdHMuXG5BdCB0aGUgZW5kIG9mIHRoZSBkYXkgaXQgaXMgYW4gZXhwZXJ0IHN5c3RlbSBhbmQgc29tZSBvZiBpdHMgcGFydHMsIG5vdCBsZWFzdCB0aGUgdmVyaWZpZXIsIG5lZWQgZGV0YWlsZWQgZXhwbGFuYXRpb24uXG5JdCBpcyB0aGUgcHVycG9zZSBvZiB0aGlzIGJvb2sgaXMgdG8gcHJvdmlkZSB0aGVzZSBleHBsYW5hdGlvbnMuXG5cblRoaXMgYm9vayBhbHNvIGdvZXMgaW50byBjb25zaWRlcmFibGUgZGV0YWlsIG9uIHRoZSBzdWJqZWN0IG9mIE9jY2FtJ3MgYXBwcm9hY2ggdG8gbGFuZ3VhZ2UsIHdoaWNoIGxhcmdlbHkgYm9pbHMgZG93biB0byBpdHMgdXNlIG9mIGdyYW1tYXJzLlxuT2NjYW0gaGFzIGl0cyBvd24gbGFuZ3VhZ2UsIGNhbGxlZCBGbG9yZW5jZSxbXmZsb3JlbmNlXSBidXQgaXQgd2lsbCBhbHNvIHN1cHBvcnQgY29udHJvbGxlZCBuYXR1cmFsIGxhbmd1YWdlcyBpbiB0aGUgbmVhciBmdXR1cmUuXG5JbmRlZWQsIHRoZSB2ZXJpZmllciBjYW5ub3QgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSBsYW5ndWFnZXMgYXQgYWxsLlxuVGhpcyBib29rIGV4cGxhaW5zIGhvdyB0aGlzIGlzIHBvc3NpYmxlLlxuXG5AZm9vdG5vdGVzXG5cbkBwYWdlTnVtYmVyXG5gLFxuXG4gICAgICBnZXR0aW5nU3RhcnRlZENvbnRlbnQgPSBgIyBHZXR0aW5nIHN0YXJ0ZWRcbiAgICAgIFxuQW5vdGhlciBzaG9ydCBwYXJhZ3JhcGggd2l0aCBhIHJlZmVyZW5jZSB0byBhIGZvb3Rub3RlW15vY2NhbV0uXG5cblteb2NjYW1dOiBUaGUgd29yZCBPY2NhbSBpcyB1c2VkIHNvbWV3aGF0IG5lYnVsb3VzbHkgaGVyZS5cbkl0IGlzIG1vc3Qgb2Z0ZW4gYXNzb2NpYXRlZCB3aXRoIE9jY2FtJ3MgSURFIGJ1dCBpbiBmYWN0IGl0IGVuY29tcGFzc2VzIGEgcmFuZ2Ugb2Ygc29mdHdhcmUgYW5kIHNlcnZpY2VzLlxuVGhpcyBib29rIGV4cGxhaW5zIHRoZXNlIGRpdmVycyBwYXJ0cyBhbmQgdGhlcmUgaXMgYSBjb21wYW5pb24gYm9vaywgY2FsbGVkIFRoZSBGb3VuZGF0aW9ucyBvZiBTeW1ib2xpYyBSZWFzb25pbmcsIHRoYXQgY292ZXJzIHRoZSB1bmRlcmx5aW5nIHRoZW9yeS5cblxuW15mbG9yZW5jZV06IE9jY2FtIHdhcyBvcmlnaW5hbGx5IGNhbGxlZCBGbG9yZW5jZSBidXQgdGhlIGZvcm1lciBzZWVtZWQgbW9yZSBhcHQuXG5cbkBmb290bm90ZXNcblxuQGVtYmVkICR7SU5TVEFMTElOR19USEVfQ0xJX1BBVEh9XG5AZW1iZWQgJHtHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIfVxuXG5AcGFnZU51bWJlclxuYCxcblxuICAgICAgaW5zdGFsbGluZ1RoZUNMSUNvbnRlbnQgPSBgIyMgSW5zdGFsbGluZyB0aGUgQ0xJXG5gLFxuXG4gICAgICBnZXR0aW5nVG9Hcmlwc1dpdGhUaGVJREVJQ29udGVudCA9IGAjIyBHZXR0aW5nIHRvIGdyaXBzIHdpdGggdGhlIElERVxuICAgICAgICAgICAgXG4qIEFuIHVub3JkZXJlZCBsaXN0IHRvIHRlc3QuLi5cbiogLi4udGhlIGluZGV4aW5nLlxuICAgICAgXG4xLiBBcyB3ZWxsIGFzIGFuLi4uXG4yLiAuLi5vcmRlcmVkIGxpc3QuXG4gICAgICBcbmA7XG5cbmNvbnN0IGNvbnRlbnRNYXAgPSB7XG5cbiAgW0lOREVYX1BBVEhdOiBpbmRleENvbnRlbnQsXG4gIFtDT05URU5UX1BBVEhdOiBjb250ZW50Q29udGVudCxcbiAgW0NPTlRFTlRTX1BBVEhdOiBjb250ZW50c0NvbnRlbnQsXG4gIFtIQUxGX1RJVExFX1BBVEhdOiBoYWxmVGl0bGVDb250ZW50LFxuICBbRlJPTlRfTUFUVEVSX1BBVEhdOiBmcm9udE1hdHRlckNvbnRlbnQsXG4gIFtJTlRST0RVQ1RJT05fUEFUSF06IGludHJvZHVjdGlvbkNvbnRlbnQsXG4gIFtHRVRUSU5HX1NUQVJURURfUEFUSF06IGdldHRpbmdTdGFydGVkQ29udGVudCxcbiAgW0lOU1RBTExJTkdfVEhFX0NMSV9QQVRIXTogaW5zdGFsbGluZ1RoZUNMSUNvbnRlbnQsXG4gIFtHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIXTogZ2V0dGluZ1RvR3JpcHNXaXRoVGhlSURFSUNvbnRlbnRcblxufTtcbiJdLCJuYW1lcyI6WyJpbXBvcnRlciIsImRlZmF1bHRDb250ZW50IiwibWFya2Rvd25MZXhlciIsIk1hcmtkb3duTGV4ZXIiLCJmcm9tTm90aGluZyIsIm1hcmtkb3duUGFyc2VyIiwiTWFya2Rvd25QYXJzZXIiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJjb250ZW50IiwiY29udGVudE1hcCIsInN0YXJ0T2ZDb250ZW50Iiwic3RhcnRSdWxlIiwiZ2V0U3RhcnRSdWxlIiwidG9rZW5zIiwidG9rZW5pc2UiLCJub2RlIiwicGFyc2UiLCJpbXBvcnRlZE5vZGUiLCJpbXBvcnRlZFRva2VucyIsImltcG9ydGVkQ2xhc3NOYW1lIiwiY2xhc3NOYW1lRnJvbUZpbGVQYXRoIiwiT2JqZWN0IiwiYXNzaWduIiwiY2xhc3NOYW1lIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyIsIklOREVYX1BBVEgiLCJDT05URU5UX1BBVEgiLCJDT05URU5UU19QQVRIIiwiSEFMRl9USVRMRV9QQVRIIiwiRlJPTlRfTUFUVEVSX1BBVEgiLCJJTlRST0RVQ1RJT05fUEFUSCIsIkdFVFRJTkdfU1RBUlRFRF9QQVRIIiwiSU5TVEFMTElOR19USEVfQ0xJX1BBVEgiLCJHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIIiwiaW5kZXhDb250ZW50IiwiY29udGVudENvbnRlbnQiLCJjb250ZW50c0NvbnRlbnQiLCJoYWxmVGl0bGVDb250ZW50IiwiZnJvbnRNYXR0ZXJDb250ZW50IiwiaW50cm9kdWN0aW9uQ29udGVudCIsImdldHRpbmdTdGFydGVkQ29udGVudCIsImluc3RhbGxpbmdUaGVDTElDb250ZW50IiwiZ2V0dGluZ1RvR3JpcHNXaXRoVGhlSURFSUNvbnRlbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVNBLE9Ba0JDO2VBbEJ1QkE7O0lBb0NYQyxjQUFjO2VBQWRBOzs7cUJBM0NpQzt5QkFFakI7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQU1DLGdCQUFnQkMsb0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsaUJBQWlCQyxxQkFBYyxDQUFDRixXQUFXO0FBRWxDLFNBQVNKLFNBQVNPLFFBQVEsRUFBRUMsT0FBTztJQUNoRCxJQUFNQyxVQUFVQyxVQUFVLENBQUNILFNBQVMsSUFBSTtJQUV4QyxJQUFJRSxZQUFZLE1BQU07UUFDcEIsSUFBTUUsaUJBQWlCLE1BQ2pCQyxZQUFZUCxlQUFlUSxZQUFZLElBQ3ZDQyxTQUFTWixjQUFjYSxRQUFRLENBQUNOLFVBQ2hDTyxPQUFPWCxlQUFlWSxLQUFLLENBQUNILFFBQVFGLFdBQVdELGlCQUMvQ08sZUFBZUYsTUFDZkcsaUJBQWlCTCxRQUNqQk0sb0JBQW9CQyxzQkFBc0JkO1FBRWhEZSxPQUFPQyxNQUFNLENBQUNmLFNBQVM7WUFDckJVLGNBQUFBO1lBQ0FDLGdCQUFBQTtZQUNBQyxtQkFBQUE7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxTQUFTQyxzQkFBc0JkLFFBQVE7SUFDckMsSUFBTWlCLFlBQVlqQixTQUFTa0IsT0FBTyxDQUFDLFFBQVFDLHVCQUFZO0lBRXZELE9BQU9GO0FBQ1Q7QUFFQSxJQUFNRyxhQUFhLFlBQ2JDLGVBQWUsY0FDZkMsZ0JBQWdCLGVBQ2hCQyxrQkFBa0IsaUJBQ2xCQyxvQkFBb0IsbUJBQ3BCQyxvQkFBb0IsbUJBQ3BCQyx1QkFBdUIsc0JBQ3ZCQywwQkFBMEIseUJBQzFCQyxxQ0FBcUM7QUFFcEMsSUFBTWxDLGlCQUFpQixBQUFDLHVCQUdwQjJCLE9BREFHLG1CQUFrQixlQUVsQkosT0FEQUMsY0FBYSxlQUNGLE9BQVhELFlBQVc7QUFHdEIsSUFBTVMsZUFBZ0Isc0JBSWhCQyxpQkFBaUIsQUFBQyx1QkFHYkosT0FEQUQsbUJBQWtCLGVBQ0csT0FBckJDLHVCQUVMSyxrQkFBbUIsNEJBSW5CQyxtQkFBb0IsV0FFcEJDLHFCQUFxQixBQUFDLHVCQUdqQlgsT0FEQUMsaUJBQWdCLGVBQ0YsT0FBZEQsZ0JBRUxZLHNCQUF1Qiwyc0JBZ0J2QkMsd0JBQXdCLEFBQUMsMmdCQWF0QlAsT0FEQUQseUJBQXdCLGFBQ1csT0FBbkNDLG9DQUFtQyxzQkFLdENRLDBCQUEyQiwyQkFHM0JDLG1DQUFvQztJQVV2QjtBQUFuQixJQUFNbEMsY0FBYSxXQUVqQixpQkFGaUIsTUFFaEJpQixZQUFhUyxlQUNkLGlCQUhpQixNQUdoQlIsY0FBZVMsaUJBQ2hCLGlCQUppQixNQUloQlIsZUFBZ0JTLGtCQUNqQixpQkFMaUIsTUFLaEJSLGlCQUFrQlMsbUJBQ25CLGlCQU5pQixNQU1oQlIsbUJBQW9CUyxxQkFDckIsaUJBUGlCLE1BT2hCUixtQkFBb0JTLHNCQUNyQixpQkFSaUIsTUFRaEJSLHNCQUF1QlMsd0JBQ3hCLGlCQVRpQixNQVNoQlIseUJBQTBCUywwQkFDM0IsaUJBVmlCLE1BVWhCUixvQ0FBcUNTLG1DQVZyQiJ9
|
|
@@ -17,7 +17,7 @@ var indexOptions = {
|
|
|
17
17
|
"language(s)"
|
|
18
18
|
],
|
|
19
19
|
"acronyms": [
|
|
20
|
-
"
|
|
20
|
+
"C"
|
|
21
21
|
],
|
|
22
22
|
"properNouns": [
|
|
23
23
|
"Occam"
|
|
@@ -140,4 +140,4 @@ var indexOptions = {
|
|
|
140
140
|
};
|
|
141
141
|
var _default = indexOptions;
|
|
142
142
|
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL2luZGV4T3B0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgaW5kZXhPcHRpb25zID0ge1xuICBcInBocmFzZXNcIjogW1xuICAgIFwic3ltYm9saWMgcmVhc29uaW5nXCJcbiAgXSxcbiAgXCJwbHVyYWxzXCI6IFtcbiAgICBcImdyYW1tYXJcIixcbiAgICBcImxhbmd1YWdlKHMpXCJcbiAgXSxcbiAgXCJhY3Jvbnltc1wiOiBbXG4gICAgXCJDXCIsXG4gIF0sXG4gIFwicHJvcGVyTm91bnNcIjogW1xuICAgIFwiT2NjYW1cIlxuICBdLFxuICBcImlnbm9yZWRXb3Jkc1wiOiBbXG4gICAgXCJhXCIsXG4gICAgXCJhbGxcIixcbiAgICBcImFsc29cIixcbiAgICBcImFuXCIsXG4gICAgXCJhbmRcIixcbiAgICBcImFub3RoZXJcIixcbiAgICBcImFwcHJvYWNoXCIsXG4gICAgXCJhcHRcIixcbiAgICBcImFyZVwiLFxuICAgIFwiYXNcIixcbiAgICBcImFzc29jaWF0ZWRcIixcbiAgICBcImF0XCIsXG4gICAgXCJiZXR3ZWVuXCIsXG4gICAgXCJib2lsc1wiLFxuICAgIFwiYm9va1wiLFxuICAgIFwiYnV0XCIsXG4gICAgXCJjYWxsZWRcIixcbiAgICBcImNhbm5vdFwiLFxuICAgIFwiY29tcGFuaW9uXCIsXG4gICAgXCJjb25zaWRlcmFibGVcIixcbiAgICBcImNvbnRlbnRzXCIsXG4gICAgXCJjb250cm9sbGVkXCIsXG4gICAgXCJjb3ZlcnNcIixcbiAgICBcImRheVwiLFxuICAgIFwiZGV0YWlsXCIsXG4gICAgXCJkZXRhaWxlZFwiLFxuICAgIFwiZGlzdGluZ3Vpc2hcIixcbiAgICBcImRpdmVyc1wiLFxuICAgIFwiZG93blwiLFxuICAgIFwiZW5jb21wYXNzZXNcIixcbiAgICBcImVuZFwiLFxuICAgIFwiZXhwZXJ0XCIsXG4gICAgXCJleHBsYWluc1wiLFxuICAgIFwiZXhwbGFuYXRpb25cIixcbiAgICBcImV4cGxhbmF0aW9uc1wiLFxuICAgIFwiZmFjdFwiLFxuICAgIFwiZmxvcmVuY2VcIixcbiAgICBcImZvb3Rub3RlXCIsXG4gICAgXCJmb3JtZXJcIixcbiAgICBcImZvdW5kYXRpb25zXCIsXG4gICAgXCJmdXR1cmVcIixcbiAgICBcImdldHRpbmdcIixcbiAgICBcImdvZXNcIixcbiAgICBcImdyaXBzXCIsXG4gICAgXCJoYXNcIixcbiAgICBcImhhdmVcIixcbiAgICBcImhlcmVcIixcbiAgICBcImhvd1wiLFxuICAgIFwiaVwiLFxuICAgIFwiaWRlXCIsXG4gICAgXCJpblwiLFxuICAgIFwiaW5kZWVkXCIsXG4gICAgXCJpbmRleFwiLFxuICAgIFwiaW5kZXhpbmdcIixcbiAgICBcImludG9cIixcbiAgICBcImludHJvZHVjdGlvblwiLFxuICAgIFwiaXNcIixcbiAgICBcIml0XCIsXG4gICAgXCJpdHNcIixcbiAgICBcImxhcmdlbHlcIixcbiAgICBcImxlYXN0XCIsXG4gICAgXCJsaW1pdHNcIixcbiAgICBcImxpc3RcIixcbiAgICBcIm1ha2VcIixcbiAgICBcIm1vcmVcIixcbiAgICBcIm1vc3RcIixcbiAgICBcIm5hdHVyYWxcIixcbiAgICBcIm5lYXJcIixcbiAgICBcIm5lYnVsb3VzbHlcIixcbiAgICBcIm5lZWRcIixcbiAgICBcIm5vdFwiLFxuICAgIFwib2ZcIixcbiAgICBcIm9mdGVuXCIsXG4gICAgXCJvblwiLFxuICAgIFwib3JkZXJlZFwiLFxuICAgIFwib3JpZ2luYWxseVwiLFxuICAgIFwib3duXCIsXG4gICAgXCJwYXJhZ3JhcGhcIixcbiAgICBcInBhcnRzXCIsXG4gICAgXCJwb3NzaWJsZVwiLFxuICAgIFwicHJvdmlkZVwiLFxuICAgIFwicHVycG9zZVwiLFxuICAgIFwicmFuZ2VcIixcbiAgICBcInJlZmVyZW5jZVwiLFxuICAgIFwic1wiLFxuICAgIFwic2VlbWVkXCIsXG4gICAgXCJzZXJ2aWNlc1wiLFxuICAgIFwic2hvcnRcIixcbiAgICBcInNvbWVcIixcbiAgICBcInNvbWV3aGF0XCIsXG4gICAgXCJzdGFydGVkXCIsXG4gICAgXCJzdWJqZWN0XCIsXG4gICAgXCJzdXBwb3J0XCIsXG4gICAgXCJzeXN0ZW1cIixcbiAgICBcInRlc3RcIixcbiAgICBcInRoYXRcIixcbiAgICBcInRoZVwiLFxuICAgIFwidGhlcmVcIixcbiAgICBcInRoZXNlXCIsXG4gICAgXCJ0aGlzXCIsXG4gICAgXCJ0b1wiLFxuICAgIFwidHJpZWRcIixcbiAgICBcInVuZGVybHlpbmdcIixcbiAgICBcInVub3JkZXJlZFwiLFxuICAgIFwidXNlXCIsXG4gICAgXCJ1c2VhYmxlXCIsXG4gICAgXCJ1c2VkXCIsXG4gICAgXCJ3YXNcIixcbiAgICBcIndlbGxcIixcbiAgICBcIndoaWNoXCIsXG4gICAgXCJ3aWxsXCIsXG4gICAgXCJ3aXRoXCIsXG4gICAgXCJ3b3JkXCJcbiAgXVxufTtcblxuZXhwb3J0IGRlZmF1bHQgaW5kZXhPcHRpb25zO1xuIl0sIm5hbWVzIjpbImluZGV4T3B0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBcUlBOzs7ZUFBQTs7O0FBbklBLElBQU1BLGVBQWU7SUFDbkIsV0FBVztRQUNUO0tBQ0Q7SUFDRCxXQUFXO1FBQ1Q7UUFDQTtLQUNEO0lBQ0QsWUFBWTtRQUNWO0tBQ0Q7SUFDRCxlQUFlO1FBQ2I7S0FDRDtJQUNELGdCQUFnQjtRQUNkO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7S0FDRDtBQUNIO0lBRUEsV0FBZUEifQ==
|
package/lib/utilities/index.js
CHANGED
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "indexMapFromDivisionMarkdownNodes", {
|
|
|
10
10
|
});
|
|
11
11
|
var _necessary = require("necessary");
|
|
12
12
|
var _match = /*#__PURE__*/ _interop_require_default(require("../index/match"));
|
|
13
|
-
var _constants = require("../constants");
|
|
14
13
|
var _object = require("../utilities/object");
|
|
14
|
+
var _constants = require("../constants");
|
|
15
15
|
function _array_like_to_array(arr, len) {
|
|
16
16
|
if (len == null || len > arr.length) len = arr.length;
|
|
17
17
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -46,11 +46,11 @@ var compress = _necessary.arrayUtilities.compress;
|
|
|
46
46
|
function indexMapFromDivisionMarkdownNodes(divisionMarkdownNodes, context) {
|
|
47
47
|
var indexMap = createIndexMap(divisionMarkdownNodes, context);
|
|
48
48
|
removeIgnoredWords(indexMap, context);
|
|
49
|
-
adjustProperNouns(indexMap, context);
|
|
50
|
-
adjustAcronyms(indexMap, context);
|
|
51
49
|
adjustMixedPlurals(indexMap, context);
|
|
52
50
|
adjustPluralPlurals(indexMap, context);
|
|
53
51
|
adjustSingularPlurals(indexMap, context);
|
|
52
|
+
adjustProperNouns(indexMap, context);
|
|
53
|
+
adjustAcronyms(indexMap, context);
|
|
54
54
|
compressPageNumbers(indexMap);
|
|
55
55
|
return indexMap;
|
|
56
56
|
}
|
|
@@ -132,7 +132,7 @@ function adjustProperNouns(indexMap, context) {
|
|
|
132
132
|
}
|
|
133
133
|
function preparePlainText(plainText) {
|
|
134
134
|
plainText = plainText.toLowerCase(); ///
|
|
135
|
-
plainText = plainText.replace(/[^a-
|
|
135
|
+
plainText = plainText.replace(/[^a-z0-9 ]/g, _constants.SINGLE_SPACE);
|
|
136
136
|
plainText = plainText.replace(/\s+/g, _constants.SINGLE_SPACE);
|
|
137
137
|
plainText = plainText.replace(/^\s+|\s+$/g, _constants.EMPTY_STRING);
|
|
138
138
|
return plainText;
|
|
@@ -157,95 +157,105 @@ function adjustAcronyms(indexMap, context) {
|
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
159
|
function adjustMixedPlurals(indexMap, context) {
|
|
160
|
-
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, mixedPlurals =
|
|
160
|
+
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, mixedPlurals = reducePlurals(plurals, isMixed), pluralPlurals = mapPlurals(mixedPlurals, mixedToPlural), singularPlurals = mapPlurals(mixedPlurals, mixedToSingular);
|
|
161
161
|
(0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
|
|
162
|
-
var
|
|
163
|
-
if (
|
|
164
|
-
var
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
162
|
+
var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
|
|
163
|
+
if (singularPluralsIncludesWordOrPhrase) {
|
|
164
|
+
var singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, mixedWordOrPhrase = singularToMixed(singularWordOrPhrase), mixedPageNumbers = indexMap[mixedWordOrPhrase] || [];
|
|
165
|
+
pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(mixedPageNumbers));
|
|
166
|
+
delete indexMap[singularWordOrPhrase];
|
|
167
|
+
indexMap[mixedWordOrPhrase] = pageNumbers;
|
|
168
|
+
}
|
|
169
|
+
var pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
|
|
170
|
+
if (pluralPluralsIncludesWordOrPhrase) {
|
|
171
|
+
var pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers, mixedWordOrPhrase1 = pluralToMixed(pluralWordOrPhrase), mixedPageNumbers1 = indexMap[mixedWordOrPhrase1] || [];
|
|
172
|
+
pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(mixedPageNumbers1));
|
|
173
|
+
delete indexMap[pluralWordOrPhrase];
|
|
174
|
+
indexMap[mixedWordOrPhrase1] = pageNumbers;
|
|
172
175
|
}
|
|
173
176
|
});
|
|
174
177
|
}
|
|
175
178
|
function adjustPluralPlurals(indexMap, context) {
|
|
176
|
-
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, pluralPlurals =
|
|
179
|
+
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, pluralPlurals = reducePlurals(plurals, isPlural), singularPlurals = mapPlurals(pluralPlurals, pluralToSingular);
|
|
177
180
|
(0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
|
|
178
|
-
var
|
|
179
|
-
if (
|
|
180
|
-
var
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
delete indexMap[singularEntry];
|
|
185
|
-
indexMap[wordOrPhrase] = pageNumbers;
|
|
186
|
-
}
|
|
181
|
+
var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
|
|
182
|
+
if (singularPluralsIncludesWordOrPhrase) {
|
|
183
|
+
var singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, pluralWordOrPhrase = singularToPlural(wordOrPhrase), pluralPageNumbers = indexMap[pluralWordOrPhrase] || [];
|
|
184
|
+
pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(pluralPageNumbers));
|
|
185
|
+
delete indexMap[singularWordOrPhrase];
|
|
186
|
+
indexMap[pluralWordOrPhrase] = pageNumbers;
|
|
187
187
|
}
|
|
188
188
|
});
|
|
189
189
|
}
|
|
190
190
|
function adjustSingularPlurals(indexMap, context) {
|
|
191
|
-
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, singularPlurals =
|
|
191
|
+
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, singularPlurals = reducePlurals(plurals, isSingular), pluralPlurals = mapPlurals(singularPlurals, singularToPlural);
|
|
192
192
|
(0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
|
|
193
|
-
var
|
|
194
|
-
if (
|
|
195
|
-
var
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
delete indexMap[wordOrPhrase];
|
|
200
|
-
indexMap[singularEntry] = pageNumbers;
|
|
201
|
-
}
|
|
193
|
+
var pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
|
|
194
|
+
if (pluralPluralsIncludesWordOrPhrase) {
|
|
195
|
+
var singularWordOrPhrase = pluralToSingular(wordOrPhrase), singularPageNumbers = indexMap[singularWordOrPhrase] || [], pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers; ///
|
|
196
|
+
pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(pluralPageNumbers));
|
|
197
|
+
delete indexMap[pluralWordOrPhrase];
|
|
198
|
+
indexMap[singularWordOrPhrase] = pageNumbers;
|
|
202
199
|
}
|
|
203
200
|
});
|
|
204
201
|
}
|
|
205
|
-
function
|
|
206
|
-
|
|
207
|
-
var
|
|
208
|
-
if (
|
|
209
|
-
|
|
210
|
-
singularPlurals.push(singularPlural);
|
|
211
|
-
}
|
|
212
|
-
return singularPlurals;
|
|
213
|
-
}, []);
|
|
214
|
-
return singularPlurals;
|
|
215
|
-
}
|
|
216
|
-
function pluralPluralsFromPlurals(plurals) {
|
|
217
|
-
var pluralPlurals = plurals.reduce(function(pluralPlurals, plural) {
|
|
218
|
-
var pluralPlural = isPlural(plural);
|
|
219
|
-
if (pluralPlural) {
|
|
220
|
-
var pluralPlural1 = plural; ///
|
|
221
|
-
pluralPlurals.push(pluralPlural1);
|
|
202
|
+
function reducePlurals(plurals, callback) {
|
|
203
|
+
plurals = plurals.reduce(function(plurals, plural) {
|
|
204
|
+
var result = callback(plural);
|
|
205
|
+
if (result) {
|
|
206
|
+
plurals.push(plural);
|
|
222
207
|
}
|
|
223
|
-
return
|
|
208
|
+
return plurals;
|
|
224
209
|
}, []);
|
|
225
|
-
return
|
|
226
|
-
}
|
|
227
|
-
function
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
return mixedPlurals;
|
|
235
|
-
}, []);
|
|
236
|
-
return mixedPlurals;
|
|
210
|
+
return plurals;
|
|
211
|
+
}
|
|
212
|
+
function mapPlurals(plurals, callback) {
|
|
213
|
+
plurals = plurals.map(function(plural) {
|
|
214
|
+
plural = callback(plural);
|
|
215
|
+
return plural;
|
|
216
|
+
});
|
|
217
|
+
return plurals;
|
|
237
218
|
}
|
|
238
219
|
function isSingular(text) {
|
|
239
|
-
var indexMatches = /[^s)]$/.test(text),
|
|
240
|
-
return
|
|
220
|
+
var indexMatches = /[^s)]$/.test(text), singular = indexMatches; ///
|
|
221
|
+
return singular;
|
|
241
222
|
}
|
|
242
223
|
function isPlural(text) {
|
|
243
|
-
var indexMatches = /s$/.test(text), plural = indexMatches; ///
|
|
224
|
+
var indexMatches = /(ies|s)$/.test(text), plural = indexMatches; ///
|
|
244
225
|
return plural;
|
|
245
226
|
}
|
|
246
227
|
function isMixed(text) {
|
|
247
|
-
var indexMatches = /\(s\)$/.test(text),
|
|
248
|
-
return
|
|
228
|
+
var indexMatches = /\(s\)$/.test(text), mixed = indexMatches; ///
|
|
229
|
+
return mixed;
|
|
230
|
+
}
|
|
231
|
+
function mixedToPlural(text) {
|
|
232
|
+
text = text ///
|
|
233
|
+
.replace(/\(s\)$/, _constants.S_STRING);
|
|
234
|
+
return text;
|
|
235
|
+
}
|
|
236
|
+
function pluralToMixed(text) {
|
|
237
|
+
text = text ///
|
|
238
|
+
.replace(/s$/, _constants.PARENTHESISED_S_STRING);
|
|
239
|
+
return text;
|
|
240
|
+
}
|
|
241
|
+
function mixedToSingular(text) {
|
|
242
|
+
text = text ///
|
|
243
|
+
.replace(/\(s\)$/, _constants.EMPTY_STRING);
|
|
244
|
+
return text;
|
|
245
|
+
}
|
|
246
|
+
function singularToMixed(text) {
|
|
247
|
+
text = "".concat(text, "(s)");
|
|
248
|
+
return text;
|
|
249
|
+
}
|
|
250
|
+
function singularToPlural(text) {
|
|
251
|
+
text = "".concat(text, "s") ///
|
|
252
|
+
.replace(/ys$/, _constants.IES_STRING);
|
|
253
|
+
return text;
|
|
254
|
+
}
|
|
255
|
+
function pluralToSingular(text) {
|
|
256
|
+
text = text ///
|
|
257
|
+
.replace(/ies$/, _constants.Y_STRING).replace(/s$/, _constants.EMPTY_STRING);
|
|
258
|
+
return text;
|
|
249
259
|
}
|
|
250
260
|
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBmb3JFYWNoLCBtYXBLZXlzLCBtYXBWYWx1ZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL29iamVjdFwiO1xuXG5jb25zdCB7IGNvbXByZXNzIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV4TWFwRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpO1xuXG4gIHJlbW92ZUlnbm9yZWRXb3JkcyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgY29tcHJlc3NQYWdlTnVtYmVycyhpbmRleE1hcCk7XG5cbiAgcmV0dXJuIGluZGV4TWFwO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVJbmRleE1hcChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSB7fTtcblxuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwaHJhc2VzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIGluZGV4TWF0Y2hlcyA9IHBocmFzZXMubWFwKChwaHJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleE1hdGNoID0gSW5kZXhNYXRjaC5mcm9tUGhyYXNlKHBocmFzZSk7XG5cbiAgICAgICAgICByZXR1cm4gaW5kZXhNYXRjaDtcbiAgICAgICAgfSk7XG5cbiAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgY29uc3QgcGFnZU51bWJlciA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmdldFBhZ2VOdW1iZXIoKTtcblxuICAgIGlmIChwYWdlTnVtYmVyICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwbGFpblRleHQgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5hc1BsYWluVGV4dChjb250ZXh0KSxcbiAgICAgICAgICAgIHdvcmRzT3JQaHJhc2VzID0gd29yZHNPclBocmFzZXNGcm9tUGxhaW5UZXh0QW5kSW5kZXhNYXRjaGVzKHBsYWluVGV4dCwgaW5kZXhNYXRjaGVzKTtcblxuICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgIGxldCBwYWdlTnVtYmVycyA9IGluZGV4TWFwW3dvcmRPclBocmFzZV0gfHwgbnVsbDtcblxuICAgICAgICBpZiAocGFnZU51bWJlcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBwYWdlTnVtYmVycyA9IFtdO1xuXG4gICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFnZU51bWJlcnMucHVzaChwYWdlTnVtYmVyKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGluZGV4TWFwO1xufVxuXG5mdW5jdGlvbiB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpIHtcbiAgbGV0IHdvcmRzT3JQaHJhc2VzO1xuXG4gIHBsYWluVGV4dCA9IHByZXBhcmVQbGFpblRleHQocGxhaW5UZXh0KTsgIC8vL1xuXG4gIGluZGV4TWF0Y2hlcy5mb3JFYWNoKChpbmRleE1hdGNoKSA9PiB7XG4gICAgcGxhaW5UZXh0ID0gaW5kZXhNYXRjaC5yZXBsYWNlKHBsYWluVGV4dCk7XG4gIH0pO1xuXG4gIHdvcmRzT3JQaHJhc2VzID0gcGxhaW5UZXh0LnNwbGl0KFNJTkdMRV9TUEFDRSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlcy5tYXAoKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIHdvcmRPclBocmFzZSA9IEluZGV4TWF0Y2gucmV2ZXJ0KHdvcmRPclBocmFzZSk7ICAvLy9cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xuXG4gIHJldHVybiB3b3Jkc09yUGhyYXNlcztcbn1cblxuZnVuY3Rpb24gY29tcHJlc3NQYWdlTnVtYmVycyhpbmRleE1hcCkge1xuICBtYXBWYWx1ZXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29tcHJlc3MocGFnZU51bWJlcnMsIChwYWdlTnVtYmVyQSwgcGFnZU51bWJlckIpID0+IHtcbiAgICAgIGlmIChwYWdlTnVtYmVyQSA9PT0gcGFnZU51bWJlckIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBwYWdlTnVtYmVycy5zb3J0KChwYWdlTnVtYmVyQiwgcGFnZU51bWJlckEpID0+IHtcbiAgICAgIHBhZ2VOdW1iZXJBID0gTnVtYmVyKHBhZ2VOdW1iZXJBKTsgIC8vL1xuXG4gICAgICBwYWdlTnVtYmVyQiA9IE51bWJlcihwYWdlTnVtYmVyQik7ICAvLy9cblxuICAgICAgY29uc3QgZGlmZmVyZW5jZSA9IHBhZ2VOdW1iZXJCIC0gcGFnZU51bWJlckE7XG5cbiAgICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXJzO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGlnbm9yZWRXb3JkcyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGlnbm9yZWRXb3Jkcy5mb3JFYWNoKChpZ25vcmVkV29yZCkgPT4ge1xuICAgIGRlbGV0ZSBpbmRleE1hcFtpZ25vcmVkV29yZF07XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RQcm9wZXJOb3VucyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwcm9wZXJOb3VucyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGNvbnN0IGxvd2VyQ2FzZVByb3Blck5vdW5zID0gcHJvcGVyTm91bnMubWFwKChwcm9wZXJOb3VuKSA9PiB7XG4gICAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91biA9IHByb3Blck5vdW4udG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBsb3dlckNhc2VQcm9wZXJOb3VuO1xuICB9KTtcblxuICBtYXBLZXlzKGluZGV4TWFwLCAod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VQcm9wZXJOb3Vucy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5tYWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJObWFlID09PSB3b3JkT3JQaHJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgcHJvcGVyTm91biA9IHByb3Blck5vdW5zW2luZGV4XTtcblxuICAgICAgd29yZE9yUGhyYXNlID0gcHJvcGVyTm91bjsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlUGxhaW5UZXh0KHBsYWluVGV4dCkge1xuICBwbGFpblRleHQgPSBwbGFpblRleHQudG9Mb3dlckNhc2UoKTsgIC8vL1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9bXmEteiBdL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1xccysvZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gcGxhaW5UZXh0O1xufVxuXG5mdW5jdGlvbiBhZGp1c3RBY3JvbnltcyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBhY3JvbnltcyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW1zID0gYWNyb255bXMubWFwKChhY3JvbnltKSA9PiB7XG4gICAgY29uc3QgbG93ZXJDYXNlQWNyb255bSA9IGFjcm9ueW0udG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBsb3dlckNhc2VBY3JvbnltO1xuICB9KTtcblxuICBtYXBLZXlzKGluZGV4TWFwLCAod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VBY3Jvbnltcy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5tYWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJObWFlID09PSB3b3JkT3JQaHJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgYWNyb255bSA9IGFjcm9ueW1zW2luZGV4XTtcblxuICAgICAgd29yZE9yUGhyYXNlID0gYWNyb255bTsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBtaXhlZFBsdXJhbHMgPSBtaXhlZFBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IGVudHJ5UGx1cmFsID0gaXNQbHVyYWwod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChlbnRyeVBsdXJhbCkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJFbnRyeSA9IHdvcmRPclBocmFzZS5yZXBsYWNlKC9zJC8sIEVNUFRZX1NUUklORyksXG4gICAgICAgICAgICBtaXhlZEVudHJ5ID0gYCR7c2luZ3VsYXJFbnRyeX0ocylgLFxuICAgICAgICAgICAgbWl4ZWRQbHVyYWxzSW5jbHVkZXNNaXhlZEVudHJ5ID0gbWl4ZWRQbHVyYWxzLmluY2x1ZGVzKG1peGVkRW50cnkpLFxuICAgICAgICAgICAgZW50cnlNaXhlZFBsdXJhbCA9IG1peGVkUGx1cmFsc0luY2x1ZGVzTWl4ZWRFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeU1peGVkUGx1cmFsKSB7XG4gICAgICAgIGNvbnN0IHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyRW50cnldIHx8IFtdO1xuXG4gICAgICAgIHBhZ2VOdW1iZXJzID0gWyAvLy9cbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3dvcmRPclBocmFzZV07XG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhckVudHJ5XTtcblxuICAgICAgICBpbmRleE1hcFttaXhlZEVudHJ5XSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gcGx1cmFsUGx1cmFsc0Zyb21QbHVyYWxzKHBsdXJhbHMpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3QgZW50cnlQbHVyYWwgPSBpc1BsdXJhbCh3b3JkT3JQaHJhc2UpO1xuXG4gICAgaWYgKGVudHJ5UGx1cmFsKSB7XG4gICAgICBjb25zdCBzaW5ndWxhckVudHJ5ID0gd29yZE9yUGhyYXNlLnJlcGxhY2UoL3MkLywgRU1QVFlfU1RSSU5HKSxcbiAgICAgICAgICAgIHBsdXJhbFBsdXJhbHNJbmNsdWRlc0VudHJ5ID0gcGx1cmFsUGx1cmFscy5pbmNsdWRlcyh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgZW50cnlQbHVyYWxQbHVyYWwgPSBwbHVyYWxQbHVyYWxzSW5jbHVkZXNFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeVBsdXJhbFBsdXJhbCkge1xuICAgICAgICBjb25zdCBwbHVyYWxQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzLCAgLy8vXG4gICAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBpbmRleE1hcFtzaW5ndWxhckVudHJ5XSB8fCBbXTtcblxuICAgICAgICBwYWdlTnVtYmVycyA9IFsgLy8vXG4gICAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnMsXG4gICAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVyc1xuICAgICAgICBdO1xuXG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhckVudHJ5XTtcblxuICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0U2luZ3VsYXJQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgc2luZ3VsYXJQbHVyYWxzID0gc2luZ3VsYXJQbHVyYWxzRnJvbVBsdXJhbHMocGx1cmFscyk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb25zdCBlbnRyeVBsdXJhbCA9IGlzUGx1cmFsKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAoZW50cnlQbHVyYWwpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyRW50cnkgPSB3b3JkT3JQaHJhc2UucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpLFxuICAgICAgICAgICAgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNTaW5ndWxhckVudHJ5ID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHNpbmd1bGFyRW50cnkpLFxuICAgICAgICAgICAgZW50cnlTaW5ndWxhclBsdXJhbCA9IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzU2luZ3VsYXJFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeVNpbmd1bGFyUGx1cmFsKSB7XG4gICAgICAgIGNvbnN0IHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyRW50cnldIHx8IFtdO1xuXG4gICAgICAgIHBhZ2VOdW1iZXJzID0gWyAvLy9cbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3dvcmRPclBocmFzZV07XG5cbiAgICAgICAgaW5kZXhNYXBbc2luZ3VsYXJFbnRyeV0gPSBwYWdlTnVtYmVycztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKSB7XG4gIGNvbnN0IHNpbmd1bGFyUGx1cmFscyA9IHBsdXJhbHMucmVkdWNlKChzaW5ndWxhclBsdXJhbHMsIHBsdXJhbCkgPT4ge1xuICAgIGNvbnN0IHBsdXJhbFNpbmd1bGFyID0gaXNTaW5ndWxhcihwbHVyYWwpO1xuXG4gICAgaWYgKHBsdXJhbFNpbmd1bGFyKSB7XG4gICAgICBjb25zdCBzaW5ndWxhclBsdXJhbCA9IHBsdXJhbDsgIC8vL1xuXG4gICAgICBzaW5ndWxhclBsdXJhbHMucHVzaChzaW5ndWxhclBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpbmd1bGFyUGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBzaW5ndWxhclBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIHBsdXJhbFBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKSB7XG4gIGNvbnN0IHBsdXJhbFBsdXJhbHMgPSBwbHVyYWxzLnJlZHVjZSgocGx1cmFsUGx1cmFscywgcGx1cmFsKSA9PiB7XG4gICAgY29uc3QgcGx1cmFsUGx1cmFsID0gaXNQbHVyYWwocGx1cmFsKTtcblxuICAgIGlmIChwbHVyYWxQbHVyYWwpIHtcbiAgICAgIGNvbnN0IHBsdXJhbFBsdXJhbCA9IHBsdXJhbDsgIC8vL1xuXG4gICAgICBwbHVyYWxQbHVyYWxzLnB1c2gocGx1cmFsUGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGx1cmFsUGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBwbHVyYWxQbHVyYWxzO1xufVxuXG5mdW5jdGlvbiBtaXhlZFBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKSB7XG4gIGNvbnN0IG1peGVkUGx1cmFscyA9IHBsdXJhbHMucmVkdWNlKChtaXhlZFBsdXJhbHMsIHBsdXJhbCkgPT4ge1xuICAgIGNvbnN0IHBsdXJhbE1peGVkID0gaXNNaXhlZChwbHVyYWwpO1xuXG4gICAgaWYgKHBsdXJhbE1peGVkKSB7XG4gICAgICBjb25zdCBtaXhlZFBsdXJhbCA9IHBsdXJhbDsgIC8vL1xuXG4gICAgICBtaXhlZFBsdXJhbHMucHVzaChtaXhlZFBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1peGVkUGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBtaXhlZFBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIGlzU2luZ3VsYXIodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvW15zKV0kLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWxTaW5ndWxhciA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHBsdXJhbFNpbmd1bGFyO1xufVxuXG5mdW5jdGlvbiBpc1BsdXJhbCh0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC9zJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgcGx1cmFsID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gcGx1cmFsO1xufVxuXG5mdW5jdGlvbiBpc01peGVkKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gL1xcKHNcXCkkLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWwgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBwbHVyYWw7XG59XG4iXSwibmFtZXMiOlsiaW5kZXhNYXBGcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzIiwiY29tcHJlc3MiLCJhcnJheVV0aWxpdGllcyIsImRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImNvbnRleHQiLCJpbmRleE1hcCIsImNyZWF0ZUluZGV4TWFwIiwicmVtb3ZlSWdub3JlZFdvcmRzIiwiYWRqdXN0UHJvcGVyTm91bnMiLCJhZGp1c3RBY3JvbnltcyIsImFkanVzdE1peGVkUGx1cmFscyIsImFkanVzdFBsdXJhbFBsdXJhbHMiLCJhZGp1c3RTaW5ndWxhclBsdXJhbHMiLCJjb21wcmVzc1BhZ2VOdW1iZXJzIiwiaW5kZXhPcHRpb25zIiwicGhyYXNlcyIsImluZGV4TWF0Y2hlcyIsIm1hcCIsInBocmFzZSIsImluZGV4TWF0Y2giLCJJbmRleE1hdGNoIiwiZnJvbVBocmFzZSIsImZvckVhY2giLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsInBhZ2VOdW1iZXIiLCJnZXRQYWdlTnVtYmVyIiwicGxhaW5UZXh0IiwiYXNQbGFpblRleHQiLCJ3b3Jkc09yUGhyYXNlcyIsIndvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyIsIndvcmRPclBocmFzZSIsInBhZ2VOdW1iZXJzIiwicHVzaCIsInByZXBhcmVQbGFpblRleHQiLCJyZXBsYWNlIiwic3BsaXQiLCJTSU5HTEVfU1BBQ0UiLCJyZXZlcnQiLCJtYXBWYWx1ZXMiLCJwYWdlTnVtYmVyQSIsInBhZ2VOdW1iZXJCIiwic29ydCIsIk51bWJlciIsImRpZmZlcmVuY2UiLCJpZ25vcmVkV29yZHMiLCJpZ25vcmVkV29yZCIsInByb3Blck5vdW5zIiwibG93ZXJDYXNlUHJvcGVyTm91bnMiLCJwcm9wZXJOb3VuIiwibG93ZXJDYXNlUHJvcGVyTm91biIsInRvTG93ZXJDYXNlIiwibWFwS2V5cyIsImluZGV4IiwiZmluZEluZGV4IiwibG93ZXJDYXNlUHJvcGVyTm1hZSIsIkVNUFRZX1NUUklORyIsImFjcm9ueW1zIiwibG93ZXJDYXNlQWNyb255bXMiLCJhY3JvbnltIiwibG93ZXJDYXNlQWNyb255bSIsInBsdXJhbHMiLCJtaXhlZFBsdXJhbHMiLCJtaXhlZFBsdXJhbHNGcm9tUGx1cmFscyIsImVudHJ5UGx1cmFsIiwiaXNQbHVyYWwiLCJzaW5ndWxhckVudHJ5IiwibWl4ZWRFbnRyeSIsIm1peGVkUGx1cmFsc0luY2x1ZGVzTWl4ZWRFbnRyeSIsImluY2x1ZGVzIiwiZW50cnlNaXhlZFBsdXJhbCIsInBsdXJhbFBhZ2VOdW1iZXJzIiwic2luZ3VsYXJQYWdlTnVtYmVycyIsInBsdXJhbFBsdXJhbHMiLCJwbHVyYWxQbHVyYWxzRnJvbVBsdXJhbHMiLCJwbHVyYWxQbHVyYWxzSW5jbHVkZXNFbnRyeSIsImVudHJ5UGx1cmFsUGx1cmFsIiwic2luZ3VsYXJQbHVyYWxzIiwic2luZ3VsYXJQbHVyYWxzRnJvbVBsdXJhbHMiLCJzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1Npbmd1bGFyRW50cnkiLCJlbnRyeVNpbmd1bGFyUGx1cmFsIiwicmVkdWNlIiwicGx1cmFsIiwicGx1cmFsU2luZ3VsYXIiLCJpc1Npbmd1bGFyIiwic2luZ3VsYXJQbHVyYWwiLCJwbHVyYWxQbHVyYWwiLCJwbHVyYWxNaXhlZCIsImlzTWl4ZWQiLCJtaXhlZFBsdXJhbCIsInRleHQiLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXZ0JBOzs7ZUFBQUE7Ozt5QkFUZTs0REFFUjt5QkFFb0I7c0JBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUMsSUFBTSxBQUFFQyxXQUFhQyx5QkFBYyxDQUEzQkQ7QUFFRCxTQUFTRCxrQ0FBa0NHLHFCQUFxQixFQUFFQyxPQUFPO0lBQzlFLElBQU1DLFdBQVdDLGVBQWVILHVCQUF1QkM7SUFFdkRHLG1CQUFtQkYsVUFBVUQ7SUFFN0JJLGtCQUFrQkgsVUFBVUQ7SUFFNUJLLGVBQWVKLFVBQVVEO0lBRXpCTSxtQkFBbUJMLFVBQVVEO0lBRTdCTyxvQkFBb0JOLFVBQVVEO0lBRTlCUSxzQkFBc0JQLFVBQVVEO0lBRWhDUyxv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
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhNYXBGcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IHt9O1xuXG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBocmFzZXMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgaW5kZXhNYXRjaGVzID0gcGhyYXNlcy5tYXAoKHBocmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGluZGV4TWF0Y2ggPSBJbmRleE1hdGNoLmZyb21QaHJhc2UocGhyYXNlKTtcblxuICAgICAgICAgIHJldHVybiBpbmRleE1hdGNoO1xuICAgICAgICB9KTtcblxuICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gZGl2aXNpb25NYXJrZG93bk5vZGUuZ2V0UGFnZU51bWJlcigpO1xuXG4gICAgaWYgKHBhZ2VOdW1iZXIgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmFzUGxhaW5UZXh0KGNvbnRleHQpLFxuICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICB3b3Jkc09yUGhyYXNlcy5mb3JFYWNoKCh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICAgICAgbGV0IHBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbd29yZE9yUGhyYXNlXSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChwYWdlTnVtYmVycyA9PT0gbnVsbCkge1xuICAgICAgICAgIHBhZ2VOdW1iZXJzID0gW107XG5cbiAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICAgIH1cblxuICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBID09PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaWdub3JlZFdvcmRzIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgaWdub3JlZFdvcmRzLmZvckVhY2goKGlnbm9yZWRXb3JkKSA9PiB7XG4gICAgZGVsZXRlIGluZGV4TWFwW2lnbm9yZWRXb3JkXTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFByb3Blck5vdW5zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHByb3Blck5vdW5zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91bnMgPSBwcm9wZXJOb3Vucy5tYXAoKHByb3Blck5vdW4pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VQcm9wZXJOb3VuID0gcHJvcGVyTm91bi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZVByb3Blck5vdW47XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZVByb3Blck5vdW5zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTm1hZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5tYWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBwcm9wZXJOb3VuID0gcHJvcGVyTm91bnNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBwcm9wZXJOb3VuOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVQbGFpblRleHQocGxhaW5UZXh0KSB7XG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC50b0xvd2VyQ2FzZSgpOyAgLy8vXG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1teYS16MC05IF0vZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXFxzKy9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBwbGFpblRleHQ7XG59XG5cbmZ1bmN0aW9uIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGFjcm9ueW1zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlQWNyb255bXMgPSBhY3Jvbnltcy5tYXAoKGFjcm9ueW0pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VBY3JvbnltID0gYWNyb255bS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZUFjcm9ueW07XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZUFjcm9ueW1zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTm1hZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5tYWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBhY3JvbnltID0gYWNyb255bXNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBhY3JvbnltOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdE1peGVkUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwbHVyYWxzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIG1peGVkUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNNaXhlZCksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1BsdXJhbCksXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IG1hcFBsdXJhbHMobWl4ZWRQbHVyYWxzLCBtaXhlZFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclRvTWl4ZWQoc2luZ3VsYXJXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnNpbmd1bGFyUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgIH1cblxuICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb01peGVkKHBsdXJhbFdvcmRPclBocmFzZSksXG4gICAgICAgICAgICBtaXhlZFBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RQbHVyYWxQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNQbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKHBsdXJhbFBsdXJhbHMsIHBsdXJhbFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb1BsdXJhbCh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RTaW5ndWxhclBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzU2luZ3VsYXIpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhzaW5ndWxhclBsdXJhbHMsIHNpbmd1bGFyVG9QbHVyYWwpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb1Npbmd1bGFyKHdvcmRPclBocmFzZSksXG4gICAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV0gfHwgW10sXG4gICAgICAgICAgICAgIHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgICBwbHVyYWxQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzOyAgLy8vXG5cbiAgICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVyc1xuICAgICAgICBdO1xuXG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICAgIGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVkdWNlUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5yZWR1Y2UoKHBsdXJhbHMsIHBsdXJhbCkgPT4geyAvLy9cbiAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcGx1cmFscy5wdXNoKHBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdXJhbHM7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gbWFwUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5tYXAoKHBsdXJhbCkgPT4geyAvLy9cbiAgICBwbHVyYWwgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgcmV0dXJuIHBsdXJhbDtcbiAgfSk7XG5cbiAgcmV0dXJuIHBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIGlzU2luZ3VsYXIodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvW15zKV0kLy50ZXN0KHRleHQpLFxuICAgICAgICBzaW5ndWxhciA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHNpbmd1bGFyO1xufVxuXG5mdW5jdGlvbiBpc1BsdXJhbCh0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC8oaWVzfHMpJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgcGx1cmFsID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gcGx1cmFsO1xufVxuXG5mdW5jdGlvbiBpc01peGVkKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gL1xcKHNcXCkkLy50ZXN0KHRleHQpLFxuICAgICAgICBtaXhlZCA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIG1peGVkO1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIFNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBQQVJFTlRIRVNJU0VEX1NfU1RSSU5HKVxuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvU2luZ3VsYXIodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAucmVwbGFjZSgvXFwoc1xcKSQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvTWl4ZWQodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH0ocylgO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IGAke3RleHR9c2AgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC95cyQvLCBJRVNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvaWVzJC8sIFlfU1RSSU5HKVxuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuIl0sIm5hbWVzIjpbImluZGV4TWFwRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImNvbXByZXNzIiwiYXJyYXlVdGlsaXRpZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJjb250ZXh0IiwiaW5kZXhNYXAiLCJjcmVhdGVJbmRleE1hcCIsInJlbW92ZUlnbm9yZWRXb3JkcyIsImFkanVzdE1peGVkUGx1cmFscyIsImFkanVzdFBsdXJhbFBsdXJhbHMiLCJhZGp1c3RTaW5ndWxhclBsdXJhbHMiLCJhZGp1c3RQcm9wZXJOb3VucyIsImFkanVzdEFjcm9ueW1zIiwiY29tcHJlc3NQYWdlTnVtYmVycyIsImluZGV4T3B0aW9ucyIsInBocmFzZXMiLCJpbmRleE1hdGNoZXMiLCJtYXAiLCJwaHJhc2UiLCJpbmRleE1hdGNoIiwiSW5kZXhNYXRjaCIsImZyb21QaHJhc2UiLCJmb3JFYWNoIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyIiwiZ2V0UGFnZU51bWJlciIsInBsYWluVGV4dCIsImFzUGxhaW5UZXh0Iiwid29yZHNPclBocmFzZXMiLCJ3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMiLCJ3b3JkT3JQaHJhc2UiLCJwYWdlTnVtYmVycyIsInB1c2giLCJwcmVwYXJlUGxhaW5UZXh0IiwicmVwbGFjZSIsInNwbGl0IiwiU0lOR0xFX1NQQUNFIiwicmV2ZXJ0IiwibWFwVmFsdWVzIiwicGFnZU51bWJlckEiLCJwYWdlTnVtYmVyQiIsInNvcnQiLCJOdW1iZXIiLCJkaWZmZXJlbmNlIiwiaWdub3JlZFdvcmRzIiwiaWdub3JlZFdvcmQiLCJwcm9wZXJOb3VucyIsImxvd2VyQ2FzZVByb3Blck5vdW5zIiwicHJvcGVyTm91biIsImxvd2VyQ2FzZVByb3Blck5vdW4iLCJ0b0xvd2VyQ2FzZSIsIm1hcEtleXMiLCJpbmRleCIsImZpbmRJbmRleCIsImxvd2VyQ2FzZVByb3Blck5tYWUiLCJFTVBUWV9TVFJJTkciLCJhY3JvbnltcyIsImxvd2VyQ2FzZUFjcm9ueW1zIiwiYWNyb255bSIsImxvd2VyQ2FzZUFjcm9ueW0iLCJwbHVyYWxzIiwibWl4ZWRQbHVyYWxzIiwicmVkdWNlUGx1cmFscyIsImlzTWl4ZWQiLCJwbHVyYWxQbHVyYWxzIiwibWFwUGx1cmFscyIsIm1peGVkVG9QbHVyYWwiLCJzaW5ndWxhclBsdXJhbHMiLCJtaXhlZFRvU2luZ3VsYXIiLCJzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSIsImluY2x1ZGVzIiwic2luZ3VsYXJXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclBhZ2VOdW1iZXJzIiwibWl4ZWRXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclRvTWl4ZWQiLCJtaXhlZFBhZ2VOdW1iZXJzIiwicGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwicGx1cmFsV29yZE9yUGhyYXNlIiwicGx1cmFsUGFnZU51bWJlcnMiLCJwbHVyYWxUb01peGVkIiwiaXNQbHVyYWwiLCJwbHVyYWxUb1Npbmd1bGFyIiwic2luZ3VsYXJUb1BsdXJhbCIsImlzU2luZ3VsYXIiLCJjYWxsYmFjayIsInJlZHVjZSIsInBsdXJhbCIsInJlc3VsdCIsInRleHQiLCJ0ZXN0Iiwic2luZ3VsYXIiLCJtaXhlZCIsIlNfU1RSSU5HIiwiUEFSRU5USEVTSVNFRF9TX1NUUklORyIsIklFU19TVFJJTkciLCJZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7eUJBVGU7NERBRVI7c0JBRXFCO3lCQUN1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRyxJQUFNLEFBQUVDLFdBQWFDLHlCQUFjLENBQTNCRDtBQUVELFNBQVNELGtDQUFrQ0cscUJBQXFCLEVBQUVDLE9BQU87SUFDOUUsSUFBTUMsV0FBV0MsZUFBZUgsdUJBQXVCQztJQUV2REcsbUJBQW1CRixVQUFVRDtJQUU3QkksbUJBQW1CSCxVQUFVRDtJQUU3Qkssb0JBQW9CSixVQUFVRDtJQUU5Qk0sc0JBQXNCTCxVQUFVRDtJQUVoQ08sa0JBQWtCTixVQUFVRDtJQUU1QlEsZUFBZVAsVUFBVUQ7SUFFekJTLG9CQUFvQlI7SUFFcEIsT0FBT0E7QUFDVDtBQUVBLFNBQVNDLGVBQWVILHFCQUFxQixFQUFFQyxPQUFPO0lBQ3BELElBQU1DLFdBQVcsQ0FBQztJQUVsQixJQUFNLEFBQUVTLGVBQWlCVixRQUFqQlUsY0FDRixBQUFFQyxVQUFZRCxhQUFaQyxTQUNGQyxlQUFlRCxRQUFRRSxHQUFHLENBQUMsU0FBQ0M7UUFDMUIsSUFBTUMsYUFBYUMsY0FBVSxD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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "highmark-markdown",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.453",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/highmark-markdown",
|
|
7
7
|
"description": "Highmark's Markdown and Markdown Style languages.",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.0.1",
|
|
14
|
-
"occam-grammars": "^1.0.
|
|
14
|
+
"occam-grammars": "^1.0.670",
|
|
15
15
|
"occam-lexers": "^22.0.44",
|
|
16
16
|
"occam-parsers": "^22.0.72",
|
|
17
17
|
"occam-query": "^3.1.174"
|
package/src/constants.js
CHANGED
|
@@ -5,8 +5,12 @@ export const STYLE = "style";
|
|
|
5
5
|
export const COMMA = ",";
|
|
6
6
|
export const COLOUR = "color"; ///
|
|
7
7
|
export const HYPHEN = "-";
|
|
8
|
+
export const Y_STRING = "y";
|
|
9
|
+
export const S_STRING = "s";
|
|
10
|
+
export const IES_STRING = "ies";
|
|
8
11
|
export const UNDERSCORE = "_";
|
|
9
12
|
export const GLOBAL_FLAG = "g";
|
|
10
13
|
export const EMPTY_STRING = "";
|
|
11
14
|
export const SINGLE_SPACE = " ";
|
|
12
15
|
export const CARRIAGE_RETURN = "\n";
|
|
16
|
+
export const PARENTHESISED_S_STRING = "(s)";
|
package/src/example/importer.js
CHANGED
|
@@ -72,8 +72,6 @@ const indexContent = `## Index
|
|
|
72
72
|
|
|
73
73
|
introductionContent = `# Introduction
|
|
74
74
|
|
|
75
|
-
CLI
|
|
76
|
-
|
|
77
75
|
I have tried to make Occam[^occam] as useable as possible but there are limits.
|
|
78
76
|
At the end of the day it is an expert system and some of its parts, not least the verifier, need detailed explanation.
|
|
79
77
|
It is the purpose of this book is to provide these explanations.
|