diff --git a/.github/ISSUE_TEMPLATE/bug-report-or-unexpected-output.md b/.github/ISSUE_TEMPLATE/bug-report-or-unexpected-output.md
index 3f795b46..4f70f8e2 100644
--- a/.github/ISSUE_TEMPLATE/bug-report-or-unexpected-output.md
+++ b/.github/ISSUE_TEMPLATE/bug-report-or-unexpected-output.md
@@ -33,8 +33,9 @@ Include the code being used for parsing
- [ ] Yes
- [ ] No
-[Bookmark](https://github.com/NaturalIntelligence/fast-xml-parser/stargazers) this repository for further updates.
+[Bookmark](https://github.com/NaturalIntelligence/fast-xml-parser/stargazers) this repository for further updates. Visit [SoloThought](https://solothought.com) to know about recent features.
+👉 https://opencollective.com/fast-xml-parser/donate
+👉 https://paypal.me/naturalintelligence
+👉👉 https://github.com/sponsors/NaturalIntelligence -->
diff --git a/.github/SECURITY.md b/.github/SECURITY.md
new file mode 100644
index 00000000..66c565c7
--- /dev/null
+++ b/.github/SECURITY.md
@@ -0,0 +1,8 @@
+If you believe you have found a security vulnerability in this repository which can be potentially harful for the users in anyway, please do not report security vulnerabilities through public GitHub issues. Instead, please report it to us as described below.
+
+* Connect to the maintainers on linkedin and message
+ * https://www.linkedin.com/in/amitguptagwl/
+
+* Mail
+ * githubissues@proton.me
+
diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml
index 071f1933..7d760d86 100644
--- a/.github/workflows/greetings.yml
+++ b/.github/workflows/greetings.yml
@@ -1,6 +1,6 @@
name: Greetings
-on: [pull_request, issues]
+on: [issues]
jobs:
greeting:
@@ -9,5 +9,4 @@ jobs:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- issue-message: 'I''m glad you find this repository helpful. I''ll try to address your issue ASAP. You can watch the repo for new changes or star it.'
- pr-message: 'I appreciate your effort to create this PR. I would try to check it on priority. It is always good to specify the purpose of PR and following the guidelines to reduce the conversations'
+ issue-message: 'We''re glad you find this project helpful. We''ll try to address this issue ASAP. You can vist https://solothought.com to know recent features. Don''t forget to star this repo.'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 15dea067..709f4c3b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,34 @@
Note: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.
+**4.2.5 / 2023-06-22**
+* change code implementation
+
+**4.2.4 / 2023-06-06**
+* fix security bug
+
+**4.2.3 / 2023-06-05**
+* fix security bug
+
+**4.2.2 / 2023-04-18**
+* fix #562: fix unpaired tag when it comes in last of a nested tag. Also throw error when unpaired tag is used as closing tag
+
+**4.2.1 / 2023-04-18**
+* fix: jpath after unpaired tags
+
+**4.2.0 / 2023-04-09**
+* support `updateTag` parser property
+
+**4.1.4 / 2023-04-08**
+* update typings to let user create XMLBuilder instance without options (#556) (By [Patrick](https://github.com/omggga))
+* fix: IsArray option isn't parsing tags with 0 as value correctly #490 (#557) (By [Aleksandr Murashkin](https://github.com/p-kuen))
+* feature: support `oneListGroup` to group repeated children tags udder single group
+
+**4.1.3 / 2023-02-26**
+* fix #546: Support complex entity value
+
+**4.1.2 / 2023-02-12**
+* Security Fix
+
**4.1.1 / 2023-02-03**
* Fix #540: ignoreAttributes breaks unpairedTags
* Refactor XML builder code
diff --git a/README.md b/README.md
index 58111b74..59cb8c40 100644
--- a/README.md
+++ b/README.md
@@ -54,6 +54,7 @@ Check [ThankYouBackers](https://github.com/NaturalIntelligence/ThankYouBackers)
+
Check the list of all known users [here](./USERs.md);
diff --git a/docs/CHECK_LIST.md b/docs/CHECK_LIST.md
index bc46a4d2..2966804d 100644
--- a/docs/CHECK_LIST.md
+++ b/docs/CHECK_LIST.md
@@ -6,15 +6,18 @@ Pre release
* [ ] Browser bundle are generated `npm run bundle`
* [ ] TS typings are updated
* [ ] ReadMe file or docs are updated for any change, user list, performance report, links etc.
+* [ ] Single test is not running `fit`
* [ ] `npm run checkReadiness` is used to check the files being published
-* [ ] tags are assigned to latest comit `git tag -a v3.20.0 -m "summary msg"`
+* [ ] tags are assigned to latest commit `git tag -a v3.20.0 -m "summary msg"`
In general
* [ ] tests are added/updated
Post release
* [ ] Tagged and Released on github `git push origin --tags`
+* [ ] `git push origin master`
* [ ] Notified to the users
* [ ] Sync master and dev branches
-
+To remove tag
+git tag -d
\ No newline at end of file
diff --git a/docs/v4/2.XMLparseOptions.md b/docs/v4/2.XMLparseOptions.md
index 3009ab5c..407dff35 100644
--- a/docs/v4/2.XMLparseOptions.md
+++ b/docs/v4/2.XMLparseOptions.md
@@ -885,7 +885,7 @@ const xmlDataStr = `
-
+
`;
const options = {
@@ -904,5 +904,30 @@ Output
}
}
```
+**Note**: Unpaired tag can't be used as closing tag e.g. `` is not allowed.
+## updateTag
+
+This property allow you to change tag name when you send different name, skip a tag from the parsing result when you return false, or to change attributes.
+```js
+const xmlDataStr = `
+
+ value
+
+ `;
+
+const options = {
+ attributeNamePrefix: "",
+ ignoreAttributes: false,
+ updateTag(tagName, jPath, attrs){
+ attrs["At"] = "Home";
+ delete attrs["at"];
+
+ if(tagName === "a") return "A";
+ else if(tagName === "b") return false;
+ }
+};
+const parser = new XMLParser(options);
+const output = parser.parse(xmlDataStr);
+```
[> Next: XmlBuilder](./3.XMLBuilder.md)
diff --git a/docs/v4/3.XMLBuilder.md b/docs/v4/3.XMLBuilder.md
index acd92557..e2a1be0a 100644
--- a/docs/v4/3.XMLBuilder.md
+++ b/docs/v4/3.XMLBuilder.md
@@ -181,6 +181,34 @@ When you parse a XML using XMLParser with `preserveOrder: true`, the result JS o
## processEntities
Set it to `true` (default) to process XML entities. Check [Entities](./5.Entities.md) section for more detail. If you don't have entities in your XML document then it is recommanded to disable it `processEntities: false` for better performance.
+## oneListGroup
+
+This property group all the children tags in single parent tag.
+
+```json
+{
+ "Attributes": [
+ {
+ "Attribute": "1"
+ },
+ {
+ "Attribute": "2"
+ }
+ ]
+}
+```
+```js
+const builder = new XMLBuilder({oneListGroup:"true"})
+const output = builder.build(json)
+```
+Output
+```xml
+
+ 1
+ 2
+
+```
+
## stopNodes
As you set `stopNodes` to the XML parser configuration to avoid parsing and processing of any tag, you can set it builder to avoid parsing and entity processing. Check [HTML Document Parsing](./6.HTMLParsing.md) for more detail.
diff --git a/lib/fxbuilder.min.js b/lib/fxbuilder.min.js
index b058e695..7e653736 100644
--- a/lib/fxbuilder.min.js
+++ b/lib/fxbuilder.min.js
@@ -1,2 +1,2 @@
-var XMLBuilder;(()=>{var t={784:(t,e,i)=>{"use strict";var r=i(687),s={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function n(t){this.options=Object.assign({},s,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=h),this.processTextOrObjNode=o,this.options.format?(this.indentate=a,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function o(t,e,i){var r=this.j2x(t,i+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,i):this.buildObjectNode(r.val,e,r.attrStr,i)}function a(t){return this.options.indentBy.repeat(t)}function h(t){return!!t.startsWith(this.options.attributeNamePrefix)&&t.substr(this.attrPrefixLen)}n.prototype.build=function(t){return this.options.preserveOrder?r(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&((e={})[this.options.arrayNodeName]=t,t=e),this.j2x(t,0).val);var e},n.prototype.j2x=function(t,e){var i="",r="";for(var s in t)if(void 0===t[s]);else if(null===t[s])"?"===s[0]?r+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+s+"/"+this.tagEndChar;else if(t[s]instanceof Date)r+=this.buildTextValNode(t[s],s,"",e);else if("object"!=typeof t[s]){var n=this.isAttribute(s);if(n)i+=this.buildAttrPairStr(n,""+t[s]);else if(s===this.options.textNodeName){var o=this.options.tagValueProcessor(s,""+t[s]);r+=this.replaceEntitiesValue(o)}else r+=this.buildTextValNode(t[s],s,"",e)}else if(Array.isArray(t[s]))for(var a=t[s].length,h=0;h"+t+s:!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===n.length?this.indentate(r)+"\x3c!--"+t+"--\x3e"+this.newLine:this.indentate(r)+"<"+e+i+n+this.tagEndChar+t+this.indentate(r)+s},n.prototype.closeTag=function(t){var e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":">"+t,e},n.prototype.buildTextValNode=function(t,e,i,r){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(r)+""+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+"\x3c!--"+t+"--\x3e"+this.newLine;if("?"===e[0])return this.indentate(r)+"<"+e+i+"?"+this.tagEndChar;var s=this.options.tagValueProcessor(e,t);return""===(s=this.replaceEntitiesValue(s))?this.indentate(r)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+i+">"+s+""+e+this.tagEndChar},n.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e{function e(t,o,a,h){for(var p="",u=!1,d=0;d":p+=N+"/>":x&&0!==x.length||!o.suppressEmptyNode?x&&x.endsWith(">")?p+=N+">"+x+h+""+c+">":(p+=N+">",x&&""!==h&&(x.includes("/>")||x.includes(""))?p+=h+o.indentBy+x+h:p+=x,p+=""+c+">"):p+=N+"/>",u=!0}else{var m=r(f[":@"],o),v="?xml"===c?"":h,b=f[c][0][o.textNodeName];p+=v+"<"+c+(b=0!==b.length?" "+b:"")+m+"?>",u=!0}else p+=h+"\x3c!--"+f[c][0][o.textNodeName]+"--\x3e",u=!0;else u&&(p+=h),p+="",u=!1;else{var E=f[c];s(l,o)||(E=n(E=o.tagValueProcessor(c,E),o)),u&&(p+=h),p+=E,u=!1}}return p}function i(t){for(var e=Object.keys(t),i=0;i0&&e.processEntities)for(var i=0;i0&&(r="\n"),e(t,i,"",r)}}},e={},i=function i(r){var s=e[r];if(void 0!==s)return s.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,i),n.exports}(784);XMLBuilder=i})();
+var XMLBuilder;(()=>{var t={784:(t,e,i)=>{"use strict";var r=i(687),s={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function n(t){this.options=Object.assign({},s,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=h),this.processTextOrObjNode=o,this.options.format?(this.indentate=a,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function o(t,e,i){var r=this.j2x(t,i+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,i):this.buildObjectNode(r.val,e,r.attrStr,i)}function a(t){return this.options.indentBy.repeat(t)}function h(t){return!!t.startsWith(this.options.attributeNamePrefix)&&t.substr(this.attrPrefixLen)}n.prototype.build=function(t){return this.options.preserveOrder?r(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&((e={})[this.options.arrayNodeName]=t,t=e),this.j2x(t,0).val);var e},n.prototype.j2x=function(t,e){var i="",r="";for(var s in t)if(void 0===t[s]);else if(null===t[s])"?"===s[0]?r+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+s+"/"+this.tagEndChar;else if(t[s]instanceof Date)r+=this.buildTextValNode(t[s],s,"",e);else if("object"!=typeof t[s]){var n=this.isAttribute(s);if(n)i+=this.buildAttrPairStr(n,""+t[s]);else if(s===this.options.textNodeName){var o=this.options.tagValueProcessor(s,""+t[s]);r+=this.replaceEntitiesValue(o)}else r+=this.buildTextValNode(t[s],s,"",e)}else if(Array.isArray(t[s])){for(var a=t[s].length,h="",p=0;p"+t+s:!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===n.length?this.indentate(r)+"\x3c!--"+t+"--\x3e"+this.newLine:this.indentate(r)+"<"+e+i+n+this.tagEndChar+t+this.indentate(r)+s},n.prototype.closeTag=function(t){var e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":">"+t,e},n.prototype.buildTextValNode=function(t,e,i,r){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(r)+""+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+"\x3c!--"+t+"--\x3e"+this.newLine;if("?"===e[0])return this.indentate(r)+"<"+e+i+"?"+this.tagEndChar;var s=this.options.tagValueProcessor(e,t);return""===(s=this.replaceEntitiesValue(s))?this.indentate(r)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+i+">"+s+""+e+this.tagEndChar},n.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e{function e(t,o,a,h){for(var p="",u=!1,d=0;d":p+=N+"/>":x&&0!==x.length||!o.suppressEmptyNode?x&&x.endsWith(">")?p+=N+">"+x+h+""+f+">":(p+=N+">",x&&""!==h&&(x.includes("/>")||x.includes(""))?p+=h+o.indentBy+x+h:p+=x,p+=""+f+">"):p+=N+"/>",u=!0}else{var v=r(c[":@"],o),m="?xml"===f?"":h,b=c[f][0][o.textNodeName];p+=m+"<"+f+(b=0!==b.length?" "+b:"")+v+"?>",u=!0}else p+=h+"\x3c!--"+c[f][0][o.textNodeName]+"--\x3e",u=!0;else u&&(p+=h),p+="",u=!1;else{var E=c[f];s(l,o)||(E=n(E=o.tagValueProcessor(f,E),o)),u&&(p+=h),p+=E,u=!1}}return p}function i(t){for(var e=Object.keys(t),i=0;i0&&e.processEntities)for(var i=0;i0&&(r="\n"),e(t,i,"",r)}}},e={},i=function i(r){var s=e[r];if(void 0!==s)return s.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,i),n.exports}(784);XMLBuilder=i})();
//# sourceMappingURL=fxbuilder.min.js.map
\ No newline at end of file
diff --git a/lib/fxbuilder.min.js.map b/lib/fxbuilder.min.js.map
index 6bef8d34..ae9bd454 100644
--- a/lib/fxbuilder.min.js.map
+++ b/lib/fxbuilder.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"./lib/fxbuilder.min.js","mappings":"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","sources":["webpack://XMLBuilder/./src/xmlbuilder/json2xml.js","webpack://XMLBuilder/./src/xmlbuilder/orderedJs2Xml.js","webpack://XMLBuilder/webpack/bootstrap","webpack://XMLBuilder/webpack/startup"],"sourcesContent":["'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n val += this.processTextOrObjNode(item, key, level)\n } else {\n val += this.buildTextValNode(item, key, '', level);\n }\n }\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n if (attrStr && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(784);\n"],"names":["buildFromOrderedJs","require","defaultOptions","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","cdataPropName","format","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","tagValueProcessor","key","a","attributeValueProcessor","attrName","preserveOrder","commentPropName","unpairedTags","entities","regex","RegExp","val","processEntities","stopNodes","Builder","options","this","Object","assign","isAttribute","attrPrefixLen","length","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","result","j2x","undefined","keys","buildTextValNode","attrStr","buildObjectNode","repeat","name","startsWith","substr","prototype","build","jObj","Array","isArray","arrayNodeName","Date","attr","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","j","item","Ks","L","closeTag","tagEndExp","piClosingChar","indexOf","textValue","i","entity","replace","module","exports","arrToStr","arr","jPath","indentation","xmlStr","isPreviousElementTag","newJPath","tagObj","tagName","propName","newIdentation","tagStart","attr_to_str","tagValue","endsWith","includes","attStr","tempInd","piTextNodeName","tagText","isStopNode","obj","attrMap","attrVal","lastIndexOf","index","jArray","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"./lib/fxbuilder.min.js","mappings":"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","sources":["webpack://XMLBuilder/./src/xmlbuilder/json2xml.js","webpack://XMLBuilder/./src/xmlbuilder/orderedJs2Xml.js","webpack://XMLBuilder/webpack/bootstrap","webpack://XMLBuilder/webpack/startup"],"sourcesContent":["'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup ){\n listTagVal += this.j2x(item, level + 1).val;\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level)\n }\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, '', level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n if (attrStr && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(784);\n"],"names":["buildFromOrderedJs","require","defaultOptions","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","cdataPropName","format","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","tagValueProcessor","key","a","attributeValueProcessor","attrName","preserveOrder","commentPropName","unpairedTags","entities","regex","RegExp","val","processEntities","stopNodes","oneListGroup","Builder","options","this","Object","assign","isAttribute","attrPrefixLen","length","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","result","j2x","undefined","keys","buildTextValNode","attrStr","buildObjectNode","repeat","name","startsWith","substr","prototype","build","jObj","Array","isArray","arrayNodeName","Date","attr","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","listTagVal","j","item","Ks","L","closeTag","tagEndExp","piClosingChar","indexOf","textValue","i","entity","replace","module","exports","arrToStr","arr","jPath","indentation","xmlStr","isPreviousElementTag","newJPath","tagObj","tagName","propName","newIdentation","tagStart","attr_to_str","tagValue","endsWith","includes","attStr","tempInd","piTextNodeName","tagText","isStopNode","obj","attrMap","attrVal","lastIndexOf","index","jArray","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/lib/fxp.min.js b/lib/fxp.min.js
index d2853a1f..ed3a1768 100644
--- a/lib/fxp.min.js
+++ b/lib/fxp.min.js
@@ -1,2 +1,2 @@
-var fxp;(()=>{var t={807:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,r=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(t,n={}){if(n=Object.assign({},i,n),!t||"string"!=typeof t)return t;let s=t.trim();if(void 0!==n.skipLike&&n.skipLike.test(s))return t;if(n.hex&&e.test(s))return Number.parseInt(s,16);{const e=r.exec(s);if(e){const r=e[1],i=e[2];let o=(a=e[3])&&-1!==a.indexOf(".")?("."===(a=a.replace(/0+$/,""))?a="0":"."===a[0]?a="0"+a:"."===a[a.length-1]&&(a=a.substr(0,a.length-1)),a):a;const u=e[4]||e[6];if(!n.leadingZeros&&i.length>0&&r&&"."!==s[2])return t;if(!n.leadingZeros&&i.length>0&&!r&&"."!==s[1])return t;{const e=Number(s),a=""+e;return-1!==a.search(/[eE]/)||u?n.eNotation?e:t:-1!==s.indexOf(".")?"0"===a&&""===o||a===o||r&&a==="-"+o?e:t:i?o===a||r+o===a?e:t:s===a||s===r+a?e:t}}return t}var a}},316:(t,e,r)=>{"use strict";var i=r(239),n=r(870),s=r(784);t.exports={XMLParser:n,XMLValidator:i,XMLBuilder:s}},839:(t,e)=>{"use strict";var r="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,r){if(e)for(var i=Object.keys(e),n=i.length,s=0;s{"use strict";var i=r(839),n={allowBooleanAttributes:!1,unpairedTags:[]};function s(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function a(t,e){for(var r=e;e5&&"xml"===i)return d("InvalidXml","XML declaration allowed only at the start of the document.",g(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}}return e}function o(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){var r=1;for(e+=8;e"===t[e]&&0==--r)break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}function u(t,e){for(var r="",i="",n=!1;e"===t[e]&&""===i){n=!0;break}r+=t[e]}return""===i&&{value:r,index:e,tagClosed:n}}e.validate=function(t,e){e=Object.assign({},n,e);var r,l=[],f=!1,c=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(var v=0;v"!==t[v]&&" "!==t[v]&&"\t"!==t[v]&&"\n"!==t[v]&&"\r"!==t[v];v++)N+=t[v];if("/"===(N=N.trim())[N.length-1]&&(N=N.substring(0,N.length-1),v--),r=N,!i.isName(r))return d("InvalidTag",0===N.trim().length?"Invalid space after '<'.":"Tag '"+N+"' is an invalid name.",g(t,v));var b=u(t,v);if(!1===b)return d("InvalidAttr","Attributes for '"+N+"' have open quote.",g(t,v));var E=b.value;if(v=b.index,"/"===E[E.length-1]){var T=v-E.length,y=h(E=E.substring(0,E.length-1),e);if(!0!==y)return d(y.err.code,y.err.msg,g(t,T+y.err.line));f=!0}else if(m){if(!b.tagClosed)return d("InvalidTag","Closing tag '"+N+"' doesn't have proper closing.",g(t,v));if(E.trim().length>0)return d("InvalidTag","Closing tag '"+N+"' can't have attributes or invalid starting.",g(t,x));var A=l.pop();if(N!==A.tagName){var P=g(t,A.tagStartPos);return d("InvalidTag","Expected closing tag '"+A.tagName+"' (opened in line "+P.line+", col "+P.col+") instead of closing tag '"+N+"'.",g(t,x))}0==l.length&&(c=!0)}else{var O=h(E,e);if(!0!==O)return d(O.err.code,O.err.msg,g(t,v-E.length+O.err.line));if(!0===c)return d("InvalidXml","Multiple possible root nodes found.",g(t,v));-1!==e.unpairedTags.indexOf(N)||l.push({tagName:N,tagStartPos:x}),f=!0}for(v++;v0)||d("InvalidXml","Invalid '"+JSON.stringify(l.map((function(t){return t.tagName})),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):d("InvalidXml","Start tag expected.",1)};var l=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function h(t,e){for(var r=i.getAllMatches(t,l),n={},s=0;s{"use strict";var i=r(687),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function s(t){this.options=Object.assign({},n,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=u),this.processTextOrObjNode=a,this.options.format?(this.indentate=o,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function a(t,e,r){var i=this.j2x(t,r+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,r):this.buildObjectNode(i.val,e,i.attrStr,r)}function o(t){return this.options.indentBy.repeat(t)}function u(t){return!!t.startsWith(this.options.attributeNamePrefix)&&t.substr(this.attrPrefixLen)}s.prototype.build=function(t){return this.options.preserveOrder?i(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&((e={})[this.options.arrayNodeName]=t,t=e),this.j2x(t,0).val);var e},s.prototype.j2x=function(t,e){var r="",i="";for(var n in t)if(void 0===t[n]);else if(null===t[n])"?"===n[0]?i+=this.indentate(e)+"<"+n+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+n+"/"+this.tagEndChar;else if(t[n]instanceof Date)i+=this.buildTextValNode(t[n],n,"",e);else if("object"!=typeof t[n]){var s=this.isAttribute(n);if(s)r+=this.buildAttrPairStr(s,""+t[n]);else if(n===this.options.textNodeName){var a=this.options.tagValueProcessor(n,""+t[n]);i+=this.replaceEntitiesValue(a)}else i+=this.buildTextValNode(t[n],n,"",e)}else if(Array.isArray(t[n]))for(var o=t[n].length,u=0;u"+t+n:!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(i)+"\x3c!--"+t+"--\x3e"+this.newLine:this.indentate(i)+"<"+e+r+s+this.tagEndChar+t+this.indentate(i)+n},s.prototype.closeTag=function(t){var e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":">"+t,e},s.prototype.buildTextValNode=function(t,e,r,i){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(i)+""+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(i)+"\x3c!--"+t+"--\x3e"+this.newLine;if("?"===e[0])return this.indentate(i)+"<"+e+r+"?"+this.tagEndChar;var n=this.options.tagValueProcessor(e,t);return""===(n=this.replaceEntitiesValue(n))?this.indentate(i)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(i)+"<"+e+r+">"+n+""+e+this.tagEndChar},s.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e{function e(t,a,o,u){for(var l="",h=!1,p=0;p":l+=v+"/>":x&&0!==x.length||!a.suppressEmptyNode?x&&x.endsWith(">")?l+=v+">"+x+u+""+g+">":(l+=v+">",x&&""!==u&&(x.includes("/>")||x.includes(""))?l+=u+a.indentBy+x+u:l+=x,l+=""+g+">"):l+=v+"/>",h=!0}else{var m=i(f[":@"],a),N="?xml"===g?"":u,b=f[g][0][a.textNodeName];l+=N+"<"+g+(b=0!==b.length?" "+b:"")+m+"?>",h=!0}else l+=u+"\x3c!--"+f[g][0][a.textNodeName]+"--\x3e",h=!0;else h&&(l+=u),l+="",h=!1;else{var E=f[g];n(d,a)||(E=s(E=a.tagValueProcessor(g,E),a)),h&&(l+=u),l+=E,h=!1}}return l}function r(t){for(var e=Object.keys(t),r=0;r0&&e.processEntities)for(var r=0;r0&&(i="\n"),e(t,r,"",i)}},106:t=>{var e=RegExp("^\\s([a-zA-z0-0]+)[ \t](['\"])([^&]+)\\2");function r(t,r){var i=e.exec(t);i&&(r[i[1]]={regx:RegExp("&"+i[1]+";","g"),val:i[3]})}t.exports=function(t,e){var i={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");e+=9;for(var n=1,s=!1,a=!1,o=!1,u="";e"===t[e]){if(o?"-"===t[e-1]&&"-"===t[e-2]&&(o=!1,n--):(a&&(r(u,i),a=!1),n--),0===n)break}else"["===t[e]?s=!0:u+=t[e];else{if(s&&"!"===t[e+1]&&"E"===t[e+2]&&"N"===t[e+3]&&"T"===t[e+4]&&"I"===t[e+5]&&"T"===t[e+6]&&"Y"===t[e+7])e+=7,a=!0;else if(s&&"!"===t[e+1]&&"E"===t[e+2]&&"L"===t[e+3]&&"E"===t[e+4]&&"M"===t[e+5]&&"E"===t[e+6]&&"N"===t[e+7]&&"T"===t[e+8])e+=8;else if(s&&"!"===t[e+1]&&"A"===t[e+2]&&"T"===t[e+3]&&"T"===t[e+4]&&"L"===t[e+5]&&"I"===t[e+6]&&"S"===t[e+7]&&"T"===t[e+8])e+=8;else if(s&&"!"===t[e+1]&&"N"===t[e+2]&&"O"===t[e+3]&&"T"===t[e+4]&&"A"===t[e+5]&&"T"===t[e+6]&&"I"===t[e+7]&&"O"===t[e+8]&&"N"===t[e+9])e+=9;else{if("!"!==t[e+1]||"-"!==t[e+2]||"-"!==t[e+3])throw new Error("Invalid DOCTYPE");o=!0}n++,u=""}if(0!==n)throw new Error("Unclosed DOCTYPE");return{entities:i,i:e}}},348:(t,e)=>{var r={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1};e.buildOptions=function(t){return Object.assign({},r,t)},e.defaultOptions=r},498:(t,e,r)=>{"use strict";var i=r(839),n=r(876),s=r(106),a=r(807);function o(t){for(var e=Object.keys(t),r=0;r0)){a||(t=this.replaceEntitiesValue(t));var o=this.options.tagValueProcessor(e,t,r,n,s);return null==o?t:typeof o!=typeof t||o!==t?o:this.options.trimValues||t.trim()===t?N(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function l(t){if(this.options.removeNSPrefix){var e=t.split(":"),r="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=r+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,i.nameRegexp);var h=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function p(t,e){if(!this.options.ignoreAttributes&&"string"==typeof t){for(var r=i.getAllMatches(t,h),n=r.length,s={},a=0;a",o,"Closing Tag is not closed."),l=t.substring(o+2,u).trim();if(this.options.removeNSPrefix){var h=l.indexOf(":");-1!==h&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),r&&(i=this.saveTextToParentTag(i,r,a)),a=a.substr(0,a.lastIndexOf(".")),r=this.tagsNodeStack.pop(),i="",o=u}else if("?"===t[o+1]){var p=x(t,o,!1,"?>");if(!p)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,r,a),this.options.ignoreDeclaration&&"?xml"===p.tagName||this.options.ignorePiTags);else{var d=new n(p.tagName);d.add(this.options.textNodeName,""),p.tagName!==p.tagExp&&p.attrExpPresent&&(d[":@"]=this.buildAttributesMap(p.tagExp,a)),r.addChild(d)}o=p.closeIndex+1}else if("!--"===t.substr(o+1,3)){var f=v(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){var g,c=t.substring(o+4,f-2);i=this.saveTextToParentTag(i,r,a),r.add(this.options.commentPropName,[(g={},g[this.options.textNodeName]=c,g)])}o=f}else if("!D"===t.substr(o+1,2)){var m=s(t,o);this.docTypeEntities=m.entities,o=m.i}else if("!["===t.substr(o+1,2)){var N=v(t,"]]>",o,"CDATA is not closed.")-2,b=t.substring(o+9,N);if(i=this.saveTextToParentTag(i,r,a),this.options.cdataPropName){var E;r.add(this.options.cdataPropName,[(E={},E[this.options.textNodeName]=b,E)])}else{var T=this.parseTextData(b,r.tagname,a,!0,!1,!0);null==T&&(T=""),r.add(this.options.textNodeName,T)}o=N+2}else{var y=x(t,o,this.options.removeNSPrefix),A=y.tagName,P=y.tagExp,O=y.attrExpPresent,w=y.closeIndex;this.options.transformTagName&&(A=this.options.transformTagName(A)),r&&i&&"!xml"!==r.tagname&&(i=this.saveTextToParentTag(i,r,a,!1)),A!==e.tagname&&(a+=a?"."+A:A);var C=r;if(C&&-1!==this.options.unpairedTags.indexOf(C.tagname)&&(r=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,a,A)){var F="";if(P.length>0&&P.lastIndexOf("/")===P.length-1)o=y.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(A))o=y.closeIndex;else{var I=this.readStopNodeData(t,A,w+1);if(!I)throw new Error("Unexpected end of "+A);o=I.i,F=I.tagContent}var D=new n(A);A!==P&&O&&(D[":@"]=this.buildAttributesMap(P,a)),F&&(F=this.parseTextData(F,A,a,!0,O,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),D.add(this.options.textNodeName,F),r.addChild(D)}else{if(P.length>0&&P.lastIndexOf("/")===P.length-1){P="/"===A[A.length-1]?A=A.substr(0,A.length-1):P.substr(0,P.length-1),this.options.transformTagName&&(A=this.options.transformTagName(A));var S=new n(A);A!==P&&O&&(S[":@"]=this.buildAttributesMap(P,a)),a=a.substr(0,a.lastIndexOf(".")),r.addChild(S)}else{var V=new n(A);this.tagsNodeStack.push(r),A!==P&&O&&(V[":@"]=this.buildAttributesMap(P,a)),r.addChild(V),r=V}i="",o=w}}else i+=t[o];return e.child},f=function(t){if(this.options.processEntities){for(var e in this.docTypeEntities){var r=this.docTypeEntities[e];t=t.replace(r.regx,r.val)}for(var i in this.lastEntities){var n=this.lastEntities[i];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(var s in this.htmlEntities){var a=this.htmlEntities[s];t=t.replace(a.regex,a.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function g(t,e,r,i){return t&&(void 0===i&&(i=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,r,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,i))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function c(t,e,r){var i="*."+r;for(var n in t){var s=t[n];if(i===s||e===s)return!0}return!1}function v(t,e,r,i){var n=t.indexOf(e,r);if(-1===n)throw new Error(i);return n+e.length-1}function x(t,e,r,i){void 0===i&&(i=">");var n=function(t,e,r){var i;void 0===r&&(r=">");for(var n="",s=e;s",r,e+" is not closed");if(t.substring(r+2,s).trim()===e&&0==--n)return{tagContent:t.substring(i,r),i:s};r=s}else if("?"===t[r+1])r=v(t,"?>",r+1,"StopNode is not closed.");else if("!--"===t.substr(r+1,3))r=v(t,"--\x3e",r+3,"StopNode is not closed.");else if("!["===t.substr(r+1,2))r=v(t,"]]>",r,"StopNode is not closed.")-2;else{var a=x(t,r,">");a&&((a&&a.tagName)===e&&"/"!==a.tagExp[a.tagExp.length-1]&&n++,r=a.closeIndex)}}function N(t,e,r){if(e&&"string"==typeof t){var n=t.trim();return"true"===n||"false"!==n&&a(t,r)}return i.isExist(t)?t:""}t.exports=function(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=o,this.parseXml=d,this.parseTextData=u,this.resolveNameSpace=l,this.buildAttributesMap=p,this.isItStopNode=c,this.replaceEntitiesValue=f,this.readStopNodeData=m,this.saveTextToParentTag=g}},870:(t,e,r)=>{var i=r(348).buildOptions,n=r(498),s=r(400).prettify,a=r(239),o=function(){function t(t){this.externalEntities={},this.options=i(t)}var e=t.prototype;return e.parse=function(t,e){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(e){!0===e&&(e={});var r=a.validate(t,e);if(!0!==r)throw Error(r.err.msg+":"+r.err.line+":"+r.err.col)}var i=new n(this.options);i.addExternalEntities(this.externalEntities);var o=i.parseXml(t);return this.options.preserveOrder||void 0===o?o:s(o,this.options)},e.addEntity=function(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e},t}();t.exports=o},400:(t,e)=>{"use strict";function r(t,e,a){for(var o,u={},l=0;l0&&(u[e.textNodeName]=o):void 0!==o&&(u[e.textNodeName]=o),u}function i(t){for(var e=Object.keys(t),r=0;r{"use strict";var e=function(){function t(t){this.tagname=t,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(t,e){var r;"__proto__"===t&&(t="#__proto__"),this.child.push(((r={})[t]=e,r))},e.addChild=function(t){var e,r;"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push(((e={})[t.tagname]=t.child,e[":@"]=t[":@"],e)):this.child.push(((r={})[t.tagname]=t.child,r))},t}();t.exports=e}},e={},r=function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}(316);fxp=r})();
+var fxp;(()=>{var t={807:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,r=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(t,n={}){if(n=Object.assign({},i,n),!t||"string"!=typeof t)return t;let s=t.trim();if(void 0!==n.skipLike&&n.skipLike.test(s))return t;if(n.hex&&e.test(s))return Number.parseInt(s,16);{const e=r.exec(s);if(e){const r=e[1],i=e[2];let o=(a=e[3])&&-1!==a.indexOf(".")?("."===(a=a.replace(/0+$/,""))?a="0":"."===a[0]?a="0"+a:"."===a[a.length-1]&&(a=a.substr(0,a.length-1)),a):a;const u=e[4]||e[6];if(!n.leadingZeros&&i.length>0&&r&&"."!==s[2])return t;if(!n.leadingZeros&&i.length>0&&!r&&"."!==s[1])return t;{const e=Number(s),a=""+e;return-1!==a.search(/[eE]/)||u?n.eNotation?e:t:-1!==s.indexOf(".")?"0"===a&&""===o||a===o||r&&a==="-"+o?e:t:i?o===a||r+o===a?e:t:s===a||s===r+a?e:t}}return t}var a}},316:(t,e,r)=>{"use strict";var i=r(239),n=r(870),s=r(784);t.exports={XMLParser:n,XMLValidator:i,XMLBuilder:s}},839:(t,e)=>{"use strict";var r="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,r){if(e)for(var i=Object.keys(e),n=i.length,s=0;s{"use strict";var i=r(839),n={allowBooleanAttributes:!1,unpairedTags:[]};function s(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function a(t,e){for(var r=e;e5&&"xml"===i)return p("InvalidXml","XML declaration allowed only at the start of the document.",g(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}}return e}function o(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){var r=1;for(e+=8;e"===t[e]&&0==--r)break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}function u(t,e){for(var r="",i="",n=!1;e"===t[e]&&""===i){n=!0;break}r+=t[e]}return""===i&&{value:r,index:e,tagClosed:n}}e.validate=function(t,e){e=Object.assign({},n,e);var r,l=[],f=!1,c=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(var v=0;v"!==t[v]&&" "!==t[v]&&"\t"!==t[v]&&"\n"!==t[v]&&"\r"!==t[v];v++)N+=t[v];if("/"===(N=N.trim())[N.length-1]&&(N=N.substring(0,N.length-1),v--),r=N,!i.isName(r))return p("InvalidTag",0===N.trim().length?"Invalid space after '<'.":"Tag '"+N+"' is an invalid name.",g(t,v));var b=u(t,v);if(!1===b)return p("InvalidAttr","Attributes for '"+N+"' have open quote.",g(t,v));var E=b.value;if(v=b.index,"/"===E[E.length-1]){var T=v-E.length,y=h(E=E.substring(0,E.length-1),e);if(!0!==y)return p(y.err.code,y.err.msg,g(t,T+y.err.line));f=!0}else if(m){if(!b.tagClosed)return p("InvalidTag","Closing tag '"+N+"' doesn't have proper closing.",g(t,v));if(E.trim().length>0)return p("InvalidTag","Closing tag '"+N+"' can't have attributes or invalid starting.",g(t,x));var O=l.pop();if(N!==O.tagName){var A=g(t,O.tagStartPos);return p("InvalidTag","Expected closing tag '"+O.tagName+"' (opened in line "+A.line+", col "+A.col+") instead of closing tag '"+N+"'.",g(t,x))}0==l.length&&(c=!0)}else{var w=h(E,e);if(!0!==w)return p(w.err.code,w.err.msg,g(t,v-E.length+w.err.line));if(!0===c)return p("InvalidXml","Multiple possible root nodes found.",g(t,v));-1!==e.unpairedTags.indexOf(N)||l.push({tagName:N,tagStartPos:x}),f=!0}for(v++;v0)||p("InvalidXml","Invalid '"+JSON.stringify(l.map((function(t){return t.tagName})),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):p("InvalidXml","Start tag expected.",1)};var l=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function h(t,e){for(var r=i.getAllMatches(t,l),n={},s=0;s{"use strict";var i=r(687),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function s(t){this.options=Object.assign({},n,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=u),this.processTextOrObjNode=a,this.options.format?(this.indentate=o,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function a(t,e,r){var i=this.j2x(t,r+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,r):this.buildObjectNode(i.val,e,i.attrStr,r)}function o(t){return this.options.indentBy.repeat(t)}function u(t){return!!t.startsWith(this.options.attributeNamePrefix)&&t.substr(this.attrPrefixLen)}s.prototype.build=function(t){return this.options.preserveOrder?i(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&((e={})[this.options.arrayNodeName]=t,t=e),this.j2x(t,0).val);var e},s.prototype.j2x=function(t,e){var r="",i="";for(var n in t)if(void 0===t[n]);else if(null===t[n])"?"===n[0]?i+=this.indentate(e)+"<"+n+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+n+"/"+this.tagEndChar;else if(t[n]instanceof Date)i+=this.buildTextValNode(t[n],n,"",e);else if("object"!=typeof t[n]){var s=this.isAttribute(n);if(s)r+=this.buildAttrPairStr(s,""+t[n]);else if(n===this.options.textNodeName){var a=this.options.tagValueProcessor(n,""+t[n]);i+=this.replaceEntitiesValue(a)}else i+=this.buildTextValNode(t[n],n,"",e)}else if(Array.isArray(t[n])){for(var o=t[n].length,u="",l=0;l"+t+n:!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(i)+"\x3c!--"+t+"--\x3e"+this.newLine:this.indentate(i)+"<"+e+r+s+this.tagEndChar+t+this.indentate(i)+n},s.prototype.closeTag=function(t){var e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":">"+t,e},s.prototype.buildTextValNode=function(t,e,r,i){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(i)+""+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(i)+"\x3c!--"+t+"--\x3e"+this.newLine;if("?"===e[0])return this.indentate(i)+"<"+e+r+"?"+this.tagEndChar;var n=this.options.tagValueProcessor(e,t);return""===(n=this.replaceEntitiesValue(n))?this.indentate(i)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(i)+"<"+e+r+">"+n+""+e+this.tagEndChar},s.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e{function e(t,a,o,u){for(var l="",h=!1,d=0;d":l+=v+"/>":x&&0!==x.length||!a.suppressEmptyNode?x&&x.endsWith(">")?l+=v+">"+x+u+""+g+">":(l+=v+">",x&&""!==u&&(x.includes("/>")||x.includes(""))?l+=u+a.indentBy+x+u:l+=x,l+=""+g+">"):l+=v+"/>",h=!0}else{var m=i(f[":@"],a),N="?xml"===g?"":u,b=f[g][0][a.textNodeName];l+=N+"<"+g+(b=0!==b.length?" "+b:"")+m+"?>",h=!0}else l+=u+"\x3c!--"+f[g][0][a.textNodeName]+"--\x3e",h=!0;else h&&(l+=u),l+="",h=!1;else{var E=f[g];n(p,a)||(E=s(E=a.tagValueProcessor(g,E),a)),h&&(l+=u),l+=E,h=!1}}return l}function r(t){for(var e=Object.keys(t),r=0;r0&&e.processEntities)for(var r=0;r0&&(i="\n"),e(t,r,"",i)}},106:(t,e,r)=>{var i=r(839);function n(t,e){for(var r="";e"===t[e]){if(p?"-"===t[e-1]&&"-"===t[e-2]&&(p=!1,i--):i--,0===i)break}else"["===t[e]?d=!0:t[e];else{if(d&&a(t,e)){var f=n(t,(e+=7)+1);entityName=f[0],val=f[1],e=f[2],-1===val.indexOf("&")&&(r[h(entityName)]={regx:RegExp("&"+entityName+";","g"),val})}else if(d&&o(t,e))e+=8;else if(d&&u(t,e))e+=8;else if(d&&l(t,e))e+=9;else{if(!s)throw new Error("Invalid DOCTYPE");p=!0}i++}if(0!==i)throw new Error("Unclosed DOCTYPE");return{entities:r,i:e}}},348:(t,e)=>{var r={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,r){return t}};e.buildOptions=function(t){return Object.assign({},r,t)},e.defaultOptions=r},498:(t,e,r)=>{"use strict";var i=r(839),n=r(876),s=r(106),a=r(807);function o(t){for(var e=Object.keys(t),r=0;r0)){a||(t=this.replaceEntitiesValue(t));var o=this.options.tagValueProcessor(e,t,r,n,s);return null==o?t:typeof o!=typeof t||o!==t?o:this.options.trimValues||t.trim()===t?b(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function l(t){if(this.options.removeNSPrefix){var e=t.split(":"),r="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=r+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,i.nameRegexp);var h=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function d(t,e,r){if(!this.options.ignoreAttributes&&"string"==typeof t){for(var n=i.getAllMatches(t,h),s=n.length,a={},o=0;o",o,"Closing Tag is not closed."),l=t.substring(o+2,u).trim();if(this.options.removeNSPrefix){var h=l.indexOf(":");-1!==h&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),r&&(i=this.saveTextToParentTag(i,r,a));var d=a.substring(a.lastIndexOf(".")+1);if(l&&-1!==this.options.unpairedTags.indexOf(l))throw new Error("Unpaired tag can not be used as closing tag: "+l+">");var p=0;d&&-1!==this.options.unpairedTags.indexOf(d)?(p=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):p=a.lastIndexOf("."),a=a.substring(0,p),r=this.tagsNodeStack.pop(),i="",o=u}else if("?"===t[o+1]){var f=m(t,o,!1,"?>");if(!f)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,r,a),this.options.ignoreDeclaration&&"?xml"===f.tagName||this.options.ignorePiTags);else{var g=new n(f.tagName);g.add(this.options.textNodeName,""),f.tagName!==f.tagExp&&f.attrExpPresent&&(g[":@"]=this.buildAttributesMap(f.tagExp,a,f.tagName)),this.addChild(r,g,a)}o=f.closeIndex+1}else if("!--"===t.substr(o+1,3)){var c=x(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){var v,N=t.substring(o+4,c-2);i=this.saveTextToParentTag(i,r,a),r.add(this.options.commentPropName,[(v={},v[this.options.textNodeName]=N,v)])}o=c}else if("!D"===t.substr(o+1,2)){var b=s(t,o);this.docTypeEntities=b.entities,o=b.i}else if("!["===t.substr(o+1,2)){var E=x(t,"]]>",o,"CDATA is not closed.")-2,T=t.substring(o+9,E);if(i=this.saveTextToParentTag(i,r,a),this.options.cdataPropName){var y;r.add(this.options.cdataPropName,[(y={},y[this.options.textNodeName]=T,y)])}else{var O=this.parseTextData(T,r.tagname,a,!0,!1,!0);null==O&&(O=""),r.add(this.options.textNodeName,O)}o=E+2}else{var A=m(t,o,this.options.removeNSPrefix),w=A.tagName,P=A.tagExp,C=A.attrExpPresent,I=A.closeIndex;this.options.transformTagName&&(w=this.options.transformTagName(w)),r&&i&&"!xml"!==r.tagname&&(i=this.saveTextToParentTag(i,r,a,!1));var F=r;if(F&&-1!==this.options.unpairedTags.indexOf(F.tagname)&&(r=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),w!==e.tagname&&(a+=a?"."+w:w),this.isItStopNode(this.options.stopNodes,a,w)){var D="";if(P.length>0&&P.lastIndexOf("/")===P.length-1)o=A.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(w))o=A.closeIndex;else{var S=this.readStopNodeData(t,w,I+1);if(!S)throw new Error("Unexpected end of "+w);o=S.i,D=S.tagContent}var k=new n(w);w!==P&&C&&(k[":@"]=this.buildAttributesMap(P,a,w)),D&&(D=this.parseTextData(D,w,a,!0,C,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),k.add(this.options.textNodeName,D),this.addChild(r,k,a)}else{if(P.length>0&&P.lastIndexOf("/")===P.length-1){P="/"===w[w.length-1]?w=w.substr(0,w.length-1):P.substr(0,P.length-1),this.options.transformTagName&&(w=this.options.transformTagName(w));var V=new n(w);w!==P&&C&&(V[":@"]=this.buildAttributesMap(P,a,w)),this.addChild(r,V,a),a=a.substr(0,a.lastIndexOf("."))}else{var j=new n(w);this.tagsNodeStack.push(r),w!==P&&C&&(j[":@"]=this.buildAttributesMap(P,a,w)),this.addChild(r,j,a),r=j}i="",o=I}}else i+=t[o];return e.child};function f(t,e,r){var i=this.options.updateTag(e.tagname,r,e[":@"]);!1===i||("string"==typeof i?(e.tagname=i,t.addChild(e)):t.addChild(e))}var g=function(t){if(this.options.processEntities){for(var e in this.docTypeEntities){var r=this.docTypeEntities[e];t=t.replace(r.regx,r.val)}for(var i in this.lastEntities){var n=this.lastEntities[i];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(var s in this.htmlEntities){var a=this.htmlEntities[s];t=t.replace(a.regex,a.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function c(t,e,r,i){return t&&(void 0===i&&(i=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,r,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,i))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function v(t,e,r){var i="*."+r;for(var n in t){var s=t[n];if(i===s||e===s)return!0}return!1}function x(t,e,r,i){var n=t.indexOf(e,r);if(-1===n)throw new Error(i);return n+e.length-1}function m(t,e,r,i){void 0===i&&(i=">");var n=function(t,e,r){var i;void 0===r&&(r=">");for(var n="",s=e;s",r,e+" is not closed");if(t.substring(r+2,s).trim()===e&&0==--n)return{tagContent:t.substring(i,r),i:s};r=s}else if("?"===t[r+1])r=x(t,"?>",r+1,"StopNode is not closed.");else if("!--"===t.substr(r+1,3))r=x(t,"--\x3e",r+3,"StopNode is not closed.");else if("!["===t.substr(r+1,2))r=x(t,"]]>",r,"StopNode is not closed.")-2;else{var a=m(t,r,">");a&&((a&&a.tagName)===e&&"/"!==a.tagExp[a.tagExp.length-1]&&n++,r=a.closeIndex)}}function b(t,e,r){if(e&&"string"==typeof t){var n=t.trim();return"true"===n||"false"!==n&&a(t,r)}return i.isExist(t)?t:""}t.exports=function(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=o,this.parseXml=p,this.parseTextData=u,this.resolveNameSpace=l,this.buildAttributesMap=d,this.isItStopNode=v,this.replaceEntitiesValue=g,this.readStopNodeData=N,this.saveTextToParentTag=c,this.addChild=f}},870:(t,e,r)=>{var i=r(348).buildOptions,n=r(498),s=r(400).prettify,a=r(239),o=function(){function t(t){this.externalEntities={},this.options=i(t)}var e=t.prototype;return e.parse=function(t,e){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(e){!0===e&&(e={});var r=a.validate(t,e);if(!0!==r)throw Error(r.err.msg+":"+r.err.line+":"+r.err.col)}var i=new n(this.options);i.addExternalEntities(this.externalEntities);var o=i.parseXml(t);return this.options.preserveOrder||void 0===o?o:s(o,this.options)},e.addEntity=function(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e},t}();t.exports=o},400:(t,e)=>{"use strict";function r(t,e,a){for(var o,u={},l=0;l0&&(u[e.textNodeName]=o):void 0!==o&&(u[e.textNodeName]=o),u}function i(t){for(var e=Object.keys(t),r=0;r{"use strict";var e=function(){function t(t){this.tagname=t,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(t,e){var r;"__proto__"===t&&(t="#__proto__"),this.child.push(((r={})[t]=e,r))},e.addChild=function(t){var e,r;"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push(((e={})[t.tagname]=t.child,e[":@"]=t[":@"],e)):this.child.push(((r={})[t.tagname]=t.child,r))},t}();t.exports=e}},e={},r=function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}(316);fxp=r})();
//# sourceMappingURL=fxp.min.js.map
\ No newline at end of file
diff --git a/lib/fxp.min.js.map b/lib/fxp.min.js.map
index b3e357c2..0e1f4b57 100644
--- a/lib/fxp.min.js.map
+++ b/lib/fxp.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"./lib/fxp.min.js","mappings":"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","sources":["webpack://fxp/./node_modules/strnum/strnum.js","webpack://fxp/./src/fxp.js","webpack://fxp/./src/util.js","webpack://fxp/./src/validator.js","webpack://fxp/./src/xmlbuilder/json2xml.js","webpack://fxp/./src/xmlbuilder/orderedJs2Xml.js","webpack://fxp/./src/xmlparser/DocTypeReader.js","webpack://fxp/./src/xmlparser/OptionsBuilder.js","webpack://fxp/./src/xmlparser/OrderedObjParser.js","webpack://fxp/./src/xmlparser/XMLParser.js","webpack://fxp/./src/xmlparser/node2json.js","webpack://fxp/./src/xmlparser/xmlNode.js","webpack://fxp/webpack/bootstrap","webpack://fxp/webpack/startup"],"sourcesContent":["const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n val += this.processTextOrObjNode(item, key, level)\n } else {\n val += this.buildTextValNode(item, key, '', level);\n }\n }\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n if (attrStr && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, entity = false, comment = false;\n let exp = \"\";\n for(;i') {\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n if(entity) {\n parseEntityExp(exp, entities);\n entity = false;\n }\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nconst entityRegex = RegExp(\"^\\\\s([a-zA-z0-0]+)[ \\t](['\\\"])([^&]+)\\\\2\");\nfunction parseEntityExp(exp, entities){\n const match = entityRegex.exec(exp);\n if(match){\n entities[ match[1] ] = {\n regx : RegExp( `&${match[1]};`,\"g\"),\n val: match[3]\n };\n }\n}\nmodule.exports = readDocType;","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n \n currentNode = this.tagsNodeStack.pop();//avoid recurssion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath);\n }\n currentNode.addChild(childNode);\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n }\n\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //boolean tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n currentNode.addChild(childNode);\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n currentNode.addChild(childNode);\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-dobule quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const propCount = Object.keys(obj).length;\n if( propCount === 0 || (propCount === 1 && obj[options.textNodeName]) ) return true;\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(316);\n"],"names":["hexRegex","numRegex","Number","parseInt","window","parseFloat","consider","hex","leadingZeros","decimalPoint","eNotation","module","exports","str","options","Object","assign","trimmedStr","trim","undefined","skipLike","test","match","exec","sign","numTrimmedByZeros","numStr","indexOf","replace","length","substr","num","search","validator","require","XMLParser","XMLBuilder","XMLValidator","nameRegexp","regexName","RegExp","isExist","v","isEmptyObject","obj","keys","merge","target","a","arrayMode","len","i","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","index","push","util","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","readAttributeStr","attrStr","startChar","tagClosed","value","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","result","attrStrStart","isValid","validateAttributeString","code","msg","line","otg","pop","openPos","col","afterAmp","validateAmpersand","JSON","stringify","map","t","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re","validateNumberAmpersand","count","message","lineNumber","lines","split","buildFromOrderedJs","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","cdataPropName","format","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","tagValueProcessor","key","attributeValueProcessor","preserveOrder","commentPropName","entities","val","processEntities","stopNodes","Builder","this","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","j2x","buildTextValNode","buildObjectNode","repeat","name","startsWith","prototype","build","jObj","Array","isArray","arrayNodeName","Date","attr","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","j","item","Ks","L","closeTag","tagEndExp","piClosingChar","textValue","entity","arrToStr","arr","jPath","indentation","xmlStr","isPreviousElementTag","newJPath","tagObj","propName","newIdentation","tagStart","attr_to_str","tagValue","endsWith","includes","attStr","tempInd","piTextNodeName","tagText","isStopNode","attrMap","attrVal","lastIndexOf","jArray","entityRegex","parseEntityExp","exp","regx","Error","hasBody","comment","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","numberParseOptions","alwaysCreateTextNode","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","buildOptions","xmlNode","readDocType","toNumber","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","attrs","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","tagsNodeStack","tagData","readTagExp","childNode","add","tagExp","attrExpPresent","addChild","endIndex","docTypeEntities","lastTag","isItStopNode","tagContent","readStopNodeData","child","entityName","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","data","tagExpWithClosingIndex","separatorIndex","openTagCount","shouldParse","OrderedObjParser","prettify","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","compress","text","compressedObj","newJpath","property","isLeaf","isLeafTag","assignAttributes","jpath","atrrName","propCount","node","XmlNode","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"./lib/fxp.min.js","mappings":"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","sources":["webpack://fxp/./node_modules/strnum/strnum.js","webpack://fxp/./src/fxp.js","webpack://fxp/./src/util.js","webpack://fxp/./src/validator.js","webpack://fxp/./src/xmlbuilder/json2xml.js","webpack://fxp/./src/xmlbuilder/orderedJs2Xml.js","webpack://fxp/./src/xmlparser/DocTypeReader.js","webpack://fxp/./src/xmlparser/OptionsBuilder.js","webpack://fxp/./src/xmlparser/OrderedObjParser.js","webpack://fxp/./src/xmlparser/XMLParser.js","webpack://fxp/./src/xmlparser/node2json.js","webpack://fxp/./src/xmlparser/xmlNode.js","webpack://fxp/webpack/bootstrap","webpack://fxp/webpack/startup"],"sourcesContent":["const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup ){\n listTagVal += this.j2x(item, level + 1).val;\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level)\n }\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, '', level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n if (attrStr && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // \n\n //Parameter entities are not supported\n // \n\n //Internal entities are supported\n // \n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: ${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(316);\n"],"names":["hexRegex","numRegex","Number","parseInt","window","parseFloat","consider","hex","leadingZeros","decimalPoint","eNotation","module","exports","str","options","Object","assign","trimmedStr","trim","undefined","skipLike","test","match","exec","sign","numTrimmedByZeros","numStr","indexOf","replace","length","substr","num","search","validator","require","XMLParser","XMLBuilder","XMLValidator","nameRegexp","regexName","RegExp","isExist","v","isEmptyObject","obj","keys","merge","target","a","arrayMode","len","i","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","index","push","util","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","readAttributeStr","attrStr","startChar","tagClosed","value","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","result","attrStrStart","isValid","validateAttributeString","code","msg","line","otg","pop","openPos","col","afterAmp","validateAmpersand","JSON","stringify","map","t","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re","validateNumberAmpersand","count","message","lineNumber","lines","split","buildFromOrderedJs","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","cdataPropName","format","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","tagValueProcessor","key","attributeValueProcessor","preserveOrder","commentPropName","entities","val","processEntities","stopNodes","oneListGroup","Builder","this","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","j2x","buildTextValNode","buildObjectNode","repeat","name","startsWith","prototype","build","jObj","Array","isArray","arrayNodeName","Date","attr","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","listTagVal","j","item","Ks","L","closeTag","tagEndExp","piClosingChar","textValue","entity","arrToStr","arr","jPath","indentation","xmlStr","isPreviousElementTag","newJPath","tagObj","propName","newIdentation","tagStart","attr_to_str","tagValue","endsWith","includes","attStr","tempInd","piTextNodeName","tagText","isStopNode","attrMap","attrVal","lastIndexOf","jArray","readEntityExp","entityName","Error","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","hasBody","comment","regx","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","numberParseOptions","alwaysCreateTextNode","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","attrs","buildOptions","xmlNode","readDocType","toNumber","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","add","tagExp","attrExpPresent","addChild","endIndex","docTypeEntities","lastTag","isItStopNode","tagContent","readStopNodeData","child","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","data","tagExpWithClosingIndex","separatorIndex","openTagCount","shouldParse","OrderedObjParser","prettify","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","compress","text","compressedObj","newJpath","property","isLeaf","isLeafTag","assignAttributes","jpath","atrrName","propCount","node","XmlNode","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/lib/fxparser.min.js b/lib/fxparser.min.js
index 0f105766..9f19e224 100644
--- a/lib/fxparser.min.js
+++ b/lib/fxparser.min.js
@@ -1,2 +1,2 @@
-var XMLParser;(()=>{var t={807:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,r=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(t,n={}){if(n=Object.assign({},i,n),!t||"string"!=typeof t)return t;let a=t.trim();if(void 0!==n.skipLike&&n.skipLike.test(a))return t;if(n.hex&&e.test(a))return Number.parseInt(a,16);{const e=r.exec(a);if(e){const r=e[1],i=e[2];let o=(s=e[3])&&-1!==s.indexOf(".")?("."===(s=s.replace(/0+$/,""))?s="0":"."===s[0]?s="0"+s:"."===s[s.length-1]&&(s=s.substr(0,s.length-1)),s):s;const l=e[4]||e[6];if(!n.leadingZeros&&i.length>0&&r&&"."!==a[2])return t;if(!n.leadingZeros&&i.length>0&&!r&&"."!==a[1])return t;{const e=Number(a),s=""+e;return-1!==s.search(/[eE]/)||l?n.eNotation?e:t:-1!==a.indexOf(".")?"0"===s&&""===o||s===o||r&&s==="-"+o?e:t:i?o===s||r+o===s?e:t:a===s||a===r+s?e:t}}return t}var s}},839:(t,e)=>{"use strict";var r="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,r){if(e)for(var i=Object.keys(e),n=i.length,a=0;a{"use strict";var i=r(839),n={allowBooleanAttributes:!1,unpairedTags:[]};function a(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function s(t,e){for(var r=e;e5&&"xml"===i)return h("InvalidXml","XML declaration allowed only at the start of the document.",p(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}}return e}function o(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){var r=1;for(e+=8;e"===t[e]&&0==--r)break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}function l(t,e){for(var r="",i="",n=!1;e"===t[e]&&""===i){n=!0;break}r+=t[e]}return""===i&&{value:r,index:e,tagClosed:n}}e.validate=function(t,e){e=Object.assign({},n,e);var r,u=[],d=!1,c=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(var v=0;v"!==t[v]&&" "!==t[v]&&"\t"!==t[v]&&"\n"!==t[v]&&"\r"!==t[v];v++)N+=t[v];if("/"===(N=N.trim())[N.length-1]&&(N=N.substring(0,N.length-1),v--),r=N,!i.isName(r))return h("InvalidTag",0===N.trim().length?"Invalid space after '<'.":"Tag '"+N+"' is an invalid name.",p(t,v));var b=l(t,v);if(!1===b)return h("InvalidAttr","Attributes for '"+N+"' have open quote.",p(t,v));var E=b.value;if(v=b.index,"/"===E[E.length-1]){var T=v-E.length,A=f(E=E.substring(0,E.length-1),e);if(!0!==A)return h(A.err.code,A.err.msg,p(t,T+A.err.line));d=!0}else if(m){if(!b.tagClosed)return h("InvalidTag","Closing tag '"+N+"' doesn't have proper closing.",p(t,v));if(E.trim().length>0)return h("InvalidTag","Closing tag '"+N+"' can't have attributes or invalid starting.",p(t,x));var w=u.pop();if(N!==w.tagName){var y=p(t,w.tagStartPos);return h("InvalidTag","Expected closing tag '"+w.tagName+"' (opened in line "+y.line+", col "+y.col+") instead of closing tag '"+N+"'.",p(t,x))}0==u.length&&(c=!0)}else{var F=f(E,e);if(!0!==F)return h(F.err.code,F.err.msg,p(t,v-E.length+F.err.line));if(!0===c)return h("InvalidXml","Multiple possible root nodes found.",p(t,v));-1!==e.unpairedTags.indexOf(N)||u.push({tagName:N,tagStartPos:x}),d=!0}for(v++;v0)||h("InvalidXml","Invalid '"+JSON.stringify(u.map((function(t){return t.tagName})),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):h("InvalidXml","Start tag expected.",1)};var u=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function f(t,e){for(var r=i.getAllMatches(t,u),n={},a=0;a{var e=RegExp("^\\s([a-zA-z0-0]+)[ \t](['\"])([^&]+)\\2");function r(t,r){var i=e.exec(t);i&&(r[i[1]]={regx:RegExp("&"+i[1]+";","g"),val:i[3]})}t.exports=function(t,e){var i={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");e+=9;for(var n=1,a=!1,s=!1,o=!1,l="";e"===t[e]){if(o?"-"===t[e-1]&&"-"===t[e-2]&&(o=!1,n--):(s&&(r(l,i),s=!1),n--),0===n)break}else"["===t[e]?a=!0:l+=t[e];else{if(a&&"!"===t[e+1]&&"E"===t[e+2]&&"N"===t[e+3]&&"T"===t[e+4]&&"I"===t[e+5]&&"T"===t[e+6]&&"Y"===t[e+7])e+=7,s=!0;else if(a&&"!"===t[e+1]&&"E"===t[e+2]&&"L"===t[e+3]&&"E"===t[e+4]&&"M"===t[e+5]&&"E"===t[e+6]&&"N"===t[e+7]&&"T"===t[e+8])e+=8;else if(a&&"!"===t[e+1]&&"A"===t[e+2]&&"T"===t[e+3]&&"T"===t[e+4]&&"L"===t[e+5]&&"I"===t[e+6]&&"S"===t[e+7]&&"T"===t[e+8])e+=8;else if(a&&"!"===t[e+1]&&"N"===t[e+2]&&"O"===t[e+3]&&"T"===t[e+4]&&"A"===t[e+5]&&"T"===t[e+6]&&"I"===t[e+7]&&"O"===t[e+8]&&"N"===t[e+9])e+=9;else{if("!"!==t[e+1]||"-"!==t[e+2]||"-"!==t[e+3])throw new Error("Invalid DOCTYPE");o=!0}n++,l=""}if(0!==n)throw new Error("Unclosed DOCTYPE");return{entities:i,i:e}}},348:(t,e)=>{var r={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1};e.buildOptions=function(t){return Object.assign({},r,t)},e.defaultOptions=r},498:(t,e,r)=>{"use strict";var i=r(839),n=r(876),a=r(106),s=r(807);function o(t){for(var e=Object.keys(t),r=0;r0)){s||(t=this.replaceEntitiesValue(t));var o=this.options.tagValueProcessor(e,t,r,n,a);return null==o?t:typeof o!=typeof t||o!==t?o:this.options.trimValues||t.trim()===t?N(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function u(t){if(this.options.removeNSPrefix){var e=t.split(":"),r="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=r+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,i.nameRegexp);var f=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function g(t,e){if(!this.options.ignoreAttributes&&"string"==typeof t){for(var r=i.getAllMatches(t,f),n=r.length,a={},s=0;s",o,"Closing Tag is not closed."),u=t.substring(o+2,l).trim();if(this.options.removeNSPrefix){var f=u.indexOf(":");-1!==f&&(u=u.substr(f+1))}this.options.transformTagName&&(u=this.options.transformTagName(u)),r&&(i=this.saveTextToParentTag(i,r,s)),s=s.substr(0,s.lastIndexOf(".")),r=this.tagsNodeStack.pop(),i="",o=l}else if("?"===t[o+1]){var g=x(t,o,!1,"?>");if(!g)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,r,s),this.options.ignoreDeclaration&&"?xml"===g.tagName||this.options.ignorePiTags);else{var h=new n(g.tagName);h.add(this.options.textNodeName,""),g.tagName!==g.tagExp&&g.attrExpPresent&&(h[":@"]=this.buildAttributesMap(g.tagExp,s)),r.addChild(h)}o=g.closeIndex+1}else if("!--"===t.substr(o+1,3)){var d=v(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){var p,c=t.substring(o+4,d-2);i=this.saveTextToParentTag(i,r,s),r.add(this.options.commentPropName,[(p={},p[this.options.textNodeName]=c,p)])}o=d}else if("!D"===t.substr(o+1,2)){var m=a(t,o);this.docTypeEntities=m.entities,o=m.i}else if("!["===t.substr(o+1,2)){var N=v(t,"]]>",o,"CDATA is not closed.")-2,b=t.substring(o+9,N);if(i=this.saveTextToParentTag(i,r,s),this.options.cdataPropName){var E;r.add(this.options.cdataPropName,[(E={},E[this.options.textNodeName]=b,E)])}else{var T=this.parseTextData(b,r.tagname,s,!0,!1,!0);null==T&&(T=""),r.add(this.options.textNodeName,T)}o=N+2}else{var A=x(t,o,this.options.removeNSPrefix),w=A.tagName,y=A.tagExp,F=A.attrExpPresent,O=A.closeIndex;this.options.transformTagName&&(w=this.options.transformTagName(w)),r&&i&&"!xml"!==r.tagname&&(i=this.saveTextToParentTag(i,r,s,!1)),w!==e.tagname&&(s+=s?"."+w:w);var I=r;if(I&&-1!==this.options.unpairedTags.indexOf(I.tagname)&&(r=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,s,w)){var P="";if(y.length>0&&y.lastIndexOf("/")===y.length-1)o=A.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(w))o=A.closeIndex;else{var C=this.readStopNodeData(t,w,O+1);if(!C)throw new Error("Unexpected end of "+w);o=C.i,P=C.tagContent}var D=new n(w);w!==y&&F&&(D[":@"]=this.buildAttributesMap(y,s)),P&&(P=this.parseTextData(P,w,s,!0,F,!0,!0)),s=s.substr(0,s.lastIndexOf(".")),D.add(this.options.textNodeName,P),r.addChild(D)}else{if(y.length>0&&y.lastIndexOf("/")===y.length-1){y="/"===w[w.length-1]?w=w.substr(0,w.length-1):y.substr(0,y.length-1),this.options.transformTagName&&(w=this.options.transformTagName(w));var k=new n(w);w!==y&&F&&(k[":@"]=this.buildAttributesMap(y,s)),s=s.substr(0,s.lastIndexOf(".")),r.addChild(k)}else{var S=new n(w);this.tagsNodeStack.push(r),w!==y&&F&&(S[":@"]=this.buildAttributesMap(y,s)),r.addChild(S),r=S}i="",o=O}}else i+=t[o];return e.child},d=function(t){if(this.options.processEntities){for(var e in this.docTypeEntities){var r=this.docTypeEntities[e];t=t.replace(r.regx,r.val)}for(var i in this.lastEntities){var n=this.lastEntities[i];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(var a in this.htmlEntities){var s=this.htmlEntities[a];t=t.replace(s.regex,s.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function p(t,e,r,i){return t&&(void 0===i&&(i=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,r,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,i))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function c(t,e,r){var i="*."+r;for(var n in t){var a=t[n];if(i===a||e===a)return!0}return!1}function v(t,e,r,i){var n=t.indexOf(e,r);if(-1===n)throw new Error(i);return n+e.length-1}function x(t,e,r,i){void 0===i&&(i=">");var n=function(t,e,r){var i;void 0===r&&(r=">");for(var n="",a=e;a",r,e+" is not closed");if(t.substring(r+2,a).trim()===e&&0==--n)return{tagContent:t.substring(i,r),i:a};r=a}else if("?"===t[r+1])r=v(t,"?>",r+1,"StopNode is not closed.");else if("!--"===t.substr(r+1,3))r=v(t,"--\x3e",r+3,"StopNode is not closed.");else if("!["===t.substr(r+1,2))r=v(t,"]]>",r,"StopNode is not closed.")-2;else{var s=x(t,r,">");s&&((s&&s.tagName)===e&&"/"!==s.tagExp[s.tagExp.length-1]&&n++,r=s.closeIndex)}}function N(t,e,r){if(e&&"string"==typeof t){var n=t.trim();return"true"===n||"false"!==n&&s(t,r)}return i.isExist(t)?t:""}t.exports=function(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=o,this.parseXml=h,this.parseTextData=l,this.resolveNameSpace=u,this.buildAttributesMap=g,this.isItStopNode=c,this.replaceEntitiesValue=d,this.readStopNodeData=m,this.saveTextToParentTag=p}},870:(t,e,r)=>{var i=r(348).buildOptions,n=r(498),a=r(400).prettify,s=r(239),o=function(){function t(t){this.externalEntities={},this.options=i(t)}var e=t.prototype;return e.parse=function(t,e){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(e){!0===e&&(e={});var r=s.validate(t,e);if(!0!==r)throw Error(r.err.msg+":"+r.err.line+":"+r.err.col)}var i=new n(this.options);i.addExternalEntities(this.externalEntities);var o=i.parseXml(t);return this.options.preserveOrder||void 0===o?o:a(o,this.options)},e.addEntity=function(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e},t}();t.exports=o},400:(t,e)=>{"use strict";function r(t,e,s){for(var o,l={},u=0;u0&&(l[e.textNodeName]=o):void 0!==o&&(l[e.textNodeName]=o),l}function i(t){for(var e=Object.keys(t),r=0;r{"use strict";var e=function(){function t(t){this.tagname=t,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(t,e){var r;"__proto__"===t&&(t="#__proto__"),this.child.push(((r={})[t]=e,r))},e.addChild=function(t){var e,r;"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push(((e={})[t.tagname]=t.child,e[":@"]=t[":@"],e)):this.child.push(((r={})[t.tagname]=t.child,r))},t}();t.exports=e}},e={},r=function r(i){var n=e[i];if(void 0!==n)return n.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,r),a.exports}(870);XMLParser=r})();
+var XMLParser;(()=>{var t={807:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,r=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(t,n={}){if(n=Object.assign({},i,n),!t||"string"!=typeof t)return t;let a=t.trim();if(void 0!==n.skipLike&&n.skipLike.test(a))return t;if(n.hex&&e.test(a))return Number.parseInt(a,16);{const e=r.exec(a);if(e){const r=e[1],i=e[2];let o=(s=e[3])&&-1!==s.indexOf(".")?("."===(s=s.replace(/0+$/,""))?s="0":"."===s[0]?s="0"+s:"."===s[s.length-1]&&(s=s.substr(0,s.length-1)),s):s;const l=e[4]||e[6];if(!n.leadingZeros&&i.length>0&&r&&"."!==a[2])return t;if(!n.leadingZeros&&i.length>0&&!r&&"."!==a[1])return t;{const e=Number(a),s=""+e;return-1!==s.search(/[eE]/)||l?n.eNotation?e:t:-1!==a.indexOf(".")?"0"===s&&""===o||s===o||r&&s==="-"+o?e:t:i?o===s||r+o===s?e:t:a===s||a===r+s?e:t}}return t}var s}},839:(t,e)=>{"use strict";var r="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,r){if(e)for(var i=Object.keys(e),n=i.length,a=0;a{"use strict";var i=r(839),n={allowBooleanAttributes:!1,unpairedTags:[]};function a(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function s(t,e){for(var r=e;e5&&"xml"===i)return d("InvalidXml","XML declaration allowed only at the start of the document.",p(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}}return e}function o(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){var r=1;for(e+=8;e"===t[e]&&0==--r)break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}function l(t,e){for(var r="",i="",n=!1;e"===t[e]&&""===i){n=!0;break}r+=t[e]}return""===i&&{value:r,index:e,tagClosed:n}}e.validate=function(t,e){e=Object.assign({},n,e);var r,u=[],h=!1,c=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(var v=0;v"!==t[v]&&" "!==t[v]&&"\t"!==t[v]&&"\n"!==t[v]&&"\r"!==t[v];v++)N+=t[v];if("/"===(N=N.trim())[N.length-1]&&(N=N.substring(0,N.length-1),v--),r=N,!i.isName(r))return d("InvalidTag",0===N.trim().length?"Invalid space after '<'.":"Tag '"+N+"' is an invalid name.",p(t,v));var b=l(t,v);if(!1===b)return d("InvalidAttr","Attributes for '"+N+"' have open quote.",p(t,v));var E=b.value;if(v=b.index,"/"===E[E.length-1]){var T=v-E.length,w=f(E=E.substring(0,E.length-1),e);if(!0!==w)return d(w.err.code,w.err.msg,p(t,T+w.err.line));h=!0}else if(x){if(!b.tagClosed)return d("InvalidTag","Closing tag '"+N+"' doesn't have proper closing.",p(t,v));if(E.trim().length>0)return d("InvalidTag","Closing tag '"+N+"' can't have attributes or invalid starting.",p(t,m));var y=u.pop();if(N!==y.tagName){var O=p(t,y.tagStartPos);return d("InvalidTag","Expected closing tag '"+y.tagName+"' (opened in line "+O.line+", col "+O.col+") instead of closing tag '"+N+"'.",p(t,m))}0==u.length&&(c=!0)}else{var A=f(E,e);if(!0!==A)return d(A.err.code,A.err.msg,p(t,v-E.length+A.err.line));if(!0===c)return d("InvalidXml","Multiple possible root nodes found.",p(t,v));-1!==e.unpairedTags.indexOf(N)||u.push({tagName:N,tagStartPos:m}),h=!0}for(v++;v0)||d("InvalidXml","Invalid '"+JSON.stringify(u.map((function(t){return t.tagName})),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):d("InvalidXml","Start tag expected.",1)};var u=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function f(t,e){for(var r=i.getAllMatches(t,u),n={},a=0;a{var i=r(839);function n(t,e){for(var r="";e"===t[e]){if(d?"-"===t[e-1]&&"-"===t[e-2]&&(d=!1,i--):i--,0===i)break}else"["===t[e]?g=!0:t[e];else{if(g&&s(t,e)){var h=n(t,(e+=7)+1);entityName=h[0],val=h[1],e=h[2],-1===val.indexOf("&")&&(r[f(entityName)]={regx:RegExp("&"+entityName+";","g"),val})}else if(g&&o(t,e))e+=8;else if(g&&l(t,e))e+=8;else if(g&&u(t,e))e+=9;else{if(!a)throw new Error("Invalid DOCTYPE");d=!0}i++}if(0!==i)throw new Error("Unclosed DOCTYPE");return{entities:r,i:e}}},348:(t,e)=>{var r={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,r){return t}};e.buildOptions=function(t){return Object.assign({},r,t)},e.defaultOptions=r},498:(t,e,r)=>{"use strict";var i=r(839),n=r(876),a=r(106),s=r(807);function o(t){for(var e=Object.keys(t),r=0;r0)){s||(t=this.replaceEntitiesValue(t));var o=this.options.tagValueProcessor(e,t,r,n,a);return null==o?t:typeof o!=typeof t||o!==t?o:this.options.trimValues||t.trim()===t?b(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function u(t){if(this.options.removeNSPrefix){var e=t.split(":"),r="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=r+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,i.nameRegexp);var f=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function g(t,e,r){if(!this.options.ignoreAttributes&&"string"==typeof t){for(var n=i.getAllMatches(t,f),a=n.length,s={},o=0;o",o,"Closing Tag is not closed."),u=t.substring(o+2,l).trim();if(this.options.removeNSPrefix){var f=u.indexOf(":");-1!==f&&(u=u.substr(f+1))}this.options.transformTagName&&(u=this.options.transformTagName(u)),r&&(i=this.saveTextToParentTag(i,r,s));var g=s.substring(s.lastIndexOf(".")+1);if(u&&-1!==this.options.unpairedTags.indexOf(u))throw new Error("Unpaired tag can not be used as closing tag: "+u+">");var d=0;g&&-1!==this.options.unpairedTags.indexOf(g)?(d=s.lastIndexOf(".",s.lastIndexOf(".")-1),this.tagsNodeStack.pop()):d=s.lastIndexOf("."),s=s.substring(0,d),r=this.tagsNodeStack.pop(),i="",o=l}else if("?"===t[o+1]){var h=x(t,o,!1,"?>");if(!h)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,r,s),this.options.ignoreDeclaration&&"?xml"===h.tagName||this.options.ignorePiTags);else{var p=new n(h.tagName);p.add(this.options.textNodeName,""),h.tagName!==h.tagExp&&h.attrExpPresent&&(p[":@"]=this.buildAttributesMap(h.tagExp,s,h.tagName)),this.addChild(r,p,s)}o=h.closeIndex+1}else if("!--"===t.substr(o+1,3)){var c=m(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){var v,N=t.substring(o+4,c-2);i=this.saveTextToParentTag(i,r,s),r.add(this.options.commentPropName,[(v={},v[this.options.textNodeName]=N,v)])}o=c}else if("!D"===t.substr(o+1,2)){var b=a(t,o);this.docTypeEntities=b.entities,o=b.i}else if("!["===t.substr(o+1,2)){var E=m(t,"]]>",o,"CDATA is not closed.")-2,T=t.substring(o+9,E);if(i=this.saveTextToParentTag(i,r,s),this.options.cdataPropName){var w;r.add(this.options.cdataPropName,[(w={},w[this.options.textNodeName]=T,w)])}else{var y=this.parseTextData(T,r.tagname,s,!0,!1,!0);null==y&&(y=""),r.add(this.options.textNodeName,y)}o=E+2}else{var O=x(t,o,this.options.removeNSPrefix),A=O.tagName,I=O.tagExp,F=O.attrExpPresent,P=O.closeIndex;this.options.transformTagName&&(A=this.options.transformTagName(A)),r&&i&&"!xml"!==r.tagname&&(i=this.saveTextToParentTag(i,r,s,!1));var C=r;if(C&&-1!==this.options.unpairedTags.indexOf(C.tagname)&&(r=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf("."))),A!==e.tagname&&(s+=s?"."+A:A),this.isItStopNode(this.options.stopNodes,s,A)){var D="";if(I.length>0&&I.lastIndexOf("/")===I.length-1)o=O.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(A))o=O.closeIndex;else{var k=this.readStopNodeData(t,A,P+1);if(!k)throw new Error("Unexpected end of "+A);o=k.i,D=k.tagContent}var S=new n(A);A!==I&&F&&(S[":@"]=this.buildAttributesMap(I,s,A)),D&&(D=this.parseTextData(D,A,s,!0,F,!0,!0)),s=s.substr(0,s.lastIndexOf(".")),S.add(this.options.textNodeName,D),this.addChild(r,S,s)}else{if(I.length>0&&I.lastIndexOf("/")===I.length-1){I="/"===A[A.length-1]?A=A.substr(0,A.length-1):I.substr(0,I.length-1),this.options.transformTagName&&(A=this.options.transformTagName(A));var _=new n(A);A!==I&&F&&(_[":@"]=this.buildAttributesMap(I,s,A)),this.addChild(r,_,s),s=s.substr(0,s.lastIndexOf("."))}else{var M=new n(A);this.tagsNodeStack.push(r),A!==I&&F&&(M[":@"]=this.buildAttributesMap(I,s,A)),this.addChild(r,M,s),r=M}i="",o=P}}else i+=t[o];return e.child};function h(t,e,r){var i=this.options.updateTag(e.tagname,r,e[":@"]);!1===i||("string"==typeof i?(e.tagname=i,t.addChild(e)):t.addChild(e))}var p=function(t){if(this.options.processEntities){for(var e in this.docTypeEntities){var r=this.docTypeEntities[e];t=t.replace(r.regx,r.val)}for(var i in this.lastEntities){var n=this.lastEntities[i];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(var a in this.htmlEntities){var s=this.htmlEntities[a];t=t.replace(s.regex,s.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function c(t,e,r,i){return t&&(void 0===i&&(i=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,r,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,i))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function v(t,e,r){var i="*."+r;for(var n in t){var a=t[n];if(i===a||e===a)return!0}return!1}function m(t,e,r,i){var n=t.indexOf(e,r);if(-1===n)throw new Error(i);return n+e.length-1}function x(t,e,r,i){void 0===i&&(i=">");var n=function(t,e,r){var i;void 0===r&&(r=">");for(var n="",a=e;a",r,e+" is not closed");if(t.substring(r+2,a).trim()===e&&0==--n)return{tagContent:t.substring(i,r),i:a};r=a}else if("?"===t[r+1])r=m(t,"?>",r+1,"StopNode is not closed.");else if("!--"===t.substr(r+1,3))r=m(t,"--\x3e",r+3,"StopNode is not closed.");else if("!["===t.substr(r+1,2))r=m(t,"]]>",r,"StopNode is not closed.")-2;else{var s=x(t,r,">");s&&((s&&s.tagName)===e&&"/"!==s.tagExp[s.tagExp.length-1]&&n++,r=s.closeIndex)}}function b(t,e,r){if(e&&"string"==typeof t){var n=t.trim();return"true"===n||"false"!==n&&s(t,r)}return i.isExist(t)?t:""}t.exports=function(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=o,this.parseXml=d,this.parseTextData=l,this.resolveNameSpace=u,this.buildAttributesMap=g,this.isItStopNode=v,this.replaceEntitiesValue=p,this.readStopNodeData=N,this.saveTextToParentTag=c,this.addChild=h}},870:(t,e,r)=>{var i=r(348).buildOptions,n=r(498),a=r(400).prettify,s=r(239),o=function(){function t(t){this.externalEntities={},this.options=i(t)}var e=t.prototype;return e.parse=function(t,e){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(e){!0===e&&(e={});var r=s.validate(t,e);if(!0!==r)throw Error(r.err.msg+":"+r.err.line+":"+r.err.col)}var i=new n(this.options);i.addExternalEntities(this.externalEntities);var o=i.parseXml(t);return this.options.preserveOrder||void 0===o?o:a(o,this.options)},e.addEntity=function(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e},t}();t.exports=o},400:(t,e)=>{"use strict";function r(t,e,s){for(var o,l={},u=0;u0&&(l[e.textNodeName]=o):void 0!==o&&(l[e.textNodeName]=o),l}function i(t){for(var e=Object.keys(t),r=0;r{"use strict";var e=function(){function t(t){this.tagname=t,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(t,e){var r;"__proto__"===t&&(t="#__proto__"),this.child.push(((r={})[t]=e,r))},e.addChild=function(t){var e,r;"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push(((e={})[t.tagname]=t.child,e[":@"]=t[":@"],e)):this.child.push(((r={})[t.tagname]=t.child,r))},t}();t.exports=e}},e={},r=function r(i){var n=e[i];if(void 0!==n)return n.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,r),a.exports}(870);XMLParser=r})();
//# sourceMappingURL=fxparser.min.js.map
\ No newline at end of file
diff --git a/lib/fxparser.min.js.map b/lib/fxparser.min.js.map
index 06661275..b9af8f01 100644
--- a/lib/fxparser.min.js.map
+++ b/lib/fxparser.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"./lib/fxparser.min.js","mappings":"mCAAA,MAAMA,EAAW,wBACXC,EAAW,+EAMZC,OAAOC,UAAYC,OAAOD,WAC3BD,OAAOC,SAAWC,OAAOD,WAExBD,OAAOG,YAAcD,OAAOC,aAC7BH,OAAOG,WAAaD,OAAOC,YAI/B,MAAMC,EAAW,CACbC,KAAO,EACPC,cAAc,EACdC,aAAc,IACdC,WAAW,GAwGfC,EAAOC,QApGP,SAAkBC,EAAKC,EAAU,CAAC,GAS9B,GADAA,EAAUC,OAAOC,OAAO,CAAC,EAAGV,EAAUQ,IAClCD,GAAsB,iBAARA,EAAmB,OAAOA,EAE5C,IAAII,EAAcJ,EAAIK,OAKtB,QAAwBC,IAArBL,EAAQM,UAA0BN,EAAQM,SAASC,KAAKJ,GAAa,OAAOJ,EAC1E,GAAIC,EAAQP,KAAOP,EAASqB,KAAKJ,GAClC,OAAOf,OAAOC,SAASc,EAAY,IAKlC,CAED,MAAMK,EAAQrB,EAASsB,KAAKN,GAC5B,GAAGK,EAAM,CACL,MAAME,EAAOF,EAAM,GACbd,EAAec,EAAM,GAC3B,IAAIG,GA6DGC,EA7D2BJ,EAAM,MA8DV,IAAzBI,EAAOC,QAAQ,MAEV,OADdD,EAASA,EAAOE,QAAQ,MAAO,KACXF,EAAS,IACP,MAAdA,EAAO,GAAaA,EAAS,IAAIA,EACL,MAA5BA,EAAOA,EAAOG,OAAO,KAAaH,EAASA,EAAOI,OAAO,EAAEJ,EAAOG,OAAO,IAC1EH,GAEJA,EAlEC,MAAMhB,EAAYY,EAAM,IAAMA,EAAM,GACpC,IAAIR,EAAQN,cAAgBA,EAAaqB,OAAS,GAAKL,GAA0B,MAAlBP,EAAW,GAAY,OAAOJ,EACxF,IAAIC,EAAQN,cAAgBA,EAAaqB,OAAS,IAAML,GAA0B,MAAlBP,EAAW,GAAY,OAAOJ,EAC/F,CACA,MAAMkB,EAAM7B,OAAOe,GACbS,EAAS,GAAKK,EACpB,OAA8B,IAA3BL,EAAOM,OAAO,SAGRtB,EAFFI,EAAQJ,UAAkBqB,EACjBlB,GAIsB,IAA7BI,EAAWU,QAAQ,KAQV,MAAXD,GAAyC,KAAtBD,GACdC,IAAWD,GACVD,GAAQE,IAAW,IAAID,EAFyBM,EAG7ClB,EAGbL,EAKIiB,IAAsBC,GACjBF,EAAKC,IAAsBC,EADKK,EAE5BlB,EAGbI,IAAeS,GACVT,IAAeO,EAAKE,EADKK,EAO1BlB,CACV,CAGJ,CACG,OAAOA,CAEd,CAQL,IAAmBa,CAPlB,C,2BCxGD,IAEMO,EAAa,8YACbC,EAAY,IAAIC,OAAO,IAAMF,EAAa,KAuBhDrB,EAAQwB,QAAU,SAASC,GACzB,YAAoB,IAANA,CACf,EAEDzB,EAAQ0B,cAAgB,SAASC,GAC/B,OAAmC,IAA5BxB,OAAOyB,KAAKD,GAAKV,MACzB,EAODjB,EAAQ6B,MAAQ,SAASC,EAAQC,EAAGC,GAClC,GAAID,EAGF,IAFA,IAAMH,EAAOzB,OAAOyB,KAAKG,GACnBE,EAAML,EAAKX,OACRiB,EAAI,EAAGA,EAAID,EAAKC,IAErBJ,EAAOF,EAAKM,IADI,WAAdF,EACgB,CAAED,EAAEH,EAAKM,KAETH,EAAEH,EAAKM,GAIhC,EAKDlC,EAAQmC,SAAW,SAASV,GAC1B,OAAIzB,EAAQwB,QAAQC,GACXA,EAEA,EAEV,EAKDzB,EAAQoC,OA9CO,SAASC,GAEtB,QAAQ,MADMf,EAAUX,KAAK0B,GAE9B,EA4CDrC,EAAQsC,cA/Dc,SAASD,EAAQE,GAGrC,IAFA,IAAMC,EAAU,GACZ9B,EAAQ6B,EAAM5B,KAAK0B,GAChB3B,GAAO,CACZ,IAAM+B,EAAa,GACnBA,EAAWC,WAAaH,EAAMI,UAAYjC,EAAM,GAAGO,OAEnD,IADA,IAAMgB,EAAMvB,EAAMO,OACT2B,EAAQ,EAAGA,EAAQX,EAAKW,IAC/BH,EAAWI,KAAKnC,EAAMkC,IAExBJ,EAAQK,KAAKJ,GACb/B,EAAQ6B,EAAM5B,KAAK0B,EACpB,CACD,OAAOG,CACR,EAkDDxC,EAAQqB,WAAaA,C,6BCrErB,IAAMyB,EAAOC,EAAQ,KAEfC,EAAiB,CACrBC,wBAAwB,EACxBC,aAAc,IAwLhB,SAASC,EAAaC,GACpB,MAAgB,MAATA,GAAyB,OAATA,GAA0B,OAATA,GAA2B,OAATA,CAC3D,CAMD,SAASC,EAAOC,EAASpB,GAEvB,IADA,IAAMqB,EAAQrB,EACPA,EAAIoB,EAAQrC,OAAQiB,IACzB,GAAkB,KAAdoB,EAAQpB,IAA2B,KAAdoB,EAAQpB,QAAjC,CAEE,IAAMsB,EAAUF,EAAQpC,OAAOqC,EAAOrB,EAAIqB,GAC1C,GAAIrB,EAAI,GAAiB,QAAZsB,EACX,OAAOC,EAAe,aAAc,6DAA8DC,EAAyBJ,EAASpB,IAC/H,GAAkB,KAAdoB,EAAQpB,IAA+B,KAAlBoB,EAAQpB,EAAI,GAAW,CAErDA,IACA,KACD,CAGF,CAEH,OAAOA,CACR,CAED,SAASyB,EAAoBL,EAASpB,GACpC,GAAIoB,EAAQrC,OAASiB,EAAI,GAAwB,MAAnBoB,EAAQpB,EAAI,IAAiC,MAAnBoB,EAAQpB,EAAI,IAElE,IAAKA,GAAK,EAAGA,EAAIoB,EAAQrC,OAAQiB,IAC/B,GAAmB,MAAfoB,EAAQpB,IAAiC,MAAnBoB,EAAQpB,EAAI,IAAiC,MAAnBoB,EAAQpB,EAAI,GAAY,CAC1EA,GAAK,EACL,KACD,OAEE,GACLoB,EAAQrC,OAASiB,EAAI,GACF,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,GACZ,CACA,IAAI0B,EAAqB,EACzB,IAAK1B,GAAK,EAAGA,EAAIoB,EAAQrC,OAAQiB,IAC/B,GAAmB,MAAfoB,EAAQpB,GACV0B,SACK,GAAmB,MAAfN,EAAQpB,IAEU,KAD3B0B,EAEE,KAIP,MAAM,GACLN,EAAQrC,OAASiB,EAAI,GACF,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,GAEZ,IAAKA,GAAK,EAAGA,EAAIoB,EAAQrC,OAAQiB,IAC/B,GAAmB,MAAfoB,EAAQpB,IAAiC,MAAnBoB,EAAQpB,EAAI,IAAiC,MAAnBoB,EAAQpB,EAAI,GAAY,CAC1EA,GAAK,EACL,KACD,CAIL,OAAOA,CACR,CAUD,SAAS2B,EAAiBP,EAASpB,GAIjC,IAHA,IAAI4B,EAAU,GACVC,EAAY,GACZC,GAAY,EACT9B,EAAIoB,EAAQrC,OAAQiB,IAAK,CAC9B,GAbgB,MAaZoB,EAAQpB,IAZI,MAYkBoB,EAAQpB,GACtB,KAAd6B,EACFA,EAAYT,EAAQpB,GACX6B,IAAcT,EAAQpB,KAG/B6B,EAAY,SAET,GAAmB,MAAfT,EAAQpB,IACC,KAAd6B,EAAkB,CACpBC,GAAY,EACZ,KACD,CAEHF,GAAWR,EAAQpB,EACpB,CACD,MAAkB,KAAd6B,GAIG,CACLE,MAAOH,EACPlB,MAAOV,EACP8B,UAAWA,EAEd,CAzSDhE,EAAQkE,SAAW,SAAUZ,EAASpD,GACpCA,EAAUC,OAAOC,OAAO,CAAC,EAAG4C,EAAgB9C,GAK5C,IAoYuBsD,EApYjBW,EAAO,GACTC,GAAW,EAGXC,GAAc,EAEC,WAAff,EAAQ,KAEVA,EAAUA,EAAQpC,OAAO,IAG3B,IAAK,IAAIgB,EAAI,EAAGA,EAAIoB,EAAQrC,OAAQiB,IAElC,GAAmB,MAAfoB,EAAQpB,IAA+B,MAAjBoB,EAAQpB,EAAE,IAGlC,IADAA,EAAImB,EAAOC,EADXpB,GAAG,IAEGoC,IAAK,OAAOpC,MACd,IAAmB,MAAfoB,EAAQpB,GAwIX,CACL,GAAKiB,EAAaG,EAAQpB,IACxB,SAEF,OAAOuB,EAAe,cAAe,SAASH,EAAQpB,GAAG,qBAAsBwB,EAAyBJ,EAASpB,GAClH,CA1IC,IAAIqC,EAAcrC,EAGlB,GAAmB,MAAfoB,IAFJpB,GAEwB,CACtBA,EAAIyB,EAAoBL,EAASpB,GACjC,QACD,CACC,IAAIsC,GAAa,EACE,MAAflB,EAAQpB,KAEVsC,GAAa,EACbtC,KAIF,IADA,IAAIuC,EAAU,GACPvC,EAAIoB,EAAQrC,QACF,MAAfqC,EAAQpB,IACO,MAAfoB,EAAQpB,IACO,OAAfoB,EAAQpB,IACO,OAAfoB,EAAQpB,IACO,OAAfoB,EAAQpB,GAAaA,IAErBuC,GAAWnB,EAAQpB,GAWrB,GANoC,OAHpCuC,EAAUA,EAAQnE,QAGNmE,EAAQxD,OAAS,KAE3BwD,EAAUA,EAAQC,UAAU,EAAGD,EAAQxD,OAAS,GAEhDiB,KAiVesB,EA/UIiB,GAgVpB3B,EAAKV,OAAOoB,GAzUX,OAAOC,EAAe,aALQ,IAA1BgB,EAAQnE,OAAOW,OACX,2BAEA,QAAQwD,EAAQ,wBAEiBf,EAAyBJ,EAASpB,IAG7E,IAAMyC,EAASd,EAAiBP,EAASpB,GACzC,IAAe,IAAXyC,EACF,OAAOlB,EAAe,cAAe,mBAAmBgB,EAAQ,qBAAsBf,EAAyBJ,EAASpB,IAE1H,IAAI4B,EAAUa,EAAOV,MAGrB,GAFA/B,EAAIyC,EAAO/B,MAEyB,MAAhCkB,EAAQA,EAAQ7C,OAAS,GAAY,CAEvC,IAAM2D,EAAe1C,EAAI4B,EAAQ7C,OAE3B4D,EAAUC,EADhBhB,EAAUA,EAAQY,UAAU,EAAGZ,EAAQ7C,OAAS,GACCf,GACjD,IAAgB,IAAZ2E,EAOF,OAAOpB,EAAeoB,EAAQP,IAAIS,KAAMF,EAAQP,IAAIU,IAAKtB,EAAyBJ,EAASsB,EAAeC,EAAQP,IAAIW,OANtHb,GAAW,CAQd,MAAM,GAAII,EAAY,CACrB,IAAKG,EAAOX,UACV,OAAOP,EAAe,aAAc,gBAAgBgB,EAAQ,iCAAkCf,EAAyBJ,EAASpB,IAC3H,GAAI4B,EAAQxD,OAAOW,OAAS,EACjC,OAAOwC,EAAe,aAAc,gBAAgBgB,EAAQ,+CAAgDf,EAAyBJ,EAASiB,IAE9I,IAAMW,EAAMf,EAAKgB,MACjB,GAAIV,IAAYS,EAAIT,QAAS,CAC3B,IAAIW,EAAU1B,EAAyBJ,EAAS4B,EAAIX,aACpD,OAAOd,EAAe,aACpB,yBAAyByB,EAAIT,QAAQ,qBAAqBW,EAAQH,KAAK,SAASG,EAAQC,IAAI,6BAA6BZ,EAAQ,KACjIf,EAAyBJ,EAASiB,GACrC,CAGkB,GAAfJ,EAAKlD,SACPoD,GAAc,EAGnB,KAAM,CACL,IAAMQ,EAAUC,EAAwBhB,EAAS5D,GACjD,IAAgB,IAAZ2E,EAIF,OAAOpB,EAAeoB,EAAQP,IAAIS,KAAMF,EAAQP,IAAIU,IAAKtB,EAAyBJ,EAASpB,EAAI4B,EAAQ7C,OAAS4D,EAAQP,IAAIW,OAI9H,IAAoB,IAAhBZ,EACF,OAAOZ,EAAe,aAAc,sCAAuCC,EAAyBJ,EAASpB,KAC1D,IAA3ChC,EAAQgD,aAAanC,QAAQ0D,IAGrCN,EAAKtB,KAAK,CAAC4B,QAAAA,EAASF,YAAAA,IAEtBH,GAAW,CACZ,CAID,IAAKlC,IAAKA,EAAIoB,EAAQrC,OAAQiB,IAC5B,GAAmB,MAAfoB,EAAQpB,GAAY,CACtB,GAAuB,MAAnBoB,EAAQpB,EAAI,GAAY,CAG1BA,EAAIyB,EAAoBL,IADxBpB,GAEA,QACD,CAAM,GAAqB,MAAjBoB,EAAQpB,EAAE,GAInB,MAFA,IADAA,EAAImB,EAAOC,IAAWpB,IAChBoC,IAAK,OAAOpC,CAIrB,MAAM,GAAmB,MAAfoB,EAAQpB,GAAY,CAC7B,IAAMoD,EAAWC,EAAkBjC,EAASpB,GAC5C,IAAiB,GAAboD,EACF,OAAO7B,EAAe,cAAe,4BAA6BC,EAAyBJ,EAASpB,IACtGA,EAAIoD,CACL,MACC,IAAoB,IAAhBjB,IAAyBlB,EAAaG,EAAQpB,IAChD,OAAOuB,EAAe,aAAc,wBAAyBC,EAAyBJ,EAASpB,IAIlF,MAAfoB,EAAQpB,IACVA,GAQL,CAGH,OAAKkC,EAEoB,GAAfD,EAAKlD,OACJwC,EAAe,aAAc,iBAAiBU,EAAK,GAAGM,QAAQ,KAAMf,EAAyBJ,EAASa,EAAK,GAAGI,gBAC/GJ,EAAKlD,OAAS,IACbwC,EAAe,aAAc,YAChC+B,KAAKC,UAAUtB,EAAKuB,KAAI,SAAAC,GAAC,OAAIA,EAAElB,OAAN,IAAgB,KAAM,GAAGzD,QAAQ,SAAU,IACpE,WAAY,CAACiE,KAAM,EAAGI,IAAK,IAN1B5B,EAAe,aAAc,sBAAuB,EAU9D,EA4HD,IAAMmC,EAAoB,IAAIrE,OAAO,0DAA2D,KAIhG,SAASuD,EAAwBhB,EAAS5D,GAQxC,IAHA,IAAMsC,EAAUM,EAAKR,cAAcwB,EAAS8B,GACtCC,EAAY,CAAC,EAEV3D,EAAI,EAAGA,EAAIM,EAAQvB,OAAQiB,IAAK,CACvC,GAA6B,IAAzBM,EAAQN,GAAG,GAAGjB,OAEhB,OAAOwC,EAAe,cAAe,cAAcjB,EAAQN,GAAG,GAAG,8BAA+B4D,EAAqBtD,EAAQN,KACxH,QAAsB3B,IAAlBiC,EAAQN,GAAG,SAAsC3B,IAAlBiC,EAAQN,GAAG,GACnD,OAAOuB,EAAe,cAAe,cAAcjB,EAAQN,GAAG,GAAG,sBAAuB4D,EAAqBtD,EAAQN,KAChH,QAAsB3B,IAAlBiC,EAAQN,GAAG,KAAqBhC,EAAQ+C,uBAEjD,OAAOQ,EAAe,cAAe,sBAAsBjB,EAAQN,GAAG,GAAG,oBAAqB4D,EAAqBtD,EAAQN,KAK7H,IAAM6D,EAAWvD,EAAQN,GAAG,GAC5B,IAAK8D,EAAiBD,GACpB,OAAOtC,EAAe,cAAe,cAAcsC,EAAS,wBAAyBD,EAAqBtD,EAAQN,KAEpH,GAAK2D,EAAUI,eAAeF,GAI5B,OAAOtC,EAAe,cAAe,cAAcsC,EAAS,iBAAkBD,EAAqBtD,EAAQN,KAF3G2D,EAAUE,GAAY,CAIzB,CAED,OAAO,CACR,CAiBD,SAASR,EAAkBjC,EAASpB,GAGlC,GAAmB,MAAfoB,IADJpB,GAEE,OAAQ,EACV,GAAmB,MAAfoB,EAAQpB,GAEV,OAtBJ,SAAiCoB,EAASpB,GACxC,IAAIgE,EAAK,KAKT,IAJmB,MAAf5C,EAAQpB,KACVA,IACAgE,EAAK,cAEAhE,EAAIoB,EAAQrC,OAAQiB,IAAK,CAC9B,GAAmB,MAAfoB,EAAQpB,GACV,OAAOA,EACT,IAAKoB,EAAQpB,GAAGxB,MAAMwF,GACpB,KACH,CACD,OAAQ,CACT,CASUC,CAAwB7C,IAD/BpB,GAIF,IADA,IAAIkE,EAAQ,EACLlE,EAAIoB,EAAQrC,OAAQiB,IAAKkE,IAC9B,KAAI9C,EAAQpB,GAAGxB,MAAM,OAAS0F,EAAQ,IAAtC,CAEA,GAAmB,MAAf9C,EAAQpB,GACV,MACF,OAAQ,CAHE,CAKZ,OAAOA,CACR,CAED,SAASuB,EAAesB,EAAMsB,EAASC,GACrC,MAAO,CACLhC,IAAK,CACHS,KAAMA,EACNC,IAAKqB,EACLpB,KAAMqB,EAAWrB,MAAQqB,EACzBjB,IAAKiB,EAAWjB,KAGrB,CAED,SAASW,EAAiBD,GACxB,OAAOjD,EAAKV,OAAO2D,EACpB,CASD,SAASrC,EAAyBJ,EAASV,GACzC,IAAM2D,EAAQjD,EAAQoB,UAAU,EAAG9B,GAAO4D,MAAM,SAChD,MAAO,CACLvB,KAAMsB,EAAMtF,OAGZoE,IAAKkB,EAAMA,EAAMtF,OAAS,GAAGA,OAAS,EAEzC,CAGD,SAAS6E,EAAqBpF,GAC5B,OAAOA,EAAMgC,WAAahC,EAAM,GAAGO,MACpC,C,UC3TD,IAAMwF,EAAclF,OAAO,4CAC3B,SAASmF,EAAeC,EAAKC,GACzB,IAAMlG,EAAQ+F,EAAY9F,KAAKgG,GAC5BjG,IACCkG,EAAUlG,EAAM,IAAO,CACnBmG,KAAOtF,OAAO,IAAKb,EAAM,GAAZ,IAAkB,KAC/BoG,IAAKpG,EAAM,IAGtB,CACDX,EAAOC,QApHP,SAAqBsD,EAASpB,GAE1B,IAAM0E,EAAW,CAAC,EAClB,GAAuB,MAAnBtD,EAAQpB,EAAI,IACQ,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,IACO,MAAnBoB,EAAQpB,EAAI,GA6Fb,MAAM,IAAI6E,MAAJ,kCA3FN7E,GAAM,EAIN,IAHA,IAAI0B,EAAqB,EACrBoD,GAAU,EAAOC,GAAS,EAAOC,GAAU,EAC3CP,EAAM,GACLzE,EAAEoB,EAAQrC,OAAOiB,IAClB,GAAmB,MAAfoB,EAAQpB,IAAegF,EA4DpB,GAAmB,MAAf5D,EAAQpB,IAaf,GAZGgF,EACwB,MAAnB5D,EAAQpB,EAAI,IAAiC,MAAnBoB,EAAQpB,EAAI,KACtCgF,GAAU,EACVtD,MAGDqD,IACCP,EAAeC,EAAKC,GACpBK,GAAS,GAEbrD,KAEuB,IAAvBA,EACF,UAEmB,MAAfN,EAAQpB,GACd8E,GAAU,EAEVL,GAAOrD,EAAQpB,OA/EiB,CAChC,GAAI8E,GACkB,MAAjB1D,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,GAEXA,GAAK,EACL+E,GAAS,OACP,GAAID,GACW,MAAjB1D,EAAQpB,EAAE,IACQ,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,GAGXA,GAAK,OACH,GAAI8E,GACW,MAAjB1D,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,GAGVA,GAAK,OACH,GAAI8E,GACW,MAAjB1D,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,GAGVA,GAAK,MACH,IACe,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,IACO,MAAjBoB,EAAQpB,EAAE,GAIV,MAAM,IAAI6E,MAAM,mBAFhBG,GAAU,CAGb,CACDtD,IACA+C,EAAM,EACT,CAsBL,GAA0B,IAAvB/C,EACC,MAAM,IAAImD,MAAJ,oBAKd,MAAO,CAACH,SAAAA,EAAU1E,EAAAA,EACrB,C,cCxGD,IAAMc,EAAiB,CACnBmE,eAAe,EACfC,oBAAqB,KACrBC,qBAAqB,EACrBC,aAAc,QACdC,kBAAkB,EAClBC,gBAAgB,EAChBvE,wBAAwB,EAExBwE,eAAe,EACfC,qBAAqB,EACrBC,YAAY,EACZC,eAAe,EACfC,mBAAoB,CAClBlI,KAAK,EACLC,cAAc,EACdE,WAAW,GAEbgI,kBAAmB,SAASrD,EAASqC,GACnC,OAAOA,CACR,EACDiB,wBAAyB,SAAShC,EAAUe,GAC1C,OAAOA,CACR,EACDkB,UAAW,GACXC,sBAAsB,EACtBC,QAAS,kBAAM,CAAN,EACTC,iBAAiB,EACjBjF,aAAc,GACdkF,iBAAiB,EACjBC,cAAc,EACdC,mBAAmB,EACnBC,cAAc,EACdC,kBAAkB,EAClBC,wBAAwB,GAO5BzI,EAAQ0I,aAJa,SAASxI,GAC1B,OAAOC,OAAOC,OAAO,CAAC,EAAG4C,EAAgB9C,EAC5C,EAGDF,EAAQgD,eAAiBA,C,6BCxCzB,IAAMF,EAAOC,EAAQ,KACf4F,EAAU5F,EAAQ,KAClB6F,EAAc7F,EAAQ,KACtB8F,EAAW9F,EAAQ,KAkDzB,SAAS+F,EAAoBC,GAE3B,IADA,IAAMC,EAAU7I,OAAOyB,KAAKmH,GACnB7G,EAAI,EAAGA,EAAI8G,EAAQ/H,OAAQiB,IAAK,CACvC,IAAM+G,EAAMD,EAAQ9G,GACpBgH,KAAKC,aAAaF,GAAO,CACtB1G,MAAO,IAAIhB,OAAO,IAAI0H,EAAI,IAAI,KAC9BnC,IAAMiC,EAAiBE,GAE3B,CACF,CAWD,SAASG,EAActC,EAAKrC,EAAS4E,EAAOC,EAAUC,EAAeC,EAAYC,GAC/E,QAAYlJ,IAARuG,IACEoC,KAAKhJ,QAAQyH,aAAe2B,IAC9BxC,EAAMA,EAAIxG,QAETwG,EAAI7F,OAAS,GAAE,CACZwI,IAAgB3C,EAAMoC,KAAKQ,qBAAqB5C,IAEpD,IAAM6C,EAAST,KAAKhJ,QAAQ4H,kBAAkBrD,EAASqC,EAAKuC,EAAOE,EAAeC,GAClF,OAAGG,QAEM7C,SACO6C,UAAkB7C,GAAO6C,IAAW7C,EAE3C6C,EACAT,KAAKhJ,QAAQyH,YAGDb,EAAIxG,SACLwG,EAHX8C,EAAW9C,EAAKoC,KAAKhJ,QAAQuH,cAAeyB,KAAKhJ,QAAQ2H,oBAMvDf,CAGZ,CAEJ,CAED,SAAS+C,EAAiBrG,GACxB,GAAI0F,KAAKhJ,QAAQsH,eAAgB,CAC/B,IAAMrD,EAAOX,EAAQgD,MAAM,KACrBsD,EAA+B,MAAtBtG,EAAQuG,OAAO,GAAa,IAAM,GACjD,GAAgB,UAAZ5F,EAAK,GACP,MAAO,GAEW,IAAhBA,EAAKlD,SACPuC,EAAUsG,EAAS3F,EAAK,GAE3B,CACD,OAAOX,CACR,CA5GC,wFACCxC,QAAQ,QAAS8B,EAAKzB,YA+GzB,IAAM2I,EAAY,IAAIzI,OAAO,+CAAgD,MAE7E,SAAS0I,EAAmBnG,EAASuF,GACnC,IAAKH,KAAKhJ,QAAQqH,kBAAuC,iBAAZzD,EAAsB,CAOjE,IAHA,IAAMtB,EAAUM,EAAKR,cAAcwB,EAASkG,GACtC/H,EAAMO,EAAQvB,OACdiJ,EAAQ,CAAC,EACNhI,EAAI,EAAGA,EAAID,EAAKC,IAAK,CAC5B,IAAM6D,EAAWmD,KAAKW,iBAAiBrH,EAAQN,GAAG,IAC9CiI,EAAS3H,EAAQN,GAAG,GACpBkI,EAAQlB,KAAKhJ,QAAQkH,oBAAsBrB,EAC/C,GAAIA,EAAS9E,OAKX,GAJIiI,KAAKhJ,QAAQuI,yBACf2B,EAAQlB,KAAKhJ,QAAQuI,uBAAuB2B,IAEjC,cAAVA,IAAuBA,EAAS,mBACpB7J,IAAX4J,EAAsB,CACpBjB,KAAKhJ,QAAQyH,aACfwC,EAASA,EAAO7J,QAElB6J,EAASjB,KAAKQ,qBAAqBS,GACnC,IAAME,EAASnB,KAAKhJ,QAAQ6H,wBAAwBhC,EAAUoE,EAAQd,GAGpEa,EAAME,GAFLC,QAEcF,SACDE,UAAkBF,GAAUE,IAAWF,EAEtCE,EAGAT,EACbO,EACAjB,KAAKhJ,QAAQwH,oBACbwB,KAAKhJ,QAAQ2H,mBAGlB,MAAUqB,KAAKhJ,QAAQ+C,yBACtBiH,EAAME,IAAS,EAGpB,CACD,IAAKjK,OAAOyB,KAAKsI,GAAOjJ,OACtB,OAEF,GAAIiI,KAAKhJ,QAAQmH,oBAAqB,CACpC,IAAMiD,EAAiB,CAAC,EAExB,OADAA,EAAepB,KAAKhJ,QAAQmH,qBAAuB6C,EAC5CI,CACR,CACD,OAAOJ,CACR,CACF,CAED,IAAMK,EAAW,SAASjH,GACxBA,EAAUA,EAAQtC,QAAQ,SAAU,MAKpC,IAJA,IAAMwJ,EAAS,IAAI7B,EAAQ,QACvB8B,EAAcD,EACdE,EAAW,GACXrB,EAAQ,GACJnH,EAAE,EAAGA,EAAGoB,EAAQrC,OAAQiB,IAE9B,GAAU,MADCoB,EAAQpB,GAIjB,GAAqB,MAAjBoB,EAAQpB,EAAE,GAAY,CACxB,IAAMyI,EAAaC,EAAiBtH,EAAS,IAAKpB,EAAG,8BACjDuC,EAAUnB,EAAQoB,UAAUxC,EAAE,EAAEyI,GAAYrK,OAEhD,GAAG4I,KAAKhJ,QAAQsH,eAAe,CAC7B,IAAMqD,EAAapG,EAAQ1D,QAAQ,MAChB,IAAhB8J,IACDpG,EAAUA,EAAQvD,OAAO2J,EAAW,GAEvC,CAEE3B,KAAKhJ,QAAQsI,mBACd/D,EAAUyE,KAAKhJ,QAAQsI,iBAAiB/D,IAGvCgG,IACDC,EAAWxB,KAAK4B,oBAAoBJ,EAAUD,EAAapB,IAG7DA,EAAQA,EAAMnI,OAAO,EAAGmI,EAAM0B,YAAY,MAE1CN,EAAcvB,KAAK8B,cAAc7F,MACjCuF,EAAW,GACXxI,EAAIyI,CACL,MAAM,GAAqB,MAAjBrH,EAAQpB,EAAE,GAAY,CAE/B,IAAI+I,EAAUC,EAAW5H,EAAQpB,GAAG,EAAO,MAC3C,IAAI+I,EAAS,MAAM,IAAIlE,MAAM,yBAG7B,GADA2D,EAAWxB,KAAK4B,oBAAoBJ,EAAUD,EAAapB,GACtDH,KAAKhJ,QAAQoI,mBAAyC,SAApB2C,EAAQxG,SAAuByE,KAAKhJ,QAAQqI,kBAE9E,CAEH,IAAM4C,EAAY,IAAIxC,EAAQsC,EAAQxG,SACtC0G,EAAUC,IAAIlC,KAAKhJ,QAAQoH,aAAc,IAEtC2D,EAAQxG,UAAYwG,EAAQI,QAAUJ,EAAQK,iBAC/CH,EAAU,MAAQjC,KAAKe,mBAAmBgB,EAAQI,OAAQhC,IAE5DoB,EAAYc,SAASJ,EAEtB,CAGDjJ,EAAI+I,EAAQN,WAAa,CAC1B,MAAM,GAAgC,QAA7BrH,EAAQpC,OAAOgB,EAAI,EAAG,GAAc,CAC5C,IAAMsJ,EAAWZ,EAAiBtH,EAAS,SAAOpB,EAAE,EAAG,0BACvD,GAAGgH,KAAKhJ,QAAQiI,gBAAgB,CAAC,IAAD,EACxBjB,EAAU5D,EAAQoB,UAAUxC,EAAI,EAAGsJ,EAAW,GAEpDd,EAAWxB,KAAK4B,oBAAoBJ,EAAUD,EAAapB,GAE3DoB,EAAYW,IAAIlC,KAAKhJ,QAAQiI,gBAAiB,SAAKe,KAAKhJ,QAAQoH,cAAgBJ,EAAlC,IAC/C,CACDhF,EAAIsJ,CACL,MAAM,GAAiC,OAA7BlI,EAAQpC,OAAOgB,EAAI,EAAG,GAAa,CAC5C,IAAMyC,EAASiE,EAAYtF,EAASpB,GACpCgH,KAAKuC,gBAAkB9G,EAAOiC,SAC9B1E,EAAIyC,EAAOzC,CACZ,MAAK,GAAgC,OAA7BoB,EAAQpC,OAAOgB,EAAI,EAAG,GAAa,CAC1C,IAAMyI,EAAaC,EAAiBtH,EAAS,MAAOpB,EAAG,wBAA0B,EAC3EmJ,EAAS/H,EAAQoB,UAAUxC,EAAI,EAAEyI,GAKvC,GAHAD,EAAWxB,KAAK4B,oBAAoBJ,EAAUD,EAAapB,GAGxDH,KAAKhJ,QAAQ0H,cAAc,CAAC,IAAD,EAG5B6C,EAAYW,IAAIlC,KAAKhJ,QAAQ0H,cAAe,SAAKsB,KAAKhJ,QAAQoH,cAAgB+D,EAAlC,IAC7C,KAAI,CACH,IAAIvE,EAAMoC,KAAKE,cAAciC,EAAQZ,EAAYjH,QAAS6F,GAAO,GAAM,GAAO,GACpE9I,MAAPuG,IAAkBA,EAAM,IAC3B2D,EAAYW,IAAIlC,KAAKhJ,QAAQoH,aAAcR,EAC5C,CAED5E,EAAIyI,EAAa,CAClB,KAAK,CACJ,IAAIhG,EAASuG,EAAW5H,EAAQpB,EAAGgH,KAAKhJ,QAAQsH,gBAC5C/C,EAASE,EAAOF,QAChB4G,EAAS1G,EAAO0G,OAChBC,EAAiB3G,EAAO2G,eACxBX,EAAahG,EAAOgG,WAEpBzB,KAAKhJ,QAAQsI,mBACf/D,EAAUyE,KAAKhJ,QAAQsI,iBAAiB/D,IAItCgG,GAAeC,GACU,SAAxBD,EAAYjH,UAEbkH,EAAWxB,KAAK4B,oBAAoBJ,EAAUD,EAAapB,GAAO,IAInE5E,IAAY+F,EAAOhH,UACpB6F,GAASA,EAAQ,IAAM5E,EAAUA,GAInC,IAAMiH,EAAUjB,EAKhB,GAJGiB,IAAmE,IAAxDxC,KAAKhJ,QAAQgD,aAAanC,QAAQ2K,EAAQlI,WACtDiH,EAAcvB,KAAK8B,cAAc7F,OAG/B+D,KAAKyC,aAAazC,KAAKhJ,QAAQ8H,UAAWqB,EAAO5E,GAAU,CAC7D,IAAImH,EAAa,GAEjB,GAAGP,EAAOpK,OAAS,GAAKoK,EAAON,YAAY,OAASM,EAAOpK,OAAS,EAClEiB,EAAIyC,EAAOgG,gBAGR,IAAmD,IAAhDzB,KAAKhJ,QAAQgD,aAAanC,QAAQ0D,GACxCvC,EAAIyC,EAAOgG,eAGT,CAEF,IAAMhG,EAASuE,KAAK2C,iBAAiBvI,EAASmB,EAASkG,EAAa,GACpE,IAAIhG,EAAQ,MAAM,IAAIoC,MAAJ,qBAA+BtC,GACjDvC,EAAIyC,EAAOzC,EACX0J,EAAajH,EAAOiH,UACrB,CAED,IAAMT,EAAY,IAAIxC,EAAQlE,GAC3BA,IAAY4G,GAAUC,IACvBH,EAAU,MAAQjC,KAAKe,mBAAmBoB,EAAQhC,IAEjDuC,IACDA,EAAa1C,KAAKE,cAAcwC,EAAYnH,EAAS4E,GAAO,EAAMiC,GAAgB,GAAM,IAG1FjC,EAAQA,EAAMnI,OAAO,EAAGmI,EAAM0B,YAAY,MAC1CI,EAAUC,IAAIlC,KAAKhJ,QAAQoH,aAAcsE,GAEzCnB,EAAYc,SAASJ,EACtB,KAAI,CAEH,GAAGE,EAAOpK,OAAS,GAAKoK,EAAON,YAAY,OAASM,EAAOpK,OAAS,EAAE,CAGlEoK,EAFiC,MAAhC5G,EAAQA,EAAQxD,OAAS,GAC1BwD,EAAUA,EAAQvD,OAAO,EAAGuD,EAAQxD,OAAS,GAGpCoK,EAAOnK,OAAO,EAAGmK,EAAOpK,OAAS,GAGzCiI,KAAKhJ,QAAQsI,mBACd/D,EAAUyE,KAAKhJ,QAAQsI,iBAAiB/D,IAG1C,IAAM0G,EAAY,IAAIxC,EAAQlE,GAC3BA,IAAY4G,GAAUC,IACvBH,EAAU,MAAQjC,KAAKe,mBAAmBoB,EAAQhC,IAEpDA,EAAQA,EAAMnI,OAAO,EAAGmI,EAAM0B,YAAY,MAC1CN,EAAYc,SAASJ,EACtB,KAEG,CACF,IAAMA,EAAY,IAAIxC,EAASlE,GAC/ByE,KAAK8B,cAAcnI,KAAK4H,GAErBhG,IAAY4G,GAAUC,IACvBH,EAAU,MAAQjC,KAAKe,mBAAmBoB,EAAQhC,IAEpDoB,EAAYc,SAASJ,GACrBV,EAAcU,CACf,CACDT,EAAW,GACXxI,EAAIyI,CACL,CACF,MAEDD,GAAYpH,EAAQpB,GAGxB,OAAOsI,EAAOsB,KACf,EAEKpC,EAAuB,SAAS5C,GAEpC,GAAGoC,KAAKhJ,QAAQkI,gBAAgB,CAC9B,IAAI,IAAI2D,KAAc7C,KAAKuC,gBAAgB,CACzC,IAAMxE,EAASiC,KAAKuC,gBAAgBM,GACpCjF,EAAMA,EAAI9F,QAASiG,EAAOJ,KAAMI,EAAOH,IACxC,CACD,IAAI,IAAIiF,KAAc7C,KAAKC,aAAa,CACtC,IAAMlC,EAASiC,KAAKC,aAAa4C,GACjCjF,EAAMA,EAAI9F,QAASiG,EAAO1E,MAAO0E,EAAOH,IACzC,CACD,GAAGoC,KAAKhJ,QAAQmI,aACd,IAAI,IAAI0D,KAAc7C,KAAKb,aAAa,CACtC,IAAMpB,EAASiC,KAAKb,aAAa0D,GACjCjF,EAAMA,EAAI9F,QAASiG,EAAO1E,MAAO0E,EAAOH,IACzC,CAEHA,EAAMA,EAAI9F,QAASkI,KAAK8C,UAAUzJ,MAAO2G,KAAK8C,UAAUlF,IACzD,CACD,OAAOA,CACR,EACD,SAASgE,EAAoBJ,EAAUD,EAAapB,EAAOG,GAezD,OAdIkB,SACgBnK,IAAfiJ,IAA0BA,EAAuD,IAA1CrJ,OAAOyB,KAAK6I,EAAYqB,OAAO7K,aASxDV,KAPjBmK,EAAWxB,KAAKE,cAAcsB,EAC5BD,EAAYjH,QACZ6F,GACA,IACAoB,EAAY,OAAkD,IAA1CtK,OAAOyB,KAAK6I,EAAY,OAAOxJ,OACnDuI,KAEyC,KAAbkB,GAC5BD,EAAYW,IAAIlC,KAAKhJ,QAAQoH,aAAcoD,GAC7CA,EAAW,IAENA,CACR,CASD,SAASiB,EAAa3D,EAAWqB,EAAO4C,GACtC,IAAMC,EAAc,KAAOD,EAC3B,IAAK,IAAME,KAAgBnE,EAAW,CACpC,IAAMoE,EAAcpE,EAAUmE,GAC9B,GAAID,IAAgBE,GAAe/C,IAAU+C,EAAe,OAAO,CACpE,CACD,OAAO,CACR,CAsCD,SAASxB,EAAiBtH,EAASrD,EAAKiC,EAAGmK,GACzC,IAAMC,EAAehJ,EAAQvC,QAAQd,EAAKiC,GAC1C,IAAqB,IAAlBoK,EACD,MAAM,IAAIvF,MAAMsF,GAEhB,OAAOC,EAAerM,EAAIgB,OAAS,CAEtC,CAED,SAASiK,EAAW5H,EAAQpB,EAAGsF,EAAgB+E,QAAkB,IAAlBA,IAAAA,EAAc,KAC3D,IAAM5H,EAxCR,SAAgCrB,EAASpB,EAAGqK,GAC1C,IAAIC,OADwD,IAAlBD,IAAAA,EAAc,KAGxD,IADA,IAAIlB,EAAS,GACJzI,EAAQV,EAAGU,EAAQU,EAAQrC,OAAQ2B,IAAS,CACnD,IAAI6J,EAAKnJ,EAAQV,GACjB,GAAI4J,EACIC,IAAOD,IAAcA,EAAe,SACrC,GAAW,MAAPC,GAAqB,MAAPA,EACrBD,EAAeC,OACZ,GAAIA,IAAOF,EAAY,GAAI,CAChC,IAAGA,EAAY,GAQb,MAAO,CACLG,KAAMrB,EACNzI,MAAOA,GATT,GAAGU,EAAQV,EAAQ,KAAO2J,EAAY,GACpC,MAAO,CACLG,KAAMrB,EACNzI,MAAOA,EASd,KAAiB,OAAP6J,IACTA,EAAK,KAEPpB,GAAUoB,CACX,CACF,CAYgBE,CAAuBrJ,EAASpB,EAAE,EAAGqK,GACpD,GAAI5H,EAAJ,CACA,IAAI0G,EAAS1G,EAAO+H,KACd/B,EAAahG,EAAO/B,MACpBgK,EAAiBvB,EAAOjK,OAAO,MACjCqD,EAAU4G,EACVC,GAAiB,EAMrB,IALuB,IAApBsB,IACDnI,EAAU4G,EAAOnK,OAAO,EAAG0L,GAAgB5L,QAAQ,SAAU,IAC7DqK,EAASA,EAAOnK,OAAO0L,EAAiB,IAGvCpF,EAAe,CAChB,IAAMqD,EAAapG,EAAQ1D,QAAQ,MAChB,IAAhB8J,IAEDS,GADA7G,EAAUA,EAAQvD,OAAO2J,EAAW,MACPlG,EAAO+H,KAAKxL,OAAO2J,EAAa,GAEhE,CAED,MAAO,CACLpG,QAASA,EACT4G,OAAQA,EACRV,WAAYA,EACZW,eAAgBA,EAvBA,CAyBnB,CAOD,SAASO,EAAiBvI,EAASmB,EAASvC,GAK1C,IAJA,IAAMQ,EAAaR,EAEf2K,EAAe,EAEZ3K,EAAIoB,EAAQrC,OAAQiB,IACzB,GAAmB,MAAfoB,EAAQpB,GACV,GAAqB,MAAjBoB,EAAQpB,EAAE,GAAY,CACtB,IAAMyI,EAAaC,EAAiBtH,EAAS,IAAKpB,EAAMuC,EAArB,kBAEnC,GADmBnB,EAAQoB,UAAUxC,EAAE,EAAEyI,GAAYrK,SACjCmE,GAEG,KADrBoI,EAEE,MAAO,CACLjB,WAAYtI,EAAQoB,UAAUhC,EAAYR,GAC1CA,EAAIyI,GAIVzI,EAAEyI,CACH,MAAM,GAAoB,MAAjBrH,EAAQpB,EAAE,GAElBA,EADmB0I,EAAiBtH,EAAS,KAAMpB,EAAE,EAAG,gCAEnD,GAAgC,QAA7BoB,EAAQpC,OAAOgB,EAAI,EAAG,GAE9BA,EADmB0I,EAAiBtH,EAAS,SAAOpB,EAAE,EAAG,gCAEpD,GAAgC,OAA7BoB,EAAQpC,OAAOgB,EAAI,EAAG,GAE9BA,EADmB0I,EAAiBtH,EAAS,MAAOpB,EAAG,2BAA6B,MAE/E,CACL,IAAM+I,EAAUC,EAAW5H,EAASpB,EAAG,KAEnC+I,KACkBA,GAAWA,EAAQxG,WACnBA,GAAuD,MAA5CwG,EAAQI,OAAOJ,EAAQI,OAAOpK,OAAO,IAClE4L,IAEF3K,EAAE+I,EAAQN,WAEb,CAGR,CAED,SAASf,EAAW9C,EAAKgG,EAAa5M,GACpC,GAAI4M,GAA8B,iBAARhG,EAAkB,CAE1C,IAAM6C,EAAS7C,EAAIxG,OACnB,MAAc,SAAXqJ,GACgB,UAAXA,GACId,EAAS/B,EAAK5G,EAC3B,CACC,OAAI4C,EAAKtB,QAAQsF,GACRA,EAEA,EAGZ,CAGD/G,EAAOC,QApiBL,SAAYE,GACVgJ,KAAKhJ,QAAUA,EACfgJ,KAAKuB,YAAc,KACnBvB,KAAK8B,cAAgB,GACrB9B,KAAKuC,gBAAkB,CAAC,EACxBvC,KAAKC,aAAe,CAClB,KAAS,CAAE5G,MAAO,qBAAsBuE,IAAM,KAC9C,GAAO,CAAEvE,MAAO,mBAAoBuE,IAAM,KAC1C,GAAO,CAAEvE,MAAO,mBAAoBuE,IAAM,KAC1C,KAAS,CAAEvE,MAAO,qBAAsBuE,IAAM,MAEhDoC,KAAK8C,UAAY,CAAEzJ,MAAO,oBAAqBuE,IAAM,KACrDoC,KAAKb,aAAe,CAClB,MAAS,CAAE9F,MAAO,iBAAkBuE,IAAK,KAMzC,KAAS,CAAEvE,MAAO,iBAAkBuE,IAAK,KACzC,MAAU,CAAEvE,MAAO,kBAAmBuE,IAAK,KAC3C,IAAQ,CAAEvE,MAAO,gBAAiBuE,IAAK,KACvC,KAAS,CAAEvE,MAAO,kBAAmBuE,IAAK,KAC1C,UAAc,CAAEvE,MAAO,iBAAkBuE,IAAK,KAC9C,IAAQ,CAAEvE,MAAO,gBAAiBuE,IAAK,KACvC,IAAQ,CAAEvE,MAAO,iBAAkBuE,IAAK,MAE1CoC,KAAKJ,oBAAsBA,EAC3BI,KAAKqB,SAAWA,EAChBrB,KAAKE,cAAgBA,EACrBF,KAAKW,iBAAmBA,EACxBX,KAAKe,mBAAqBA,EAC1Bf,KAAKyC,aAAeA,EACpBzC,KAAKQ,qBAAuBA,EAC5BR,KAAK2C,iBAAmBA,EACxB3C,KAAK4B,oBAAsBA,CAC5B,C,gBCpDH,IAAQpC,EAAgB3F,EAAQ,KAAxB2F,aACFqE,EAAmBhK,EAAQ,KACzBiK,EAAYjK,EAAQ,KAApBiK,SACFC,EAAYlK,EAAQ,KAEpBmK,EAAAA,WAEF,WAAYhN,GACRgJ,KAAKH,iBAAmB,CAAC,EACzBG,KAAKhJ,QAAUwI,EAAaxI,EAE/B,CAKE,IAAP,cAsCK,OAtCL,EACIiN,MAAA,SAAM7J,EAAQ8J,GACV,GAAsB,iBAAZ9J,OACJ,KAAIA,EAAQ+J,SAGd,MAAM,IAAItG,MAAM,mDAFhBzD,EAAUA,EAAQ+J,UAGrB,CACD,GAAID,EAAiB,EACO,IAArBA,IAA2BA,EAAmB,CAAC,GAElD,IAAMzI,EAASsI,EAAU/I,SAASZ,EAAS8J,GAC3C,IAAe,IAAXzI,EACF,MAAMoC,MAAUpC,EAAOL,IAAIU,IAAhB,IAAuBL,EAAOL,IAAIW,KAAlC,IAA0CN,EAAOL,IAAIe,IAEnE,CACH,IAAMiI,EAAmB,IAAIP,EAAiB7D,KAAKhJ,SACnDoN,EAAiBxE,oBAAoBI,KAAKH,kBAC1C,IAAMwE,EAAgBD,EAAiB/C,SAASjH,GAChD,OAAG4F,KAAKhJ,QAAQiH,oBAAmC5G,IAAlBgN,EAAoCA,EACzDP,EAASO,EAAerE,KAAKhJ,QAC5C,EAML,EACIsN,UAAA,SAAUC,EAAKxJ,GACX,IAA2B,IAAxBA,EAAMlD,QAAQ,KACb,MAAM,IAAIgG,MAAM,+BACd,IAAyB,IAAtB0G,EAAI1M,QAAQ,OAAqC,IAAtB0M,EAAI1M,QAAQ,KAC5C,MAAM,IAAIgG,MAAM,wEACd,GAAa,MAAV9C,EACL,MAAM,IAAI8C,MAAM,6CAEhBmC,KAAKH,iBAAiB0E,GAAOxJ,CAEpC,IAjDCiJ,GAoDNnN,EAAOC,QAAUkN,C,2BCtCjB,SAASQ,EAASC,EAAKzN,EAASmJ,GAG9B,IAFA,IAAIuE,EACEC,EAAgB,CAAC,EACd3L,EAAI,EAAGA,EAAIyL,EAAI1M,OAAQiB,IAAK,CACnC,IAEI4L,EAFEC,EAASJ,EAAIzL,GACb8L,EAAWC,EAASF,GAK1B,GAHwBD,OAAXvN,IAAV8I,EAAgC2E,EACnB3E,EAAQ,IAAM2E,EAE3BA,IAAa9N,EAAQoH,kBACV/G,IAATqN,EAAoBA,EAAOG,EAAOC,GAChCJ,GAAQ,GAAKG,EAAOC,OACrB,SAAgBzN,IAAbyN,EACP,SACI,GAAGD,EAAOC,GAAU,CAExB,IAAIlH,EAAM4G,EAASK,EAAOC,GAAW9N,EAAS4N,GACxCI,EAASC,EAAUrH,EAAK5G,GAE3B6N,EAAO,MACRK,EAAkBtH,EAAKiH,EAAO,MAAOD,EAAU5N,GACZ,IAA5BC,OAAOyB,KAAKkF,GAAK7F,aAA8CV,IAA9BuG,EAAI5G,EAAQoH,eAAgCpH,EAAQ+H,qBAEzD,IAA5B9H,OAAOyB,KAAKkF,GAAK7F,SACrBf,EAAQ+H,qBAAsBnB,EAAI5G,EAAQoH,cAAgB,GACxDR,EAAM,IAHXA,EAAMA,EAAI5G,EAAQoH,mBAMW/G,IAA5BsN,EAAcG,IAA2BH,EAAc5H,eAAe+H,IACnEK,MAAMnG,QAAQ2F,EAAcG,MAC5BH,EAAcG,GAAY,CAAEH,EAAcG,KAE9CH,EAAcG,GAAUnL,KAAKiE,IAIzB5G,EAAQgI,QAAQ8F,EAAUF,EAAUI,GACtCL,EAAcG,GAAY,CAAClH,GAE3B+G,EAAcG,GAAYlH,CAG/B,EAEF,CAKD,MAHmB,iBAAT8G,EACLA,EAAK3M,OAAS,IAAG4M,EAAc3N,EAAQoH,cAAgBsG,QAC1CrN,IAATqN,IAAoBC,EAAc3N,EAAQoH,cAAgBsG,GAC5DC,CACR,CAED,SAASI,EAAStM,GAEhB,IADA,IAAMC,EAAOzB,OAAOyB,KAAKD,GAChBO,EAAI,EAAGA,EAAIN,EAAKX,OAAQiB,IAAK,CACpC,IAAMuL,EAAM7L,EAAKM,GACjB,GAAW,OAARuL,EAAc,OAAOA,CACzB,CACF,CAED,SAASW,EAAiBzM,EAAK2M,EAASC,EAAOrO,GAC7C,GAAIoO,EAGF,IAFA,IAAM1M,EAAOzB,OAAOyB,KAAK0M,GACnBrM,EAAML,EAAKX,OACRiB,EAAI,EAAGA,EAAID,EAAKC,IAAK,CAC5B,IAAMsM,EAAW5M,EAAKM,GAClBhC,EAAQgI,QAAQsG,EAAUD,EAAQ,IAAMC,GAAU,GAAM,GAC1D7M,EAAI6M,GAAY,CAAEF,EAAQE,IAE1B7M,EAAI6M,GAAYF,EAAQE,EAE3B,CAEJ,CAED,SAASL,EAAUxM,EAAKzB,GACtB,IAAMuO,EAAYtO,OAAOyB,KAAKD,GAAKV,OACnC,SAAkB,IAAdwN,GAAkC,IAAdA,GAAmB9M,EAAIzB,EAAQoH,cAExD,CACDtH,EAAQgN,SA5FR,SAAkB0B,EAAMxO,GACtB,OAAOwN,EAAUgB,EAAMxO,EACxB,C,2BCRKyO,EAAAA,WACJ,WAAYnL,GACV0F,KAAK1F,QAAUA,EACf0F,KAAK4C,MAAQ,GACb5C,KAAK,MAAQ,CAAC,CACf,mBAaA,OAbA,EACDkC,IAAA,SAAIqC,EAAI3G,GAAK,IAAD,EAEC,cAAR2G,IAAqBA,EAAM,cAC9BvE,KAAK4C,MAAMjJ,OAAX,MAAmB4K,GAAM3G,EAAzB,GACD,IACDyE,SAAA,SAASmD,GAE8C,IAAD,EAE/C,EAHe,cAAjBA,EAAKlL,UAAyBkL,EAAKlL,QAAU,cAC7CkL,EAAK,OAASvO,OAAOyB,KAAK8M,EAAK,OAAOzN,OAAS,EAChDiI,KAAK4C,MAAMjJ,OAAX,MAAoB6L,EAAKlL,SAAUkL,EAAK5C,MAAxC,EAAgD,MAAO4C,EAAK,MAA5D,IAEAxF,KAAK4C,MAAMjJ,OAAX,MAAoB6L,EAAKlL,SAAUkL,EAAK5C,MAAxC,GAEH,IAlBG6C,GAsBN5O,EAAOC,QAAU2O,C,GCvBbC,EAA2B,CAAC,ECE5BC,EDCJ,SAASC,EAAoBC,GAE5B,IAAIC,EAAeJ,EAAyBG,GAC5C,QAAqBxO,IAAjByO,EACH,OAAOA,EAAahP,QAGrB,IAAID,EAAS6O,EAAyBG,GAAY,CAGjD/O,QAAS,CAAC,GAOX,OAHAiP,EAAoBF,GAAUhP,EAAQA,EAAOC,QAAS8O,GAG/C/O,EAAOC,OACf,CCnB0B8O,CAAoB,K","sources":["webpack://XMLParser/./node_modules/strnum/strnum.js","webpack://XMLParser/./src/util.js","webpack://XMLParser/./src/validator.js","webpack://XMLParser/./src/xmlparser/DocTypeReader.js","webpack://XMLParser/./src/xmlparser/OptionsBuilder.js","webpack://XMLParser/./src/xmlparser/OrderedObjParser.js","webpack://XMLParser/./src/xmlparser/XMLParser.js","webpack://XMLParser/./src/xmlparser/node2json.js","webpack://XMLParser/./src/xmlparser/xmlNode.js","webpack://XMLParser/webpack/bootstrap","webpack://XMLParser/webpack/startup"],"sourcesContent":["const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, entity = false, comment = false;\n let exp = \"\";\n for(;i') {\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n if(entity) {\n parseEntityExp(exp, entities);\n entity = false;\n }\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nconst entityRegex = RegExp(\"^\\\\s([a-zA-z0-0]+)[ \\t](['\\\"])([^&]+)\\\\2\");\nfunction parseEntityExp(exp, entities){\n const match = entityRegex.exec(exp);\n if(match){\n entities[ match[1] ] = {\n regx : RegExp( `&${match[1]};`,\"g\"),\n val: match[3]\n };\n }\n}\nmodule.exports = readDocType;","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n \n currentNode = this.tagsNodeStack.pop();//avoid recurssion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath);\n }\n currentNode.addChild(childNode);\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n }\n\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //boolean tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n currentNode.addChild(childNode);\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n currentNode.addChild(childNode);\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-dobule quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const propCount = Object.keys(obj).length;\n if( propCount === 0 || (propCount === 1 && obj[options.textNodeName]) ) return true;\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(870);\n"],"names":["hexRegex","numRegex","Number","parseInt","window","parseFloat","consider","hex","leadingZeros","decimalPoint","eNotation","module","exports","str","options","Object","assign","trimmedStr","trim","undefined","skipLike","test","match","exec","sign","numTrimmedByZeros","numStr","indexOf","replace","length","substr","num","search","nameRegexp","regexName","RegExp","isExist","v","isEmptyObject","obj","keys","merge","target","a","arrayMode","len","i","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","index","push","util","require","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","readAttributeStr","attrStr","startChar","tagClosed","value","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","result","attrStrStart","isValid","validateAttributeString","code","msg","line","otg","pop","openPos","col","afterAmp","validateAmpersand","JSON","stringify","map","t","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re","validateNumberAmpersand","count","message","lineNumber","lines","split","entityRegex","parseEntityExp","exp","entities","regx","val","Error","hasBody","entity","comment","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","buildOptions","xmlNode","readDocType","toNumber","addExternalEntities","externalEntities","entKeys","ent","this","lastEntities","parseTextData","jPath","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","attrs","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastIndexOf","tagsNodeStack","tagData","readTagExp","childNode","add","tagExp","attrExpPresent","addChild","endIndex","docTypeEntities","lastTag","isItStopNode","tagContent","readStopNodeData","child","entityName","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","data","tagExpWithClosingIndex","separatorIndex","openTagCount","shouldParse","OrderedObjParser","prettify","validator","XMLParser","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","key","compress","arr","text","compressedObj","newJpath","tagObj","property","propName","isLeaf","isLeafTag","assignAttributes","Array","attrMap","jpath","atrrName","propCount","node","XmlNode","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"./lib/fxparser.min.js","mappings":"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","sources":["webpack://XMLParser/./node_modules/strnum/strnum.js","webpack://XMLParser/./src/util.js","webpack://XMLParser/./src/validator.js","webpack://XMLParser/./src/xmlparser/DocTypeReader.js","webpack://XMLParser/./src/xmlparser/OptionsBuilder.js","webpack://XMLParser/./src/xmlparser/OrderedObjParser.js","webpack://XMLParser/./src/xmlparser/XMLParser.js","webpack://XMLParser/./src/xmlparser/node2json.js","webpack://XMLParser/./src/xmlparser/xmlNode.js","webpack://XMLParser/webpack/bootstrap","webpack://XMLParser/webpack/startup"],"sourcesContent":["const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // \n\n //Parameter entities are not supported\n // \n\n //Internal entities are supported\n // \n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: ${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(870);\n"],"names":["hexRegex","numRegex","Number","parseInt","window","parseFloat","consider","hex","leadingZeros","decimalPoint","eNotation","module","exports","str","options","Object","assign","trimmedStr","trim","undefined","skipLike","test","match","exec","sign","numTrimmedByZeros","numStr","indexOf","replace","length","substr","num","search","nameRegexp","regexName","RegExp","isExist","v","isEmptyObject","obj","keys","merge","target","a","arrayMode","len","i","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","index","push","util","require","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","readAttributeStr","attrStr","startChar","tagClosed","value","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","result","attrStrStart","isValid","validateAttributeString","code","msg","line","otg","pop","openPos","col","afterAmp","validateAmpersand","JSON","stringify","map","t","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re","validateNumberAmpersand","count","message","lineNumber","lines","split","readEntityExp","entityName","Error","val","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","name","entities","hasBody","comment","regx","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","jPath","attrs","buildOptions","xmlNode","readDocType","toNumber","addExternalEntities","externalEntities","entKeys","ent","this","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","lastIndexOf","propIndex","tagsNodeStack","tagData","readTagExp","childNode","add","tagExp","attrExpPresent","addChild","endIndex","docTypeEntities","lastTag","isItStopNode","tagContent","readStopNodeData","child","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","data","tagExpWithClosingIndex","separatorIndex","openTagCount","shouldParse","OrderedObjParser","prettify","validator","XMLParser","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","key","compress","arr","text","compressedObj","newJpath","tagObj","property","propName","isLeaf","isLeafTag","assignAttributes","Array","attrMap","jpath","atrrName","propCount","node","XmlNode","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 0d6c79f3..b326d244 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,22 @@
{
"name": "fast-xml-parser",
- "version": "4.1.2",
+ "version": "4.2.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "fast-xml-parser",
- "version": "4.1.2",
+ "version": "4.2.5",
+ "funding": [
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
"license": "MIT",
"dependencies": {
"strnum": "^1.0.5"
@@ -26,13 +36,9 @@
"jasmine": "^3.6.4",
"nyc": "^15.1.0",
"prettier": "^1.19.1",
- "publish-please": "^2.4.1",
+ "publish-please": "^5.5.2",
"webpack": "^5.64.4",
"webpack-cli": "^4.9.1"
- },
- "funding": {
- "type": "paypal",
- "url": "https://paypal.me/naturalintelligence"
}
},
"node_modules/@babel/code-frame": {
@@ -1962,27 +1968,6 @@
"@jridgewell/sourcemap-codec": "^1.4.10"
}
},
- "node_modules/@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "dependencies": {
- "defer-to-connect": "^1.0.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@types/eslint": {
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.1.tgz",
@@ -2277,25 +2262,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/agent-base": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "integrity": "sha512-oDtZV740o3fr5oJtPLOsgH2hl2TRPscNXIx4VzzBwVlXVkv8RHm7XXqGAYg8t20+Gwu6LNDnx8HRMGqVGPZ8Vw==",
- "dev": true,
- "dependencies": {
- "extend": "~3.0.0",
- "semver": "~5.0.1"
- }
- },
- "node_modules/agent-base/node_modules/semver": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
- "integrity": "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
"node_modules/aggregate-error": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -2334,44 +2300,6 @@
"ajv": "^6.9.1"
}
},
- "node_modules/always-error": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/always-error/-/always-error-1.0.0.tgz",
- "integrity": "sha512-FQOCVM9Tv+0skDiLBTemM0LN9IdoRxCqbo+AVpPPRorj34VvC7mFORDWdtEPKHRjC4N0KaxGGpVv35/7k0QbWA==",
- "dev": true
- },
- "node_modules/ansi-align": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
- "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.1.0"
- }
- },
- "node_modules/ansi-align/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-align/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -2448,41 +2376,41 @@
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
- "node_modules/array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
+ "node_modules/arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
"dev": true,
- "dependencies": {
- "array-uniq": "^1.0.1"
- },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
+ "node_modules/arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+ "node_modules/arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
+ "node_modules/array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
"node_modules/asn1.js": {
"version": "5.4.1",
@@ -2527,6 +2455,15 @@
"inherits": "2.0.1"
}
},
+ "node_modules/assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
@@ -2536,6 +2473,18 @@
"node": ">= 4.0.0"
}
},
+ "node_modules/atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true,
+ "bin": {
+ "atob": "bin/atob.js"
+ },
+ "engines": {
+ "node": ">= 4.5.0"
+ }
+ },
"node_modules/available-typed-arrays": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
@@ -2692,28 +2641,34 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
- "node_modules/ban-sensitive-files": {
- "version": "1.9.18",
- "resolved": "https://registry.npmjs.org/ban-sensitive-files/-/ban-sensitive-files-1.9.18.tgz",
- "integrity": "sha512-+jD9ucQcSFRfJW9pi7sPiEnl3j2cPsOq3fsN+jWJ/7EvX8kMYP4alaYYcifyrFqLNYbOzlsD8wgBhgrnepePxQ==",
+ "node_modules/base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
"dependencies": {
- "bluebird": "3.7.2",
- "check-more-types": "2.24.0",
- "debug": "4.3.4",
- "ggit": "2.4.12",
- "lazy-ass": "1.6.0",
- "pluralize": "8.0.0",
- "ramda": "0.28.0",
- "update-notifier": "5.1.0"
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
},
- "bin": {
- "ban": "bin/ban.js",
- "ban-sensitive": "bin/ban.js",
- "ban-sensitive-files": "bin/ban.js",
- "no-sensitive": "bin/ban.js",
- "no-way": "bin/ban.js",
- "sensitive-files": "bin/ban.js"
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/base/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/base64-js": {
@@ -2778,183 +2733,56 @@
"integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
"dev": true
},
- "node_modules/boom": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==",
- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
- "dev": true,
- "dependencies": {
- "hoek": "2.x.x"
- },
- "engines": {
- "node": ">=0.10.40"
- }
- },
- "node_modules/boxen": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
- "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
- "dev": true,
- "dependencies": {
- "ansi-align": "^3.0.0",
- "camelcase": "^6.2.0",
- "chalk": "^4.1.0",
- "cli-boxes": "^2.2.1",
- "string-width": "^4.2.2",
- "type-fest": "^0.20.2",
- "widest-line": "^3.1.0",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/boxen/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/boxen/node_modules/camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/boxen/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "node_modules/braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": ">=0.10.0"
}
},
- "node_modules/boxen/node_modules/color-convert": {
+ "node_modules/braces/node_modules/extend-shallow": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/boxen/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/boxen/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/boxen/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/boxen/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/boxen/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"dev": true,
"dependencies": {
- "has-flag": "^4.0.0"
+ "is-extendable": "^0.1.0"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/boxen/node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.10.0"
}
},
- "node_modules/boxen/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "node_modules/braces/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "node": ">=0.10.0"
}
},
"node_modules/brorand": {
@@ -3209,58 +3037,36 @@
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
- "node_modules/cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+ "node_modules/cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
"dependencies": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/cacheable-request/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cacheable-request/node_modules/lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cached-path-relative": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
- "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==",
- "dev": true
- },
- "node_modules/caching-transform": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
- "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
+ "node_modules/cached-path-relative": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
+ "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==",
+ "dev": true
+ },
+ "node_modules/caching-transform": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
+ "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
"dev": true,
"dependencies": {
"hasha": "^5.0.0",
@@ -3342,42 +3148,12 @@
"node": ">=4"
}
},
- "node_modules/chdir-promise": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/chdir-promise/-/chdir-promise-0.6.2.tgz",
- "integrity": "sha512-EG5MutQt4qTxoQPfBtPCfU1A/MqborgaO66xrPSD/dRTB40OLN0wy+YAo5ZAw7DawhtCPdZHAdQ206fyWkhoiw==",
- "dev": true,
- "dependencies": {
- "bluebird": "^3.5.1",
- "check-more-types": "2.24.0",
- "debug": "3.1.0",
- "lazy-ass": "1.6.0"
- }
- },
- "node_modules/chdir-promise/node_modules/debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/chdir-promise/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
- "node_modules/check-more-types": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
- "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
"node_modules/chokidar": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
@@ -3466,9 +3242,9 @@
}
},
"node_modules/ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
+ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
"dev": true
},
"node_modules/cipher-base": {
@@ -3481,58 +3257,123 @@
"safe-buffer": "^5.0.1"
}
},
- "node_modules/clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "node_modules/class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
+ "dependencies": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=0.10.0"
}
},
- "node_modules/cli-boxes": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
- "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
+ "node_modules/class-utils/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
"dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/cli-cursor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
- "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==",
+ "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"dev": true,
"dependencies": {
- "restore-cursor": "^1.0.1"
+ "is-buffer": "^1.1.5"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/cli-table": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
- "integrity": "sha512-h/TzJrgwzVV+W6laITBZAxAWfBjX4T0x+LF5XJdS1AzDkXqmraMNnKQ/O/f3AHJKVR85fOglUEdS/B0P1wS7Aw==",
+ "node_modules/class-utils/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
"dev": true,
"dependencies": {
- "colors": "1.0.3"
+ "kind-of": "^3.0.2"
},
"engines": {
- "node": ">= 0.2.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/cli-table/node_modules/colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
+ "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/class-utils/node_modules/kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==",
"dev": true,
+ "dependencies": {
+ "restore-cursor": "^1.0.1"
+ },
"engines": {
- "node": ">=0.1.90"
+ "node": ">=0.10.0"
}
},
"node_modules/cli-width": {
@@ -3541,12 +3382,6 @@
"integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
"dev": true
},
- "node_modules/cliclopts": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/cliclopts/-/cliclopts-1.1.1.tgz",
- "integrity": "sha512-dJk8y+TJmOy9Kqha0aWN0rwM5E5EQCVjhl2GTz1CrkqzxkQZ26/hyrNmy7lwePdZc4iNcdHL1tTdcIBeNQhmww==",
- "dev": true
- },
"node_modules/cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
@@ -3595,27 +3430,6 @@
"node": ">=6"
}
},
- "node_modules/clone-response": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
- "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
- "dev": true,
- "dependencies": {
- "mimic-response": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/coffeeify": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/coffeeify/-/coffeeify-3.0.1.tgz",
@@ -3642,6 +3456,19 @@
"node": ">=0.8.0"
}
},
+ "node_modules/collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
+ "dev": true,
+ "dependencies": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -3663,15 +3490,6 @@
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
"dev": true
},
- "node_modules/colors": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz",
- "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==",
- "dev": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
"node_modules/combine-source-map": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
@@ -3702,6 +3520,12 @@
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
+ "node_modules/component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -3723,38 +3547,6 @@
"typedarray": "^0.0.6"
}
},
- "node_modules/configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "dev": true,
- "dependencies": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/configstore/node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/console-browserify": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
@@ -3776,6 +3568,15 @@
"safe-buffer": "~5.1.1"
}
},
+ "node_modules/copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/core-js-compat": {
"version": "3.20.2",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz",
@@ -3930,15 +3731,6 @@
"node": "*"
}
},
- "node_modules/crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/cucumber-expressions": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.3.0.tgz",
@@ -3962,12 +3754,6 @@
"url": "https://paypal.me/naturalintelligence"
}
},
- "node_modules/cvss": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/cvss/-/cvss-1.0.5.tgz",
- "integrity": "sha512-lfApnkcBoP+3viCUFOrqRmeqsyoIuiXouYg3Gt+1f3wsYzm1xDXnvyyMiPGoODFYWnoAl9LHPWWJH5zM6HaUoA==",
- "dev": true
- },
"node_modules/cytorus": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/cytorus/-/cytorus-0.2.13.tgz",
@@ -3987,15 +3773,6 @@
"cytorus": "cli.js"
}
},
- "node_modules/d3-helpers": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/d3-helpers/-/d3-helpers-0.3.0.tgz",
- "integrity": "sha512-uNJ5QRsTW7CdNC6CHX528VwIEzYCC/iFHMQ9ReaDUGA+iiJXHcR2uKobK68FkKSWmNYPxwaUV+9SswjoygF6VA==",
- "dev": true,
- "engines": {
- "node": "> 0.8"
- }
- },
"node_modules/dash-ast": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
@@ -4028,25 +3805,13 @@
"node": ">=0.10.0"
}
},
- "node_modules/decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
- "dev": true,
- "dependencies": {
- "mimic-response": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "node_modules/decode-uri-component": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
+ "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
"dev": true,
"engines": {
- "node": ">=4.0.0"
+ "node": ">=0.10"
}
},
"node_modules/deep-is": {
@@ -4067,12 +3832,6 @@
"node": ">=8"
}
},
- "node_modules/defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
"node_modules/define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -4085,6 +3844,19 @@
"node": ">= 0.4"
}
},
+ "node_modules/define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -4172,18 +3944,6 @@
"npm": ">=1.2"
}
},
- "node_modules/dot-prop": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
- "dev": true,
- "dependencies": {
- "is-obj": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
@@ -4193,12 +3953,6 @@
"readable-stream": "^2.0.2"
}
},
- "node_modules/duplexer3": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
- "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
- "dev": true
- },
"node_modules/electron-to-chromium": {
"version": "1.4.36",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.36.tgz",
@@ -4317,15 +4071,6 @@
"node": ">= 4"
}
},
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
"node_modules/enhanced-resolve": {
"version": "5.8.3",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz",
@@ -4363,15 +4108,6 @@
"node": ">=4"
}
},
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
"node_modules/es-abstract": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
@@ -4444,15 +4180,6 @@
"node": ">=6"
}
},
- "node_modules/escape-goat": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
- "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -4852,23 +4579,233 @@
"node": ">=0.10.0"
}
},
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "node_modules/expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "node_modules/expand-brackets/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-brackets/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "dev": true,
+ "dependencies": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "dependencies": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "dependencies": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
@@ -4889,16 +4826,15 @@
"dev": true
},
"node_modules/figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
"dev": true,
"dependencies": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
+ "escape-string-regexp": "^1.0.5"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
"node_modules/file-entry-cache": {
@@ -4913,6 +4849,42 @@
"node": "^10.12.0 || >=12.0.0"
}
},
+ "node_modules/fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+ "dev": true,
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fill-range/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fill-range/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/find-cache-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
@@ -4979,6 +4951,15 @@
}
}
},
+ "node_modules/for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
@@ -4998,6 +4979,18 @@
"node": ">=8.0.0"
}
},
+ "node_modules/fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
+ "dev": true,
+ "dependencies": {
+ "map-cache": "^0.2.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/fromentries": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
@@ -5053,54 +5046,6 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- },
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/fstream-ignore": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
- "integrity": "sha512-VVRuOs41VUqptEGiR0N5ZoWEcfGvbGRqLINyZAhHRnF3DH5wrqjNkYr3VbRoZnI41BZgO7zIVdiobc13TVI1ow==",
- "dev": true,
- "dependencies": {
- "fstream": "^1.0.0",
- "inherits": "2",
- "minimatch": "^3.0.0"
- }
- },
- "node_modules/fstream-npm": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.1.tgz",
- "integrity": "sha512-iBHpm/LmD1qw0TlHMAqVd9rwdU6M+EHRUnPkXpRi5G/Hf0FIFH+oZFryodAU2MFNfGRh/CzhUFlMKV3pdeOTDw==",
- "dev": true,
- "dependencies": {
- "fstream-ignore": "^1.0.0",
- "inherits": "2"
- }
- },
- "node_modules/fstream/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -5188,154 +5133,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/ggit": {
- "version": "2.4.12",
- "resolved": "https://registry.npmjs.org/ggit/-/ggit-2.4.12.tgz",
- "integrity": "sha512-29DxkCEmqhXNk+JrV8GNQ+IY8OaJ1J2jC+B/vPvOk7CWs/2K8uX2DQeMlnFy7S+NeJrTNcLWfPJDdi6IflDt/A==",
- "dev": true,
- "dependencies": {
- "always-error": "1.0.0",
- "bluebird": "3.5.1",
- "chdir-promise": "0.6.2",
- "check-more-types": "2.24.0",
- "cli-table": "0.3.1",
- "colors": "1.3.2",
- "commander": "2.17.1",
- "d3-helpers": "0.3.0",
- "debug": "3.2.6",
- "find-up": "3.0.0",
- "glob": "7.1.3",
- "lazy-ass": "1.6.0",
- "lodash": "4.17.15",
- "moment": "2.23.0",
- "moment-timezone": "0.5.23",
- "optimist": "0.6.1",
- "pluralize": "7.0.0",
- "q": "2.0.3",
- "quote": "0.4.0",
- "ramda": "0.26.1",
- "semver": "5.6.0"
- },
- "bin": {
- "ggit": "bin/ggit.js"
- },
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/ggit/node_modules/bluebird": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
- "dev": true
- },
- "node_modules/ggit/node_modules/commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
- "dev": true
- },
- "node_modules/ggit/node_modules/debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/ggit/node_modules/find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "dependencies": {
- "locate-path": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ggit/node_modules/glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ggit/node_modules/locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ggit/node_modules/lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
- "dev": true
- },
- "node_modules/ggit/node_modules/p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ggit/node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ggit/node_modules/pluralize": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
+ "node_modules/get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
"dev": true,
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/ggit/node_modules/ramda": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz",
- "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==",
- "dev": true
- },
- "node_modules/ggit/node_modules/semver": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
+ "node": ">=0.10.0"
}
},
"node_modules/glob": {
@@ -5376,30 +5180,6 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
- "node_modules/global-dirs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
- "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
- "dev": true,
- "dependencies": {
- "ini": "2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/global-dirs/node_modules/ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -5409,82 +5189,6 @@
"node": ">=4"
}
},
- "node_modules/globby": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
- "integrity": "sha512-JPDtMSr0bt25W64q792rvlrSwIaZwqUAhqdYKSr57Wh/xBcQ5JDWLM85ndn+Q1WdBQXLb9YGCl0QN/T0HpqU0A==",
- "dev": true,
- "dependencies": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^6.0.1",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/globby/node_modules/glob": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
- "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==",
- "dev": true,
- "dependencies": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/globby/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "dependencies": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/got/node_modules/get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/graceful-fs": {
"version": "4.2.9",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
@@ -5569,13 +5273,43 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/has-yarn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
- "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
+ "node_modules/has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
"dev": true,
+ "dependencies": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/hash-base": {
@@ -5672,22 +5406,6 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
- "node_modules/hoek": {
- "version": "2.16.3",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==",
- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
- "dev": true,
- "engines": {
- "node": ">=0.10.40"
- }
- },
- "node_modules/hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
"node_modules/html-escaper": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
@@ -5703,44 +5421,12 @@
"node": ">=0.10"
}
},
- "node_modules/http-cache-semantics": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
- "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
- "dev": true
- },
"node_modules/https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
- "node_modules/https-proxy-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "integrity": "sha512-OZhm7//JDnQthMVqlPAfkZyPO2fMhfHY6gY+jZcX8rLfFiGtHiIQrfD80WvCDHNMQ77Ak3r5CiPRDD2rNzo2OQ==",
- "dev": true,
- "dependencies": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3"
- }
- },
- "node_modules/https-proxy-agent/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/https-proxy-agent/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
"node_modules/human-signals": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
@@ -5750,6 +5436,18 @@
"node": ">=10.17.0"
}
},
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -5795,15 +5493,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/import-local": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz",
@@ -5866,12 +5555,6 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
"node_modules/inline-source-map": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
@@ -5882,79 +5565,94 @@
}
},
"node_modules/inquirer": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
- "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
+ "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
"dev": true,
"dependencies": {
- "ansi-escapes": "^1.1.0",
- "ansi-regex": "^2.0.0",
- "chalk": "^1.0.0",
- "cli-cursor": "^1.0.1",
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
"cli-width": "^2.0.0",
- "figures": "^1.3.5",
- "lodash": "^4.3.0",
- "readline2": "^1.0.1",
- "run-async": "^0.1.0",
- "rx-lite": "^3.1.2",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.0",
+ "external-editor": "^3.0.0",
+ "figures": "^2.0.0",
+ "lodash": "^4.17.10",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.1.0",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
"through": "^2.3.6"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/inquirer/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "node_modules/inquirer/node_modules/ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
- "node_modules/inquirer/node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "node_modules/inquirer/node_modules/ansi-regex": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
+ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
- "node_modules/inquirer/node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "node_modules/inquirer/node_modules/cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
"dev": true,
"dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "restore-cursor": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
- "node_modules/inquirer/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "node_modules/inquirer/node_modules/onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
"dev": true,
"dependencies": {
- "ansi-regex": "^2.0.0"
+ "mimic-fn": "^1.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
- "node_modules/inquirer/node_modules/supports-color": {
+ "node_modules/inquirer/node_modules/restore-cursor": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
"dev": true,
+ "dependencies": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ },
"engines": {
- "node": ">=0.8.0"
+ "node": ">=4"
+ }
+ },
+ "node_modules/inquirer/node_modules/strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
"node_modules/insert-module-globals": {
@@ -6001,6 +5699,18 @@
"node": ">= 0.10"
}
},
+ "node_modules/is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -6017,12 +5727,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
- },
"node_modules/is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
@@ -6082,12 +5786,12 @@
}
},
"node_modules/is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
+ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
"dev": true,
"dependencies": {
- "ci-info": "^2.0.0"
+ "ci-info": "^1.5.0"
},
"bin": {
"is-ci": "bin.js"
@@ -6105,6 +5809,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-date-object": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
@@ -6120,6 +5836,32 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -6130,15 +5872,12 @@
}
},
"node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
"dev": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
"node_modules/is-generator-function": {
@@ -6168,22 +5907,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-installed-globally": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
- "dev": true,
- "dependencies": {
- "global-dirs": "^3.0.0",
- "is-path-inside": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
@@ -6196,16 +5919,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-npm": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
- "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
+ "node_modules/is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
"dev": true,
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "kind-of": "^3.0.2"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/is-number-object": {
@@ -6223,22 +5946,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
"node_modules/is-plain-object": {
@@ -6345,12 +6062,6 @@
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
- "node_modules/is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==",
- "dev": true
- },
"node_modules/is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -6372,27 +6083,12 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-yarn-global": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
- "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
- "dev": true
- },
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
- "node_modules/isemail": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz",
- "integrity": "sha512-pZMb1rDrWRAPtVY92VCxWtF+1gExWrCnao+GL1EKHx6z19ovW+xNcnC1iNB7WkbSYWlyl3uwlaH5eaBx2s2crw==",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -6620,23 +6316,6 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/joi": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz",
- "integrity": "sha512-K6+OwGaWM1sBEu+XMbgC4zDmg6hnddS2DWiCVtjnhkcrzv+ejSfh7HGUsoxmWQkv6kHEsVFAywttfkpmIE2QwQ==",
- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
- "dev": true,
- "dependencies": {
- "hoek": "2.x.x",
- "isemail": "1.x.x",
- "moment": "2.x.x",
- "topo": "1.x.x"
- },
- "engines": {
- "node": ">=0.10.40",
- "npm": ">=2.0.0"
- }
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -6667,12 +6346,6 @@
"node": ">=4"
}
},
- "node_modules/json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
- "dev": true
- },
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -6758,15 +6431,6 @@
"node": "*"
}
},
- "node_modules/keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
- "dependencies": {
- "json-buffer": "3.0.0"
- }
- },
"node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -6786,27 +6450,6 @@
"stream-splicer": "^2.0.0"
}
},
- "node_modules/latest-version": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
- "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
- "dev": true,
- "dependencies": {
- "package-json": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lazy-ass": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
- "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
- "dev": true,
- "engines": {
- "node": "> 0.8"
- }
- },
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -6820,43 +6463,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/load-json-file/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/load-json-file/node_modules/strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
- "dev": true,
- "dependencies": {
- "is-utf8": "^0.2.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/loader-runner": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -6905,9 +6511,9 @@
}
},
"node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
"dev": true
},
"node_modules/lodash.clonedeep": {
@@ -6959,15 +6565,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
@@ -7000,6 +6597,27 @@
"semver": "bin/semver"
}
},
+ "node_modules/map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
+ "dev": true,
+ "dependencies": {
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -7017,6 +6635,30 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
+ "node_modules/micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/miller-rabin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
@@ -7057,10 +6699,10 @@
"node": ">= 0.6"
}
},
- "node_modules/mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "node_modules/mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true,
"engines": {
"node": ">=4"
@@ -7096,16 +6738,17 @@
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
- "node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "node_modules/mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"dev": true,
"dependencies": {
- "minimist": "^1.2.6"
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
},
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/mkdirp-classic": {
@@ -7143,27 +6786,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/moment": {
- "version": "2.23.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz",
- "integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/moment-timezone": {
- "version": "0.5.23",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz",
- "integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==",
- "dev": true,
- "dependencies": {
- "moment": ">= 2.9.0"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -7171,11 +6793,33 @@
"dev": true
},
"node_modules/mute-stream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
- "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==",
"dev": true
},
+ "node_modules/nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -7197,175 +6841,43 @@
"lodash.toarray": "^4.4.0"
}
},
- "node_modules/node-preload": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
- "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
- "dev": true,
- "dependencies": {
- "process-on-spawn": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
- "dev": true
- },
- "node_modules/nodesecurity-npm-utils": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz",
- "integrity": "sha512-356xXArWp+e1w4s1FdnFmQTcIVlQdOPENvoia4WI2GTO9rsRaqTbCVcPQiuBiP6F3VJMCkAYpnOiEwflem3k6w==",
- "dev": true
- },
- "node_modules/normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "dependencies": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "node_modules/normalize-package-data/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nsp": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/nsp/-/nsp-2.8.1.tgz",
- "integrity": "sha512-jvjDg2Gsw4coD/iZ5eQddsDlkvnwMCNnpG05BproSnuG+Gr1bSQMwWMcQeYje+qdDl3XznmhblMPLpZLecTORQ==",
- "deprecated": "The Node Security Platform service is shutting down 9/30 - https://blog.npmjs.org/post/175511531085/the-node-security-platform-service-is-shutting",
- "dev": true,
- "dependencies": {
- "chalk": "^1.1.1",
- "cli-table": "^0.3.1",
- "cvss": "^1.0.0",
- "https-proxy-agent": "^1.0.0",
- "joi": "^6.9.1",
- "nodesecurity-npm-utils": "^5.0.0",
- "path-is-absolute": "^1.0.0",
- "rc": "^1.1.2",
- "semver": "^5.0.3",
- "subcommand": "^2.0.3",
- "wreck": "^6.3.0"
- },
- "bin": {
- "nsp": "bin/nsp"
- }
- },
- "node_modules/nsp/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/nsp/node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/nsp/node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/nsp/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/nsp/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "node_modules/node-preload": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
+ "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
"dev": true,
"dependencies": {
- "ansi-regex": "^2.0.0"
+ "process-on-spawn": "^1.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/nsp/node_modules/supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "node_modules/node-releases": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
+ "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
+ "dev": true
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"engines": {
- "node": ">=0.8.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/nyc": {
@@ -7471,6 +6983,91 @@
"node": ">=0.10.0"
}
},
+ "node_modules/object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
+ "dev": true,
+ "dependencies": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/object-inspect": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
@@ -7489,6 +7086,18 @@
"node": ">= 0.4"
}
},
+ "node_modules/object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/object.assign": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
@@ -7507,6 +7116,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -7525,22 +7146,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==",
- "dev": true,
- "dependencies": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- }
- },
- "node_modules/optimist/node_modules/minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==",
- "dev": true
- },
"node_modules/optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
@@ -7570,6 +7175,34 @@
"integrity": "sha512-E3Orl5pvDJXnVmpaAA2TeNNpNhTMl4o5HghuWhOivBjEiTnJSrMYSa5uZMek1lBEvu8kKEsa2YgVcGFVDqX/9w==",
"dev": true
},
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "dependencies": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
"node_modules/outpipe": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
@@ -7579,15 +7212,6 @@
"shell-quote": "^1.4.2"
}
},
- "node_modules/p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -7651,21 +7275,6 @@
"node": ">=8"
}
},
- "node_modules/package-json": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
- "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
- "dev": true,
- "dependencies": {
- "got": "^9.6.0",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^6.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
@@ -7706,14 +7315,11 @@
"safe-buffer": "^5.1.1"
}
},
- "node_modules/parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
+ "node_modules/pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
"dev": true,
- "dependencies": {
- "error-ex": "^1.2.0"
- },
"engines": {
"node": ">=0.10.0"
}
@@ -7766,29 +7372,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-type/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/pbkdf2": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
@@ -7920,44 +7503,15 @@
"node": ">=4"
}
},
- "node_modules/pkgd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/pkgd/-/pkgd-1.1.2.tgz",
- "integrity": "sha512-BlIvo3ldAKlHRNv7DHc5CxHFubCgR38YrRSdaZgHp2Lv262kDZrL7ATmKdQycSiHYbjpYmqJN+FkIq6m4qs0Eg==",
- "dev": true,
- "dependencies": {
- "fstream-npm": "^1.0.7",
- "normalize-path": "^2.0.1",
- "pinkie-promise": "^2.0.1"
- }
- },
- "node_modules/pkgd/node_modules/normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "node_modules/posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
"dev": true,
- "dependencies": {
- "remove-trailing-separator": "^1.0.1"
- },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/pluralize": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/pop-iterate": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz",
- "integrity": "sha512-HRCx4+KJE30JhX84wBN4+vja9bNfysxg1y28l0DuJmkoaICiv2ZSilKddbS48pq50P8d2erAhqDLbp47yv3MbQ==",
- "dev": true
- },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -7967,15 +7521,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/prettier": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
@@ -8060,63 +7605,42 @@
"dev": true
},
"node_modules/publish-please": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/publish-please/-/publish-please-2.4.1.tgz",
- "integrity": "sha512-4LoN1Gjl213ppV41FFbCuVWhWGkLOit1teXKdCPtmQs06/AZ6PjD+OJwDoMDEYEOSzY9XQprv8LSYC3Ci0UBrw==",
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/publish-please/-/publish-please-5.5.2.tgz",
+ "integrity": "sha512-jSoWJj6sXHixoRPxBNv0hURDXw1OqTb8kypobzyBSvGxEVwbGN1BLrpMbDf24g4On7X0zLQDV7+9zwXAwDJ2Og==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "ban-sensitive-files": "^1.7.2",
- "chalk": "^1.1.1",
- "cp-sugar": "^1.0.0",
- "elegant-status": "^1.0.0",
- "globby": "^4.0.0",
- "inquirer": "^0.12.0",
- "lodash": "^4.7.0",
- "node-emoji": "^1.0.4",
- "nsp": "^2.2.0",
- "pinkie-promise": "^2.0.1",
- "pkgd": "^1.1.2",
- "promisify-event": "^1.0.0",
- "read-pkg": "^1.1.0",
- "semver": "^5.3.0"
+ "chalk": "2.4.1",
+ "cp-sugar": "1.0.0",
+ "elegant-status": "1.1.0",
+ "inquirer": "6.2.0",
+ "is-ci": "1.2.1",
+ "lodash": "4.17.20",
+ "micromatch": "3.1.10",
+ "node-emoji": "1.8.1",
+ "osenv": "0.1.5",
+ "semver": "5.6.0"
},
"bin": {
"publish-please": "bin/publish-please.js"
- }
- },
- "node_modules/publish-please/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/publish-please/node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
- "dev": true,
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.0.0"
}
},
"node_modules/publish-please/node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
"node_modules/publish-please/node_modules/semver": {
@@ -8128,66 +7652,12 @@
"semver": "bin/semver"
}
},
- "node_modules/publish-please/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/publish-please/node_modules/supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
"node_modules/punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
- "node_modules/pupa": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
- "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
- "dev": true,
- "dependencies": {
- "escape-goat": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/q": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz",
- "integrity": "sha512-gv6vLGcmAOg96/fgo3d9tvA4dJNZL3fMyBqVRrGxQ+Q/o4k9QzbJ3NQF9cOO/71wRodoXhaPgphvMFU68qVAJQ==",
- "dev": true,
- "dependencies": {
- "asap": "^2.0.0",
- "pop-iterate": "^1.0.1",
- "weak-map": "^1.0.5"
- }
- },
"node_modules/querystring": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
@@ -8199,28 +7669,12 @@
}
},
"node_modules/querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/quote": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz",
- "integrity": "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ==",
- "dev": true
- },
- "node_modules/ramda": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz",
- "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/ramda"
+ "engines": {
+ "node": ">=0.4.x"
}
},
"node_modules/randombytes": {
@@ -8242,30 +7696,6 @@
"safe-buffer": "^5.1.0"
}
},
- "node_modules/rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/rc/node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/read-only-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
@@ -8275,20 +7705,6 @@
"readable-stream": "^2.0.2"
}
},
- "node_modules/read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
- "dev": true,
- "dependencies": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@@ -8325,17 +7741,6 @@
"node": ">=8.10.0"
}
},
- "node_modules/readline2": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
- "integrity": "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==",
- "dev": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "mute-stream": "0.0.5"
- }
- },
"node_modules/rechoir": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
@@ -8381,6 +7786,19 @@
"@babel/runtime": "^7.8.4"
}
},
+ "node_modules/regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "dependencies": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/regexpp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
@@ -8410,30 +7828,6 @@
"node": ">=4"
}
},
- "node_modules/registry-auth-token": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
- "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
- "dev": true,
- "dependencies": {
- "rc": "1.2.8"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/registry-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
- "dev": true,
- "dependencies": {
- "rc": "^1.2.8"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/regjsgen": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
@@ -8473,11 +7867,23 @@
"node": ">=4"
}
},
- "node_modules/remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
- "dev": true
+ "node_modules/repeat-element": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
+ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10"
+ }
},
"node_modules/require-directory": {
"version": "2.1.1",
@@ -8541,14 +7947,12 @@
"node": ">=4"
}
},
- "node_modules/responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
- "dev": true,
- "dependencies": {
- "lowercase-keys": "^1.0.0"
- }
+ "node_modules/resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
+ "deprecated": "https://github.com/lydell/resolve-url#deprecated",
+ "dev": true
},
"node_modules/restore-cursor": {
"version": "1.0.1",
@@ -8563,6 +7967,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
"node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -8589,19 +8002,25 @@
}
},
"node_modules/run-async": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
- "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
"dev": true,
- "dependencies": {
- "once": "^1.3.0"
+ "engines": {
+ "node": ">=0.12.0"
}
},
- "node_modules/rx-lite": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
- "integrity": "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==",
- "dev": true
+ "node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
},
"node_modules/safe-buffer": {
"version": "5.1.2",
@@ -8609,6 +8028,15 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
+ "node_modules/safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
+ "dev": true,
+ "dependencies": {
+ "ret": "~0.1.10"
+ }
+ },
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -8642,18 +8070,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/semver-diff": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
- "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
- "dev": true,
- "dependencies": {
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/serialize-javascript": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
@@ -8669,6 +8085,42 @@
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
+ "node_modules/set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/set-value/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/set-value/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/sha.js": {
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
@@ -8754,31 +8206,219 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/signal-exit": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
- "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
- "dev": true
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "node_modules/signal-exit": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
+ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
+ "dev": true
+ },
+ "node_modules/simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "dependencies": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "dependencies": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
},
"node_modules/source-map": {
"version": "0.5.7",
@@ -8789,6 +8429,20 @@
"node": ">=0.10.0"
}
},
+ "node_modules/source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+ "dev": true,
+ "dependencies": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
"node_modules/source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -8808,6 +8462,13 @@
"node": ">=0.10.0"
}
},
+ "node_modules/source-map-url": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+ "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
+ "dev": true
+ },
"node_modules/spawn-wrap": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
@@ -8840,43 +8501,119 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "node_modules/split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"dev": true,
"dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
+ "extend-shallow": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "node_modules/static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
"dev": true,
"dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
- "dev": true
+ "node_modules/static-extend/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
+ "node_modules/static-extend/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
"node_modules/stream-browserify": {
"version": "2.0.2",
@@ -8964,38 +8701,37 @@
]
},
"node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true,
"dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
"node_modules/string-width/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
+ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
"node_modules/string-width/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
"dev": true,
"dependencies": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "^3.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
}
},
"node_modules/string.prototype.trimend": {
@@ -9080,17 +8816,6 @@
"minimist": "^1.1.0"
}
},
- "node_modules/subcommand": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/subcommand/-/subcommand-2.1.1.tgz",
- "integrity": "sha512-cm7TQq9I8dA5LKUr+r8W7RzQlLsmTdCr6wXmjYueOoh/bQu55ODEw7GFhT42pUyoaLtO2rgmx1+8cSIjY9lR9g==",
- "dev": true,
- "dependencies": {
- "cliclopts": "^1.1.0",
- "debug": "^4.1.1",
- "minimist": "^1.2.0"
- }
- },
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -9260,6 +8985,18 @@
"node": ">=0.6.0"
}
},
+ "node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -9269,28 +9006,64 @@
"node": ">=4"
}
},
- "node_modules/to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+ "node_modules/to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-object-path/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=0.10.0"
}
},
- "node_modules/topo": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz",
- "integrity": "sha512-vpmONxdZoD0R3hzH0lovwv8QmsqZmGCDE1wXW9YGD/reiDOAbPKEgRDlBCAt8u8nJhav/s/I+r+1gvdpA11x7Q==",
- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
+ "node_modules/to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "dependencies": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
"dev": true,
"dependencies": {
- "hoek": "2.x.x"
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
},
"engines": {
- "node": ">=0.10.40"
+ "node": ">=0.10.0"
}
},
+ "node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
"node_modules/tty-browserify": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
@@ -9413,16 +9186,28 @@
"node": ">=4"
}
},
- "node_modules/unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "node_modules/union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"dev": true,
"dependencies": {
- "crypto-random-string": "^2.0.0"
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/union-value/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/universalify": {
@@ -9434,136 +9219,53 @@
"node": ">= 10.0.0"
}
},
- "node_modules/update-notifier": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
- "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
- "dev": true,
- "dependencies": {
- "boxen": "^5.0.0",
- "chalk": "^4.1.0",
- "configstore": "^5.0.1",
- "has-yarn": "^2.1.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^2.0.0",
- "is-installed-globally": "^0.4.0",
- "is-npm": "^5.0.0",
- "is-yarn-global": "^0.3.0",
- "latest-version": "^5.1.0",
- "pupa": "^2.1.1",
- "semver": "^7.3.4",
- "semver-diff": "^3.1.1",
- "xdg-basedir": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/yeoman/update-notifier?sponsor=1"
- }
- },
- "node_modules/update-notifier/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/update-notifier/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/update-notifier/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/update-notifier/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/update-notifier/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/update-notifier/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "node_modules/unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
"dev": true,
"dependencies": {
- "yallist": "^4.0.0"
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=0.10.0"
}
},
- "node_modules/update-notifier/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "node_modules/unset-value/node_modules/has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
"dev": true,
"dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=0.10.0"
}
- },
- "node_modules/update-notifier/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ },
+ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
"dev": true,
"dependencies": {
- "has-flag": "^4.0.0"
+ "isarray": "1.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/update-notifier/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "node_modules/unset-value/node_modules/has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
"node_modules/uri-js": {
"version": "4.4.1",
@@ -9583,6 +9285,13 @@
"node": ">=6"
}
},
+ "node_modules/urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
+ "deprecated": "Please see https://github.com/lydell/urix#deprecated",
+ "dev": true
+ },
"node_modules/url": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
@@ -9593,24 +9302,21 @@
"querystring": "0.2.0"
}
},
- "node_modules/url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
- "dev": true,
- "dependencies": {
- "prepend-http": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/url/node_modules/punycode": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
},
+ "node_modules/use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/util": {
"version": "0.10.4",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
@@ -9648,16 +9354,6 @@
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
"dev": true
},
- "node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
"node_modules/vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -9846,12 +9542,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/weak-map": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz",
- "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==",
- "dev": true
- },
"node_modules/webpack": {
"version": "5.65.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz",
@@ -10079,41 +9769,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/widest-line/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/widest-line/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/wildcard": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
@@ -10129,15 +9784,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -10214,20 +9860,6 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "node_modules/wreck": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/wreck/-/wreck-6.3.0.tgz",
- "integrity": "sha512-jRAfuPkekn1Mr+1qSB5UK53WXVbbqJKV9GYqe4ue1eStEyiICSES58jGXAbxF5hzSJupy9/F3GBu5YDxVGYdzw==",
- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
- "dev": true,
- "dependencies": {
- "boom": "2.x.x",
- "hoek": "2.x.x"
- },
- "engines": {
- "node": ">=0.10.40"
- }
- },
"node_modules/write-file-atomic": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
@@ -10240,15 +9872,6 @@
"typedarray-to-buffer": "^3.1.5"
}
},
- "node_modules/xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/xregexp": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.4.1.tgz",
@@ -11699,21 +11322,6 @@
"@jridgewell/sourcemap-codec": "^1.4.10"
}
},
- "@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true
- },
- "@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^1.0.1"
- }
- },
"@types/eslint": {
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.1.tgz",
@@ -11978,24 +11586,6 @@
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
"dev": true
},
- "agent-base": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "integrity": "sha512-oDtZV740o3fr5oJtPLOsgH2hl2TRPscNXIx4VzzBwVlXVkv8RHm7XXqGAYg8t20+Gwu6LNDnx8HRMGqVGPZ8Vw==",
- "dev": true,
- "requires": {
- "extend": "~3.0.0",
- "semver": "~5.0.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
- "integrity": "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==",
- "dev": true
- }
- }
- },
"aggregate-error": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -12025,40 +11615,6 @@
"dev": true,
"requires": {}
},
- "always-error": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/always-error/-/always-error-1.0.0.tgz",
- "integrity": "sha512-FQOCVM9Tv+0skDiLBTemM0LN9IdoRxCqbo+AVpPPRorj34VvC7mFORDWdtEPKHRjC4N0KaxGGpVv35/7k0QbWA==",
- "dev": true
- },
- "ansi-align": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
- "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
- "dev": true,
- "requires": {
- "string-width": "^4.1.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
- }
- },
"ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -12117,31 +11673,28 @@
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "dev": true
},
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
"dev": true
},
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
"dev": true
},
"asn1.js": {
@@ -12191,12 +11744,24 @@
}
}
},
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+ "dev": true
+ },
"at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"dev": true
},
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
"available-typed-arrays": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
@@ -12313,20 +11878,30 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
- "ban-sensitive-files": {
- "version": "1.9.18",
- "resolved": "https://registry.npmjs.org/ban-sensitive-files/-/ban-sensitive-files-1.9.18.tgz",
- "integrity": "sha512-+jD9ucQcSFRfJW9pi7sPiEnl3j2cPsOq3fsN+jWJ/7EvX8kMYP4alaYYcifyrFqLNYbOzlsD8wgBhgrnepePxQ==",
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
"requires": {
- "bluebird": "3.7.2",
- "check-more-types": "2.24.0",
- "debug": "4.3.4",
- "ggit": "2.4.12",
- "lazy-ass": "1.6.0",
- "pluralize": "8.0.0",
- "ramda": "0.28.0",
- "update-notifier": "5.1.0"
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ }
}
},
"base64-js": {
@@ -12371,132 +11946,51 @@
"integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
"dev": true
},
- "boom": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==",
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
- "hoek": "2.x.x"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "boxen": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
- "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"requires": {
- "ansi-align": "^3.0.0",
- "camelcase": "^6.2.0",
- "chalk": "^4.1.0",
- "cli-boxes": "^2.2.1",
- "string-width": "^4.2.2",
- "type-fest": "^0.20.2",
- "widest-line": "^3.1.0",
- "wrap-ansi": "^7.0.0"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
+ "extend-shallow": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"dev": true,
"requires": {
- "has-flag": "^4.0.0"
+ "is-extendable": "^0.1.0"
}
},
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
}
}
},
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
"brorand": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
@@ -12715,36 +12209,21 @@
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
- "cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
- }
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
}
},
"cached-path-relative": {
@@ -12815,39 +12294,10 @@
"supports-color": "^5.3.0"
}
},
- "chdir-promise": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/chdir-promise/-/chdir-promise-0.6.2.tgz",
- "integrity": "sha512-EG5MutQt4qTxoQPfBtPCfU1A/MqborgaO66xrPSD/dRTB40OLN0wy+YAo5ZAw7DawhtCPdZHAdQ206fyWkhoiw==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.1",
- "check-more-types": "2.24.0",
- "debug": "3.1.0",
- "lazy-ass": "1.6.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "check-more-types": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
- "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
"chokidar": {
@@ -12917,9 +12367,9 @@
"dev": true
},
"ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
+ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
"dev": true
},
"cipher-base": {
@@ -12932,18 +12382,92 @@
"safe-buffer": "^5.0.1"
}
},
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
"clean-stack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true
},
- "cli-boxes": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
- "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
- "dev": true
- },
"cli-cursor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
@@ -12953,35 +12477,12 @@
"restore-cursor": "^1.0.1"
}
},
- "cli-table": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
- "integrity": "sha512-h/TzJrgwzVV+W6laITBZAxAWfBjX4T0x+LF5XJdS1AzDkXqmraMNnKQ/O/f3AHJKVR85fOglUEdS/B0P1wS7Aw==",
- "dev": true,
- "requires": {
- "colors": "1.0.3"
- },
- "dependencies": {
- "colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
- "dev": true
- }
- }
- },
"cli-width": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
"integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
"dev": true
},
- "cliclopts": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/cliclopts/-/cliclopts-1.1.1.tgz",
- "integrity": "sha512-dJk8y+TJmOy9Kqha0aWN0rwM5E5EQCVjhl2GTz1CrkqzxkQZ26/hyrNmy7lwePdZc4iNcdHL1tTdcIBeNQhmww==",
- "dev": true
- },
"cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
@@ -13023,21 +12524,6 @@
"shallow-clone": "^3.0.0"
}
},
- "clone-response": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
- "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
- "dev": true
- },
"coffeeify": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/coffeeify/-/coffeeify-3.0.1.tgz",
@@ -13054,6 +12540,16 @@
"integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==",
"dev": true
},
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -13075,12 +12571,6 @@
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
"dev": true
},
- "colors": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz",
- "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==",
- "dev": true
- },
"combine-source-map": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
@@ -13113,6 +12603,12 @@
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -13131,31 +12627,6 @@
"typedarray": "^0.0.6"
}
},
- "configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- },
- "dependencies": {
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- }
- }
- },
"console-browserify": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
@@ -13177,6 +12648,12 @@
"safe-buffer": "~5.1.1"
}
},
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
+ "dev": true
+ },
"core-js-compat": {
"version": "3.20.2",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz",
@@ -13315,12 +12792,6 @@
"randomfill": "^1.0.3"
}
},
- "crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true
- },
"cucumber-expressions": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.3.0.tgz",
@@ -13340,12 +12811,6 @@
"nyc": "^15.1.0"
}
},
- "cvss": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/cvss/-/cvss-1.0.5.tgz",
- "integrity": "sha512-lfApnkcBoP+3viCUFOrqRmeqsyoIuiXouYg3Gt+1f3wsYzm1xDXnvyyMiPGoODFYWnoAl9LHPWWJH5zM6HaUoA==",
- "dev": true
- },
"cytorus": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/cytorus/-/cytorus-0.2.13.tgz",
@@ -13362,12 +12827,6 @@
"through": "^2.3.8"
}
},
- "d3-helpers": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/d3-helpers/-/d3-helpers-0.3.0.tgz",
- "integrity": "sha512-uNJ5QRsTW7CdNC6CHX528VwIEzYCC/iFHMQ9ReaDUGA+iiJXHcR2uKobK68FkKSWmNYPxwaUV+9SswjoygF6VA==",
- "dev": true
- },
"dash-ast": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
@@ -13389,19 +12848,10 @@
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "decode-uri-component": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
+ "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
"dev": true
},
"deep-is": {
@@ -13419,12 +12869,6 @@
"strip-bom": "^4.0.0"
}
},
- "defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -13434,6 +12878,16 @@
"object-keys": "^1.0.12"
}
},
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ }
+ },
"defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -13507,15 +12961,6 @@
"integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
"dev": true
},
- "dot-prop": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
- "dev": true,
- "requires": {
- "is-obj": "^2.0.0"
- }
- },
"duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
@@ -13525,12 +12970,6 @@
"readable-stream": "^2.0.2"
}
},
- "duplexer3": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
- "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
- "dev": true
- },
"electron-to-chromium": {
"version": "1.4.36",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.36.tgz",
@@ -13632,15 +13071,6 @@
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
},
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
"enhanced-resolve": {
"version": "5.8.3",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz",
@@ -13666,15 +13096,6 @@
"integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
"dev": true
},
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
"es-abstract": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
@@ -13732,12 +13153,6 @@
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true
},
- "escape-goat": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
- "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
- "dev": true
- },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -14022,11 +13437,181 @@
"integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
"dev": true
},
- "extend": {
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
+ }
+ },
+ "extend-shallow": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ }
+ }
},
"fast-deep-equal": {
"version": "3.1.3",
@@ -14059,13 +13644,12 @@
"dev": true
},
"figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
"dev": true,
"requires": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
+ "escape-string-regexp": "^1.0.5"
}
},
"file-entry-cache": {
@@ -14077,6 +13661,35 @@
"flat-cache": "^3.0.4"
}
},
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ }
+ }
+ },
"find-cache-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
@@ -14120,6 +13733,12 @@
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==",
"dev": true
},
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
+ "dev": true
+ },
"foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
@@ -14136,6 +13755,15 @@
"signal-exit": "^3.0.2"
}
},
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
"fromentries": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
@@ -14167,50 +13795,6 @@
"dev": true,
"optional": true
},
- "fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
- "fstream-ignore": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
- "integrity": "sha512-VVRuOs41VUqptEGiR0N5ZoWEcfGvbGRqLINyZAhHRnF3DH5wrqjNkYr3VbRoZnI41BZgO7zIVdiobc13TVI1ow==",
- "dev": true,
- "requires": {
- "fstream": "^1.0.0",
- "inherits": "2",
- "minimatch": "^3.0.0"
- }
- },
- "fstream-npm": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.1.tgz",
- "integrity": "sha512-iBHpm/LmD1qw0TlHMAqVd9rwdU6M+EHRUnPkXpRi5G/Hf0FIFH+oZFryodAU2MFNfGRh/CzhUFlMKV3pdeOTDw==",
- "dev": true,
- "requires": {
- "fstream-ignore": "^1.0.0",
- "inherits": "2"
- }
- },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -14274,129 +13858,11 @@
"get-intrinsic": "^1.1.1"
}
},
- "ggit": {
- "version": "2.4.12",
- "resolved": "https://registry.npmjs.org/ggit/-/ggit-2.4.12.tgz",
- "integrity": "sha512-29DxkCEmqhXNk+JrV8GNQ+IY8OaJ1J2jC+B/vPvOk7CWs/2K8uX2DQeMlnFy7S+NeJrTNcLWfPJDdi6IflDt/A==",
- "dev": true,
- "requires": {
- "always-error": "1.0.0",
- "bluebird": "3.5.1",
- "chdir-promise": "0.6.2",
- "check-more-types": "2.24.0",
- "cli-table": "0.3.1",
- "colors": "1.3.2",
- "commander": "2.17.1",
- "d3-helpers": "0.3.0",
- "debug": "3.2.6",
- "find-up": "3.0.0",
- "glob": "7.1.3",
- "lazy-ass": "1.6.0",
- "lodash": "4.17.15",
- "moment": "2.23.0",
- "moment-timezone": "0.5.23",
- "optimist": "0.6.1",
- "pluralize": "7.0.0",
- "q": "2.0.3",
- "quote": "0.4.0",
- "ramda": "0.26.1",
- "semver": "5.6.0"
- },
- "dependencies": {
- "bluebird": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
- "dev": true
- },
- "commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
- "dev": true
- },
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
- "dev": true
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
- "dev": true
- },
- "pluralize": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
- "dev": true
- },
- "ramda": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz",
- "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==",
- "dev": true
- },
- "semver": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
- "dev": true
- }
- }
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
+ "dev": true
},
"glob": {
"version": "7.2.0",
@@ -14427,94 +13893,12 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
- "global-dirs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
- "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
- "dev": true,
- "requires": {
- "ini": "2.0.0"
- },
- "dependencies": {
- "ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "dev": true
- }
- }
- },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true
},
- "globby": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
- "integrity": "sha512-JPDtMSr0bt25W64q792rvlrSwIaZwqUAhqdYKSr57Wh/xBcQ5JDWLM85ndn+Q1WdBQXLb9YGCl0QN/T0HpqU0A==",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^6.0.1",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "glob": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
- "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true
- }
- }
- },
- "got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- }
- }
- },
"graceful-fs": {
"version": "4.2.9",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
@@ -14574,11 +13958,37 @@
"has-symbols": "^1.0.2"
}
},
- "has-yarn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
- "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
- "dev": true
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
},
"hash-base": {
"version": "3.1.0",
@@ -14647,18 +14057,6 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
- "hoek": {
- "version": "2.16.3",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==",
- "dev": true
- },
- "hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
"html-escaper": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
@@ -14671,52 +14069,27 @@
"integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
"dev": true
},
- "http-cache-semantics": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
- "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
- "dev": true
- },
"https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
- "https-proxy-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "integrity": "sha512-OZhm7//JDnQthMVqlPAfkZyPO2fMhfHY6gY+jZcX8rLfFiGtHiIQrfD80WvCDHNMQ77Ak3r5CiPRDD2rNzo2OQ==",
- "dev": true,
- "requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
"human-signals": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true
},
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
"ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -14739,12 +14112,6 @@
"resolve-from": "^4.0.0"
}
},
- "import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==",
- "dev": true
- },
"import-local": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz",
@@ -14794,12 +14161,6 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
"inline-source-map": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
@@ -14810,65 +14171,74 @@
}
},
"inquirer": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
- "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
+ "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
"dev": true,
"requires": {
- "ansi-escapes": "^1.1.0",
- "ansi-regex": "^2.0.0",
- "chalk": "^1.0.0",
- "cli-cursor": "^1.0.1",
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
"cli-width": "^2.0.0",
- "figures": "^1.3.5",
- "lodash": "^4.3.0",
- "readline2": "^1.0.1",
- "run-async": "^0.1.0",
- "rx-lite": "^3.1.2",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.0",
+ "external-editor": "^3.0.0",
+ "figures": "^2.0.0",
+ "lodash": "^4.17.10",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.1.0",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
"through": "^2.3.6"
},
"dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
"dev": true
},
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "ansi-regex": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
+ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
"dev": true
},
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
"dev": true,
"requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "restore-cursor": "^2.0.0"
}
},
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "mimic-fn": "^1.0.0"
}
},
- "supports-color": {
+ "restore-cursor": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
- "dev": true
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
+ "dev": true,
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
}
}
},
@@ -14907,6 +14277,15 @@
"integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
"dev": true
},
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
"is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -14917,12 +14296,6 @@
"has-tostringtag": "^1.0.0"
}
},
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
- },
"is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
@@ -14964,12 +14337,12 @@
"dev": true
},
"is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
+ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
"dev": true,
"requires": {
- "ci-info": "^2.0.0"
+ "ci-info": "^1.5.0"
}
},
"is-core-module": {
@@ -14978,16 +14351,45 @@
"integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
"dev": true,
"requires": {
- "has": "^1.0.3"
+ "has": "^1.0.3"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
- "is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
- "has-tostringtag": "^1.0.0"
+ "is-plain-object": "^2.0.4"
}
},
"is-extglob": {
@@ -14997,13 +14399,10 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
+ "dev": true
},
"is-generator-function": {
"version": "1.0.10",
@@ -15023,27 +14422,31 @@
"is-extglob": "^2.1.1"
}
},
- "is-installed-globally": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
- "dev": true,
- "requires": {
- "global-dirs": "^3.0.0",
- "is-path-inside": "^3.0.2"
- }
- },
"is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
"integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
"dev": true
},
- "is-npm": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
- "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
- "dev": true
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
},
"is-number-object": {
"version": "1.0.6",
@@ -15054,18 +14457,6 @@
"has-tostringtag": "^1.0.0"
}
},
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
- },
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -15134,12 +14525,6 @@
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==",
- "dev": true
- },
"is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -15155,24 +14540,12 @@
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
- "is-yarn-global": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
- "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
- "dev": true
- },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
- "isemail": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz",
- "integrity": "sha512-pZMb1rDrWRAPtVY92VCxWtF+1gExWrCnao+GL1EKHx6z19ovW+xNcnC1iNB7WkbSYWlyl3uwlaH5eaBx2s2crw==",
- "dev": true
- },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -15348,18 +14721,6 @@
}
}
},
- "joi": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz",
- "integrity": "sha512-K6+OwGaWM1sBEu+XMbgC4zDmg6hnddS2DWiCVtjnhkcrzv+ejSfh7HGUsoxmWQkv6kHEsVFAywttfkpmIE2QwQ==",
- "dev": true,
- "requires": {
- "hoek": "2.x.x",
- "isemail": "1.x.x",
- "moment": "2.x.x",
- "topo": "1.x.x"
- }
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -15381,12 +14742,6 @@
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
- "dev": true
- },
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -15452,15 +14807,6 @@
"through": ">=2.2.7 <3"
}
},
- "keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.0"
- }
- },
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -15477,21 +14823,6 @@
"stream-splicer": "^2.0.0"
}
},
- "latest-version": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
- "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
- "dev": true,
- "requires": {
- "package-json": "^6.3.0"
- }
- },
- "lazy-ass": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
- "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
- "dev": true
- },
"levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -15502,36 +14833,6 @@
"type-check": "~0.4.0"
}
},
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
- "dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- }
- }
- },
"loader-runner": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -15570,9 +14871,9 @@
}
},
"lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
"dev": true
},
"lodash.clonedeep": {
@@ -15621,12 +14922,6 @@
"cli-cursor": "^1.0.2"
}
},
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true
- },
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
@@ -15655,6 +14950,21 @@
}
}
},
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -15672,6 +14982,27 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
"miller-rabin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
@@ -15705,10 +15036,10 @@
"mime-db": "1.51.0"
}
},
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true
},
"minimalistic-assert": {
@@ -15738,13 +15069,14 @@
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"dev": true,
"requires": {
- "minimist": "^1.2.6"
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
}
},
"mkdirp-classic": {
@@ -15776,21 +15108,6 @@
"xtend": "^4.0.0"
}
},
- "moment": {
- "version": "2.23.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz",
- "integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA==",
- "dev": true
- },
- "moment-timezone": {
- "version": "0.5.23",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz",
- "integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==",
- "dev": true,
- "requires": {
- "moment": ">= 2.9.0"
- }
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -15798,11 +15115,30 @@
"dev": true
},
"mute-stream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
- "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==",
"dev": true
},
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -15839,44 +15175,12 @@
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
"dev": true
},
- "nodesecurity-npm-utils": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz",
- "integrity": "sha512-356xXArWp+e1w4s1FdnFmQTcIVlQdOPENvoia4WI2GTO9rsRaqTbCVcPQiuBiP6F3VJMCkAYpnOiEwflem3k6w==",
- "dev": true
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
- "normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
- "dev": true
- },
"npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -15886,79 +15190,6 @@
"path-key": "^3.0.0"
}
},
- "nsp": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/nsp/-/nsp-2.8.1.tgz",
- "integrity": "sha512-jvjDg2Gsw4coD/iZ5eQddsDlkvnwMCNnpG05BproSnuG+Gr1bSQMwWMcQeYje+qdDl3XznmhblMPLpZLecTORQ==",
- "dev": true,
- "requires": {
- "chalk": "^1.1.1",
- "cli-table": "^0.3.1",
- "cvss": "^1.0.0",
- "https-proxy-agent": "^1.0.0",
- "joi": "^6.9.1",
- "nodesecurity-npm-utils": "^5.0.0",
- "path-is-absolute": "^1.0.0",
- "rc": "^1.1.2",
- "semver": "^5.0.3",
- "subcommand": "^2.0.3",
- "wreck": "^6.3.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
- "dev": true
- }
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
- "dev": true
- },
"nyc": {
"version": "15.1.0",
"resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
@@ -16037,6 +15268,74 @@
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
"object-inspect": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
@@ -16049,6 +15348,15 @@
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true
},
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
"object.assign": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
@@ -16061,6 +15369,15 @@
"object-keys": "^1.1.1"
}
},
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -16076,24 +15393,6 @@
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
"dev": true
},
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==",
- "dev": true,
- "requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==",
- "dev": true
- }
- }
- },
"optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
@@ -16120,6 +15419,28 @@
"integrity": "sha512-E3Orl5pvDJXnVmpaAA2TeNNpNhTMl4o5HghuWhOivBjEiTnJSrMYSa5uZMek1lBEvu8kKEsa2YgVcGFVDqX/9w==",
"dev": true
},
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
"outpipe": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
@@ -16129,12 +15450,6 @@
"shell-quote": "^1.4.2"
}
},
- "p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true
- },
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -16180,18 +15495,6 @@
"release-zalgo": "^1.0.0"
}
},
- "package-json": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
- "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
- "dev": true,
- "requires": {
- "got": "^9.6.0",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^6.2.0"
- }
- },
"pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
@@ -16225,19 +15528,16 @@
"asn1.js": "^5.2.0",
"browserify-aes": "^1.0.0",
"evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
- "dev": true,
- "requires": {
- "error-ex": "^1.2.0"
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
}
},
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
+ "dev": true
+ },
"path-browserify": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
@@ -16274,25 +15574,6 @@
"integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
"dev": true
},
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true
- }
- }
- },
"pbkdf2": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
@@ -16390,38 +15671,10 @@
}
}
},
- "pkgd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/pkgd/-/pkgd-1.1.2.tgz",
- "integrity": "sha512-BlIvo3ldAKlHRNv7DHc5CxHFubCgR38YrRSdaZgHp2Lv262kDZrL7ATmKdQycSiHYbjpYmqJN+FkIq6m4qs0Eg==",
- "dev": true,
- "requires": {
- "fstream-npm": "^1.0.7",
- "normalize-path": "^2.0.1",
- "pinkie-promise": "^2.0.1"
- },
- "dependencies": {
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
- "dev": true,
- "requires": {
- "remove-trailing-separator": "^1.0.1"
- }
- }
- }
- },
- "pluralize": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
- "dev": true
- },
- "pop-iterate": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz",
- "integrity": "sha512-HRCx4+KJE30JhX84wBN4+vja9bNfysxg1y28l0DuJmkoaICiv2ZSilKddbS48pq50P8d2erAhqDLbp47yv3MbQ==",
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
"dev": true
},
"prelude-ls": {
@@ -16430,12 +15683,6 @@
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
- "dev": true
- },
"prettier": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
@@ -16507,50 +15754,32 @@
}
},
"publish-please": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/publish-please/-/publish-please-2.4.1.tgz",
- "integrity": "sha512-4LoN1Gjl213ppV41FFbCuVWhWGkLOit1teXKdCPtmQs06/AZ6PjD+OJwDoMDEYEOSzY9XQprv8LSYC3Ci0UBrw==",
- "dev": true,
- "requires": {
- "ban-sensitive-files": "^1.7.2",
- "chalk": "^1.1.1",
- "cp-sugar": "^1.0.0",
- "elegant-status": "^1.0.0",
- "globby": "^4.0.0",
- "inquirer": "^0.12.0",
- "lodash": "^4.7.0",
- "node-emoji": "^1.0.4",
- "nsp": "^2.2.0",
- "pinkie-promise": "^2.0.1",
- "pkgd": "^1.1.2",
- "promisify-event": "^1.0.0",
- "read-pkg": "^1.1.0",
- "semver": "^5.3.0"
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/publish-please/-/publish-please-5.5.2.tgz",
+ "integrity": "sha512-jSoWJj6sXHixoRPxBNv0hURDXw1OqTb8kypobzyBSvGxEVwbGN1BLrpMbDf24g4On7X0zLQDV7+9zwXAwDJ2Og==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.4.1",
+ "cp-sugar": "1.0.0",
+ "elegant-status": "1.1.0",
+ "inquirer": "6.2.0",
+ "is-ci": "1.2.1",
+ "lodash": "4.17.20",
+ "micromatch": "3.1.10",
+ "node-emoji": "1.8.1",
+ "osenv": "0.1.5",
+ "semver": "5.6.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
- "dev": true
- },
"chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
},
"semver": {
@@ -16558,60 +15787,15 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
"dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
- "dev": true
}
}
},
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
- "pupa": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
- "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
- "dev": true,
- "requires": {
- "escape-goat": "^2.0.0"
- }
- },
- "q": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz",
- "integrity": "sha512-gv6vLGcmAOg96/fgo3d9tvA4dJNZL3fMyBqVRrGxQ+Q/o4k9QzbJ3NQF9cOO/71wRodoXhaPgphvMFU68qVAJQ==",
- "dev": true,
- "requires": {
- "asap": "^2.0.0",
- "pop-iterate": "^1.0.1",
- "weak-map": "^1.0.5"
- }
- },
"querystring": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
@@ -16624,18 +15808,6 @@
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true
},
- "quote": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz",
- "integrity": "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ==",
- "dev": true
- },
- "ramda": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz",
- "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==",
- "dev": true
- },
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -16655,26 +15827,6 @@
"safe-buffer": "^5.1.0"
}
},
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "dev": true
- }
- }
- },
"read-only-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
@@ -16684,17 +15836,6 @@
"readable-stream": "^2.0.2"
}
},
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
- "dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- }
- },
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@@ -16730,17 +15871,6 @@
"picomatch": "^2.2.1"
}
},
- "readline2": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
- "integrity": "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "mute-stream": "0.0.5"
- }
- },
"rechoir": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
@@ -16780,6 +15910,16 @@
"@babel/runtime": "^7.8.4"
}
},
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
"regexpp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
@@ -16800,24 +15940,6 @@
"unicode-match-property-value-ecmascript": "^2.0.0"
}
},
- "registry-auth-token": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
- "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
- "dev": true,
- "requires": {
- "rc": "1.2.8"
- }
- },
- "registry-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
- "dev": true,
- "requires": {
- "rc": "^1.2.8"
- }
- },
"regjsgen": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
@@ -16850,10 +15972,16 @@
"es6-error": "^4.0.1"
}
},
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
+ "repeat-element": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
+ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
"dev": true
},
"require-directory": {
@@ -16902,14 +16030,11 @@
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true
},
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
- "dev": true,
- "requires": {
- "lowercase-keys": "^1.0.0"
- }
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
+ "dev": true
},
"restore-cursor": {
"version": "1.0.1",
@@ -16921,6 +16046,12 @@
"onetime": "^1.0.0"
}
},
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -16941,26 +16072,35 @@
}
},
"run-async": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
- "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
"dev": true,
"requires": {
- "once": "^1.3.0"
+ "tslib": "^1.9.0"
}
},
- "rx-lite": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
- "integrity": "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==",
- "dev": true
- },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -16984,15 +16124,6 @@
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
- "semver-diff": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
- "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
- "dev": true,
- "requires": {
- "semver": "^6.3.0"
- }
- },
"serialize-javascript": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
@@ -17008,6 +16139,35 @@
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ }
+ }
+ },
"sha.js": {
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
@@ -17067,35 +16227,204 @@
"integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==",
"dev": true
},
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
+ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
+ "dev": true
+ },
+ "simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
}
},
- "signal-exit": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
- "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
- "dev": true
- },
- "simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "dev": true
- },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
"source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -17114,6 +16443,12 @@
}
}
},
+ "source-map-url": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+ "dev": true
+ },
"spawn-wrap": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
@@ -17139,44 +16474,99 @@
}
}
},
- "spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"dev": true,
"requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
+ "extend-shallow": "^3.0.0"
}
},
- "spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
- "dev": true
- },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
"stream-browserify": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -17250,29 +16640,28 @@
}
},
"string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true,
"requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
},
"dependencies": {
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
+ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
"dev": true
},
"strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "^3.0.0"
}
}
}
@@ -17338,17 +16727,6 @@
"minimist": "^1.1.0"
}
},
- "subcommand": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/subcommand/-/subcommand-2.1.1.tgz",
- "integrity": "sha512-cm7TQq9I8dA5LKUr+r8W7RzQlLsmTdCr6wXmjYueOoh/bQu55ODEw7GFhT42pUyoaLtO2rgmx1+8cSIjY9lR9g==",
- "dev": true,
- "requires": {
- "cliclopts": "^1.1.0",
- "debug": "^4.1.1",
- "minimist": "^1.2.0"
- }
- },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -17465,27 +16843,69 @@
"process": "~0.11.0"
}
},
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
"dev": true
},
- "to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
- "dev": true
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
},
- "topo": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz",
- "integrity": "sha512-vpmONxdZoD0R3hzH0lovwv8QmsqZmGCDE1wXW9YGD/reiDOAbPKEgRDlBCAt8u8nJhav/s/I+r+1gvdpA11x7Q==",
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
"dev": true,
"requires": {
- "hoek": "2.x.x"
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
}
},
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
"tty-browserify": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
@@ -17581,13 +17001,24 @@
"integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
"dev": true
},
- "unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"dev": true,
"requires": {
- "crypto-random-string": "^2.0.0"
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ }
}
},
"universalify": {
@@ -17596,99 +17027,42 @@
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
},
- "update-notifier": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
- "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
- "dev": true,
- "requires": {
- "boxen": "^5.0.0",
- "chalk": "^4.1.0",
- "configstore": "^5.0.1",
- "has-yarn": "^2.1.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^2.0.0",
- "is-installed-globally": "^0.4.0",
- "is-npm": "^5.0.0",
- "is-yarn-global": "^0.3.0",
- "latest-version": "^5.1.0",
- "pupa": "^2.1.1",
- "semver": "^7.3.4",
- "semver-diff": "^3.1.1",
- "xdg-basedir": "^4.0.0"
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
"dev": true,
"requires": {
- "has-flag": "^4.0.0"
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
}
},
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
"dev": true
}
}
@@ -17710,6 +17084,12 @@
}
}
},
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
+ "dev": true
+ },
"url": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
@@ -17728,14 +17108,11 @@
}
}
},
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
- "dev": true,
- "requires": {
- "prepend-http": "^2.0.0"
- }
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
},
"util": {
"version": "0.10.4",
@@ -17772,16 +17149,6 @@
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
"dev": true
},
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -17954,12 +17321,6 @@
"graceful-fs": "^4.1.2"
}
},
- "weak-map": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz",
- "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==",
- "dev": true
- },
"webpack": {
"version": "5.65.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz",
@@ -18113,34 +17474,6 @@
"is-typed-array": "^1.1.7"
}
},
- "widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "dev": true,
- "requires": {
- "string-width": "^4.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
- }
- },
"wildcard": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
@@ -18153,12 +17486,6 @@
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"dev": true
},
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==",
- "dev": true
- },
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -18219,16 +17546,6 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "wreck": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/wreck/-/wreck-6.3.0.tgz",
- "integrity": "sha512-jRAfuPkekn1Mr+1qSB5UK53WXVbbqJKV9GYqe4ue1eStEyiICSES58jGXAbxF5hzSJupy9/F3GBu5YDxVGYdzw==",
- "dev": true,
- "requires": {
- "boom": "2.x.x",
- "hoek": "2.x.x"
- }
- },
"write-file-atomic": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
@@ -18241,12 +17558,6 @@
"typedarray-to-buffer": "^3.1.5"
}
},
- "xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true
- },
"xregexp": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.4.1.tgz",
diff --git a/package.json b/package.json
index fe74ffb6..ddfc8de2 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "fast-xml-parser",
- "version": "4.1.2",
+ "version": "4.2.5",
"description": "Validate XML, Parse XML, Build XML without C/C++ based libraries",
"main": "./src/fxp.js",
"scripts": {
@@ -53,15 +53,18 @@
"jasmine": "^3.6.4",
"nyc": "^15.1.0",
"prettier": "^1.19.1",
- "publish-please": "^2.4.1",
+ "publish-please": "^5.5.2",
"webpack": "^5.64.4",
"webpack-cli": "^4.9.1"
},
"typings": "src/fxp.d.ts",
- "funding": {
+ "funding": [{
"type": "paypal",
"url": "https://paypal.me/naturalintelligence"
- },
+ },{
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }],
"dependencies": {
"strnum": "^1.0.5"
}
diff --git a/spec/arrayMode_spec.js b/spec/arrayMode_spec.js
index 0f62920d..deeb87c4 100644
--- a/spec/arrayMode_spec.js
+++ b/spec/arrayMode_spec.js
@@ -175,6 +175,37 @@ describe("XMLParser with arrayMode enabled", function () {
expect(result).toEqual(expected);
});
+ it("should parse leaf tags with zero or false value correctly in arrayMode", function () {
+ const xmlDataExample = `
+
+ 0
+ false
+ true
+ `
+
+ const expected = {
+ "report":
+ [
+ {
+ "value": 0,
+ "isNew": false,
+ "isReport": true
+ }
+ ]
+ };
+
+ const options = {
+ ignoreAttributes: false,
+ isArray: (tagName, jpath, isLeafNode, isAttribute) => {
+ if(!isLeafNode) return true;
+ }
+ }
+ const parser = new XMLParser(options);
+ const result = parser.parse(xmlDataExample);
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+ });
+
it("should parse only attributes as Array if set", function () {
const expected = {
diff --git a/spec/attr_spec.js b/spec/attr_spec.js
index 5840afd3..f8bffe2e 100644
--- a/spec/attr_spec.js
+++ b/spec/attr_spec.js
@@ -360,3 +360,4 @@ id="7" data="foo bar" bug="true"/>`;
expect(output.replace(/\s+/g, "")).toEqual(XMLdata.replace(/\s+/g, ""));
});
});
+
\ No newline at end of file
diff --git a/spec/entities_spec.js b/spec/entities_spec.js
index 20d50331..8c963f6a 100644
--- a/spec/entities_spec.js
+++ b/spec/entities_spec.js
@@ -376,6 +376,66 @@ describe("XMLParser Entities", function() {
expect(result).toEqual(expected);
});
+
+ it("should throw error if an entity name contains special char", function() {
+ const xmlData = `
+
+
+
+
+ ]>`;
+
+ const options = {
+ processEntities: true,
+ };
+
+ expect(() =>{
+ const parser = new XMLParser(options);
+ parser.parse(xmlData);
+ }).toThrowError("Invalid entity name nj$")
+ });
+
+ it("should allow localised entity names", function() {
+ const xmlData = `
+
+
+
+
+ ]>
+
+
+ Reminder
+ Don't forget me this weekend! &Здраво;
+ `;
+
+ const expected = {
+ "?xml": {
+ "version": "1.0",
+ "encoding": "UTF-8"
+ },
+ "note": {
+ "heading": "Reminder",
+ "body": {
+ "#text": "Don't forget me this weekend! Macedonian hello.",
+ "attr": "Amharic hello!"
+ }
+ }
+ };
+
+ const options = {
+ attributeNamePrefix: "",
+ ignoreAttributes: false,
+ processEntities: true,
+ htmlEntities: true
+ };
+ const parser = new XMLParser(options);
+ let result = parser.parse(xmlData);
+ // console.log(JSON.stringify(result,null,4));
+
+ expect(result).toEqual(expected);
+ });
});
describe("XMLParser External Entites", function() {
@@ -532,4 +592,50 @@ describe("XMLParser External Entites", function() {
expect(result).toEqual(expected);
});
+
+ it("should support entites with tags in content", function() {
+ const xmlData = `
+
+
+
+
+
+
+ "
+ >
+]>
+ `;
+
+ const expected = {
+ "?xml": {
+ "version": "1.0",
+ "encoding": "utf-8"
+ },
+ "svg": {
+ "g": {
+ "#text": " \n \t\n\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t",
+ "transform": "matrix(16,0,0,16,0,0)"
+ },
+ "width": "850px",
+ "height": "700px",
+ "version": "1.1",
+ "xmlns": "http://www.w3.org/2000/svg"
+ }
+ };
+
+ const options = {
+ attributeNamePrefix: "",
+ ignoreAttributes: false,
+ processEntities: true,
+ // preserveOrder: true
+ };
+ const parser = new XMLParser(options);
+ let result = parser.parse(xmlData);
+ // console.log(JSON.stringify(result,null,4));
+
+ expect(result).toEqual(expected);
+ });
});
diff --git a/spec/j2x_spec.js b/spec/j2x_spec.js
index 27e342fb..be0aa81e 100644
--- a/spec/j2x_spec.js
+++ b/spec/j2x_spec.js
@@ -465,4 +465,22 @@ describe("XMLBuilder", function() {
const result = xmlBuilder.build({ root: { test: 'hello' } });
expect(result.replace(/\s+/g, "")).toEqual(expected.replace(/\s+/g, ""));
});
+ it("should group list tags under single tag", function() {
+ const jObj = {
+ "a": [
+ {
+ "b": "1"
+ },
+ {
+ "b": "2"
+ }
+ ]
+ };
+ const builder = new XMLBuilder({oneListGroup:"true"});
+ const result = builder.build(jObj);
+ // console.log(result);
+ const expected = `12`;
+ expect(result).toEqual(expected);
+ });
+
});
diff --git a/spec/temp.js b/spec/temp.js
new file mode 100644
index 00000000..fb223aa5
--- /dev/null
+++ b/spec/temp.js
@@ -0,0 +1,34 @@
+"use strict";
+
+const {XMLParser, XMLBuilder} = require("../src/fxp");
+
+describe("unpaired and empty tags", function() {
+ it("bug test", function() {
+ const xmlData = `
+
+
+
+ whatever
+ `;
+ const expected = {
+ "root": {
+ "a": {
+ "u": "",
+ },
+ "b":"w"
+ }
+ };
+ const options = {
+ unpairedTags: ["unpaired"]
+ };
+ const parser = new XMLParser(options);
+ // const parser = new XMLParser({ updateTag});
+ let result = parser.parse(xmlData);
+
+ console.log(JSON.stringify(result,null,4));
+ // expect(result).toEqual(expected);
+
+ });
+
+
+});
\ No newline at end of file
diff --git a/spec/unpairedTags_spec.js b/spec/unpairedTags_spec.js
index 5ee83911..ff5c1f82 100644
--- a/spec/unpairedTags_spec.js
+++ b/spec/unpairedTags_spec.js
@@ -87,7 +87,7 @@ describe("unpaired and empty tags", function() {
-
+
`;
@@ -274,5 +274,157 @@ describe("unpaired and empty tags", function() {
// console.log(output);
expect(output.replace(/\s+/g, "")).toEqual(expectedXmlData.replace(/\s+/g, ""));
});
+ it("should construct jpath correctly for tag after unpaired tag", function() {
+ const xmlData = `
+
+
+
+
+
+
+
+
+
+ `;
+
+ const jpaths = [
+ "rootNode",
+ "rootNode.unpaired",
+ "rootNode.nested",
+ "rootNode.nested.unpaired",
+ "rootNode.nested.empty",
+ "rootNode.nested.unpaired",
+ "rootNode.empty",
+ "rootNode.stop",
+ "rootNode.unpaired",
+ ]
+ let jPathIndex=0;
+ const options = {
+ // format: true,
+ // preserveOrder: true,
+ ignoreAttributes: false,
+ stopNodes: ["stop"],
+ unpairedTags: ["unpaired", "unpaired2"],
+ updateTag: function(tagName,jpath){
+ // console.log(jpath);
+ expect(jpath).toEqual(jpaths[jPathIndex++]);
+ return tagName;
+ }
+ };
+ const parser = new XMLParser(options);
+ let result = parser.parse(xmlData);
+ // console.log(JSON.stringify(result, null,4));
+
+ });
+});
+
+describe("unpaired tas position", function() {
+ it(" when appears last in nested tag", function() {
+ const xmlData = `w`;
+ const expected = {
+ "root": {
+ "a": {
+ "u": "",
+ },
+ "b":"w"
+ }
+ };
+ const options = {
+ unpairedTags: ["u"]
+ };
+ const parser = new XMLParser(options);
+ // const parser = new XMLParser({ updateTag});
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ });
+ it(" when unpair then unpair self closed", function() {
+ const xmlData = ``;
+ const expected = {
+ "root": {
+ "v": ["",""],
+ "u": ""
+ }
+ }
+ const options = {
+ unpairedTags: ["u","v"]
+ };
+ const parser = new XMLParser(options);
+ // const parser = new XMLParser({ updateTag});
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ });
+ it("when unpair then unpair", function() {
+ const xmlData = ``;
+ const expected = {
+ "root": {
+ "v": ["",""]
+ }
+ }
+ const options = {
+ unpairedTags: ["u","v"]
+ };
+ const parser = new XMLParser(options);
+ // const parser = new XMLParser({ updateTag});
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ });
+ it(" when 2 unpaired then unpaired self closed", function() {
+ const xmlData = ``;
+ const expected = {
+ "root": {
+ "v": ["","",""]
+ }
+ }
+ const options = {
+ unpairedTags: ["u","v"]
+ };
+ const parser = new XMLParser(options);
+ // const parser = new XMLParser({ updateTag});
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ });
+ it(" when unpaired followed by normal self closed", function() {
+ const xmlData = ``;
+ const expected = {
+ "root": {
+ "v": "",
+ "a": ""
+ }
+ }
+ const options = {
+ unpairedTags: ["u","v"]
+ };
+ const parser = new XMLParser(options);
+ // const parser = new XMLParser({ updateTag});
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ });
+ it(" when unpaired is used as closing tag then it's error", function() {
+ const xmlData = ``;
+ const options = {
+ unpairedTags: ["u","v"]
+ };
+ const parser = new XMLParser(options);
+
+ expect(() =>{
+ parser.parse(xmlData);
+ }).toThrowError("Unpaired tag can not be used as closing tag: ")
+
+ });
});
diff --git a/spec/updateTag_spec.js b/spec/updateTag_spec.js
new file mode 100644
index 00000000..dbfded3e
--- /dev/null
+++ b/spec/updateTag_spec.js
@@ -0,0 +1,182 @@
+"use strict";
+
+const {XMLParser, XMLBuilder, XMLValidator} = require("../src/fxp");
+const he = require("he");
+
+describe("XMLParser updateTag ", function() {
+ it("should delete, join, update attribute name and value", function() {
+ const xmlData = `
+
+
+
+
+
+ `;
+ const expected = {
+ "root": {
+ "a": [
+ {
+ "keep": "me"
+ },
+ "",
+ {
+ "need": "friend",
+ "friend": "me"
+ },
+ {
+ "Camel": "case",
+ "makeme": "lower"
+ }
+ ],
+ "b": {
+ "change": "VAL"
+ }
+ }
+ };
+ const options = {
+ attributeNamePrefix: "",
+ ignoreAttributes: false,
+ parseAttributeValue: true,
+ updateTag(tagName, jPath, attrs){
+ if(attrs["skip"]) delete attrs["skip"]
+ if(attrs["camel"]) {
+ attrs["Camel"] = attrs["camel"];
+ delete attrs["camel"];
+ }
+ if(attrs["need"]) {
+ attrs["friend"] = "me";
+ }
+ if(attrs["MakeMe"]) {
+ attrs["makeme"] = attrs["MakeMe"];
+ delete attrs["MakeMe"];
+ }
+ if(attrs["change"]) {
+ attrs["change"] = attrs["change"].toUpperCase();
+ }
+ return tagName;
+ }
+ };
+
+ const parser = new XMLParser(options);
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ result = XMLValidator.validate(xmlData);
+ expect(result).toBe(true);
+ });
+ it("should delete all the attributes", function() {
+ const xmlData = `
+
+
+
+
+
+ `;
+ const expected = {
+ "root": {
+ "a": [
+ "",
+ "",
+ "",
+ ""
+ ],
+ "b": ""
+ }
+ };
+ const options = {
+ attributeNamePrefix: "",
+ ignoreAttributes: false,
+ parseAttributeValue: true,
+ updateTag(tagName, jPath, attrs){
+ for (var k in attrs){
+ if (attrs.hasOwnProperty(k)){
+ delete attrs[k];
+ }
+ }
+ return tagName;
+ }
+ };
+
+ const parser = new XMLParser(options);
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ result = XMLValidator.validate(xmlData);
+ expect(result).toBe(true);
+ });
+ it("should skip a tag or modify tag name", function() {
+ const xmlData = `
+
+
+ Post title
+
+
+ some text
+
+ some text 2
+
+
+
+
+ `;
+ const expected = {
+ "html": {
+ "header": "",
+ "body": {
+ "h1": {
+ "#text": "Post title",
+ "class": "highlight underline"
+ },
+ "div": {
+ "p": [
+ "some text",
+ {
+ "#text": "some text 2",
+ "joint": "abcd"
+ }
+ ],
+ "img": {
+ "width": "200",
+ "height": "200"
+ }
+ }
+ }
+ }
+ };
+ const options = {
+ ignoreAttributes: false,
+ attributeNamePrefix: "",
+ updateTag: function(tagname, jPath, attrs){
+
+ if(tagname ==="h1" && attrs["class"] && attrs["class"].indexOf("highlight") > -1){
+ attrs["class"] += " underline"
+ }else if(attrs["join"]){
+ let val = "";
+ Object.keys(attrs).forEach( a => {
+ val+= attrs[a]
+ delete attrs[a];
+ });
+ attrs["joint"] = val;
+ }
+ if(tagname === "script") return false;
+ else if(tagname === "img"){
+ if(attrs.width > 200 || attrs.height > 200) return false;
+ }else if(tagname === "content"){
+ return "div"
+ }
+ return tagname;
+ },
+ unpairedTags: ["img"]
+ };
+ const parser = new XMLParser(options);
+ let result = parser.parse(xmlData);
+
+ // console.log(JSON.stringify(result,null,4));
+ expect(result).toEqual(expected);
+
+ });
+});
diff --git a/src/fxp.d.ts b/src/fxp.d.ts
index 62237e5e..d622f27e 100644
--- a/src/fxp.d.ts
+++ b/src/fxp.d.ts
@@ -32,6 +32,14 @@ Control how tag value should be parsed. Called only if tag value is not empty
ignorePiTags: boolean;
transformTagName: ((tagName: string) => string) | false;
transformAttributeName: ((attributeName: string) => string) | false;
+ /**
+Change the tag name when a different name is returned. Skip the tag from parsed result when false is returned.
+Modify `attrs` object to control attributes for the given tag.
+
+@returns {string} new tag name.
+@returns false to skip the tag
+ */
+ updateTag: (tagName: string, jPath: string, attrs: {[k: string]: string}) => string | boolean;
};
type strnumOptions = {
hex: boolean;
@@ -65,6 +73,7 @@ type XmlBuilderOptions = {
tagValueProcessor: (name: string, value: unknown) => string;
attributeValueProcessor: (name: string, value: unknown) => string;
processEntities: boolean;
+ oneListGroup: boolean;
};
type XmlBuilderOptionsOptional = Partial;
@@ -94,6 +103,6 @@ export class XMLValidator{
static validate( xmlData: string, options?: validationOptionsOptional): true | ValidationError;
}
export class XMLBuilder {
- constructor(options: XmlBuilderOptionsOptional);
+ constructor(options?: XmlBuilderOptionsOptional);
build(jObj: any): any;
}
diff --git a/src/xmlbuilder/json2xml.js b/src/xmlbuilder/json2xml.js
index 8539655c..6696b9f8 100644
--- a/src/xmlbuilder/json2xml.js
+++ b/src/xmlbuilder/json2xml.js
@@ -33,6 +33,7 @@ const defaultOptions = {
stopNodes: [],
// transformTagName: false,
// transformAttributeName: false,
+ oneListGroup: false
};
function Builder(options) {
@@ -103,6 +104,7 @@ Builder.prototype.j2x = function(jObj, level) {
} else if (Array.isArray(jObj[key])) {
//repeated nodes
const arrLen = jObj[key].length;
+ let listTagVal = "";
for (let j = 0; j < arrLen; j++) {
const item = jObj[key][j];
if (typeof item === 'undefined') {
@@ -112,11 +114,19 @@ Builder.prototype.j2x = function(jObj, level) {
else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
// val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
} else if (typeof item === 'object') {
- val += this.processTextOrObjNode(item, key, level)
+ if(this.options.oneListGroup ){
+ listTagVal += this.j2x(item, level + 1).val;
+ }else{
+ listTagVal += this.processTextOrObjNode(item, key, level)
+ }
} else {
- val += this.buildTextValNode(item, key, '', level);
+ listTagVal += this.buildTextValNode(item, key, '', level);
}
}
+ if(this.options.oneListGroup){
+ listTagVal = this.buildObjectNode(listTagVal, key, '', level);
+ }
+ val += listTagVal;
} else {
//nested node
if (this.options.attributesGroupName && key === this.options.attributesGroupName) {
diff --git a/src/xmlparser/DocTypeReader.js b/src/xmlparser/DocTypeReader.js
index 2c69dfe9..bcf9dee4 100644
--- a/src/xmlparser/DocTypeReader.js
+++ b/src/xmlparser/DocTypeReader.js
@@ -1,3 +1,5 @@
+const util = require('../util');
+
//TODO: handle comments
function readDocType(xmlData, i){
@@ -11,80 +13,34 @@ function readDocType(xmlData, i){
{
i = i+9;
let angleBracketsCount = 1;
- let hasBody = false, entity = false, comment = false;
+ let hasBody = false, comment = false;
let exp = "";
for(;i') {
+ } else if (xmlData[i] === '>') { //Read tag content
if(comment){
if( xmlData[i - 1] === "-" && xmlData[i - 2] === "-"){
comment = false;
angleBracketsCount--;
}
}else{
- if(entity) {
- parseEntityExp(exp, entities);
- entity = false;
- }
angleBracketsCount--;
}
if (angleBracketsCount === 0) {
@@ -105,14 +61,92 @@ function readDocType(xmlData, i){
return {entities, i};
}
-const entityRegex = RegExp("^\\s([a-zA-z0-0]+)[ \t](['\"])([^&]+)\\2");
-function parseEntityExp(exp, entities){
- const match = entityRegex.exec(exp);
- if(match){
- entities[ match[1] ] = {
- regx : RegExp( `&${match[1]};`,"g"),
- val: match[3]
- };
+function readEntityExp(xmlData,i){
+ //External entities are not supported
+ //
+
+ //Parameter entities are not supported
+ //
+
+ //Internal entities are supported
+ //
+
+ //read EntityName
+ let entityName = "";
+ for (; i < xmlData.length && (xmlData[i] !== "'" && xmlData[i] !== '"' ); i++) {
+ // if(xmlData[i] === " ") continue;
+ // else
+ entityName += xmlData[i];
}
+ entityName = entityName.trim();
+ if(entityName.indexOf(" ") !== -1) throw new Error("External entites are not supported");
+
+ //read Entity Value
+ const startChar = xmlData[i++];
+ let val = ""
+ for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {
+ val += xmlData[i];
+ }
+ return [entityName, val, i];
}
-module.exports = readDocType;
\ No newline at end of file
+
+function isComment(xmlData, i){
+ if(xmlData[i+1] === '!' &&
+ xmlData[i+2] === '-' &&
+ xmlData[i+3] === '-') return true
+ return false
+}
+function isEntity(xmlData, i){
+ if(xmlData[i+1] === '!' &&
+ xmlData[i+2] === 'E' &&
+ xmlData[i+3] === 'N' &&
+ xmlData[i+4] === 'T' &&
+ xmlData[i+5] === 'I' &&
+ xmlData[i+6] === 'T' &&
+ xmlData[i+7] === 'Y') return true
+ return false
+}
+function isElement(xmlData, i){
+ if(xmlData[i+1] === '!' &&
+ xmlData[i+2] === 'E' &&
+ xmlData[i+3] === 'L' &&
+ xmlData[i+4] === 'E' &&
+ xmlData[i+5] === 'M' &&
+ xmlData[i+6] === 'E' &&
+ xmlData[i+7] === 'N' &&
+ xmlData[i+8] === 'T') return true
+ return false
+}
+
+function isAttlist(xmlData, i){
+ if(xmlData[i+1] === '!' &&
+ xmlData[i+2] === 'A' &&
+ xmlData[i+3] === 'T' &&
+ xmlData[i+4] === 'T' &&
+ xmlData[i+5] === 'L' &&
+ xmlData[i+6] === 'I' &&
+ xmlData[i+7] === 'S' &&
+ xmlData[i+8] === 'T') return true
+ return false
+}
+function isNotation(xmlData, i){
+ if(xmlData[i+1] === '!' &&
+ xmlData[i+2] === 'N' &&
+ xmlData[i+3] === 'O' &&
+ xmlData[i+4] === 'T' &&
+ xmlData[i+5] === 'A' &&
+ xmlData[i+6] === 'T' &&
+ xmlData[i+7] === 'I' &&
+ xmlData[i+8] === 'O' &&
+ xmlData[i+9] === 'N') return true
+ return false
+}
+
+function validateEntityName(name){
+ if (util.isName(name))
+ return name;
+ else
+ throw new Error(`Invalid entity name ${name}`);
+}
+
+module.exports = readDocType;
diff --git a/src/xmlparser/OptionsBuilder.js b/src/xmlparser/OptionsBuilder.js
index 681a06df..bca37769 100644
--- a/src/xmlparser/OptionsBuilder.js
+++ b/src/xmlparser/OptionsBuilder.js
@@ -34,6 +34,10 @@ const defaultOptions = {
ignorePiTags: false,
transformTagName: false,
transformAttributeName: false,
+ updateTag: function(tagName, jPath, attrs){
+ return tagName
+ },
+ // skipEmptyListItem: false
};
const buildOptions = function(options) {
diff --git a/src/xmlparser/OrderedObjParser.js b/src/xmlparser/OrderedObjParser.js
index b4c9f6c0..db11a8c0 100644
--- a/src/xmlparser/OrderedObjParser.js
+++ b/src/xmlparser/OrderedObjParser.js
@@ -50,6 +50,7 @@ class OrderedObjParser{
this.replaceEntitiesValue = replaceEntitiesValue;
this.readStopNodeData = readStopNodeData;
this.saveTextToParentTag = saveTextToParentTag;
+ this.addChild = addChild;
}
}
@@ -121,7 +122,7 @@ function resolveNameSpace(tagname) {
//const attrsRegx = new RegExp("([\\w\\-\\.\\:]+)\\s*=\\s*(['\"])((.|\n)*?)\\2","gm");
const attrsRegx = new RegExp('([^\\s=]+)\\s*(=\\s*([\'"])([\\s\\S]*?)\\3)?', 'gm');
-function buildAttributesMap(attrStr, jPath) {
+function buildAttributesMap(attrStr, jPath, tagName) {
if (!this.options.ignoreAttributes && typeof attrStr === 'string') {
// attrStr = attrStr.replace(/\r?\n/g, ' ');
//attrStr = attrStr || attrStr.trim();
@@ -171,7 +172,7 @@ function buildAttributesMap(attrStr, jPath) {
attrCollection[this.options.attributesGroupName] = attrs;
return attrCollection;
}
- return attrs;
+ return attrs
}
}
@@ -205,9 +206,21 @@ const parseXml = function(xmlData) {
textData = this.saveTextToParentTag(textData, currentNode, jPath);
}
- jPath = jPath.substr(0, jPath.lastIndexOf("."));
-
- currentNode = this.tagsNodeStack.pop();//avoid recurssion, set the parent tag scope
+ //check if last tag of nested tag was unpaired tag
+ const lastTagName = jPath.substring(jPath.lastIndexOf(".")+1);
+ if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){
+ throw new Error(`Unpaired tag can not be used as closing tag: ${tagName}>`);
+ }
+ let propIndex = 0
+ if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){
+ propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)
+ this.tagsNodeStack.pop();
+ }else{
+ propIndex = jPath.lastIndexOf(".");
+ }
+ jPath = jPath.substring(0, propIndex);
+
+ currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope
textData = "";
i = closeIndex;
} else if( xmlData[i+1] === '?') {
@@ -224,9 +237,9 @@ const parseXml = function(xmlData) {
childNode.add(this.options.textNodeName, "");
if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){
- childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath);
+ childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);
}
- currentNode.addChild(childNode);
+ this.addChild(currentNode, childNode, jPath)
}
@@ -283,23 +296,22 @@ const parseXml = function(xmlData) {
}
}
- if(tagName !== xmlObj.tagname){
- jPath += jPath ? "." + tagName : tagName;
- }
-
//check if last tag was unpaired tag
const lastTag = currentNode;
if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){
currentNode = this.tagsNodeStack.pop();
+ jPath = jPath.substring(0, jPath.lastIndexOf("."));
+ }
+ if(tagName !== xmlObj.tagname){
+ jPath += jPath ? "." + tagName : tagName;
}
-
if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace
let tagContent = "";
//self-closing tag
if(tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1){
i = result.closeIndex;
}
- //boolean tag
+ //unpaired tag
else if(this.options.unpairedTags.indexOf(tagName) !== -1){
i = result.closeIndex;
}
@@ -314,7 +326,7 @@ const parseXml = function(xmlData) {
const childNode = new xmlNode(tagName);
if(tagName !== tagExp && attrExpPresent){
- childNode[":@"] = this.buildAttributesMap(tagExp, jPath);
+ childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName);
}
if(tagContent) {
tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);
@@ -323,7 +335,7 @@ const parseXml = function(xmlData) {
jPath = jPath.substr(0, jPath.lastIndexOf("."));
childNode.add(this.options.textNodeName, tagContent);
- currentNode.addChild(childNode);
+ this.addChild(currentNode, childNode, jPath)
}else{
//selfClosing tag
if(tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1){
@@ -340,10 +352,10 @@ const parseXml = function(xmlData) {
const childNode = new xmlNode(tagName);
if(tagName !== tagExp && attrExpPresent){
- childNode[":@"] = this.buildAttributesMap(tagExp, jPath);
+ childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName);
}
+ this.addChild(currentNode, childNode, jPath)
jPath = jPath.substr(0, jPath.lastIndexOf("."));
- currentNode.addChild(childNode);
}
//opening tag
else{
@@ -351,9 +363,9 @@ const parseXml = function(xmlData) {
this.tagsNodeStack.push(currentNode);
if(tagName !== tagExp && attrExpPresent){
- childNode[":@"] = this.buildAttributesMap(tagExp, jPath);
+ childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName);
}
- currentNode.addChild(childNode);
+ this.addChild(currentNode, childNode, jPath)
currentNode = childNode;
}
textData = "";
@@ -367,6 +379,17 @@ const parseXml = function(xmlData) {
return xmlObj.child;
}
+function addChild(currentNode, childNode, jPath){
+ const result = this.options.updateTag(childNode.tagname, jPath, childNode[":@"])
+ if(result === false){
+ }else if(typeof result === "string"){
+ childNode.tagname = result
+ currentNode.addChild(childNode);
+ }else{
+ currentNode.addChild(childNode);
+ }
+}
+
const replaceEntitiesValue = function(val){
if(this.options.processEntities){
@@ -423,7 +446,7 @@ function isItStopNode(stopNodes, jPath, currentTagName){
}
/**
- * Returns the tag Expression and where it is ending handling single-dobule quotes situation
+ * Returns the tag Expression and where it is ending handling single-double quotes situation
* @param {string} xmlData
* @param {number} i starting index
* @returns
diff --git a/src/xmlparser/node2json.js b/src/xmlparser/node2json.js
index 9320facf..30455738 100644
--- a/src/xmlparser/node2json.js
+++ b/src/xmlparser/node2json.js
@@ -94,8 +94,20 @@ function assignAttributes(obj, attrMap, jpath, options){
}
function isLeafTag(obj, options){
+ const { textNodeName } = options;
const propCount = Object.keys(obj).length;
- if( propCount === 0 || (propCount === 1 && obj[options.textNodeName]) ) return true;
+
+ if (propCount === 0) {
+ return true;
+ }
+
+ if (
+ propCount === 1 &&
+ (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)
+ ) {
+ return true;
+ }
+
return false;
}
exports.prettify = prettify;
diff --git a/yarn.lock b/yarn.lock
index 7cb86cec..592ff84e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1085,18 +1085,6 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@sindresorhus/is@^0.14.0":
- "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
- "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz"
- "version" "0.14.0"
-
-"@szmarczak/http-timer@^1.1.2":
- "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA=="
- "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz"
- "version" "1.1.2"
- dependencies:
- "defer-to-connect" "^1.0.1"
-
"@types/eslint-scope@^3.7.0":
"integrity" "sha512-TzgYCWoPiTeRg6RQYgtuW7iODtVoKu3RVL72k3WohqhjfaOLK5Mg2T4Tg1o2bSfu0vPkoI48wdQFv5b/Xe04wQ=="
"resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.2.tgz"
@@ -1310,14 +1298,6 @@
"resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
"version" "7.4.1"
-"agent-base@2":
- "integrity" "sha512-oDtZV740o3fr5oJtPLOsgH2hl2TRPscNXIx4VzzBwVlXVkv8RHm7XXqGAYg8t20+Gwu6LNDnx8HRMGqVGPZ8Vw=="
- "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz"
- "version" "2.1.1"
- dependencies:
- "extend" "~3.0.0"
- "semver" "~5.0.1"
-
"aggregate-error@^3.0.0":
"integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA=="
"resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz"
@@ -1341,33 +1321,31 @@
"json-schema-traverse" "^0.4.1"
"uri-js" "^4.2.2"
-"always-error@1.0.0":
- "integrity" "sha512-FQOCVM9Tv+0skDiLBTemM0LN9IdoRxCqbo+AVpPPRorj34VvC7mFORDWdtEPKHRjC4N0KaxGGpVv35/7k0QbWA=="
- "resolved" "https://registry.npmjs.org/always-error/-/always-error-1.0.0.tgz"
- "version" "1.0.0"
-
-"ansi-align@^3.0.0":
- "integrity" "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="
- "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz"
- "version" "3.0.1"
- dependencies:
- "string-width" "^4.1.0"
-
"ansi-colors@^4.1.1":
"integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
"resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"
"version" "4.1.1"
-"ansi-escapes@^1.0.0", "ansi-escapes@^1.1.0":
+"ansi-escapes@^1.0.0":
"integrity" "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw=="
"resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz"
"version" "1.4.0"
+"ansi-escapes@^3.0.0":
+ "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="
+ "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz"
+ "version" "3.2.0"
+
"ansi-regex@^2.0.0":
"integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
"resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
"version" "2.1.1"
+"ansi-regex@^3.0.0":
+ "integrity" "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw=="
+ "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz"
+ "version" "3.0.1"
+
"ansi-regex@^5.0.1":
"integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
"resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
@@ -1385,7 +1363,14 @@
dependencies:
"color-convert" "^1.9.0"
-"ansi-styles@^4.0.0", "ansi-styles@^4.1.0":
+"ansi-styles@^4.0.0":
+ "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
+ "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+ "version" "4.3.0"
+ dependencies:
+ "color-convert" "^2.0.1"
+
+"ansi-styles@^4.1.0":
"integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
"resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
"version" "4.3.0"
@@ -1424,27 +1409,25 @@
"resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
"version" "2.0.1"
-"array-union@^1.0.1":
- "integrity" "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng=="
- "resolved" "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz"
- "version" "1.0.2"
- dependencies:
- "array-uniq" "^1.0.1"
+"arr-diff@^4.0.0":
+ "integrity" "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA=="
+ "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz"
+ "version" "4.0.0"
-"array-uniq@^1.0.1":
- "integrity" "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q=="
- "resolved" "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
- "version" "1.0.3"
+"arr-flatten@^1.1.0":
+ "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
+ "version" "1.1.0"
-"arrify@^1.0.0":
- "integrity" "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA=="
- "resolved" "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
- "version" "1.0.1"
+"arr-union@^3.1.0":
+ "integrity" "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q=="
+ "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz"
+ "version" "3.1.0"
-"asap@^2.0.0":
- "integrity" "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
- "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz"
- "version" "2.0.6"
+"array-unique@^0.3.2":
+ "integrity" "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ=="
+ "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz"
+ "version" "0.3.2"
"asn1.js@^5.2.0":
"integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA=="
@@ -1464,11 +1447,21 @@
"object-assign" "^4.1.1"
"util" "0.10.3"
+"assign-symbols@^1.0.0":
+ "integrity" "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw=="
+ "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz"
+ "version" "1.0.0"
+
"at-least-node@^1.0.0":
"integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
"resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz"
"version" "1.0.0"
+"atob@^2.1.2":
+ "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+ "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"
+ "version" "2.1.2"
+
"available-typed-arrays@^1.0.5":
"integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
"resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
@@ -1537,19 +1530,18 @@
"resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
"version" "1.0.2"
-"ban-sensitive-files@^1.7.2":
- "integrity" "sha512-+jD9ucQcSFRfJW9pi7sPiEnl3j2cPsOq3fsN+jWJ/7EvX8kMYP4alaYYcifyrFqLNYbOzlsD8wgBhgrnepePxQ=="
- "resolved" "https://registry.npmjs.org/ban-sensitive-files/-/ban-sensitive-files-1.9.18.tgz"
- "version" "1.9.18"
+"base@^0.11.1":
+ "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg=="
+ "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz"
+ "version" "0.11.2"
dependencies:
- "bluebird" "3.7.2"
- "check-more-types" "2.24.0"
- "debug" "4.3.4"
- "ggit" "2.4.12"
- "lazy-ass" "1.6.0"
- "pluralize" "8.0.0"
- "ramda" "0.28.0"
- "update-notifier" "5.1.0"
+ "cache-base" "^1.0.1"
+ "class-utils" "^0.3.5"
+ "component-emitter" "^1.2.1"
+ "define-property" "^1.0.0"
+ "isobject" "^3.0.1"
+ "mixin-deep" "^1.2.0"
+ "pascalcase" "^0.1.1"
"base64-js@^1.0.2":
"integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
@@ -1576,16 +1568,11 @@
"resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
"version" "2.2.0"
-"bluebird@^3.5.1", "bluebird@^3.7.2", "bluebird@3.7.2":
+"bluebird@^3.7.2":
"integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
"resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
"version" "3.7.2"
-"bluebird@3.5.1":
- "integrity" "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
- "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz"
- "version" "3.5.1"
-
"bn.js@^4.0.0":
"integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
"resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz"
@@ -1606,27 +1593,6 @@
"resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz"
"version" "5.2.0"
-"boom@2.x.x":
- "integrity" "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q=="
- "resolved" "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
- "version" "2.10.1"
- dependencies:
- "hoek" "2.x.x"
-
-"boxen@^5.0.0":
- "integrity" "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ=="
- "resolved" "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz"
- "version" "5.1.2"
- dependencies:
- "ansi-align" "^3.0.0"
- "camelcase" "^6.2.0"
- "chalk" "^4.1.0"
- "cli-boxes" "^2.2.1"
- "string-width" "^4.2.2"
- "type-fest" "^0.20.2"
- "widest-line" "^3.1.0"
- "wrap-ansi" "^7.0.0"
-
"brace-expansion@^1.1.7":
"integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
"resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
@@ -1635,6 +1601,22 @@
"balanced-match" "^1.0.0"
"concat-map" "0.0.1"
+"braces@^2.3.1":
+ "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w=="
+ "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz"
+ "version" "2.3.2"
+ dependencies:
+ "arr-flatten" "^1.1.0"
+ "array-unique" "^0.3.2"
+ "extend-shallow" "^2.0.1"
+ "fill-range" "^4.0.0"
+ "isobject" "^3.0.1"
+ "repeat-element" "^1.1.2"
+ "snapdragon" "^0.8.1"
+ "snapdragon-node" "^2.0.1"
+ "split-string" "^3.0.2"
+ "to-regex" "^3.0.1"
+
"braces@~3.0.2":
"integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="
"resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
@@ -1869,18 +1851,20 @@
"resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"
"version" "3.0.0"
-"cacheable-request@^6.0.0":
- "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg=="
- "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz"
- "version" "6.1.0"
+"cache-base@^1.0.1":
+ "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ=="
+ "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz"
+ "version" "1.0.1"
dependencies:
- "clone-response" "^1.0.2"
- "get-stream" "^5.1.0"
- "http-cache-semantics" "^4.0.0"
- "keyv" "^3.0.0"
- "lowercase-keys" "^2.0.0"
- "normalize-url" "^4.1.0"
- "responselike" "^1.0.2"
+ "collection-visit" "^1.0.0"
+ "component-emitter" "^1.2.1"
+ "get-value" "^2.0.6"
+ "has-value" "^1.0.0"
+ "isobject" "^3.0.1"
+ "set-value" "^2.0.0"
+ "to-object-path" "^0.3.0"
+ "union-value" "^1.0.0"
+ "unset-value" "^1.0.0"
"cached-path-relative@^1.0.0", "cached-path-relative@^1.0.2":
"integrity" "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
@@ -1915,27 +1899,11 @@
"resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
"version" "5.3.1"
-"camelcase@^6.2.0":
- "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
- "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
- "version" "6.3.0"
-
"caniuse-lite@^1.0.30001286":
"integrity" "sha512-WfrtPEoNSoeATDlf4y3QvkwiELl9GyPLISV5GejTbbQRtQx4LhsXmc9IQ6XCL2d7UxCyEzToEZNMeqR79OUw8Q=="
"resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz"
"version" "1.0.30001296"
-"chalk@^1.0.0":
- "integrity" "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A=="
- "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
- "version" "1.1.3"
- dependencies:
- "ansi-styles" "^2.2.1"
- "escape-string-regexp" "^1.0.2"
- "has-ansi" "^2.0.0"
- "strip-ansi" "^3.0.0"
- "supports-color" "^2.0.0"
-
"chalk@^1.1.1":
"integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
"resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
@@ -1964,28 +1932,19 @@
"ansi-styles" "^4.1.0"
"supports-color" "^7.1.0"
-"chalk@^4.1.0":
- "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="
- "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
- "version" "4.1.2"
- dependencies:
- "ansi-styles" "^4.1.0"
- "supports-color" "^7.1.0"
-
-"chdir-promise@0.6.2":
- "integrity" "sha512-EG5MutQt4qTxoQPfBtPCfU1A/MqborgaO66xrPSD/dRTB40OLN0wy+YAo5ZAw7DawhtCPdZHAdQ206fyWkhoiw=="
- "resolved" "https://registry.npmjs.org/chdir-promise/-/chdir-promise-0.6.2.tgz"
- "version" "0.6.2"
+"chalk@2.4.1":
+ "integrity" "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ=="
+ "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz"
+ "version" "2.4.1"
dependencies:
- "bluebird" "^3.5.1"
- "check-more-types" "2.24.0"
- "debug" "3.1.0"
- "lazy-ass" "1.6.0"
+ "ansi-styles" "^3.2.1"
+ "escape-string-regexp" "^1.0.5"
+ "supports-color" "^5.3.0"
-"check-more-types@2.24.0":
- "integrity" "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA=="
- "resolved" "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz"
- "version" "2.24.0"
+"chardet@^0.7.0":
+ "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+ "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"
+ "version" "0.7.0"
"chokidar@^3.4.0":
"integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ=="
@@ -2007,10 +1966,10 @@
"resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz"
"version" "1.0.3"
-"ci-info@^2.0.0":
- "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
- "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz"
- "version" "2.0.0"
+"ci-info@^1.5.0":
+ "integrity" "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A=="
+ "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz"
+ "version" "1.6.0"
"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3":
"integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q=="
@@ -2020,40 +1979,40 @@
"inherits" "^2.0.1"
"safe-buffer" "^5.0.1"
+"class-utils@^0.3.5":
+ "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg=="
+ "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz"
+ "version" "0.3.6"
+ dependencies:
+ "arr-union" "^3.1.0"
+ "define-property" "^0.2.5"
+ "isobject" "^3.0.0"
+ "static-extend" "^0.1.1"
+
"clean-stack@^2.0.0":
"integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
"resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz"
"version" "2.2.0"
-"cli-boxes@^2.2.1":
- "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw=="
- "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz"
- "version" "2.2.1"
-
-"cli-cursor@^1.0.1", "cli-cursor@^1.0.2":
+"cli-cursor@^1.0.2":
"integrity" "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A=="
"resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz"
"version" "1.0.2"
dependencies:
"restore-cursor" "^1.0.1"
-"cli-table@^0.3.1", "cli-table@0.3.1":
- "integrity" "sha512-h/TzJrgwzVV+W6laITBZAxAWfBjX4T0x+LF5XJdS1AzDkXqmraMNnKQ/O/f3AHJKVR85fOglUEdS/B0P1wS7Aw=="
- "resolved" "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz"
- "version" "0.3.1"
+"cli-cursor@^2.1.0":
+ "integrity" "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw=="
+ "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz"
+ "version" "2.1.0"
dependencies:
- "colors" "1.0.3"
+ "restore-cursor" "^2.0.0"
"cli-width@^2.0.0":
"integrity" "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="
"resolved" "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz"
"version" "2.2.1"
-"cliclopts@^1.1.0":
- "integrity" "sha512-dJk8y+TJmOy9Kqha0aWN0rwM5E5EQCVjhl2GTz1CrkqzxkQZ26/hyrNmy7lwePdZc4iNcdHL1tTdcIBeNQhmww=="
- "resolved" "https://registry.npmjs.org/cliclopts/-/cliclopts-1.1.1.tgz"
- "version" "1.1.1"
-
"cliui@^6.0.0":
"integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="
"resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz"
@@ -2072,18 +2031,6 @@
"kind-of" "^6.0.2"
"shallow-clone" "^3.0.0"
-"clone-response@^1.0.2":
- "integrity" "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="
- "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz"
- "version" "1.0.3"
- dependencies:
- "mimic-response" "^1.0.0"
-
-"code-point-at@^1.0.0":
- "integrity" "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA=="
- "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
- "version" "1.1.0"
-
"coffeeify@^3.0.1":
"integrity" "sha512-Qjnr7UX6ldK1PHV7wCnv7AuCd4q19KTUtwJnu/6JRJB4rfm12zvcXtKdacUoePOKr1I4ka/ydKiwWpNAdsQb0g=="
"resolved" "https://registry.npmjs.org/coffeeify/-/coffeeify-3.0.1.tgz"
@@ -2097,6 +2044,14 @@
"resolved" "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz"
"version" "1.12.7"
+"collection-visit@^1.0.0":
+ "integrity" "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw=="
+ "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "map-visit" "^1.0.0"
+ "object-visit" "^1.0.0"
+
"color-convert@^1.9.0":
"integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
"resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
@@ -2126,16 +2081,6 @@
"resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz"
"version" "2.0.16"
-"colors@1.0.3":
- "integrity" "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw=="
- "resolved" "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz"
- "version" "1.0.3"
-
-"colors@1.3.2":
- "integrity" "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ=="
- "resolved" "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz"
- "version" "1.3.2"
-
"combine-source-map@^0.8.0", "combine-source-map@~0.8.0":
"integrity" "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos="
"resolved" "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz"
@@ -2156,16 +2101,16 @@
"resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
"version" "7.2.0"
-"commander@2.17.1":
- "integrity" "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
- "resolved" "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz"
- "version" "2.17.1"
-
"commondir@^1.0.1":
"integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
"resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz"
"version" "1.0.1"
+"component-emitter@^1.2.1":
+ "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz"
+ "version" "1.3.0"
+
"concat-map@0.0.1":
"integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
"resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
@@ -2181,18 +2126,6 @@
"readable-stream" "^2.2.2"
"typedarray" "^0.0.6"
-"configstore@^5.0.1":
- "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA=="
- "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz"
- "version" "5.0.1"
- dependencies:
- "dot-prop" "^5.2.0"
- "graceful-fs" "^4.1.2"
- "make-dir" "^3.0.0"
- "unique-string" "^2.0.0"
- "write-file-atomic" "^3.0.0"
- "xdg-basedir" "^4.0.0"
-
"console-browserify@^1.1.0":
"integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
"resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz"
@@ -2215,6 +2148,11 @@
"resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz"
"version" "1.1.3"
+"copy-descriptor@^0.1.0":
+ "integrity" "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw=="
+ "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz"
+ "version" "0.1.1"
+
"core-js-compat@^3.18.0", "core-js-compat@^3.19.1":
"integrity" "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg=="
"resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz"
@@ -2233,7 +2171,7 @@
"resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz"
"version" "1.0.3"
-"cp-sugar@^1.0.0":
+"cp-sugar@1.0.0":
"integrity" "sha1-HCb5vcocA89q90SmVSOf+THMq28="
"resolved" "https://registry.npmjs.org/cp-sugar/-/cp-sugar-1.0.0.tgz"
"version" "1.0.0"
@@ -2308,11 +2246,6 @@
"randombytes" "^2.0.0"
"randomfill" "^1.0.3"
-"crypto-random-string@^2.0.0":
- "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
- "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz"
- "version" "2.0.0"
-
"cucumber-expressions@^8.3.0":
"integrity" "sha512-cP2ya0EiorwXBC7Ll7Cj7NELYbasNv9Ty42L4u7sso9KruWemWG1ZiTq4PMqir3SNDSrbykoqI5wZgMbLEDjLQ=="
"resolved" "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.3.0.tgz"
@@ -2328,11 +2261,6 @@
dependencies:
"nyc" "^15.1.0"
-"cvss@^1.0.0":
- "integrity" "sha512-lfApnkcBoP+3viCUFOrqRmeqsyoIuiXouYg3Gt+1f3wsYzm1xDXnvyyMiPGoODFYWnoAl9LHPWWJH5zM6HaUoA=="
- "resolved" "https://registry.npmjs.org/cvss/-/cvss-1.0.5.tgz"
- "version" "1.0.5"
-
"cytorus@^0.2.9":
"integrity" "sha512-YpNlDh2xbS/ZLTtWpEzw8Tli6vGVKuAmiMjEo/c2QN8nmn4DKaD5+gXo7VsDXFnaFGvsPvCZ5M7sk79/b7CLSg=="
"resolved" "https://registry.npmjs.org/cytorus/-/cytorus-0.2.13.tgz"
@@ -2347,60 +2275,41 @@
"strnum" "^1.0.4"
"through" "^2.3.8"
-"d3-helpers@0.3.0":
- "integrity" "sha512-uNJ5QRsTW7CdNC6CHX528VwIEzYCC/iFHMQ9ReaDUGA+iiJXHcR2uKobK68FkKSWmNYPxwaUV+9SswjoygF6VA=="
- "resolved" "https://registry.npmjs.org/d3-helpers/-/d3-helpers-0.3.0.tgz"
- "version" "0.3.0"
-
"dash-ast@^1.0.0":
"integrity" "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA=="
"resolved" "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz"
"version" "1.0.0"
-"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@4.3.4":
- "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
- "version" "4.3.4"
- dependencies:
- "ms" "2.1.2"
-
-"debug@2":
+"debug@^2.2.0":
"integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
"resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
"version" "2.6.9"
dependencies:
"ms" "2.0.0"
-"debug@3.1.0":
- "integrity" "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz"
- "version" "3.1.0"
+"debug@^2.3.3":
+ "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
+ "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
+ "version" "2.6.9"
dependencies:
"ms" "2.0.0"
-"debug@3.2.6":
- "integrity" "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz"
- "version" "3.2.6"
+"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2":
+ "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
+ "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
+ "version" "4.3.4"
dependencies:
- "ms" "^2.1.1"
+ "ms" "2.1.2"
"decamelize@^1.2.0":
"integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
"resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
"version" "1.2.0"
-"decompress-response@^3.3.0":
- "integrity" "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA=="
- "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz"
- "version" "3.3.0"
- dependencies:
- "mimic-response" "^1.0.0"
-
-"deep-extend@^0.6.0":
- "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
- "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"
- "version" "0.6.0"
+"decode-uri-component@^0.2.0":
+ "integrity" "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ=="
+ "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz"
+ "version" "0.2.2"
"deep-is@^0.1.3":
"integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
@@ -2414,11 +2323,6 @@
dependencies:
"strip-bom" "^4.0.0"
-"defer-to-connect@^1.0.1":
- "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
- "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz"
- "version" "1.1.3"
-
"define-properties@^1.1.3":
"integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="
"resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz"
@@ -2426,6 +2330,28 @@
dependencies:
"object-keys" "^1.0.12"
+"define-property@^0.2.5":
+ "integrity" "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA=="
+ "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz"
+ "version" "0.2.5"
+ dependencies:
+ "is-descriptor" "^0.1.0"
+
+"define-property@^1.0.0":
+ "integrity" "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA=="
+ "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "is-descriptor" "^1.0.0"
+
+"define-property@^2.0.2":
+ "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ=="
+ "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz"
+ "version" "2.0.2"
+ dependencies:
+ "is-descriptor" "^1.0.2"
+ "isobject" "^3.0.1"
+
"defined@^1.0.0":
"integrity" "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
"resolved" "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
@@ -2479,13 +2405,6 @@
"resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz"
"version" "1.2.0"
-"dot-prop@^5.2.0":
- "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q=="
- "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz"
- "version" "5.3.0"
- dependencies:
- "is-obj" "^2.0.0"
-
"duplexer2@^0.1.2", "duplexer2@~0.1.0", "duplexer2@~0.1.2":
"integrity" "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME="
"resolved" "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz"
@@ -2493,11 +2412,6 @@
dependencies:
"readable-stream" "^2.0.2"
-"duplexer3@^0.1.4":
- "integrity" "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA=="
- "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz"
- "version" "0.1.5"
-
"electron-to-chromium@^1.4.17":
"integrity" "sha512-MbLlbF39vKrXWlFEFpCgDHwdlz4O3LmHM5W4tiLRHjSmEUXjJjz8sZkMgWgvYxlZw3N1iDTmCEtOkkESb5TMCg=="
"resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.36.tgz"
@@ -2508,7 +2422,7 @@
"resolved" "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz"
"version" "1.0.1"
-"elegant-status@^1.0.0":
+"elegant-status@1.1.0":
"integrity" "sha1-Qe9KXy0DZCmDurtPZKS1drEVUhU="
"resolved" "https://registry.npmjs.org/elegant-status/-/elegant-status-1.1.0.tgz"
"version" "1.1.0"
@@ -2541,13 +2455,6 @@
"resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz"
"version" "3.0.0"
-"end-of-stream@^1.1.0":
- "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="
- "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
- "version" "1.4.4"
- dependencies:
- "once" "^1.4.0"
-
"enhanced-resolve@^5.8.3":
"integrity" "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA=="
"resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz"
@@ -2568,13 +2475,6 @@
"resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz"
"version" "7.8.1"
-"error-ex@^1.2.0":
- "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="
- "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"
- "version" "1.3.2"
- dependencies:
- "is-arrayish" "^0.2.1"
-
"es-abstract@^1.18.5":
"integrity" "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w=="
"resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz"
@@ -2625,11 +2525,6 @@
"resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
"version" "3.1.1"
-"escape-goat@^2.0.0":
- "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q=="
- "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz"
- "version" "2.1.1"
-
"escape-string-regexp@^1.0.2", "escape-string-regexp@^1.0.5":
"integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
"resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
@@ -2803,10 +2698,56 @@
"resolved" "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz"
"version" "1.1.1"
-"extend@~3.0.0", "extend@3":
- "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
+"expand-brackets@^2.1.4":
+ "integrity" "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA=="
+ "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz"
+ "version" "2.1.4"
+ dependencies:
+ "debug" "^2.3.3"
+ "define-property" "^0.2.5"
+ "extend-shallow" "^2.0.1"
+ "posix-character-classes" "^0.1.0"
+ "regex-not" "^1.0.0"
+ "snapdragon" "^0.8.1"
+ "to-regex" "^3.0.1"
+
+"extend-shallow@^2.0.1":
+ "integrity" "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="
+ "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz"
+ "version" "2.0.1"
+ dependencies:
+ "is-extendable" "^0.1.0"
+
+"extend-shallow@^3.0.0", "extend-shallow@^3.0.2":
+ "integrity" "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q=="
+ "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz"
"version" "3.0.2"
+ dependencies:
+ "assign-symbols" "^1.0.0"
+ "is-extendable" "^1.0.1"
+
+"external-editor@^3.0.0":
+ "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew=="
+ "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz"
+ "version" "3.1.0"
+ dependencies:
+ "chardet" "^0.7.0"
+ "iconv-lite" "^0.4.24"
+ "tmp" "^0.0.33"
+
+"extglob@^2.0.4":
+ "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw=="
+ "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz"
+ "version" "2.0.4"
+ dependencies:
+ "array-unique" "^0.3.2"
+ "define-property" "^1.0.0"
+ "expand-brackets" "^2.1.4"
+ "extend-shallow" "^2.0.1"
+ "fragment-cache" "^0.2.1"
+ "regex-not" "^1.0.0"
+ "snapdragon" "^0.8.1"
+ "to-regex" "^3.0.1"
"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3":
"integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
@@ -2833,13 +2774,12 @@
"resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz"
"version" "1.0.12"
-"figures@^1.3.5":
- "integrity" "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ=="
- "resolved" "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz"
- "version" "1.7.0"
+"figures@^2.0.0":
+ "integrity" "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA=="
+ "resolved" "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz"
+ "version" "2.0.0"
dependencies:
"escape-string-regexp" "^1.0.5"
- "object-assign" "^4.1.0"
"file-entry-cache@^6.0.1":
"integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg=="
@@ -2848,6 +2788,16 @@
dependencies:
"flat-cache" "^3.0.4"
+"fill-range@^4.0.0":
+ "integrity" "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ=="
+ "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz"
+ "version" "4.0.0"
+ dependencies:
+ "extend-shallow" "^2.0.1"
+ "is-number" "^3.0.0"
+ "repeat-string" "^1.6.1"
+ "to-regex-range" "^2.1.0"
+
"fill-range@^7.0.1":
"integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="
"resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
@@ -2897,13 +2847,6 @@
"locate-path" "^5.0.0"
"path-exists" "^4.0.0"
-"find-up@3.0.0":
- "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="
- "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz"
- "version" "3.0.0"
- dependencies:
- "locate-path" "^3.0.0"
-
"flat-cache@^3.0.4":
"integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg=="
"resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
@@ -2922,6 +2865,11 @@
"resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz"
"version" "1.14.8"
+"for-in@^1.0.2":
+ "integrity" "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ=="
+ "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
+ "version" "1.0.2"
+
"foreach@^2.0.5":
"integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
"resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz"
@@ -2935,6 +2883,13 @@
"cross-spawn" "^7.0.0"
"signal-exit" "^3.0.2"
+"fragment-cache@^0.2.1":
+ "integrity" "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA=="
+ "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz"
+ "version" "0.2.1"
+ dependencies:
+ "map-cache" "^0.2.2"
+
"fromentries@^1.2.0":
"integrity" "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg=="
"resolved" "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz"
@@ -2955,33 +2910,6 @@
"resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
"version" "1.0.0"
-"fstream-ignore@^1.0.0":
- "integrity" "sha512-VVRuOs41VUqptEGiR0N5ZoWEcfGvbGRqLINyZAhHRnF3DH5wrqjNkYr3VbRoZnI41BZgO7zIVdiobc13TVI1ow=="
- "resolved" "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz"
- "version" "1.0.5"
- dependencies:
- "fstream" "^1.0.0"
- "inherits" "2"
- "minimatch" "^3.0.0"
-
-"fstream-npm@^1.0.7":
- "integrity" "sha512-iBHpm/LmD1qw0TlHMAqVd9rwdU6M+EHRUnPkXpRi5G/Hf0FIFH+oZFryodAU2MFNfGRh/CzhUFlMKV3pdeOTDw=="
- "resolved" "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.1.tgz"
- "version" "1.2.1"
- dependencies:
- "fstream-ignore" "^1.0.0"
- "inherits" "2"
-
-"fstream@^1.0.0":
- "integrity" "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg=="
- "resolved" "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz"
- "version" "1.0.12"
- dependencies:
- "graceful-fs" "^4.1.2"
- "inherits" "~2.0.0"
- "mkdirp" ">=0.5 0"
- "rimraf" "2"
-
"function-bind@^1.1.1":
"integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
@@ -3021,20 +2949,6 @@
"resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz"
"version" "0.1.0"
-"get-stream@^4.1.0":
- "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w=="
- "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz"
- "version" "4.1.0"
- dependencies:
- "pump" "^3.0.0"
-
-"get-stream@^5.1.0":
- "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="
- "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz"
- "version" "5.2.0"
- dependencies:
- "pump" "^3.0.0"
-
"get-stream@^6.0.0":
"integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
"resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
@@ -3048,32 +2962,10 @@
"call-bind" "^1.0.2"
"get-intrinsic" "^1.1.1"
-"ggit@2.4.12":
- "integrity" "sha512-29DxkCEmqhXNk+JrV8GNQ+IY8OaJ1J2jC+B/vPvOk7CWs/2K8uX2DQeMlnFy7S+NeJrTNcLWfPJDdi6IflDt/A=="
- "resolved" "https://registry.npmjs.org/ggit/-/ggit-2.4.12.tgz"
- "version" "2.4.12"
- dependencies:
- "always-error" "1.0.0"
- "bluebird" "3.5.1"
- "chdir-promise" "0.6.2"
- "check-more-types" "2.24.0"
- "cli-table" "0.3.1"
- "colors" "1.3.2"
- "commander" "2.17.1"
- "d3-helpers" "0.3.0"
- "debug" "3.2.6"
- "find-up" "3.0.0"
- "glob" "7.1.3"
- "lazy-ass" "1.6.0"
- "lodash" "4.17.15"
- "moment" "2.23.0"
- "moment-timezone" "0.5.23"
- "optimist" "0.6.1"
- "pluralize" "7.0.0"
- "q" "2.0.3"
- "quote" "0.4.0"
- "ramda" "0.26.1"
- "semver" "5.6.0"
+"get-value@^2.0.3", "get-value@^2.0.6":
+ "integrity" "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA=="
+ "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz"
+ "version" "2.0.6"
"glob-parent@^6.0.1":
"integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="
@@ -3094,17 +2986,6 @@
"resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
"version" "0.4.1"
-"glob@^6.0.1":
- "integrity" "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A=="
- "resolved" "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz"
- "version" "6.0.4"
- dependencies:
- "inflight" "^1.0.4"
- "inherits" "2"
- "minimatch" "2 || 3"
- "once" "^1.3.0"
- "path-is-absolute" "^1.0.0"
-
"glob@^7.1.0", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6", "glob@^7.2.0":
"integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q=="
"resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz"
@@ -3117,25 +2998,6 @@
"once" "^1.3.0"
"path-is-absolute" "^1.0.0"
-"glob@7.1.3":
- "integrity" "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ=="
- "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz"
- "version" "7.1.3"
- dependencies:
- "fs.realpath" "^1.0.0"
- "inflight" "^1.0.4"
- "inherits" "2"
- "minimatch" "^3.0.4"
- "once" "^1.3.0"
- "path-is-absolute" "^1.0.0"
-
-"global-dirs@^3.0.0":
- "integrity" "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA=="
- "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz"
- "version" "3.0.0"
- dependencies:
- "ini" "2.0.0"
-
"globals@^11.1.0":
"integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
"resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
@@ -3155,35 +3017,6 @@
dependencies:
"type-fest" "^0.20.2"
-"globby@^4.0.0":
- "integrity" "sha512-JPDtMSr0bt25W64q792rvlrSwIaZwqUAhqdYKSr57Wh/xBcQ5JDWLM85ndn+Q1WdBQXLb9YGCl0QN/T0HpqU0A=="
- "resolved" "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz"
- "version" "4.1.0"
- dependencies:
- "array-union" "^1.0.1"
- "arrify" "^1.0.0"
- "glob" "^6.0.1"
- "object-assign" "^4.0.1"
- "pify" "^2.0.0"
- "pinkie-promise" "^2.0.0"
-
-"got@^9.6.0":
- "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q=="
- "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz"
- "version" "9.6.0"
- dependencies:
- "@sindresorhus/is" "^0.14.0"
- "@szmarczak/http-timer" "^1.1.2"
- "cacheable-request" "^6.0.0"
- "decompress-response" "^3.3.0"
- "duplexer3" "^0.1.4"
- "get-stream" "^4.1.0"
- "lowercase-keys" "^1.0.1"
- "mimic-response" "^1.0.1"
- "p-cancelable" "^1.0.0"
- "to-readable-stream" "^1.0.0"
- "url-parse-lax" "^3.0.0"
-
"graceful-fs@^4.1.15", "graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.4":
"integrity" "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
"resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz"
@@ -3223,10 +3056,36 @@
dependencies:
"has-symbols" "^1.0.2"
-"has-yarn@^2.1.0":
- "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw=="
- "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz"
- "version" "2.1.0"
+"has-value@^0.3.1":
+ "integrity" "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q=="
+ "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz"
+ "version" "0.3.1"
+ dependencies:
+ "get-value" "^2.0.3"
+ "has-values" "^0.1.4"
+ "isobject" "^2.0.0"
+
+"has-value@^1.0.0":
+ "integrity" "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw=="
+ "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "get-value" "^2.0.6"
+ "has-values" "^1.0.0"
+ "isobject" "^3.0.0"
+
+"has-values@^0.1.4":
+ "integrity" "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ=="
+ "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz"
+ "version" "0.1.4"
+
+"has-values@^1.0.0":
+ "integrity" "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ=="
+ "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "is-number" "^3.0.0"
+ "kind-of" "^4.0.0"
"has@^1.0.0", "has@^1.0.3":
"integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
@@ -3274,16 +3133,6 @@
"minimalistic-assert" "^1.0.0"
"minimalistic-crypto-utils" "^1.0.1"
-"hoek@2.x.x":
- "integrity" "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ=="
- "resolved" "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
- "version" "2.16.3"
-
-"hosted-git-info@^2.1.4":
- "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
- "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz"
- "version" "2.8.9"
-
"html-escaper@^2.0.0":
"integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="
"resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz"
@@ -3294,30 +3143,23 @@
"resolved" "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz"
"version" "1.1.1"
-"http-cache-semantics@^4.0.0":
- "integrity" "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
- "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz"
- "version" "4.1.1"
-
"https-browserify@^1.0.0":
"integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
"resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz"
"version" "1.0.0"
-"https-proxy-agent@^1.0.0":
- "integrity" "sha512-OZhm7//JDnQthMVqlPAfkZyPO2fMhfHY6gY+jZcX8rLfFiGtHiIQrfD80WvCDHNMQ77Ak3r5CiPRDD2rNzo2OQ=="
- "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz"
- "version" "1.0.0"
- dependencies:
- "agent-base" "2"
- "debug" "2"
- "extend" "3"
-
"human-signals@^2.1.0":
"integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
"resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
"version" "2.1.0"
+"iconv-lite@^0.4.24":
+ "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="
+ "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
+ "version" "0.4.24"
+ dependencies:
+ "safer-buffer" ">= 2.1.2 < 3"
+
"ieee754@^1.1.4":
"integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
"resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
@@ -3336,11 +3178,6 @@
"parent-module" "^1.0.0"
"resolve-from" "^4.0.0"
-"import-lazy@^2.1.0":
- "integrity" "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A=="
- "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz"
- "version" "2.1.0"
-
"import-local@^3.0.2":
"integrity" "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA=="
"resolved" "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz"
@@ -3367,7 +3204,7 @@
"once" "^1.3.0"
"wrappy" "1"
-"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.0", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@~2.0.4", "inherits@2":
+"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@~2.0.4", "inherits@2":
"integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
"resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
"version" "2.0.4"
@@ -3382,16 +3219,6 @@
"resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
"version" "2.0.3"
-"ini@~1.3.0":
- "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
- "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
- "version" "1.3.8"
-
-"ini@2.0.0":
- "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA=="
- "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz"
- "version" "2.0.0"
-
"inline-source-map@~0.6.0":
"integrity" "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU="
"resolved" "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz"
@@ -3399,23 +3226,23 @@
dependencies:
"source-map" "~0.5.3"
-"inquirer@^0.12.0":
- "integrity" "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ=="
- "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz"
- "version" "0.12.0"
+"inquirer@6.2.0":
+ "integrity" "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg=="
+ "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz"
+ "version" "6.2.0"
dependencies:
- "ansi-escapes" "^1.1.0"
- "ansi-regex" "^2.0.0"
- "chalk" "^1.0.0"
- "cli-cursor" "^1.0.1"
+ "ansi-escapes" "^3.0.0"
+ "chalk" "^2.0.0"
+ "cli-cursor" "^2.1.0"
"cli-width" "^2.0.0"
- "figures" "^1.3.5"
- "lodash" "^4.3.0"
- "readline2" "^1.0.1"
- "run-async" "^0.1.0"
- "rx-lite" "^3.1.2"
- "string-width" "^1.0.1"
- "strip-ansi" "^3.0.0"
+ "external-editor" "^3.0.0"
+ "figures" "^2.0.0"
+ "lodash" "^4.17.10"
+ "mute-stream" "0.0.7"
+ "run-async" "^2.2.0"
+ "rxjs" "^6.1.0"
+ "string-width" "^2.1.0"
+ "strip-ansi" "^4.0.0"
"through" "^2.3.6"
"insert-module-globals@^7.0.0", "insert-module-globals@^7.2.1":
@@ -3448,6 +3275,20 @@
"resolved" "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz"
"version" "2.2.0"
+"is-accessor-descriptor@^0.1.6":
+ "integrity" "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A=="
+ "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"
+ "version" "0.1.6"
+ dependencies:
+ "kind-of" "^3.0.2"
+
+"is-accessor-descriptor@^1.0.0":
+ "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ=="
+ "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "kind-of" "^6.0.0"
+
"is-arguments@^1.0.4":
"integrity" "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA=="
"resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz"
@@ -3456,11 +3297,6 @@
"call-bind" "^1.0.2"
"has-tostringtag" "^1.0.0"
-"is-arrayish@^0.2.1":
- "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
- "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
- "version" "0.2.1"
-
"is-bigint@^1.0.1":
"integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg=="
"resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz"
@@ -3483,7 +3319,7 @@
"call-bind" "^1.0.2"
"has-tostringtag" "^1.0.0"
-"is-buffer@^1.1.0":
+"is-buffer@^1.1.0", "is-buffer@^1.1.5":
"integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
"resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
"version" "1.1.6"
@@ -3493,12 +3329,12 @@
"resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz"
"version" "1.2.4"
-"is-ci@^2.0.0":
- "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w=="
- "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz"
- "version" "2.0.0"
+"is-ci@1.2.1":
+ "integrity" "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg=="
+ "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz"
+ "version" "1.2.1"
dependencies:
- "ci-info" "^2.0.0"
+ "ci-info" "^1.5.0"
"is-core-module@^2.8.0":
"integrity" "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA=="
@@ -3507,6 +3343,20 @@
dependencies:
"has" "^1.0.3"
+"is-data-descriptor@^0.1.4":
+ "integrity" "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg=="
+ "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"
+ "version" "0.1.4"
+ dependencies:
+ "kind-of" "^3.0.2"
+
+"is-data-descriptor@^1.0.0":
+ "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ=="
+ "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "kind-of" "^6.0.0"
+
"is-date-object@^1.0.1":
"integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ=="
"resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz"
@@ -3514,17 +3364,50 @@
dependencies:
"has-tostringtag" "^1.0.0"
+"is-descriptor@^0.1.0":
+ "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg=="
+ "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
+ "version" "0.1.6"
+ dependencies:
+ "is-accessor-descriptor" "^0.1.6"
+ "is-data-descriptor" "^0.1.4"
+ "kind-of" "^5.0.0"
+
+"is-descriptor@^1.0.0", "is-descriptor@^1.0.2":
+ "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg=="
+ "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "is-accessor-descriptor" "^1.0.0"
+ "is-data-descriptor" "^1.0.0"
+ "kind-of" "^6.0.2"
+
+"is-extendable@^0.1.0", "is-extendable@^0.1.1":
+ "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
+ "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ "version" "0.1.1"
+
+"is-extendable@^0.1.1":
+ "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
+ "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ "version" "0.1.1"
+
+"is-extendable@^1.0.1":
+ "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA=="
+ "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "is-plain-object" "^2.0.4"
+
"is-extglob@^2.1.1":
"integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
"resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
"version" "2.1.1"
-"is-fullwidth-code-point@^1.0.0":
- "integrity" "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw=="
- "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
- "version" "1.0.0"
- dependencies:
- "number-is-nan" "^1.0.0"
+"is-fullwidth-code-point@^2.0.0":
+ "integrity" "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w=="
+ "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"
+ "version" "2.0.0"
"is-fullwidth-code-point@^3.0.0":
"integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
@@ -3545,24 +3428,11 @@
dependencies:
"is-extglob" "^2.1.1"
-"is-installed-globally@^0.4.0":
- "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ=="
- "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz"
- "version" "0.4.0"
- dependencies:
- "global-dirs" "^3.0.0"
- "is-path-inside" "^3.0.2"
-
"is-negative-zero@^2.0.1":
"integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
"resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz"
"version" "2.0.2"
-"is-npm@^5.0.0":
- "integrity" "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA=="
- "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz"
- "version" "5.0.0"
-
"is-number-object@^1.0.4":
"integrity" "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g=="
"resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz"
@@ -3570,22 +3440,19 @@
dependencies:
"has-tostringtag" "^1.0.0"
+"is-number@^3.0.0":
+ "integrity" "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg=="
+ "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz"
+ "version" "3.0.0"
+ dependencies:
+ "kind-of" "^3.0.2"
+
"is-number@^7.0.0":
"integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
"resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
"version" "7.0.0"
-"is-obj@^2.0.0":
- "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
- "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"
- "version" "2.0.0"
-
-"is-path-inside@^3.0.2":
- "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
- "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz"
- "version" "3.0.3"
-
-"is-plain-object@^2.0.4":
+"is-plain-object@^2.0.3", "is-plain-object@^2.0.4":
"integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="
"resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
"version" "2.0.4"
@@ -3640,11 +3507,6 @@
"resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
"version" "1.0.0"
-"is-utf8@^0.2.0":
- "integrity" "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q=="
- "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
- "version" "0.2.1"
-
"is-weakref@^1.0.1":
"integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ=="
"resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz"
@@ -3657,27 +3519,24 @@
"resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz"
"version" "1.0.2"
-"is-yarn-global@^0.3.0":
- "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw=="
- "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz"
- "version" "0.3.0"
-
-"isarray@~1.0.0":
+"isarray@~1.0.0", "isarray@1.0.0":
"integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
"resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
"version" "1.0.0"
-"isemail@1.x.x":
- "integrity" "sha512-pZMb1rDrWRAPtVY92VCxWtF+1gExWrCnao+GL1EKHx6z19ovW+xNcnC1iNB7WkbSYWlyl3uwlaH5eaBx2s2crw=="
- "resolved" "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz"
- "version" "1.2.0"
-
"isexe@^2.0.0":
"integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
"resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
"version" "2.0.0"
-"isobject@^3.0.1":
+"isobject@^2.0.0":
+ "integrity" "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA=="
+ "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"
+ "version" "2.1.0"
+ dependencies:
+ "isarray" "1.0.0"
+
+"isobject@^3.0.0", "isobject@^3.0.1":
"integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
"resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
"version" "3.0.1"
@@ -3765,16 +3624,6 @@
"merge-stream" "^2.0.0"
"supports-color" "^8.0.0"
-"joi@^6.9.1":
- "integrity" "sha512-K6+OwGaWM1sBEu+XMbgC4zDmg6hnddS2DWiCVtjnhkcrzv+ejSfh7HGUsoxmWQkv6kHEsVFAywttfkpmIE2QwQ=="
- "resolved" "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz"
- "version" "6.10.1"
- dependencies:
- "hoek" "2.x.x"
- "isemail" "1.x.x"
- "moment" "2.x.x"
- "topo" "1.x.x"
-
"js-tokens@^4.0.0":
"integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
"resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
@@ -3805,11 +3654,6 @@
"resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
"version" "0.5.0"
-"json-buffer@3.0.0":
- "integrity" "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ=="
- "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz"
- "version" "3.0.0"
-
"json-parse-better-errors@^1.0.2":
"integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
"resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"
@@ -3871,14 +3715,33 @@
"jsonparse" "^1.2.0"
"through" ">=2.2.7 <3"
-"keyv@^3.0.0":
- "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA=="
- "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz"
- "version" "3.1.0"
+"kind-of@^3.0.2", "kind-of@^3.0.3":
+ "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="
+ "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ "version" "3.2.2"
dependencies:
- "json-buffer" "3.0.0"
+ "is-buffer" "^1.1.5"
-"kind-of@^6.0.2":
+"kind-of@^3.2.0":
+ "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="
+ "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ "version" "3.2.2"
+ dependencies:
+ "is-buffer" "^1.1.5"
+
+"kind-of@^4.0.0":
+ "integrity" "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw=="
+ "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"
+ "version" "4.0.0"
+ dependencies:
+ "is-buffer" "^1.1.5"
+
+"kind-of@^5.0.0":
+ "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
+ "version" "5.1.0"
+
+"kind-of@^6.0.0", "kind-of@^6.0.2":
"integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
"resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"
"version" "6.0.3"
@@ -3891,18 +3754,6 @@
"inherits" "^2.0.1"
"stream-splicer" "^2.0.0"
-"latest-version@^5.1.0":
- "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA=="
- "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz"
- "version" "5.1.0"
- dependencies:
- "package-json" "^6.3.0"
-
-"lazy-ass@1.6.0":
- "integrity" "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw=="
- "resolved" "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz"
- "version" "1.6.0"
-
"levn@^0.4.1":
"integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="
"resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
@@ -3911,17 +3762,6 @@
"prelude-ls" "^1.2.1"
"type-check" "~0.4.0"
-"load-json-file@^1.0.0":
- "integrity" "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A=="
- "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz"
- "version" "1.1.0"
- dependencies:
- "graceful-fs" "^4.1.2"
- "parse-json" "^2.2.0"
- "pify" "^2.0.0"
- "pinkie-promise" "^2.0.0"
- "strip-bom" "^2.0.0"
-
"loader-runner@^4.2.0":
"integrity" "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw=="
"resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz"
@@ -3981,15 +3821,10 @@
"resolved" "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz"
"version" "4.4.0"
-"lodash@^4.3.0", "lodash@^4.7.0":
- "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
- "version" "4.17.21"
-
-"lodash@4.17.15":
- "integrity" "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
- "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz"
- "version" "4.17.15"
+"lodash@^4.17.10", "lodash@4.17.20":
+ "integrity" "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
+ "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz"
+ "version" "4.17.20"
"log-update@^1.0.2":
"integrity" "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE="
@@ -3999,16 +3834,6 @@
"ansi-escapes" "^1.0.0"
"cli-cursor" "^1.0.2"
-"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1":
- "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
- "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz"
- "version" "1.0.1"
-
-"lowercase-keys@^2.0.0":
- "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
- "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz"
- "version" "2.0.0"
-
"lru-cache@^4.0.0":
"integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="
"resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz"
@@ -4046,6 +3871,18 @@
dependencies:
"semver" "^6.0.0"
+"map-cache@^0.2.2":
+ "integrity" "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg=="
+ "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"
+ "version" "0.2.2"
+
+"map-visit@^1.0.0":
+ "integrity" "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w=="
+ "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "object-visit" "^1.0.0"
+
"md5.js@^1.3.4":
"integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg=="
"resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz"
@@ -4060,6 +3897,25 @@
"resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
"version" "2.0.0"
+"micromatch@3.1.10":
+ "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg=="
+ "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz"
+ "version" "3.1.10"
+ dependencies:
+ "arr-diff" "^4.0.0"
+ "array-unique" "^0.3.2"
+ "braces" "^2.3.1"
+ "define-property" "^2.0.2"
+ "extend-shallow" "^3.0.2"
+ "extglob" "^2.0.4"
+ "fragment-cache" "^0.2.1"
+ "kind-of" "^6.0.2"
+ "nanomatch" "^1.2.9"
+ "object.pick" "^1.3.0"
+ "regex-not" "^1.0.0"
+ "snapdragon" "^0.8.1"
+ "to-regex" "^3.0.2"
+
"miller-rabin@^4.0.0":
"integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA=="
"resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz"
@@ -4080,16 +3936,16 @@
dependencies:
"mime-db" "1.51.0"
+"mimic-fn@^1.0.0":
+ "integrity" "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz"
+ "version" "1.2.0"
+
"mimic-fn@^2.1.0":
"integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
"resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
"version" "2.1.0"
-"mimic-response@^1.0.0", "mimic-response@^1.0.1":
- "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz"
- "version" "1.0.1"
-
"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1":
"integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
"resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"
@@ -4100,35 +3956,31 @@
"resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
"version" "1.0.1"
-"minimatch@^3.0.0", "minimatch@^3.0.4", "minimatch@2 || 3":
+"minimatch@^3.0.4":
"integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="
"resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
"version" "3.1.2"
dependencies:
"brace-expansion" "^1.1.7"
-"minimist@^1.1.0", "minimist@^1.1.1", "minimist@^1.2.0", "minimist@^1.2.6":
+"minimist@^1.1.0", "minimist@^1.1.1", "minimist@^1.2.0":
"integrity" "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
"resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz"
"version" "1.2.6"
-"minimist@~0.0.1":
- "integrity" "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw=="
- "resolved" "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"
- "version" "0.0.10"
+"mixin-deep@^1.2.0":
+ "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA=="
+ "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz"
+ "version" "1.3.2"
+ dependencies:
+ "for-in" "^1.0.2"
+ "is-extendable" "^1.0.1"
"mkdirp-classic@^0.5.2":
"integrity" "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
"resolved" "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz"
"version" "0.5.3"
-"mkdirp@>=0.5 0":
- "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
- "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz"
- "version" "0.5.6"
- dependencies:
- "minimist" "^1.2.6"
-
"module-deps@^6.2.3":
"integrity" "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA=="
"resolved" "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz"
@@ -4150,32 +4002,37 @@
"through2" "^2.0.0"
"xtend" "^4.0.0"
-"moment-timezone@0.5.23":
- "integrity" "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w=="
- "resolved" "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz"
- "version" "0.5.23"
- dependencies:
- "moment" ">= 2.9.0"
-
-"moment@>= 2.9.0", "moment@2.23.0", "moment@2.x.x":
- "integrity" "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA=="
- "resolved" "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz"
- "version" "2.23.0"
-
-"ms@^2.1.1", "ms@2.1.2":
- "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
- "version" "2.1.2"
-
"ms@2.0.0":
"integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
"resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
"version" "2.0.0"
-"mute-stream@0.0.5":
- "integrity" "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg=="
- "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
- "version" "0.0.5"
+"ms@2.1.2":
+ "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
+ "version" "2.1.2"
+
+"mute-stream@0.0.7":
+ "integrity" "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ=="
+ "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz"
+ "version" "0.0.7"
+
+"nanomatch@^1.2.9":
+ "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA=="
+ "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz"
+ "version" "1.2.13"
+ dependencies:
+ "arr-diff" "^4.0.0"
+ "array-unique" "^0.3.2"
+ "define-property" "^2.0.2"
+ "extend-shallow" "^3.0.2"
+ "fragment-cache" "^0.2.1"
+ "is-windows" "^1.0.2"
+ "kind-of" "^6.0.2"
+ "object.pick" "^1.3.0"
+ "regex-not" "^1.0.0"
+ "snapdragon" "^0.8.1"
+ "to-regex" "^3.0.1"
"natural-compare@^1.4.0":
"integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
@@ -4187,7 +4044,7 @@
"resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz"
"version" "2.6.2"
-"node-emoji@^1.0.4":
+"node-emoji@1.8.1":
"integrity" "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg=="
"resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz"
"version" "1.8.1"
@@ -4206,38 +4063,11 @@
"resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz"
"version" "2.0.1"
-"nodesecurity-npm-utils@^5.0.0":
- "integrity" "sha512-356xXArWp+e1w4s1FdnFmQTcIVlQdOPENvoia4WI2GTO9rsRaqTbCVcPQiuBiP6F3VJMCkAYpnOiEwflem3k6w=="
- "resolved" "https://registry.npmjs.org/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz"
- "version" "5.0.0"
-
-"normalize-package-data@^2.3.2":
- "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA=="
- "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz"
- "version" "2.5.0"
- dependencies:
- "hosted-git-info" "^2.1.4"
- "resolve" "^1.10.0"
- "semver" "2 || 3 || 4 || 5"
- "validate-npm-package-license" "^3.0.1"
-
-"normalize-path@^2.0.1":
- "integrity" "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w=="
- "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
- "version" "2.1.1"
- dependencies:
- "remove-trailing-separator" "^1.0.1"
-
"normalize-path@^3.0.0", "normalize-path@~3.0.0":
"integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
"resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
"version" "3.0.0"
-"normalize-url@^4.1.0":
- "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
- "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz"
- "version" "4.5.1"
-
"npm-run-path@^4.0.1":
"integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="
"resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
@@ -4245,28 +4075,6 @@
dependencies:
"path-key" "^3.0.0"
-"nsp@^2.2.0":
- "integrity" "sha512-jvjDg2Gsw4coD/iZ5eQddsDlkvnwMCNnpG05BproSnuG+Gr1bSQMwWMcQeYje+qdDl3XznmhblMPLpZLecTORQ=="
- "resolved" "https://registry.npmjs.org/nsp/-/nsp-2.8.1.tgz"
- "version" "2.8.1"
- dependencies:
- "chalk" "^1.1.1"
- "cli-table" "^0.3.1"
- "cvss" "^1.0.0"
- "https-proxy-agent" "^1.0.0"
- "joi" "^6.9.1"
- "nodesecurity-npm-utils" "^5.0.0"
- "path-is-absolute" "^1.0.0"
- "rc" "^1.1.2"
- "semver" "^5.0.3"
- "subcommand" "^2.0.3"
- "wreck" "^6.3.0"
-
-"number-is-nan@^1.0.0":
- "integrity" "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ=="
- "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
- "version" "1.0.1"
-
"nyc@^15.1.0":
"integrity" "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A=="
"resolved" "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz"
@@ -4300,11 +4108,20 @@
"test-exclude" "^6.0.0"
"yargs" "^15.0.2"
-"object-assign@^4.0.1", "object-assign@^4.1.0", "object-assign@^4.1.1":
+"object-assign@^4.1.1":
"integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
"resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
"version" "4.1.1"
+"object-copy@^0.1.0":
+ "integrity" "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ=="
+ "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz"
+ "version" "0.1.0"
+ dependencies:
+ "copy-descriptor" "^0.1.0"
+ "define-property" "^0.2.5"
+ "kind-of" "^3.0.3"
+
"object-inspect@^1.11.0", "object-inspect@^1.9.0":
"integrity" "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
"resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz"
@@ -4315,6 +4132,13 @@
"resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
"version" "1.1.1"
+"object-visit@^1.0.0":
+ "integrity" "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA=="
+ "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "isobject" "^3.0.0"
+
"object.assign@^4.1.0", "object.assign@^4.1.2":
"integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ=="
"resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz"
@@ -4325,7 +4149,14 @@
"has-symbols" "^1.0.1"
"object-keys" "^1.1.1"
-"once@^1.3.0", "once@^1.3.1", "once@^1.4.0":
+"object.pick@^1.3.0":
+ "integrity" "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ=="
+ "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz"
+ "version" "1.3.0"
+ dependencies:
+ "isobject" "^3.0.1"
+
+"once@^1.3.0":
"integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
"resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
"version" "1.4.0"
@@ -4337,6 +4168,13 @@
"resolved" "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz"
"version" "1.1.0"
+"onetime@^2.0.0":
+ "integrity" "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ=="
+ "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz"
+ "version" "2.0.1"
+ dependencies:
+ "mimic-fn" "^1.0.0"
+
"onetime@^5.1.2":
"integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="
"resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
@@ -4344,14 +4182,6 @@
dependencies:
"mimic-fn" "^2.1.0"
-"optimist@0.6.1":
- "integrity" "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g=="
- "resolved" "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"
- "version" "0.6.1"
- dependencies:
- "minimist" "~0.0.1"
- "wordwrap" "~0.0.2"
-
"optionator@^0.9.1":
"integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw=="
"resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz"
@@ -4374,6 +4204,24 @@
"resolved" "https://registry.npmjs.org/os-family/-/os-family-1.1.0.tgz"
"version" "1.1.0"
+"os-homedir@^1.0.0":
+ "integrity" "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ=="
+ "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+ "version" "1.0.2"
+
+"os-tmpdir@^1.0.0", "os-tmpdir@~1.0.2":
+ "integrity" "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g=="
+ "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ "version" "1.0.2"
+
+"osenv@0.1.5":
+ "integrity" "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g=="
+ "resolved" "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz"
+ "version" "0.1.5"
+ dependencies:
+ "os-homedir" "^1.0.0"
+ "os-tmpdir" "^1.0.0"
+
"outpipe@^1.1.0":
"integrity" "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I="
"resolved" "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz"
@@ -4381,11 +4229,6 @@
dependencies:
"shell-quote" "^1.4.2"
-"p-cancelable@^1.0.0":
- "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
- "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz"
- "version" "1.1.0"
-
"p-limit@^2.0.0", "p-limit@^2.2.0":
"integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="
"resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"
@@ -4429,16 +4272,6 @@
"lodash.flattendeep" "^4.4.0"
"release-zalgo" "^1.0.0"
-"package-json@^6.3.0":
- "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ=="
- "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz"
- "version" "6.5.0"
- dependencies:
- "got" "^9.6.0"
- "registry-auth-token" "^4.0.0"
- "registry-url" "^5.0.0"
- "semver" "^6.2.0"
-
"pako@~1.0.5":
"integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
"resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz"
@@ -4469,12 +4302,10 @@
"pbkdf2" "^3.0.3"
"safe-buffer" "^5.1.1"
-"parse-json@^2.2.0":
- "integrity" "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ=="
- "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz"
- "version" "2.2.0"
- dependencies:
- "error-ex" "^1.2.0"
+"pascalcase@^0.1.1":
+ "integrity" "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw=="
+ "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz"
+ "version" "0.1.1"
"path-browserify@^1.0.0":
"integrity" "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
@@ -4487,7 +4318,7 @@
"version" "0.0.1"
"path-exists@^3.0.0":
- "integrity" "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="
+ "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
"resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"
"version" "3.0.0"
@@ -4516,15 +4347,6 @@
"resolved" "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz"
"version" "0.11.15"
-"path-type@^1.0.0":
- "integrity" "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg=="
- "resolved" "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
- "version" "1.1.0"
- dependencies:
- "graceful-fs" "^4.1.2"
- "pify" "^2.0.0"
- "pinkie-promise" "^2.0.0"
-
"pbkdf2@^3.0.3":
"integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA=="
"resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz"
@@ -4546,17 +4368,12 @@
"resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
"version" "2.3.1"
-"pify@^2.0.0":
- "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
- "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
- "version" "2.3.0"
-
"pify@^4.0.1":
"integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
"resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz"
"version" "4.0.1"
-"pinkie-promise@^2.0.0", "pinkie-promise@^2.0.1":
+"pinkie-promise@^2.0.0":
"integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o="
"resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
"version" "2.0.1"
@@ -4594,40 +4411,16 @@
dependencies:
"find-up" "^4.0.0"
-"pkgd@^1.1.2":
- "integrity" "sha512-BlIvo3ldAKlHRNv7DHc5CxHFubCgR38YrRSdaZgHp2Lv262kDZrL7ATmKdQycSiHYbjpYmqJN+FkIq6m4qs0Eg=="
- "resolved" "https://registry.npmjs.org/pkgd/-/pkgd-1.1.2.tgz"
- "version" "1.1.2"
- dependencies:
- "fstream-npm" "^1.0.7"
- "normalize-path" "^2.0.1"
- "pinkie-promise" "^2.0.1"
-
-"pluralize@7.0.0":
- "integrity" "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow=="
- "resolved" "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz"
- "version" "7.0.0"
-
-"pluralize@8.0.0":
- "integrity" "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="
- "resolved" "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz"
- "version" "8.0.0"
-
-"pop-iterate@^1.0.1":
- "integrity" "sha512-HRCx4+KJE30JhX84wBN4+vja9bNfysxg1y28l0DuJmkoaICiv2ZSilKddbS48pq50P8d2erAhqDLbp47yv3MbQ=="
- "resolved" "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz"
- "version" "1.0.1"
+"posix-character-classes@^0.1.0":
+ "integrity" "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg=="
+ "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz"
+ "version" "0.1.1"
"prelude-ls@^1.2.1":
"integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
"resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
"version" "1.2.1"
-"prepend-http@^2.0.0":
- "integrity" "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA=="
- "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz"
- "version" "2.0.0"
-
"prettier@^1.19.1":
"integrity" "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew=="
"resolved" "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz"
@@ -4679,33 +4472,21 @@
"randombytes" "^2.0.1"
"safe-buffer" "^5.1.2"
-"publish-please@^2.4.1":
- "integrity" "sha512-4LoN1Gjl213ppV41FFbCuVWhWGkLOit1teXKdCPtmQs06/AZ6PjD+OJwDoMDEYEOSzY9XQprv8LSYC3Ci0UBrw=="
- "resolved" "https://registry.npmjs.org/publish-please/-/publish-please-2.4.1.tgz"
- "version" "2.4.1"
- dependencies:
- "ban-sensitive-files" "^1.7.2"
- "chalk" "^1.1.1"
- "cp-sugar" "^1.0.0"
- "elegant-status" "^1.0.0"
- "globby" "^4.0.0"
- "inquirer" "^0.12.0"
- "lodash" "^4.7.0"
- "node-emoji" "^1.0.4"
- "nsp" "^2.2.0"
- "pinkie-promise" "^2.0.1"
- "pkgd" "^1.1.2"
- "promisify-event" "^1.0.0"
- "read-pkg" "^1.1.0"
- "semver" "^5.3.0"
-
-"pump@^3.0.0":
- "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="
- "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
- "version" "3.0.0"
- dependencies:
- "end-of-stream" "^1.1.0"
- "once" "^1.3.1"
+"publish-please@^5.5.2":
+ "integrity" "sha512-jSoWJj6sXHixoRPxBNv0hURDXw1OqTb8kypobzyBSvGxEVwbGN1BLrpMbDf24g4On7X0zLQDV7+9zwXAwDJ2Og=="
+ "resolved" "https://registry.npmjs.org/publish-please/-/publish-please-5.5.2.tgz"
+ "version" "5.5.2"
+ dependencies:
+ "chalk" "2.4.1"
+ "cp-sugar" "1.0.0"
+ "elegant-status" "1.1.0"
+ "inquirer" "6.2.0"
+ "is-ci" "1.2.1"
+ "lodash" "4.17.20"
+ "micromatch" "3.1.10"
+ "node-emoji" "1.8.1"
+ "osenv" "0.1.5"
+ "semver" "5.6.0"
"punycode@^1.3.2":
"integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4="
@@ -4722,22 +4503,6 @@
"resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"
"version" "1.3.2"
-"pupa@^2.1.1":
- "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A=="
- "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz"
- "version" "2.1.1"
- dependencies:
- "escape-goat" "^2.0.0"
-
-"q@2.0.3":
- "integrity" "sha512-gv6vLGcmAOg96/fgo3d9tvA4dJNZL3fMyBqVRrGxQ+Q/o4k9QzbJ3NQF9cOO/71wRodoXhaPgphvMFU68qVAJQ=="
- "resolved" "https://registry.npmjs.org/q/-/q-2.0.3.tgz"
- "version" "2.0.3"
- dependencies:
- "asap" "^2.0.0"
- "pop-iterate" "^1.0.1"
- "weak-map" "^1.0.5"
-
"querystring-es3@~0.2.0":
"integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
"resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz"
@@ -4748,21 +4513,6 @@
"resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
"version" "0.2.0"
-"quote@0.4.0":
- "integrity" "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ=="
- "resolved" "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz"
- "version" "0.4.0"
-
-"ramda@0.26.1":
- "integrity" "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ=="
- "resolved" "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz"
- "version" "0.26.1"
-
-"ramda@0.28.0":
- "integrity" "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA=="
- "resolved" "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz"
- "version" "0.28.0"
-
"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0":
"integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="
"resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"
@@ -4778,16 +4528,6 @@
"randombytes" "^2.0.5"
"safe-buffer" "^5.1.0"
-"rc@^1.1.2", "rc@^1.2.8", "rc@1.2.8":
- "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="
- "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"
- "version" "1.2.8"
- dependencies:
- "deep-extend" "^0.6.0"
- "ini" "~1.3.0"
- "minimist" "^1.2.0"
- "strip-json-comments" "~2.0.1"
-
"read-only-stream@^2.0.0":
"integrity" "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A="
"resolved" "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz"
@@ -4795,15 +4535,6 @@
dependencies:
"readable-stream" "^2.0.2"
-"read-pkg@^1.1.0":
- "integrity" "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ=="
- "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
- "version" "1.1.0"
- dependencies:
- "load-json-file" "^1.0.0"
- "normalize-package-data" "^2.3.2"
- "path-type" "^1.0.0"
-
"readable-stream@^2.0.2", "readable-stream@^2.2.2", "readable-stream@~2.3.6":
"integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="
"resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
@@ -4851,15 +4582,6 @@
dependencies:
"picomatch" "^2.2.1"
-"readline2@^1.0.1":
- "integrity" "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g=="
- "resolved" "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz"
- "version" "1.0.1"
- dependencies:
- "code-point-at" "^1.0.0"
- "is-fullwidth-code-point" "^1.0.0"
- "mute-stream" "0.0.5"
-
"rechoir@^0.7.0":
"integrity" "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg=="
"resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz"
@@ -4891,6 +4613,14 @@
dependencies:
"@babel/runtime" "^7.8.4"
+"regex-not@^1.0.0", "regex-not@^1.0.2":
+ "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A=="
+ "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "extend-shallow" "^3.0.2"
+ "safe-regex" "^1.1.0"
+
"regexpp@^3.2.0":
"integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
"resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz"
@@ -4908,20 +4638,6 @@
"unicode-match-property-ecmascript" "^2.0.0"
"unicode-match-property-value-ecmascript" "^2.0.0"
-"registry-auth-token@^4.0.0":
- "integrity" "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg=="
- "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz"
- "version" "4.2.2"
- dependencies:
- "rc" "1.2.8"
-
-"registry-url@^5.0.0":
- "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw=="
- "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz"
- "version" "5.1.0"
- dependencies:
- "rc" "^1.2.8"
-
"regjsgen@^0.5.2":
"integrity" "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A=="
"resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz"
@@ -4941,10 +4657,15 @@
dependencies:
"es6-error" "^4.0.1"
-"remove-trailing-separator@^1.0.1":
- "integrity" "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw=="
- "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"
- "version" "1.1.0"
+"repeat-element@^1.1.2":
+ "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ=="
+ "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz"
+ "version" "1.1.4"
+
+"repeat-string@^1.6.1":
+ "integrity" "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w=="
+ "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+ "version" "1.6.1"
"require-directory@^2.1.1":
"integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
@@ -4973,7 +4694,12 @@
"resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
"version" "5.0.0"
-"resolve@^1.1.4", "resolve@^1.10.0", "resolve@^1.14.2", "resolve@^1.17.0", "resolve@^1.4.0", "resolve@^1.9.0":
+"resolve-url@^0.2.1":
+ "integrity" "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg=="
+ "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz"
+ "version" "0.2.1"
+
+"resolve@^1.1.4", "resolve@^1.14.2", "resolve@^1.17.0", "resolve@^1.4.0", "resolve@^1.9.0":
"integrity" "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA=="
"resolved" "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz"
"version" "1.21.0"
@@ -4982,13 +4708,6 @@
"path-parse" "^1.0.7"
"supports-preserve-symlinks-flag" "^1.0.0"
-"responselike@^1.0.2":
- "integrity" "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ=="
- "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz"
- "version" "1.0.2"
- dependencies:
- "lowercase-keys" "^1.0.0"
-
"restore-cursor@^1.0.1":
"integrity" "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE="
"resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz"
@@ -4997,6 +4716,19 @@
"exit-hook" "^1.0.0"
"onetime" "^1.0.0"
+"restore-cursor@^2.0.0":
+ "integrity" "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q=="
+ "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "onetime" "^2.0.0"
+ "signal-exit" "^3.0.2"
+
+"ret@~0.1.10":
+ "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+ "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz"
+ "version" "0.1.15"
+
"rimraf@^3.0.0", "rimraf@^3.0.2":
"integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
"resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
@@ -5004,13 +4736,6 @@
dependencies:
"glob" "^7.1.3"
-"rimraf@2":
- "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="
- "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
- "version" "2.7.1"
- dependencies:
- "glob" "^7.1.3"
-
"ripemd160@^2.0.0", "ripemd160@^2.0.1":
"integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA=="
"resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz"
@@ -5019,17 +4744,17 @@
"hash-base" "^3.0.0"
"inherits" "^2.0.1"
-"run-async@^0.1.0":
- "integrity" "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw=="
- "resolved" "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz"
- "version" "0.1.0"
- dependencies:
- "once" "^1.3.0"
+"run-async@^2.2.0":
+ "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="
+ "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz"
+ "version" "2.4.1"
-"rx-lite@^3.1.2":
- "integrity" "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ=="
- "resolved" "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz"
- "version" "3.1.2"
+"rxjs@^6.1.0":
+ "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ=="
+ "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz"
+ "version" "6.6.7"
+ dependencies:
+ "tslib" "^1.9.0"
"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1":
"integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
@@ -5046,7 +4771,14 @@
"resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
"version" "5.2.1"
-"safer-buffer@^2.1.0":
+"safe-regex@^1.1.0":
+ "integrity" "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg=="
+ "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"
+ "version" "1.1.0"
+ dependencies:
+ "ret" "~0.1.10"
+
+"safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3":
"integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
"resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
"version" "2.1.2"
@@ -5078,29 +4810,12 @@
"ajv" "^6.12.5"
"ajv-keywords" "^3.5.2"
-"semver-diff@^3.1.1":
- "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg=="
- "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz"
- "version" "3.1.1"
- dependencies:
- "semver" "^6.3.0"
-
-"semver@^5.0.3":
- "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
- "version" "5.7.1"
-
-"semver@^5.3.0":
- "integrity" "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
- "resolved" "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz"
- "version" "5.6.0"
-
"semver@^5.6.0":
"integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
"resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
"version" "5.7.1"
-"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.2.0", "semver@^6.3.0":
+"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0":
"integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
"resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
"version" "6.3.0"
@@ -5112,23 +4827,6 @@
dependencies:
"lru-cache" "^6.0.0"
-"semver@^7.3.4":
- "integrity" "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g=="
- "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz"
- "version" "7.3.7"
- dependencies:
- "lru-cache" "^6.0.0"
-
-"semver@~5.0.1":
- "integrity" "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw=="
- "resolved" "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz"
- "version" "5.0.3"
-
-"semver@2 || 3 || 4 || 5":
- "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
- "version" "5.7.1"
-
"semver@5.6.0":
"integrity" "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
"resolved" "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz"
@@ -5151,6 +4849,16 @@
"resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
"version" "2.0.0"
+"set-value@^2.0.0", "set-value@^2.0.1":
+ "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw=="
+ "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz"
+ "version" "2.0.1"
+ dependencies:
+ "extend-shallow" "^2.0.1"
+ "is-extendable" "^0.1.1"
+ "is-plain-object" "^2.0.3"
+ "split-string" "^3.0.1"
+
"sha.js@^2.4.0", "sha.js@^2.4.8", "sha.js@~2.4.4":
"integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ=="
"resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz"
@@ -5217,6 +4925,47 @@
"resolved" "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz"
"version" "1.0.1"
+"snapdragon-node@^2.0.1":
+ "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw=="
+ "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz"
+ "version" "2.1.1"
+ dependencies:
+ "define-property" "^1.0.0"
+ "isobject" "^3.0.0"
+ "snapdragon-util" "^3.0.1"
+
+"snapdragon-util@^3.0.1":
+ "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ=="
+ "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz"
+ "version" "3.0.1"
+ dependencies:
+ "kind-of" "^3.2.0"
+
+"snapdragon@^0.8.1":
+ "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg=="
+ "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz"
+ "version" "0.8.2"
+ dependencies:
+ "base" "^0.11.1"
+ "debug" "^2.2.0"
+ "define-property" "^0.2.5"
+ "extend-shallow" "^2.0.1"
+ "map-cache" "^0.2.2"
+ "source-map" "^0.5.6"
+ "source-map-resolve" "^0.5.0"
+ "use" "^3.1.0"
+
+"source-map-resolve@^0.5.0":
+ "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw=="
+ "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz"
+ "version" "0.5.3"
+ dependencies:
+ "atob" "^2.1.2"
+ "decode-uri-component" "^0.2.0"
+ "resolve-url" "^0.2.1"
+ "source-map-url" "^0.4.0"
+ "urix" "^0.1.0"
+
"source-map-support@^0.5.16", "source-map-support@~0.5.20":
"integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="
"resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
@@ -5225,7 +4974,12 @@
"buffer-from" "^1.0.0"
"source-map" "^0.6.0"
-"source-map@^0.5.0", "source-map@~0.5.3":
+"source-map-url@^0.4.0":
+ "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
+ "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz"
+ "version" "0.4.1"
+
+"source-map@^0.5.0", "source-map@^0.5.6", "source-map@~0.5.3":
"integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
"resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
"version" "0.5.7"
@@ -5252,37 +5006,26 @@
"signal-exit" "^3.0.2"
"which" "^2.0.1"
-"spdx-correct@^3.0.0":
- "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w=="
- "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz"
- "version" "3.1.1"
- dependencies:
- "spdx-expression-parse" "^3.0.0"
- "spdx-license-ids" "^3.0.0"
-
-"spdx-exceptions@^2.1.0":
- "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
- "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"
- "version" "2.3.0"
-
-"spdx-expression-parse@^3.0.0":
- "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="
- "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz"
- "version" "3.0.1"
+"split-string@^3.0.1", "split-string@^3.0.2":
+ "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw=="
+ "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz"
+ "version" "3.1.0"
dependencies:
- "spdx-exceptions" "^2.1.0"
- "spdx-license-ids" "^3.0.0"
-
-"spdx-license-ids@^3.0.0":
- "integrity" "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA=="
- "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz"
- "version" "3.0.12"
+ "extend-shallow" "^3.0.0"
"sprintf-js@~1.0.2":
"integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
"resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
"version" "1.0.3"
+"static-extend@^0.1.1":
+ "integrity" "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g=="
+ "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz"
+ "version" "0.1.2"
+ dependencies:
+ "define-property" "^0.2.5"
+ "object-copy" "^0.1.0"
+
"stream-browserify@^2.0.0":
"integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg=="
"resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz"
@@ -5339,25 +5082,15 @@
dependencies:
"safe-buffer" "~5.1.0"
-"string-width@^1.0.1":
- "integrity" "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw=="
- "resolved" "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
- "version" "1.0.2"
- dependencies:
- "code-point-at" "^1.0.0"
- "is-fullwidth-code-point" "^1.0.0"
- "strip-ansi" "^3.0.0"
-
-"string-width@^4.0.0":
- "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="
- "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
- "version" "4.2.3"
+"string-width@^2.1.0":
+ "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw=="
+ "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"
+ "version" "2.1.1"
dependencies:
- "emoji-regex" "^8.0.0"
- "is-fullwidth-code-point" "^3.0.0"
- "strip-ansi" "^6.0.1"
+ "is-fullwidth-code-point" "^2.0.0"
+ "strip-ansi" "^4.0.0"
-"string-width@^4.1.0", "string-width@^4.2.2":
+"string-width@^4.1.0":
"integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="
"resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
"version" "4.2.3"
@@ -5398,6 +5131,13 @@
dependencies:
"ansi-regex" "^2.0.0"
+"strip-ansi@^4.0.0":
+ "integrity" "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow=="
+ "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
+ "version" "4.0.0"
+ dependencies:
+ "ansi-regex" "^3.0.0"
+
"strip-ansi@^6.0.0", "strip-ansi@^6.0.1":
"integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="
"resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
@@ -5405,13 +5145,6 @@
dependencies:
"ansi-regex" "^5.0.1"
-"strip-bom@^2.0.0":
- "integrity" "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g=="
- "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
- "version" "2.0.0"
- dependencies:
- "is-utf8" "^0.2.0"
-
"strip-bom@^4.0.0":
"integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="
"resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz"
@@ -5427,11 +5160,6 @@
"resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
"version" "3.1.1"
-"strip-json-comments@~2.0.1":
- "integrity" "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="
- "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
- "version" "2.0.1"
-
"strnum@^1.0.4", "strnum@^1.0.5":
"integrity" "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA=="
"resolved" "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz"
@@ -5444,15 +5172,6 @@
dependencies:
"minimist" "^1.1.0"
-"subcommand@^2.0.3":
- "integrity" "sha512-cm7TQq9I8dA5LKUr+r8W7RzQlLsmTdCr6wXmjYueOoh/bQu55ODEw7GFhT42pUyoaLtO2rgmx1+8cSIjY9lR9g=="
- "resolved" "https://registry.npmjs.org/subcommand/-/subcommand-2.1.1.tgz"
- "version" "2.1.1"
- dependencies:
- "cliclopts" "^1.1.0"
- "debug" "^4.1.1"
- "minimist" "^1.2.0"
-
"supports-color@^2.0.0":
"integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
"resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
@@ -5558,15 +5277,32 @@
dependencies:
"process" "~0.11.0"
+"tmp@^0.0.33":
+ "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="
+ "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
+ "version" "0.0.33"
+ dependencies:
+ "os-tmpdir" "~1.0.2"
+
"to-fast-properties@^2.0.0":
"integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
"resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
"version" "2.0.0"
-"to-readable-stream@^1.0.0":
- "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
- "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz"
- "version" "1.0.0"
+"to-object-path@^0.3.0":
+ "integrity" "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg=="
+ "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"
+ "version" "0.3.0"
+ dependencies:
+ "kind-of" "^3.0.2"
+
+"to-regex-range@^2.1.0":
+ "integrity" "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg=="
+ "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz"
+ "version" "2.1.1"
+ dependencies:
+ "is-number" "^3.0.0"
+ "repeat-string" "^1.6.1"
"to-regex-range@^5.0.1":
"integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="
@@ -5575,12 +5311,20 @@
dependencies:
"is-number" "^7.0.0"
-"topo@1.x.x":
- "integrity" "sha512-vpmONxdZoD0R3hzH0lovwv8QmsqZmGCDE1wXW9YGD/reiDOAbPKEgRDlBCAt8u8nJhav/s/I+r+1gvdpA11x7Q=="
- "resolved" "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz"
- "version" "1.1.0"
+"to-regex@^3.0.1", "to-regex@^3.0.2":
+ "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw=="
+ "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"
+ "version" "3.0.2"
dependencies:
- "hoek" "2.x.x"
+ "define-property" "^2.0.2"
+ "extend-shallow" "^3.0.2"
+ "regex-not" "^1.0.2"
+ "safe-regex" "^1.1.0"
+
+"tslib@^1.9.0":
+ "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
+ "version" "1.14.1"
"tty-browserify@0.0.1":
"integrity" "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
@@ -5665,37 +5409,28 @@
"resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz"
"version" "2.0.0"
-"unique-string@^2.0.0":
- "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg=="
- "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz"
- "version" "2.0.0"
+"union-value@^1.0.0":
+ "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg=="
+ "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz"
+ "version" "1.0.1"
dependencies:
- "crypto-random-string" "^2.0.0"
+ "arr-union" "^3.1.0"
+ "get-value" "^2.0.6"
+ "is-extendable" "^0.1.1"
+ "set-value" "^2.0.1"
"universalify@^2.0.0":
"integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
"resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz"
"version" "2.0.0"
-"update-notifier@5.1.0":
- "integrity" "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw=="
- "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz"
- "version" "5.1.0"
+"unset-value@^1.0.0":
+ "integrity" "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ=="
+ "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"
+ "version" "1.0.0"
dependencies:
- "boxen" "^5.0.0"
- "chalk" "^4.1.0"
- "configstore" "^5.0.1"
- "has-yarn" "^2.1.0"
- "import-lazy" "^2.1.0"
- "is-ci" "^2.0.0"
- "is-installed-globally" "^0.4.0"
- "is-npm" "^5.0.0"
- "is-yarn-global" "^0.3.0"
- "latest-version" "^5.1.0"
- "pupa" "^2.1.1"
- "semver" "^7.3.4"
- "semver-diff" "^3.1.1"
- "xdg-basedir" "^4.0.0"
+ "has-value" "^0.3.1"
+ "isobject" "^3.0.0"
"uri-js@^4.2.2":
"integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="
@@ -5704,12 +5439,10 @@
dependencies:
"punycode" "^2.1.0"
-"url-parse-lax@^3.0.0":
- "integrity" "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ=="
- "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz"
- "version" "3.0.0"
- dependencies:
- "prepend-http" "^2.0.0"
+"urix@^0.1.0":
+ "integrity" "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg=="
+ "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
+ "version" "0.1.0"
"url@~0.11.0":
"integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE="
@@ -5719,6 +5452,11 @@
"punycode" "1.3.2"
"querystring" "0.2.0"
+"use@^3.1.0":
+ "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+ "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz"
+ "version" "3.1.1"
+
"util-deprecate@^1.0.1", "util-deprecate@~1.0.1":
"integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
"resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
@@ -5760,14 +5498,6 @@
"resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz"
"version" "2.3.0"
-"validate-npm-package-license@^3.0.1":
- "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="
- "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"
- "version" "3.0.4"
- dependencies:
- "spdx-correct" "^3.0.0"
- "spdx-expression-parse" "^3.0.0"
-
"vm-browserify@^1.0.0":
"integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
"resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"
@@ -5794,11 +5524,6 @@
"glob-to-regexp" "^0.4.1"
"graceful-fs" "^4.1.2"
-"weak-map@^1.0.5":
- "integrity" "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw=="
- "resolved" "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz"
- "version" "1.0.8"
-
"webpack-cli@^4.9.1", "webpack-cli@4.x.x":
"integrity" "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ=="
"resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz"
@@ -5902,13 +5627,6 @@
dependencies:
"isexe" "^2.0.0"
-"widest-line@^3.1.0":
- "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg=="
- "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz"
- "version" "3.1.0"
- dependencies:
- "string-width" "^4.0.0"
-
"wildcard@^2.0.0":
"integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw=="
"resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz"
@@ -5919,11 +5637,6 @@
"resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"
"version" "1.2.3"
-"wordwrap@~0.0.2":
- "integrity" "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw=="
- "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"
- "version" "0.0.3"
-
"wrap-ansi@^6.2.0":
"integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="
"resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
@@ -5933,28 +5646,11 @@
"string-width" "^4.1.0"
"strip-ansi" "^6.0.0"
-"wrap-ansi@^7.0.0":
- "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="
- "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
- "version" "7.0.0"
- dependencies:
- "ansi-styles" "^4.0.0"
- "string-width" "^4.1.0"
- "strip-ansi" "^6.0.0"
-
"wrappy@1":
"integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
"resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
"version" "1.0.2"
-"wreck@^6.3.0":
- "integrity" "sha512-jRAfuPkekn1Mr+1qSB5UK53WXVbbqJKV9GYqe4ue1eStEyiICSES58jGXAbxF5hzSJupy9/F3GBu5YDxVGYdzw=="
- "resolved" "https://registry.npmjs.org/wreck/-/wreck-6.3.0.tgz"
- "version" "6.3.0"
- dependencies:
- "boom" "2.x.x"
- "hoek" "2.x.x"
-
"write-file-atomic@^3.0.0":
"integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="
"resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz"
@@ -5965,11 +5661,6 @@
"signal-exit" "^3.0.2"
"typedarray-to-buffer" "^3.1.5"
-"xdg-basedir@^4.0.0":
- "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
- "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz"
- "version" "4.0.0"
-
"xregexp@^4.2.4":
"integrity" "sha512-2u9HwfadaJaY9zHtRRnH6BY6CQVNQKkYm3oLtC9gJXXzfsbACg5X5e4EZZGVAH+YIfa+QA9lsFQTTe3HURF3ag=="
"resolved" "https://registry.npmjs.org/xregexp/-/xregexp-4.4.1.tgz"