Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

noon

Package Overview
Dependencies
Maintainers
1
Versions
114
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

noon - npm Package Compare versions

Comparing version 2.3.0 to 2.4.0

29

js/load.js

@@ -1,2 +0,2 @@

// koffee 0.30.0
// koffee 0.52.0

@@ -10,16 +10,4 @@ /*

*/
var colors, err, fs, isFunc, load, parseStr, path;
var load, parseStr;
fs = require('fs');
colors = require('colors');
path = require('path');
isFunc = require('lodash.isfunction');
err = function(msg) {
return console.log(("\n" + msg + "\n").red);
};
parseStr = function(str, p, ext) {

@@ -30,3 +18,3 @@ var extname;

}
extname = ext != null ? ext : path.extname(p);
extname = ext != null ? ext : require('path').extname(p);
switch (extname) {

@@ -44,10 +32,11 @@ case '.json':

load = function(p, ext, cb) {
var str;
if (isFunc(ext)) {
var fs, str;
fs = require('fs');
if ('function' === typeof ext) {
cb = ext;
}
if (isFunc(cb)) {
if ('function' === typeof cb) {
return fs.readFile(p, 'utf8', function(e, str) {
if (e != null) {
err("error reading file: " + p.yellow.bold, e);
console.error("error reading file: " + p, e);
return cb(null);

@@ -66,3 +55,3 @@ } else {

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7OztBQUFBLElBQUE7O0FBUUEsRUFBQSxHQUFTLE9BQUEsQ0FBUSxJQUFSOztBQUNULE1BQUEsR0FBUyxPQUFBLENBQVEsUUFBUjs7QUFDVCxJQUFBLEdBQVMsT0FBQSxDQUFRLE1BQVI7O0FBQ1QsTUFBQSxHQUFTLE9BQUEsQ0FBUSxtQkFBUjs7QUFFVCxHQUFBLEdBQU8sU0FBQyxHQUFEO1dBQVMsT0FBTyxDQUFDLEdBQVIsQ0FBWSxDQUFDLElBQUEsR0FBSyxHQUFMLEdBQVMsSUFBVixDQUFlLENBQUMsR0FBNUI7QUFBVDs7QUFFUCxRQUFBLEdBQVcsU0FBQyxHQUFELEVBQU0sQ0FBTixFQUFTLEdBQVQ7QUFFUCxRQUFBO0lBQUEsSUFBRyxHQUFHLENBQUMsTUFBSixJQUFjLENBQWpCO0FBQ0ksZUFBTyxLQURYOztJQUdBLE9BQUEsaUJBQVUsTUFBTSxJQUFJLENBQUMsT0FBTCxDQUFhLENBQWI7QUFDaEIsWUFBTyxPQUFQO0FBQUEsYUFDUyxPQURUO21CQUNzQixJQUFJLENBQUMsS0FBTCxDQUFXLEdBQVg7QUFEdEIsYUFFUyxNQUZUO0FBQUEsYUFFaUIsT0FGakI7bUJBRThCLE9BQUEsQ0FBUSxTQUFSLENBQWtCLENBQUMsSUFBbkIsQ0FBd0IsR0FBeEI7QUFGOUI7bUJBSVEsT0FBQSxDQUFRLFNBQVIsQ0FBQSxDQUFtQixHQUFuQjtBQUpSO0FBTk87O0FBWVgsSUFBQSxHQUFPLFNBQUMsQ0FBRCxFQUFJLEdBQUosRUFBUyxFQUFUO0FBRUgsUUFBQTtJQUFBLElBQVksTUFBQSxDQUFPLEdBQVAsQ0FBWjtRQUFBLEVBQUEsR0FBSyxJQUFMOztJQUVBLElBQUcsTUFBQSxDQUFPLEVBQVAsQ0FBSDtlQUVJLEVBQUUsQ0FBQyxRQUFILENBQVksQ0FBWixFQUFlLE1BQWYsRUFBdUIsU0FBQyxDQUFELEVBQUksR0FBSjtZQUNuQixJQUFHLFNBQUg7Z0JBQ0ksR0FBQSxDQUFJLHNCQUFBLEdBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBcEMsRUFBNEMsQ0FBNUM7dUJBQ0EsRUFBQSxDQUFHLElBQUgsRUFGSjthQUFBLE1BQUE7dUJBSUksRUFBQSxDQUFHLFFBQUEsQ0FBUyxHQUFULEVBQWMsQ0FBZCxFQUFpQixHQUFqQixDQUFILEVBSko7O1FBRG1CLENBQXZCLEVBRko7S0FBQSxNQUFBO1FBVUksR0FBQSxHQUFNLEVBQUUsQ0FBQyxZQUFILENBQWdCLENBQWhCLEVBQW1CLE1BQW5CO2VBRU4sUUFBQSxDQUFTLEdBQVQsRUFBYyxDQUFkLEVBQWlCLEdBQWpCLEVBWko7O0FBSkc7O0FBa0JQLE1BQU0sQ0FBQyxPQUFQLEdBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiIyMjXG4wMDAgICAgICAgMDAwMDAwMCAgICAwMDAwMDAwICAgMDAwMDAwMCAgXG4wMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwXG4wMDAgICAgICAwMDAgICAwMDAgIDAwMDAwMDAwMCAgMDAwICAgMDAwXG4wMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwXG4wMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwMDAwMCAgXG4jIyNcblxuZnMgICAgID0gcmVxdWlyZSAnZnMnXG5jb2xvcnMgPSByZXF1aXJlICdjb2xvcnMnXG5wYXRoICAgPSByZXF1aXJlICdwYXRoJ1xuaXNGdW5jID0gcmVxdWlyZSAnbG9kYXNoLmlzZnVuY3Rpb24nXG5cbmVyciAgPSAobXNnKSAtPiBjb25zb2xlLmxvZyAoXCJcXG5cIittc2crXCJcXG5cIikucmVkXG5cbnBhcnNlU3RyID0gKHN0ciwgcCwgZXh0KSAtPlxuICAgIFxuICAgIGlmIHN0ci5sZW5ndGggPD0gMFxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICBcbiAgICBleHRuYW1lID0gZXh0ID8gcGF0aC5leHRuYW1lIHBcbiAgICBzd2l0Y2ggZXh0bmFtZVxuICAgICAgICB3aGVuICcuanNvbicgdGhlbiBKU09OLnBhcnNlIHN0clxuICAgICAgICB3aGVuICcueW1sJywgJy55YW1sJyB0aGVuIHJlcXVpcmUoJ2pzLXlhbWwnKS5sb2FkIHN0clxuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXF1aXJlKCcuL3BhcnNlJykgc3RyXG5cbmxvYWQgPSAocCwgZXh0LCBjYikgLT5cbiAgICBcbiAgICBjYiA9IGV4dCBpZiBpc0Z1bmMgZXh0XG4gICAgXG4gICAgaWYgaXNGdW5jIGNiXG4gICAgICAgIFxuICAgICAgICBmcy5yZWFkRmlsZSBwLCAndXRmOCcsIChlLCBzdHIpIC0+XG4gICAgICAgICAgICBpZiBlP1xuICAgICAgICAgICAgICAgIGVyciBcImVycm9yIHJlYWRpbmcgZmlsZTogI3twLnllbGxvdy5ib2xkfVwiLCBlXG4gICAgICAgICAgICAgICAgY2IgbnVsbFxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGNiIHBhcnNlU3RyIHN0ciwgcCwgZXh0XG4gICAgICAgIFxuICAgIGVsc2VcbiAgICAgICAgc3RyID0gZnMucmVhZEZpbGVTeW5jIHAsICd1dGY4J1xuICAgIFxuICAgICAgICBwYXJzZVN0ciBzdHIsIHAsIGV4dFxuICAgIFxubW9kdWxlLmV4cG9ydHMgPSBsb2FkXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7OztBQUFBLElBQUE7O0FBUUEsUUFBQSxHQUFXLFNBQUMsR0FBRCxFQUFNLENBQU4sRUFBUyxHQUFUO0FBRVAsUUFBQTtJQUFBLElBQUcsR0FBRyxDQUFDLE1BQUosSUFBYyxDQUFqQjtBQUNJLGVBQU8sS0FEWDs7SUFHQSxPQUFBLGlCQUFVLE1BQU0sT0FBQSxDQUFRLE1BQVIsQ0FBZSxDQUFDLE9BQWhCLENBQXdCLENBQXhCO0FBQ2hCLFlBQU8sT0FBUDtBQUFBLGFBQ1MsT0FEVDttQkFDc0IsSUFBSSxDQUFDLEtBQUwsQ0FBVyxHQUFYO0FBRHRCLGFBRVMsTUFGVDtBQUFBLGFBRWlCLE9BRmpCO21CQUU4QixPQUFBLENBQVEsU0FBUixDQUFrQixDQUFDLElBQW5CLENBQXdCLEdBQXhCO0FBRjlCO21CQUlRLE9BQUEsQ0FBUSxTQUFSLENBQUEsQ0FBbUIsR0FBbkI7QUFKUjtBQU5POztBQVlYLElBQUEsR0FBTyxTQUFDLENBQUQsRUFBSSxHQUFKLEVBQVMsRUFBVDtBQUVILFFBQUE7SUFBQSxFQUFBLEdBQUssT0FBQSxDQUFRLElBQVI7SUFFTCxJQUFZLFVBQUEsS0FBYyxPQUFPLEdBQWpDO1FBQUEsRUFBQSxHQUFLLElBQUw7O0lBRUEsSUFBRyxVQUFBLEtBQWMsT0FBTyxFQUF4QjtlQUVJLEVBQUUsQ0FBQyxRQUFILENBQVksQ0FBWixFQUFlLE1BQWYsRUFBdUIsU0FBQyxDQUFELEVBQUksR0FBSjtZQUNuQixJQUFHLFNBQUg7Z0JBQ0csT0FBQSxDQUFDLEtBQUQsQ0FBTyxzQkFBQSxHQUF1QixDQUE5QixFQUFtQyxDQUFuQzt1QkFDQyxFQUFBLENBQUcsSUFBSCxFQUZKO2FBQUEsTUFBQTt1QkFJSSxFQUFBLENBQUcsUUFBQSxDQUFTLEdBQVQsRUFBYyxDQUFkLEVBQWlCLEdBQWpCLENBQUgsRUFKSjs7UUFEbUIsQ0FBdkIsRUFGSjtLQUFBLE1BQUE7UUFVSSxHQUFBLEdBQU0sRUFBRSxDQUFDLFlBQUgsQ0FBZ0IsQ0FBaEIsRUFBbUIsTUFBbkI7ZUFFTixRQUFBLENBQVMsR0FBVCxFQUFjLENBQWQsRUFBaUIsR0FBakIsRUFaSjs7QUFORzs7QUFvQlAsTUFBTSxDQUFDLE9BQVAsR0FBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIjIyNcbjAwMCAgICAgICAwMDAwMDAwICAgIDAwMDAwMDAgICAwMDAwMDAwICBcbjAwMCAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAwMDBcbjAwMCAgICAgIDAwMCAgIDAwMCAgMDAwMDAwMDAwICAwMDAgICAwMDBcbjAwMCAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAwMDBcbjAwMDAwMDAgICAwMDAwMDAwICAgMDAwICAgMDAwICAwMDAwMDAwICBcbiMjI1xuXG5wYXJzZVN0ciA9IChzdHIsIHAsIGV4dCkgLT5cbiAgICBcbiAgICBpZiBzdHIubGVuZ3RoIDw9IDBcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgXG4gICAgZXh0bmFtZSA9IGV4dCA/IHJlcXVpcmUoJ3BhdGgnKS5leHRuYW1lIHBcbiAgICBzd2l0Y2ggZXh0bmFtZVxuICAgICAgICB3aGVuICcuanNvbicgdGhlbiBKU09OLnBhcnNlIHN0clxuICAgICAgICB3aGVuICcueW1sJywgJy55YW1sJyB0aGVuIHJlcXVpcmUoJ2pzLXlhbWwnKS5sb2FkIHN0clxuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXF1aXJlKCcuL3BhcnNlJykgc3RyXG5cbmxvYWQgPSAocCwgZXh0LCBjYikgLT5cblxuICAgIGZzID0gcmVxdWlyZSAnZnMnXG4gICAgXG4gICAgY2IgPSBleHQgaWYgJ2Z1bmN0aW9uJyA9PSB0eXBlb2YgZXh0XG4gICAgXG4gICAgaWYgJ2Z1bmN0aW9uJyA9PSB0eXBlb2YgY2JcbiAgICAgICAgXG4gICAgICAgIGZzLnJlYWRGaWxlIHAsICd1dGY4JywgKGUsIHN0cikgLT5cbiAgICAgICAgICAgIGlmIGU/XG4gICAgICAgICAgICAgICAgZXJyb3IgXCJlcnJvciByZWFkaW5nIGZpbGU6ICN7cH1cIiwgZVxuICAgICAgICAgICAgICAgIGNiIG51bGxcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBjYiBwYXJzZVN0ciBzdHIsIHAsIGV4dFxuICAgICAgICBcbiAgICBlbHNlXG4gICAgICAgIHN0ciA9IGZzLnJlYWRGaWxlU3luYyBwLCAndXRmOCdcbiAgICBcbiAgICAgICAgcGFyc2VTdHIgc3RyLCBwLCBleHRcbiAgICBcbm1vZHVsZS5leHBvcnRzID0gbG9hZFxuIl19
//# sourceURL=../coffee/load.coffee

@@ -0,1 +1,2 @@

// koffee 0.52.0

@@ -9,32 +10,28 @@ /*

*/
var defaults, fs, isFunction, path, save, stringify;
var save;
fs = require('fs');
path = require('path');
defaults = require('lodash.defaults');
isFunction = require('lodash.isfunction');
stringify = require('./stringify');
save = function(p, data, strOpt, cb) {
var str;
if (isFunction(strOpt)) {
cb = strOpt;
strOpt = {};
} else {
if (strOpt == null) {
strOpt = {};
var defaults, fs, path, str, stringify;
fs = require('fs');
path = require('path');
defaults = require('lodash.defaults');
stringify = require('./stringify');
if ('function' === typeof strOpt) {
cb = strOpt;
strOpt = {};
} else {
if (strOpt != null) {
strOpt;
} else {
strOpt = {};
}
}
}
str = stringify(data, defaults({
ext: path.extname(p)
}, strOpt));
if (isFunction(cb)) {
return fs.writeFile(p, str, cb);
} else {
return fs.writeFileSync(p, str);
}
str = stringify(data, defaults({
ext: path.extname(p)
}, strOpt));
if ('function' === typeof cb) {
return fs.writeFile(p, str, cb);
} else {
return fs.writeFileSync(p, str);
}
};

@@ -44,3 +41,3 @@

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7O0FBQUEsSUFBQTs7QUFRQSxFQUFBLEdBQWEsT0FBQSxDQUFRLElBQVI7O0FBQ2IsSUFBQSxHQUFhLE9BQUEsQ0FBUSxNQUFSOztBQUNiLFFBQUEsR0FBYSxPQUFBLENBQVEsaUJBQVI7O0FBQ2IsVUFBQSxHQUFhLE9BQUEsQ0FBUSxtQkFBUjs7QUFDYixTQUFBLEdBQWEsT0FBQSxDQUFRLGFBQVI7O0FBRWIsSUFBQSxHQUFPLFNBQUMsQ0FBRCxFQUFJLElBQUosRUFBVSxNQUFWLEVBQWtCLEVBQWxCO0FBRUgsTUFBQTtFQUFBLElBQUcsVUFBQSxDQUFXLE1BQVgsQ0FBSDtJQUNJLEVBQUEsR0FBSztJQUNMLE1BQUEsR0FBUyxHQUZiO0dBQUEsTUFBQTs7TUFJSSxTQUFVO0tBSmQ7O0VBTUEsR0FBQSxHQUFNLFNBQUEsQ0FBVSxJQUFWLEVBQWdCLFFBQUEsQ0FBUztJQUFBLEdBQUEsRUFBSSxJQUFJLENBQUMsT0FBTCxDQUFhLENBQWIsQ0FBSjtHQUFULEVBQThCLE1BQTlCLENBQWhCO0VBRU4sSUFBRyxVQUFBLENBQVcsRUFBWCxDQUFIO1dBRUksRUFBRSxDQUFDLFNBQUgsQ0FBYSxDQUFiLEVBQWdCLEdBQWhCLEVBQXFCLEVBQXJCLEVBRko7R0FBQSxNQUFBO1dBTUksRUFBRSxDQUFDLGFBQUgsQ0FBaUIsQ0FBakIsRUFBb0IsR0FBcEIsRUFOSjs7QUFWRzs7QUFrQlAsTUFBTSxDQUFDLE9BQVAsR0FBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIjIyNcbiAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwMDAwMDBcbjAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICBcbjAwMDAwMDAgICAwMDAwMDAwMDAgICAwMDAgMDAwICAgMDAwMDAwMCBcbiAgICAgMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgMDAwICAgICBcbjAwMDAwMDAgICAwMDAgICAwMDAgICAgICAwICAgICAgMDAwMDAwMDBcbiMjI1xuXG5mcyAgICAgICAgID0gcmVxdWlyZSAnZnMnXG5wYXRoICAgICAgID0gcmVxdWlyZSAncGF0aCdcbmRlZmF1bHRzICAgPSByZXF1aXJlICdsb2Rhc2guZGVmYXVsdHMnXG5pc0Z1bmN0aW9uID0gcmVxdWlyZSAnbG9kYXNoLmlzZnVuY3Rpb24nXG5zdHJpbmdpZnkgID0gcmVxdWlyZSAnLi9zdHJpbmdpZnknXG5cbnNhdmUgPSAocCwgZGF0YSwgc3RyT3B0LCBjYikgLT5cbiAgICBcbiAgICBpZiBpc0Z1bmN0aW9uIHN0ck9wdFxuICAgICAgICBjYiA9IHN0ck9wdCBcbiAgICAgICAgc3RyT3B0ID0ge31cbiAgICBlbHNlXG4gICAgICAgIHN0ck9wdCA/PSB7fVxuICAgIFxuICAgIHN0ciA9IHN0cmluZ2lmeSBkYXRhLCBkZWZhdWx0cyBleHQ6cGF0aC5leHRuYW1lKHApLCBzdHJPcHRcbiAgICAgICAgXG4gICAgaWYgaXNGdW5jdGlvbiBjYlxuICAgICAgICBcbiAgICAgICAgZnMud3JpdGVGaWxlIHAsIHN0ciwgY2JcbiAgICAgICAgXG4gICAgZWxzZVxuICAgIFxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jIHAsIHN0clxuXG5tb2R1bGUuZXhwb3J0cyA9IHNhdmVcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7OztBQUFBLElBQUE7O0FBUUEsSUFBQSxHQUFPLFNBQUMsQ0FBRCxFQUFJLElBQUosRUFBVSxNQUFWLEVBQWtCLEVBQWxCO0FBRUgsUUFBQTtJQUFBLEVBQUEsR0FBYSxPQUFBLENBQVEsSUFBUjtJQUNiLElBQUEsR0FBYSxPQUFBLENBQVEsTUFBUjtJQUNiLFFBQUEsR0FBYSxPQUFBLENBQVEsaUJBQVI7SUFDYixTQUFBLEdBQWEsT0FBQSxDQUFRLGFBQVI7SUFFYixJQUFHLFVBQUEsS0FBYyxPQUFPLE1BQXhCO1FBQ0ksRUFBQSxHQUFLO1FBQ0wsTUFBQSxHQUFTLEdBRmI7S0FBQSxNQUFBOztZQUlJOztZQUFBLFNBQVU7U0FKZDs7SUFNQSxHQUFBLEdBQU0sU0FBQSxDQUFVLElBQVYsRUFBZ0IsUUFBQSxDQUFTO1FBQUEsR0FBQSxFQUFJLElBQUksQ0FBQyxPQUFMLENBQWEsQ0FBYixDQUFKO0tBQVQsRUFBOEIsTUFBOUIsQ0FBaEI7SUFFTixJQUFHLFVBQUEsS0FBYyxPQUFPLEVBQXhCO2VBRUksRUFBRSxDQUFDLFNBQUgsQ0FBYSxDQUFiLEVBQWdCLEdBQWhCLEVBQXFCLEVBQXJCLEVBRko7S0FBQSxNQUFBO2VBTUksRUFBRSxDQUFDLGFBQUgsQ0FBaUIsQ0FBakIsRUFBb0IsR0FBcEIsRUFOSjs7QUFmRzs7QUF1QlAsTUFBTSxDQUFDLE9BQVAsR0FBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIjIyNcbiAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwMDAwMDBcbjAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICBcbjAwMDAwMDAgICAwMDAwMDAwMDAgICAwMDAgMDAwICAgMDAwMDAwMCBcbiAgICAgMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgMDAwICAgICBcbjAwMDAwMDAgICAwMDAgICAwMDAgICAgICAwICAgICAgMDAwMDAwMDBcbiMjI1xuXG5zYXZlID0gKHAsIGRhdGEsIHN0ck9wdCwgY2IpIC0+XG5cbiAgICBmcyAgICAgICAgID0gcmVxdWlyZSAnZnMnXG4gICAgcGF0aCAgICAgICA9IHJlcXVpcmUgJ3BhdGgnXG4gICAgZGVmYXVsdHMgICA9IHJlcXVpcmUgJ2xvZGFzaC5kZWZhdWx0cydcbiAgICBzdHJpbmdpZnkgID0gcmVxdWlyZSAnLi9zdHJpbmdpZnknXG4gICAgXG4gICAgaWYgJ2Z1bmN0aW9uJyA9PSB0eXBlb2Ygc3RyT3B0XG4gICAgICAgIGNiID0gc3RyT3B0IFxuICAgICAgICBzdHJPcHQgPSB7fVxuICAgIGVsc2VcbiAgICAgICAgc3RyT3B0ID89IHt9XG4gICAgXG4gICAgc3RyID0gc3RyaW5naWZ5IGRhdGEsIGRlZmF1bHRzIGV4dDpwYXRoLmV4dG5hbWUocCksIHN0ck9wdFxuICAgICAgICBcbiAgICBpZiAnZnVuY3Rpb24nID09IHR5cGVvZiBjYlxuICAgICAgICBcbiAgICAgICAgZnMud3JpdGVGaWxlIHAsIHN0ciwgY2JcbiAgICAgICAgXG4gICAgZWxzZVxuICAgIFxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jIHAsIHN0clxuXG5tb2R1bGUuZXhwb3J0cyA9IHNhdmVcbiJdfQ==
//# sourceURL=../coffee/save.coffee

@@ -1,2 +0,2 @@

// koffee 0.30.0
// koffee 0.52.0

@@ -317,3 +317,3 @@ /*

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7O0FBQUEsSUFBQSx5QkFBQTtJQUFBOzs7QUFTQSxRQUFBLEdBQ0k7SUFBQSxHQUFBLEVBQVUsT0FBVjtJQUNBLE1BQUEsRUFBVSxDQURWO0lBRUEsS0FBQSxFQUFVLElBRlY7SUFHQSxRQUFBLEVBQVUsRUFIVjtJQUlBLElBQUEsRUFBVSxLQUpWO0lBS0EsUUFBQSxFQUFVLEtBTFY7SUFNQSxDQUFBLElBQUEsQ0FBQSxFQUFVLEtBTlY7SUFPQSxNQUFBLEVBQVUsS0FQVjs7O0FBVUosSUFBQSxHQUNJO0lBQUEsR0FBQSxFQUFRLElBQUksTUFBSixDQUFXLGdDQUFYLENBQVI7SUFDQSxJQUFBLEVBQVEsSUFBSSxNQUFKLENBQVcsMkJBQVgsQ0FEUjtJQUVBLE1BQUEsRUFBUSxJQUFJLE1BQUosQ0FBVyxvQkFBWCxDQUZSOzs7QUFJSixTQUFBLEdBQVksU0FBQyxHQUFELEVBQU0sT0FBTjtBQUVSLFFBQUE7O1FBRmMsVUFBUTs7SUFFdEIsUUFBQSxHQUFXLFNBQUMsQ0FBRCxFQUFJLENBQUo7QUFDUCxlQUFNLENBQUMsQ0FBQyxNQUFGLEdBQVcsQ0FBakI7WUFDSSxDQUFBLElBQUs7UUFEVDtlQUVBO0lBSE87SUFLWCxHQUFBLEdBQU0sU0FBQyxDQUFELEVBQUcsQ0FBSDtBQUNGLFlBQUE7UUFBQSxDQUFBLEdBQUk7QUFDSixhQUFBLE1BQUE7O1lBQ0ksQ0FBRSxDQUFBLENBQUEsQ0FBRixHQUFPO0FBRFg7QUFFQSxhQUFBLE1BQUE7O1lBQ0ksSUFBZ0IsWUFBaEI7Z0JBQUEsQ0FBRSxDQUFBLENBQUEsQ0FBRixHQUFPLEVBQVA7O0FBREo7ZUFFQTtJQU5FO0lBUU4sR0FBQSxHQUFNLEdBQUEsQ0FBSSxPQUFKLEVBQWEsUUFBYjtBQUVOLFlBQU8sR0FBRyxDQUFDLEdBQVg7QUFBQSxhQUNTLE9BRFQ7QUFDOEIsbUJBQU8s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ICAgMDAwICAgMDAwMDAwMCAgIDAwMCAgMDAwMDAwMDAgIDAwMCAgIDAwMFxuMDAwICAgICAgICAgIDAwMCAgICAgMDAwICAgMDAwICAwMDAgIDAwMDAgIDAwMCAgMDAwICAgICAgICAwMDAgIDAwMCAgICAgICAgMDAwIDAwMCBcbjAwMDAwMDAgICAgICAwMDAgICAgIDAwMDAwMDAgICAgMDAwICAwMDAgMCAwMDAgIDAwMCAgMDAwMCAgMDAwICAwMDAwMDAgICAgICAwMDAwMCAgXG4gICAgIDAwMCAgICAgMDAwICAgICAwMDAgICAwMDAgIDAwMCAgMDAwICAwMDAwICAwMDAgICAwMDAgIDAwMCAgMDAwICAgICAgICAgIDAwMCAgIFxuMDAwMDAwMCAgICAgIDAwMCAgICAgMDAwICAgMDAwICAwMDAgIDAwMCAgIDAwMCAgIDAwMDAwMDAgICAwMDAgIDAwMCAgICAgICAgICAwMDAgICBcbiMjI1xuXG5cbmRlZmF1bHRzID1cbiAgICBleHQ6ICAgICAgJy5ub29uJyAjIG91dHB1dCBmb3JtYXRcbiAgICBpbmRlbnQ6ICAgNCAgICAgICAjIG51bWJlciBvZiBzcGFjZXMgcGVyIGluZGVudCBsZXZlbFxuICAgIGFsaWduOiAgICB0cnVlICAgICMgdmVydGljYWxseSBhbGlnbiBvYmplY3QgdmFsdWVzXG4gICAgbWF4YWxpZ246IDMyICAgICAgIyBtYXhpbWFsIG51bWJlciBvZiBzcGFjZXMgd2hlbiBhbGlnbmluZ1xuICAgIHNvcnQ6ICAgICBmYWxzZSAgICMgc29ydCBvYmplY3Qga2V5cyBhbHBoYWJldGljYWxseVxuICAgIGNpcmN1bGFyOiBmYWxzZSAgICMgY2hlY2sgZm9yIGNpcmN1bGFyIHJlZmVyZW5jZXMgKGV4cGVuc2l2ZSEpXG4gICAgbnVsbDogICAgIGZhbHNlICAgIyBvdXRwdXQgbnVsbCBkaWN0aW9uYXJ5IHZhbHVlc1xuICAgIGNvbG9yczogICBmYWxzZSAgICMgY29sb3JpemUgb3V0cHV0IHdpdGggYW5zaSBjb2xvcnNcbiAgICAgICAgICAgICAgICAgICAgICAjIHRydWUgZm9yIGRlZmF1bHQgY29sb3JzIG9yIGN1c3RvbSBkaWN0aW9uYXJ5XG4gICAgXG5yZWdzID0gXG4gICAgdXJsOiAgICBuZXcgUmVnRXhwICdeKGh0dHBzP3xnaXR8ZmlsZSkoOi8vKShcXFxcUyspJCdcbiAgICBwYXRoOiAgIG5ldyBSZWdFeHAgJ14oW1xcXFwuXFxcXC9cXFxcU10rKShcXFxcL1xcXFxTKykkJ1xuICAgIHNlbXZlcjogbmV3IFJlZ0V4cCAnXFxcXGQrXFxcXC5cXFxcZCtcXFxcLlxcXFxkKydcbiAgICAgICAgXG5zdHJpbmdpZnkgPSAob2JqLCBvcHRpb25zPXt9KSAtPlxuXG4gICAgcGFkUmlnaHQgPSAocywgbCkgLT4gXG4gICAgICAgIHdoaWxlIHMubGVuZ3RoIDwgbFxuICAgICAgICAgICAgcyArPSAnICdcbiAgICAgICAgc1xuXG4gICAgZGVmID0gKG8sZCkgLT5cbiAgICAgICAgciA9IHt9XG4gICAgICAgIGZvciBrLHYgb2Ygb1xuICAgICAgICAgICAgcltrXSA9IHZcbiAgICAgICAgZm9yIGssdiBvZiBkXG4gICAgICAgICAgICByW2tdID0gdiBpZiBub3QgcltrXT9cbiAgICAgICAgclxuXG4gICAgb3B0ID0gZGVmIG9wdGlvbnMsIGRlZmF1bHRzXG4gICAgXG4gICAgc3dpdGNoIG9wdC5leHRcbiAgICAgICAgd2hlbiAnLmpzb24nICAgICAgICAgdGhlbiByZXR1cm4gSlNPTi5zdHJpbmdpZnkgb2JqLCBudWxsLCBvcHQuaW5kZW50XG4gICAgICAgIHdoZW4gJy55bWwnLCAnLnlhbWwnIHRoZW4gcmV0dXJuIHJlcXVpcmUoJ2pzLXlhbWwnKS5kdW1wIG9ialxuICAgIFxuICAgIGlmIHR5cGVvZiBvcHQuaW5kZW50ID09ICdzdHJpbmcnIFxuICAgICAgICBvcHQuaW5kZW50ID0gb3B0LmluZGVudC5sZW5ndGhcbiAgICBpbmRzdHIgPSBwYWRSaWdodCAnJywgb3B0LmluZGVudFxuICAgIFxuICAgICMjI1xuICAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgICAgICAwMDAwMDAwICAgMDAwMDAwMDAgICAgMDAwMDAwMFxuICAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAgIFxuICAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgIDAwMCAgIDAwMCAgMDAwMDAwMCAgICAwMDAwMDAwIFxuICAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAgICAgIDAwMFxuICAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwICAgMDAwICAwMDAwMDAwIFxuICAgICMjI1xuICAgIFxuICAgIGlmIG9wdC5jb2xvcnMgPT0gZmFsc2Ugb3Igb3B0LmNvbG9ycyA9PSAwXG4gICAgICAgIG5vb3AgPSAocykgLT4gc1xuICAgICAgICBjb2xvcnMgPSBcbiAgICAgICAgICAgIHVybDogICAgIG5vb3BcbiAgICAgICAgICAgIGtleTogICAgIG5vb3BcbiAgICAgICAgICAgIG51bGw6ICAgIG5vb3BcbiAgICAgICAgICAgIHRydWU6ICAgIG5vb3BcbiAgICAgICAgICAgIGZhbHNlOiAgIG5vb3BcbiAgICAgICAgICAgIHBhdGg6ICAgIG5vb3BcbiAgICAgICAgICAgIHZhbHVlOiAgIG5vb3BcbiAgICAgICAgICAgIHN0cmluZzogIG5vb3BcbiAgICAgICAgICAgIHNlbXZlcjogIG5vb3BcbiAgICAgICAgICAgIG51bWJlcjogIG5vb3BcbiAgICAgICAgICAgIHZpc2l0ZWQ6IG5vb3BcbiAgICAgICAgICAgIHNwZWNpYWw6IG5vb3BcbiAgICBlbHNlXG4gICAgICAgIGNvbG9ycyAgPSByZXF1aXJlICdjb2xvcnMnXG4gICAgICAgIGRlZmF1bHRDb2xvcnMgPVxuICAgICAgICAgICAgdXJsOiAgICAgY29sb3JzLnllbGxvd1xuICAgICAgICAgICAga2V5OiAgICAgY29sb3JzLmdyYXlcbiAgICAgICAgICAgIG51bGw6ICAgIGNvbG9ycy5ibHVlXG4gICAgICAgICAgICB0cnVlOiAgICBjb2xvcnMuYmx1ZS5ib2xkXG4gICAgICAgICAgICBmYWxzZTogICBjb2xvcnMuZ3JheS5kaW1cbiAgICAgICAgICAgIHBhdGg6ICAgIGNvbG9ycy5ncmVlblxuICAgICAgICAgICAgdmFsdWU6ICAgY29sb3JzLndoaXRlXG4gICAgICAgICAgICBzdHJpbmc6ICBjb2xvcnMud2hpdGUuYm9sZFxuICAgICAgICAgICAgc2VtdmVyOiAgY29sb3JzLnJlZFxuICAgICAgICAgICAgbnVtYmVyOiAgY29sb3JzLm1hZ2VudGFcbiAgICAgICAgICAgIHZpc2l0ZWQ6IGNvbG9ycy5yZWRcbiAgICAgICAgICAgIGRpbTogICAgICdePj0uOi8tJ1xuICAgICAgICBpZiBvcHQuY29sb3JzID09IHRydWVcbiAgICAgICAgICAgIGNvbG9ycyA9IGRlZmF1bHRDb2xvcnNcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgY29sb3JzID0gZGVmIG9wdC5jb2xvcnMsIGRlZmF1bHRDb2xvcnNcblxuICAgICMjI1xuICAgIDAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwMDAwMDAgICAwMDAwMDAwMFxuICAgIDAwMCAgICAgICAwMDAgICAgICAgMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAgIFxuICAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwICAgICAgIDAwMDAwMDAwMCAgMDAwMDAwMDAgICAwMDAwMDAwIFxuICAgIDAwMCAgICAgICAgICAgIDAwMCAgMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAgICAgICAwMDAgICAgIFxuICAgIDAwMDAwMDAwICAwMDAwMDAwICAgIDAwMDAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgICAwMDAwMDAwMFxuICAgICMjI1xuXG4gICAgZXNjYXBlID0gKGssIGFycnkpIC0+XG4gICAgICAgIGlmIDAgPD0gay5pbmRleE9mICdcXG4nXG4gICAgICAgICAgICBzcCA9IGsuc3BsaXQgJ1xcbidcbiAgICAgICAgICAgIGVzID0gc3AubWFwIChzKSAtPiBlc2NhcGUocywgYXJyeSlcbiAgICAgICAgICAgIGVzLnVuc2hpZnQgJy4uLidcbiAgICAgICAgICAgIGVzLnB1c2ggJy4uLidcbiAgICAgICAgICAgIHJldHVybiBlcy5qb2luICdcXG4nXG4gICAgICAgIGlmIGsgPT0gJycgb3IgayA9PSAnLi4uJyBvciBrWzBdIGluIFsnICcsICcjJywgJ3wnXSBvciBrW2subGVuZ3RoLTFdIGluIFsnICcsICcjJywgJ3wnXSBcbiAgICAgICAgICAgIGsgPSAnfCcgKyBrICsgJ3wnXG4gICAgICAgIGVsc2UgaWYgYXJyeSBhbmQgL1xcIFxcIC8udGVzdCBrXG4gICAgICAgICAgICBrID0gJ3wnICsgayArICd8J1xuICAgICAgICBrXG5cbiAgICAjIyNcbiAgICAwMDAwMDAwICAgIDAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwMDAwMDAwICAwMDAgIDAwMDAwMDAwICAwMDAgICAwMDBcbiAgICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgICAgMDAwICAgICAwMDAgIDAwMCAgICAgICAgMDAwIDAwMCBcbiAgICAwMDAwMDAwICAgIDAwMDAwMDAgICAwMDAwMDAwMDAgIDAwMCAgIDAwMCAgICAgMDAwICAgICAwMDAgIDAwMDAwMCAgICAgIDAwMDAwICBcbiAgICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgICAgMDAwICAgICAwMDAgIDAwMCAgICAgICAgICAwMDAgICBcbiAgICAwMDAwMDAwICAgIDAwMDAwMDAwICAwMDAgICAwMDAgICAwMDAwMDAwICAgICAgMDAwICAgICAwMDAgIDAwMCAgICAgICAgICAwMDAgICBcbiAgICAjIyNcbiAgICBcbiAgICBiZWF1dGlmeSA9IChzKSAtPiBcbiAgICAgICAgaWYgY29sb3JzLmRpbT9cbiAgICAgICAgICAgIGZvciBjIGluIGNvbG9ycy5kaW1cbiAgICAgICAgICAgICAgICBzID0gcy5yZXBsYWNlIG5ldyBSZWdFeHAoXCJcXFxcI3tjfVwiLCAnZycpLCBjLmRpbVxuICAgICAgICBzXG4gICAgXG4gICAgIyMjXG4gICAgMDAwMDAwMDAgICAwMDAwMDAwMCAgIDAwMDAwMDAwICAwMDAwMDAwMDAgIDAwMDAwMDAwMCAgMDAwICAgMDAwXG4gICAgMDAwICAgMDAwICAwMDAgICAwMDAgIDAwMCAgICAgICAgICAwMDAgICAgICAgIDAwMCAgICAgIDAwMCAwMDAgXG4gICAgMDAwMDAwMDAgICAwMDAwMDAwICAgIDAwMDAwMDAgICAgICAwMDAgICAgICAgIDAwMCAgICAgICAwMDAwMCAgXG4gICAgMDAwICAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgICAgICAwMDAgICAgICAgIDAwMCAgICAgICAgMDAwICAgXG4gICAgMDAwICAgICAgICAwMDAgICAwMDAgIDAwMDAwMDAwICAgICAwMDAgICAgICAgIDAwMCAgICAgICAgMDAwICAgXG4gICAgIyMjXG4gICAgXG4gICAgcHJldHR5ID0gKG8sIGluZCwgdmlzaXRlZCkgLT5cbiAgICAgICAgXG4gICAgICAgIGlmIG9wdC5hbGlnbiAgICAgICAgXG4gICAgICAgICAgICBtYXhLZXkgPSBvcHQuaW5kZW50XG4gICAgICAgICAgICBpZiBPYmplY3Qua2V5cyhvKS5sZW5ndGggPiAxXG4gICAgICAgICAgICAgICAgZm9yIG93biBrLHYgb2Ygb1xuICAgICAgICAgICAgICAgICAgICBrbCA9IHBhcnNlSW50KE1hdGguY2VpbCgoay5sZW5ndGgrMikvb3B0LmluZGVudCkqb3B0LmluZGVudClcbiAgICAgICAgICAgICAgICAgICAgbWF4S2V5ID0gTWF0aC5tYXggbWF4S2V5LCBrbFxuICAgICAgICAgICAgICAgICAgICBpZiBvcHQubWF4YWxpZ24gYW5kIChtYXhLZXkgPiBvcHQubWF4YWxpZ24pXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhLZXkgPSBvcHQubWF4YWxpZ25cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIGwgPSBbXVxuICAgICAgICBcbiAgICAgICAga2V5VmFsdWUgPSAoayx2KSAtPlxuICAgICAgICAgICAgcyA9IGluZFxuICAgICAgICAgICAgayA9IGVzY2FwZSBrLCB0cnVlXG4gICAgICAgICAgICBpZiBrLmluZGV4T2YoJyAgJykgPiAwIGFuZCBrWzBdICE9ICd8J1xuICAgICAgICAgICAgICAgIGsgPSBcInwje2t9fFwiXG4gICAgICAgICAgICBlbHNlIGlmIGtbMF0gIT0gJ3wnIGFuZCBrW2subGVuZ3RoLTFdID09ICd8J1xuICAgICAgICAgICAgICAgIGsgPSAnfCcgKyBrXG4gICAgICAgICAgICBlbHNlIGlmIGtbMF0gPT0gJ3wnIGFuZCBrW2subGVuZ3RoLTFdICE9ICd8J1xuICAgICAgICAgICAgICAgIGsgKz0gJ3wnXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIG9wdC5hbGlnblxuICAgICAgICAgICAgICAgIGtzID0gcGFkUmlnaHQgaywgTWF0aC5tYXggbWF4S2V5LCBrLmxlbmd0aCsyXG4gICAgICAgICAgICAgICAgaSAgPSBwYWRSaWdodCBpbmQraW5kc3RyLCBtYXhLZXlcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBrcyA9IHBhZFJpZ2h0IGssIGsubGVuZ3RoKzJcbiAgICAgICAgICAgICAgICBpICA9IGluZCtpbmRzdHJcbiAgICAgICAgICAgIHMgKz0gY29sb3JzLmtleSBvcHQuY29sb3JzICE9IGZhbHNlIGFuZCBzLmxlbmd0aCA9PSAwIGFuZCBrcy5ib2xkIG9yIGtzXG4gICAgICAgICAgICB2cyA9IHRvU3RyIHYsIGksIGZhbHNlLCB2aXNpdGVkXG4gICAgICAgICAgICBpZiB2c1swXSA9PSAnXFxuJ1xuICAgICAgICAgICAgICAgIHdoaWxlIHNbcy5sZW5ndGgtMV0gPT0gJyAnXG4gICAgICAgICAgICAgICAgICAgIHMgPSBzLnN1YnN0ciAwLCBzLmxlbmd0aC0xICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgcyArPSB2c1xuICAgICAgICAgICAgd2hpbGUgc1tzLmxlbmd0aC0xXSA9PSAnICdcbiAgICAgICAgICAgICAgICBzID0gcy5zdWJzdHIgMCwgcy5sZW5ndGgtMVxuICAgICAgICAgICAgc1xuXG4gICAgICAgIGlmIG9wdC5zb3J0XG4gICAgICAgICAgICBmb3IgayBpbiBPYmplY3Qua2V5cyhvKS5zb3J0KClcbiAgICAgICAgICAgICAgICBsLnB1c2gga2V5VmFsdWUgaywgb1trXVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmb3Igb3duIGssdiBvZiBvXG4gICAgICAgICAgICAgICAgbC5wdXNoIGtleVZhbHVlIGssIHZcbiAgICAgICAgICAgIFxuICAgICAgICBsLmpvaW4gJ1xcbidcblxuICAgICMjI1xuICAgIDAwMDAwMDAwMCAgIDAwMDAwMDAgICAgMDAwMDAwMCAgMDAwMDAwMDAwICAwMDAwMDAwMCBcbiAgICAgICAwMDAgICAgIDAwMCAgIDAwMCAgMDAwICAgICAgICAgIDAwMCAgICAgMDAwICAgMDAwXG4gICAgICAgMDAwICAgICAwMDAgICAwMDAgIDAwMDAwMDAgICAgICAwMDAgICAgIDAwMDAwMDAgIFxuICAgICAgIDAwMCAgICAgMDAwICAgMDAwICAgICAgIDAwMCAgICAgMDAwICAgICAwMDAgICAwMDBcbiAgICAgICAwMDAgICAgICAwMDAwMDAwICAgMDAwMDAwMCAgICAgIDAwMCAgICAgMDAwICAgMDAwXG4gICAgIyMjXG4gICAgXG4gICAgdG9TdHIgPSAobywgaW5kPScnLCBhcnJ5PWZhbHNlLCB2aXNpdGVkPVtdKSAtPlxuICAgICAgICBpZiBub3Qgbz8gXG4gICAgICAgICAgICBpZiBvID09IG51bGxcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0Lm51bGwgb3IgYXJyeSBhbmQgY29sb3JzLm51bGwoXCJudWxsXCIpIG9yICcnXG4gICAgICAgICAgICBpZiBvID09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIHJldHVybiBjb2xvcnMubnVsbCBcInVuZGVmaW5lZFwiXG4gICAgICAgICAgICByZXR1cm4gY29sb3JzLm51bGwgJzw/PidcbiAgICAgICAgdCA9IHR5cGVvZiBvXG4gICAgICAgIGlmIHQgPT0gJ3N0cmluZycgXG4gICAgICAgICAgICBpZiBvcHQuY29sb3JzICE9IGZhbHNlXG4gICAgICAgICAgICAgICAgZm9yIHJjIGluIE9iamVjdC5rZXlzIHJlZ3NcbiAgICAgICAgICAgICAgICAgICAgaWYgY29sb3JzW3JjXT8gYW5kIHJlZ3NbcmNdLnRlc3Qgb1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICBjb2xvcnNbcmNdIGJlYXV0aWZ5IGVzY2FwZSBvLCBhcnJ5XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gY29sb3JzLnN0cmluZyBlc2NhcGUgbywgYXJyeVxuICAgICAgICBlbHNlIGlmIHQgPT0gJ29iamVjdCdcbiAgICAgICAgICAgIGlmIG9wdC5jaXJjdWxhclxuICAgICAgICAgICAgICAgIGlmIG8gaW4gdmlzaXRlZFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29sb3JzLnZpc2l0ZWQgJzx2PidcbiAgICAgICAgICAgICAgICB2aXNpdGVkLnB1c2ggb1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgby5jb25zdHJ1Y3Rvcj8ubmFtZSA9PSAnQXJyYXknXG4gICAgICAgICAgICAgICAgcyA9IGluZCE9JycgYW5kIGFycnkgYW5kICcuJyBvciAnJ1xuICAgICAgICAgICAgICAgIHMgKz0gJ1xcbicgaWYgby5sZW5ndGggYW5kIGluZCE9JydcbiAgICAgICAgICAgICAgICBzICs9IChpbmQrdG9TdHIodixpbmQraW5kc3RyLHRydWUsdmlzaXRlZCkgZm9yIHYgaW4gbykuam9pbiAnXFxuJ1xuICAgICAgICAgICAgZWxzZSBpZiBvLmNvbnN0cnVjdG9yPy5uYW1lID09ICdSZWdFeHAnXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5zZW12ZXIgby5zb3VyY2VcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBzID0gKGFycnkgYW5kICcuXFxuJykgb3IgKChpbmQgIT0gJycpIGFuZCAnXFxuJyBvciAnJylcbiAgICAgICAgICAgICAgICBzICs9IHByZXR0eSBvLCBpbmQsIHZpc2l0ZWRcbiAgICAgICAgICAgIHJldHVybiBzXG4gICAgICAgIGVsc2UgaWYgdCA9PSAnbnVtYmVyJ1xuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5udW1iZXIgU3RyaW5nIG9cbiAgICAgICAgZWxzZSBpZiB0ID09ICdib29sZWFuJ1xuICAgICAgICAgICAgcmV0dXJuIChvIGFuZCBjb2xvcnMudHJ1ZSBvciBjb2xvcnMuZmFsc2UpIFN0cmluZyBvXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBjb2xvcnMudmFsdWUgU3RyaW5nIG8gIyBwbGFpbiB2YWx1ZXNcbiAgICAgICAgcmV0dXJuIGNvbG9ycy5udWxsICc8Pz8/PidcblxuICAgIHMgPSB0b1N0ciBvYmpcbiAgICBzXG5cbm1vZHVsZS5leHBvcnRzID0gc3RyaW5naWZ5XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7O0FBQUEsSUFBQSx5QkFBQTtJQUFBOzs7QUFRQSxRQUFBLEdBQ0k7SUFBQSxHQUFBLEVBQVUsT0FBVjtJQUNBLE1BQUEsRUFBVSxDQURWO0lBRUEsS0FBQSxFQUFVLElBRlY7SUFHQSxRQUFBLEVBQVUsRUFIVjtJQUlBLElBQUEsRUFBVSxLQUpWO0lBS0EsUUFBQSxFQUFVLEtBTFY7SUFNQSxDQUFBLElBQUEsQ0FBQSxFQUFVLEtBTlY7SUFPQSxNQUFBLEVBQVUsS0FQVjs7O0FBVUosSUFBQSxHQUNJO0lBQUEsR0FBQSxFQUFRLElBQUksTUFBSixDQUFXLGdDQUFYLENBQVI7SUFDQSxJQUFBLEVBQVEsSUFBSSxNQUFKLENBQVcsMkJBQVgsQ0FEUjtJQUVBLE1BQUEsRUFBUSxJQUFJLE1BQUosQ0FBVyxvQkFBWCxDQUZSOzs7QUFJSixTQUFBLEdBQVksU0FBQyxHQUFELEVBQU0sT0FBTjtBQUVSLFFBQUE7O1FBRmMsVUFBUTs7SUFFdEIsUUFBQSxHQUFXLFNBQUMsQ0FBRCxFQUFJLENBQUo7QUFDUCxlQUFNLENBQUMsQ0FBQyxNQUFGLEdBQVcsQ0FBakI7WUFDSSxDQUFBLElBQUs7UUFEVDtlQUVBO0lBSE87SUFLWCxHQUFBLEdBQU0sU0FBQyxDQUFELEVBQUcsQ0FBSDtBQUNGLFlBQUE7UUFBQSxDQUFBLEdBQUk7QUFDSixhQUFBLE1BQUE7O1lBQ0ksQ0FBRSxDQUFBLENBQUEsQ0FBRixHQUFPO0FBRFg7QUFFQSxhQUFBLE1BQUE7O1lBQ0ksSUFBZ0IsWUFBaEI7Z0JBQUEsQ0FBRSxDQUFBLENBQUEsQ0FBRixHQUFPLEVBQVA7O0FBREo7ZUFFQTtJQU5FO0lBUU4sR0FBQSxHQUFNLEdBQUEsQ0FBSSxPQUFKLEVBQWEsUUFBYjtBQUVOLFlBQU8sR0FBRyxDQUFDLEdBQVg7QUFBQSxhQUNTLE9BRFQ7QUFDOEIsbUJBQU8s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ICAgMDAwICAgMDAwMDAwMCAgIDAwMCAgMDAwMDAwMDAgIDAwMCAgIDAwMFxuMDAwICAgICAgICAgIDAwMCAgICAgMDAwICAgMDAwICAwMDAgIDAwMDAgIDAwMCAgMDAwICAgICAgICAwMDAgIDAwMCAgICAgICAgMDAwIDAwMCBcbjAwMDAwMDAgICAgICAwMDAgICAgIDAwMDAwMDAgICAgMDAwICAwMDAgMCAwMDAgIDAwMCAgMDAwMCAgMDAwICAwMDAwMDAgICAgICAwMDAwMCAgXG4gICAgIDAwMCAgICAgMDAwICAgICAwMDAgICAwMDAgIDAwMCAgMDAwICAwMDAwICAwMDAgICAwMDAgIDAwMCAgMDAwICAgICAgICAgIDAwMCAgIFxuMDAwMDAwMCAgICAgIDAwMCAgICAgMDAwICAgMDAwICAwMDAgIDAwMCAgIDAwMCAgIDAwMDAwMDAgICAwMDAgIDAwMCAgICAgICAgICAwMDAgICBcbiMjI1xuXG5kZWZhdWx0cyA9XG4gICAgZXh0OiAgICAgICcubm9vbicgIyBvdXRwdXQgZm9ybWF0XG4gICAgaW5kZW50OiAgIDQgICAgICAgIyBudW1iZXIgb2Ygc3BhY2VzIHBlciBpbmRlbnQgbGV2ZWxcbiAgICBhbGlnbjogICAgdHJ1ZSAgICAjIHZlcnRpY2FsbHkgYWxpZ24gb2JqZWN0IHZhbHVlc1xuICAgIG1heGFsaWduOiAzMiAgICAgICMgbWF4aW1hbCBudW1iZXIgb2Ygc3BhY2VzIHdoZW4gYWxpZ25pbmdcbiAgICBzb3J0OiAgICAgZmFsc2UgICAjIHNvcnQgb2JqZWN0IGtleXMgYWxwaGFiZXRpY2FsbHlcbiAgICBjaXJjdWxhcjogZmFsc2UgICAjIGNoZWNrIGZvciBjaXJjdWxhciByZWZlcmVuY2VzIChleHBlbnNpdmUhKVxuICAgIG51bGw6ICAgICBmYWxzZSAgICMgb3V0cHV0IG51bGwgZGljdGlvbmFyeSB2YWx1ZXNcbiAgICBjb2xvcnM6ICAgZmFsc2UgICAjIGNvbG9yaXplIG91dHB1dCB3aXRoIGFuc2kgY29sb3JzXG4gICAgICAgICAgICAgICAgICAgICAgIyB0cnVlIGZvciBkZWZhdWx0IGNvbG9ycyBvciBjdXN0b20gZGljdGlvbmFyeVxuICAgIFxucmVncyA9IFxuICAgIHVybDogICAgbmV3IFJlZ0V4cCAnXihodHRwcz98Z2l0fGZpbGUpKDovLykoXFxcXFMrKSQnXG4gICAgcGF0aDogICBuZXcgUmVnRXhwICdeKFtcXFxcLlxcXFwvXFxcXFNdKykoXFxcXC9cXFxcUyspJCdcbiAgICBzZW12ZXI6IG5ldyBSZWdFeHAgJ1xcXFxkK1xcXFwuXFxcXGQrXFxcXC5cXFxcZCsnXG4gICAgICAgIFxuc3RyaW5naWZ5ID0gKG9iaiwgb3B0aW9ucz17fSkgLT5cblxuICAgIHBhZFJpZ2h0ID0gKHMsIGwpIC0+IFxuICAgICAgICB3aGlsZSBzLmxlbmd0aCA8IGxcbiAgICAgICAgICAgIHMgKz0gJyAnXG4gICAgICAgIHNcblxuICAgIGRlZiA9IChvLGQpIC0+XG4gICAgICAgIHIgPSB7fVxuICAgICAgICBmb3Igayx2IG9mIG9cbiAgICAgICAgICAgIHJba10gPSB2XG4gICAgICAgIGZvciBrLHYgb2YgZFxuICAgICAgICAgICAgcltrXSA9IHYgaWYgbm90IHJba10/XG4gICAgICAgIHJcblxuICAgIG9wdCA9IGRlZiBvcHRpb25zLCBkZWZhdWx0c1xuICAgIFxuICAgIHN3aXRjaCBvcHQuZXh0XG4gICAgICAgIHdoZW4gJy5qc29uJyAgICAgICAgIHRoZW4gcmV0dXJuIEpTT04uc3RyaW5naWZ5IG9iaiwgbnVsbCwgb3B0LmluZGVudFxuICAgICAgICB3aGVuICcueW1sJywgJy55YW1sJyB0aGVuIHJldHVybiByZXF1aXJlKCdqcy15YW1sJykuZHVtcCBvYmpcbiAgICBcbiAgICBpZiB0eXBlb2Ygb3B0LmluZGVudCA9PSAnc3RyaW5nJyBcbiAgICAgICAgb3B0LmluZGVudCA9IG9wdC5pbmRlbnQubGVuZ3RoXG4gICAgaW5kc3RyID0gcGFkUmlnaHQgJycsIG9wdC5pbmRlbnRcbiAgICBcbiAgICAjIyNcbiAgICAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAgICAgICAgMDAwMDAwMCAgIDAwMDAwMDAwICAgIDAwMDAwMDBcbiAgICAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICBcbiAgICAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMDAwMDAgICAgMDAwMDAwMCBcbiAgICAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgICAgICAwMDBcbiAgICAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwMDAwMCBcbiAgICAjIyNcbiAgICBcbiAgICBpZiBvcHQuY29sb3JzID09IGZhbHNlIG9yIG9wdC5jb2xvcnMgPT0gMFxuICAgICAgICBub29wID0gKHMpIC0+IHNcbiAgICAgICAgY29sb3JzID0gXG4gICAgICAgICAgICB1cmw6ICAgICBub29wXG4gICAgICAgICAgICBrZXk6ICAgICBub29wXG4gICAgICAgICAgICBudWxsOiAgICBub29wXG4gICAgICAgICAgICB0cnVlOiAgICBub29wXG4gICAgICAgICAgICBmYWxzZTogICBub29wXG4gICAgICAgICAgICBwYXRoOiAgICBub29wXG4gICAgICAgICAgICB2YWx1ZTogICBub29wXG4gICAgICAgICAgICBzdHJpbmc6ICBub29wXG4gICAgICAgICAgICBzZW12ZXI6ICBub29wXG4gICAgICAgICAgICBudW1iZXI6ICBub29wXG4gICAgICAgICAgICB2aXNpdGVkOiBub29wXG4gICAgICAgICAgICBzcGVjaWFsOiBub29wXG4gICAgZWxzZVxuICAgICAgICBjb2xvcnMgID0gcmVxdWlyZSAnY29sb3JzJ1xuICAgICAgICBkZWZhdWx0Q29sb3JzID1cbiAgICAgICAgICAgIHVybDogICAgIGNvbG9ycy55ZWxsb3dcbiAgICAgICAgICAgIGtleTogICAgIGNvbG9ycy5ncmF5XG4gICAgICAgICAgICBudWxsOiAgICBjb2xvcnMuYmx1ZVxuICAgICAgICAgICAgdHJ1ZTogICAgY29sb3JzLmJsdWUuYm9sZFxuICAgICAgICAgICAgZmFsc2U6ICAgY29sb3JzLmdyYXkuZGltXG4gICAgICAgICAgICBwYXRoOiAgICBjb2xvcnMuZ3JlZW5cbiAgICAgICAgICAgIHZhbHVlOiAgIGNvbG9ycy53aGl0ZVxuICAgICAgICAgICAgc3RyaW5nOiAgY29sb3JzLndoaXRlLmJvbGRcbiAgICAgICAgICAgIHNlbXZlcjogIGNvbG9ycy5yZWRcbiAgICAgICAgICAgIG51bWJlcjogIGNvbG9ycy5tYWdlbnRhXG4gICAgICAgICAgICB2aXNpdGVkOiBjb2xvcnMucmVkXG4gICAgICAgICAgICBkaW06ICAgICAnXj49LjovLSdcbiAgICAgICAgaWYgb3B0LmNvbG9ycyA9PSB0cnVlXG4gICAgICAgICAgICBjb2xvcnMgPSBkZWZhdWx0Q29sb3JzXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGNvbG9ycyA9IGRlZiBvcHQuY29sb3JzLCBkZWZhdWx0Q29sb3JzXG5cbiAgICAjIyNcbiAgICAwMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAwICAgMDAwMDAwMDBcbiAgICAwMDAgICAgICAgMDAwICAgICAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICBcbiAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgICAgICAwMDAwMDAwMDAgIDAwMDAwMDAwICAgMDAwMDAwMCBcbiAgICAwMDAgICAgICAgICAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgICAgMDAwICAgICBcbiAgICAwMDAwMDAwMCAgMDAwMDAwMCAgICAwMDAwMDAwICAwMDAgICAwMDAgIDAwMCAgICAgICAgMDAwMDAwMDBcbiAgICAjIyNcblxuICAgIGVzY2FwZSA9IChrLCBhcnJ5KSAtPlxuICAgICAgICBpZiAwIDw9IGsuaW5kZXhPZiAnXFxuJ1xuICAgICAgICAgICAgc3AgPSBrLnNwbGl0ICdcXG4nXG4gICAgICAgICAgICBlcyA9IHNwLm1hcCAocykgLT4gZXNjYXBlKHMsIGFycnkpXG4gICAgICAgICAgICBlcy51bnNoaWZ0ICcuLi4nXG4gICAgICAgICAgICBlcy5wdXNoICcuLi4nXG4gICAgICAgICAgICByZXR1cm4gZXMuam9pbiAnXFxuJ1xuICAgICAgICBpZiBrID09ICcnIG9yIGsgPT0gJy4uLicgb3Iga1swXSBpbiBbJyAnLCAnIycsICd8J10gb3Iga1trLmxlbmd0aC0xXSBpbiBbJyAnLCAnIycsICd8J10gXG4gICAgICAgICAgICBrID0gJ3wnICsgayArICd8J1xuICAgICAgICBlbHNlIGlmIGFycnkgYW5kIC9cXCBcXCAvLnRlc3Qga1xuICAgICAgICAgICAgayA9ICd8JyArIGsgKyAnfCdcbiAgICAgICAga1xuXG4gICAgIyMjXG4gICAgMDAwMDAwMCAgICAwMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAgICAwMDAgIDAwMDAwMDAwMCAgMDAwICAwMDAwMDAwMCAgMDAwICAgMDAwXG4gICAgMDAwICAgMDAwICAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgMDAwICAwMDAgICAgICAgIDAwMCAwMDAgXG4gICAgMDAwMDAwMCAgICAwMDAwMDAwICAgMDAwMDAwMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgMDAwICAwMDAwMDAgICAgICAwMDAwMCAgXG4gICAgMDAwICAgMDAwICAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgMDAwICAwMDAgICAgICAgICAgMDAwICAgXG4gICAgMDAwMDAwMCAgICAwMDAwMDAwMCAgMDAwICAgMDAwICAgMDAwMDAwMCAgICAgIDAwMCAgICAgMDAwICAwMDAgICAgICAgICAgMDAwICAgXG4gICAgIyMjXG4gICAgXG4gICAgYmVhdXRpZnkgPSAocykgLT4gXG4gICAgICAgIGlmIGNvbG9ycy5kaW0/XG4gICAgICAgICAgICBmb3IgYyBpbiBjb2xvcnMuZGltXG4gICAgICAgICAgICAgICAgcyA9IHMucmVwbGFjZSBuZXcgUmVnRXhwKFwiXFxcXCN7Y31cIiwgJ2cnKSwgYy5kaW1cbiAgICAgICAgc1xuICAgIFxuICAgICMjI1xuICAgIDAwMDAwMDAwICAgMDAwMDAwMDAgICAwMDAwMDAwMCAgMDAwMDAwMDAwICAwMDAwMDAwMDAgIDAwMCAgIDAwMFxuICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAgICAgICAgMDAwICAgICAgICAwMDAgICAgICAwMDAgMDAwIFxuICAgIDAwMDAwMDAwICAgMDAwMDAwMCAgICAwMDAwMDAwICAgICAgMDAwICAgICAgICAwMDAgICAgICAgMDAwMDAgIFxuICAgIDAwMCAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAgICAgMDAwICAgICAgICAwMDAgICAgICAgIDAwMCAgIFxuICAgIDAwMCAgICAgICAgMDAwICAgMDAwICAwMDAwMDAwMCAgICAgMDAwICAgICAgICAwMDAgICAgICAgIDAwMCAgIFxuICAgICMjI1xuICAgIFxuICAgIHByZXR0eSA9IChvLCBpbmQsIHZpc2l0ZWQpIC0+XG4gICAgICAgIFxuICAgICAgICBpZiBvcHQuYWxpZ24gICAgICAgIFxuICAgICAgICAgICAgbWF4S2V5ID0gb3B0LmluZGVudFxuICAgICAgICAgICAgaWYgT2JqZWN0LmtleXMobykubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgIGZvciBvd24gayx2IG9mIG9cbiAgICAgICAgICAgICAgICAgICAga2wgPSBwYXJzZUludChNYXRoLmNlaWwoKGsubGVuZ3RoKzIpL29wdC5pbmRlbnQpKm9wdC5pbmRlbnQpXG4gICAgICAgICAgICAgICAgICAgIG1heEtleSA9IE1hdGgubWF4IG1heEtleSwga2xcbiAgICAgICAgICAgICAgICAgICAgaWYgb3B0Lm1heGFsaWduIGFuZCAobWF4S2V5ID4gb3B0Lm1heGFsaWduKVxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4S2V5ID0gb3B0Lm1heGFsaWduXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICBsID0gW11cbiAgICAgICAgXG4gICAgICAgIGtleVZhbHVlID0gKGssdikgLT5cbiAgICAgICAgICAgIHMgPSBpbmRcbiAgICAgICAgICAgIGsgPSBlc2NhcGUgaywgdHJ1ZVxuICAgICAgICAgICAgaWYgay5pbmRleE9mKCcgICcpID4gMCBhbmQga1swXSAhPSAnfCdcbiAgICAgICAgICAgICAgICBrID0gXCJ8I3trfXxcIlxuICAgICAgICAgICAgZWxzZSBpZiBrWzBdICE9ICd8JyBhbmQga1trLmxlbmd0aC0xXSA9PSAnfCdcbiAgICAgICAgICAgICAgICBrID0gJ3wnICsga1xuICAgICAgICAgICAgZWxzZSBpZiBrWzBdID09ICd8JyBhbmQga1trLmxlbmd0aC0xXSAhPSAnfCdcbiAgICAgICAgICAgICAgICBrICs9ICd8J1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiBvcHQuYWxpZ25cbiAgICAgICAgICAgICAgICBrcyA9IHBhZFJpZ2h0IGssIE1hdGgubWF4IG1heEtleSwgay5sZW5ndGgrMlxuICAgICAgICAgICAgICAgIGkgID0gcGFkUmlnaHQgaW5kK2luZHN0ciwgbWF4S2V5XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAga3MgPSBwYWRSaWdodCBrLCBrLmxlbmd0aCsyXG4gICAgICAgICAgICAgICAgaSAgPSBpbmQraW5kc3RyXG4gICAgICAgICAgICBzICs9IGNvbG9ycy5rZXkgb3B0LmNvbG9ycyAhPSBmYWxzZSBhbmQgcy5sZW5ndGggPT0gMCBhbmQga3MuYm9sZCBvciBrc1xuICAgICAgICAgICAgdnMgPSB0b1N0ciB2LCBpLCBmYWxzZSwgdmlzaXRlZFxuICAgICAgICAgICAgaWYgdnNbMF0gPT0gJ1xcbidcbiAgICAgICAgICAgICAgICB3aGlsZSBzW3MubGVuZ3RoLTFdID09ICcgJ1xuICAgICAgICAgICAgICAgICAgICBzID0gcy5zdWJzdHIgMCwgcy5sZW5ndGgtMSAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIHMgKz0gdnNcbiAgICAgICAgICAgIHdoaWxlIHNbcy5sZW5ndGgtMV0gPT0gJyAnXG4gICAgICAgICAgICAgICAgcyA9IHMuc3Vic3RyIDAsIHMubGVuZ3RoLTFcbiAgICAgICAgICAgIHNcblxuICAgICAgICBpZiBvcHQuc29ydFxuICAgICAgICAgICAgZm9yIGsgaW4gT2JqZWN0LmtleXMobykuc29ydCgpXG4gICAgICAgICAgICAgICAgbC5wdXNoIGtleVZhbHVlIGssIG9ba11cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZm9yIG93biBrLHYgb2Ygb1xuICAgICAgICAgICAgICAgIGwucHVzaCBrZXlWYWx1ZSBrLCB2XG4gICAgICAgICAgICBcbiAgICAgICAgbC5qb2luICdcXG4nXG5cbiAgICAjIyNcbiAgICAwMDAwMDAwMDAgICAwMDAwMDAwICAgIDAwMDAwMDAgIDAwMDAwMDAwMCAgMDAwMDAwMDAgXG4gICAgICAgMDAwICAgICAwMDAgICAwMDAgIDAwMCAgICAgICAgICAwMDAgICAgIDAwMCAgIDAwMFxuICAgICAgIDAwMCAgICAgMDAwICAgMDAwICAwMDAwMDAwICAgICAgMDAwICAgICAwMDAwMDAwICBcbiAgICAgICAwMDAgICAgIDAwMCAgIDAwMCAgICAgICAwMDAgICAgIDAwMCAgICAgMDAwICAgMDAwXG4gICAgICAgMDAwICAgICAgMDAwMDAwMCAgIDAwMDAwMDAgICAgICAwMDAgICAgIDAwMCAgIDAwMFxuICAgICMjI1xuICAgIFxuICAgIHRvU3RyID0gKG8sIGluZD0nJywgYXJyeT1mYWxzZSwgdmlzaXRlZD1bXSkgLT5cbiAgICAgICAgaWYgbm90IG8/IFxuICAgICAgICAgICAgaWYgbyA9PSBudWxsXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdC5udWxsIG9yIGFycnkgYW5kIGNvbG9ycy5udWxsKFwibnVsbFwiKSBvciAnJ1xuICAgICAgICAgICAgaWYgbyA9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sb3JzLm51bGwgXCJ1bmRlZmluZWRcIlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5udWxsICc8Pz4nXG4gICAgICAgIHQgPSB0eXBlb2Ygb1xuICAgICAgICBpZiB0ID09ICdzdHJpbmcnIFxuICAgICAgICAgICAgaWYgb3B0LmNvbG9ycyAhPSBmYWxzZVxuICAgICAgICAgICAgICAgIGZvciByYyBpbiBPYmplY3Qua2V5cyByZWdzXG4gICAgICAgICAgICAgICAgICAgIGlmIGNvbG9yc1tyY10/IGFuZCByZWdzW3JjXS50ZXN0IG9cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAgY29sb3JzW3JjXSBiZWF1dGlmeSBlc2NhcGUgbywgYXJyeVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5zdHJpbmcgZXNjYXBlIG8sIGFycnlcbiAgICAgICAgZWxzZSBpZiB0ID09ICdvYmplY3QnXG4gICAgICAgICAgICBpZiBvcHQuY2lyY3VsYXJcbiAgICAgICAgICAgICAgICBpZiBvIGluIHZpc2l0ZWRcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy52aXNpdGVkICc8dj4nXG4gICAgICAgICAgICAgICAgdmlzaXRlZC5wdXNoIG9cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIG8uY29uc3RydWN0b3I/Lm5hbWUgPT0gJ0FycmF5J1xuICAgICAgICAgICAgICAgIHMgPSBpbmQhPScnIGFuZCBhcnJ5IGFuZCAnLicgb3IgJydcbiAgICAgICAgICAgICAgICBzICs9ICdcXG4nIGlmIG8ubGVuZ3RoIGFuZCBpbmQhPScnXG4gICAgICAgICAgICAgICAgcyArPSAoaW5kK3RvU3RyKHYsaW5kK2luZHN0cix0cnVlLHZpc2l0ZWQpIGZvciB2IGluIG8pLmpvaW4gJ1xcbidcbiAgICAgICAgICAgIGVsc2UgaWYgby5jb25zdHJ1Y3Rvcj8ubmFtZSA9PSAnUmVnRXhwJ1xuICAgICAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc2VtdmVyIG8uc291cmNlXG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcyA9IChhcnJ5IGFuZCAnLlxcbicpIG9yICgoaW5kICE9ICcnKSBhbmQgJ1xcbicgb3IgJycpXG4gICAgICAgICAgICAgICAgcyArPSBwcmV0dHkgbywgaW5kLCB2aXNpdGVkXG4gICAgICAgICAgICByZXR1cm4gc1xuICAgICAgICBlbHNlIGlmIHQgPT0gJ251bWJlcidcbiAgICAgICAgICAgIHJldHVybiBjb2xvcnMubnVtYmVyIFN0cmluZyBvXG4gICAgICAgIGVsc2UgaWYgdCA9PSAnYm9vbGVhbidcbiAgICAgICAgICAgIHJldHVybiAobyBhbmQgY29sb3JzLnRydWUgb3IgY29sb3JzLmZhbHNlKSBTdHJpbmcgb1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gY29sb3JzLnZhbHVlIFN0cmluZyBvICMgcGxhaW4gdmFsdWVzXG4gICAgICAgIHJldHVybiBjb2xvcnMubnVsbCAnPD8/Pz4nXG5cbiAgICBzID0gdG9TdHIgb2JqXG4gICAgc1xuXG5tb2R1bGUuZXhwb3J0cyA9IHN0cmluZ2lmeVxuIl19
//# sourceURL=../coffee/stringify.coffee
{
"name": "noon",
"version": "2.3.0",
"version": "2.4.0",
"description": "'nother ordinary object notation",

@@ -31,3 +31,2 @@ "main": "js/main.js",

"lodash.defaults": "^4.2.0",
"lodash.isfunction": "^3.0.9",
"lodash.pad": "^4.5.1"

@@ -34,0 +33,0 @@ },

@@ -114,3 +114,4 @@

#### comments
```coffee-script
```coffeescript
# comments start with the hash sign

@@ -117,0 +118,0 @@ # mixing of data and comments is not allowed

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc