You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cmda.apache.org by xi...@apache.org on 2015/10/17 01:11:48 UTC
[14/51] [partial] incubator-cmda git commit: Update ApacheCMDA_1.0
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/to-css-visitor.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/to-css-visitor.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/to-css-visitor.js
new file mode 100644
index 0000000..af4ac54
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/to-css-visitor.js
@@ -0,0 +1,215 @@
+(function (tree) {
+ tree.toCSSVisitor = function(env) {
+ this._visitor = new tree.visitor(this);
+ this._env = env;
+ };
+
+ tree.toCSSVisitor.prototype = {
+ isReplacing: true,
+ run: function (root) {
+ return this._visitor.visit(root);
+ },
+
+ visitRule: function (ruleNode, visitArgs) {
+ if (ruleNode.variable) {
+ return [];
+ }
+ return ruleNode;
+ },
+
+ visitMixinDefinition: function (mixinNode, visitArgs) {
+ return [];
+ },
+
+ visitExtend: function (extendNode, visitArgs) {
+ return [];
+ },
+
+ visitComment: function (commentNode, visitArgs) {
+ if (commentNode.isSilent(this._env)) {
+ return [];
+ }
+ return commentNode;
+ },
+
+ visitMedia: function(mediaNode, visitArgs) {
+ mediaNode.accept(this._visitor);
+ visitArgs.visitDeeper = false;
+
+ if (!mediaNode.rules.length) {
+ return [];
+ }
+ return mediaNode;
+ },
+
+ visitDirective: function(directiveNode, visitArgs) {
+ if (directiveNode.currentFileInfo.reference && !directiveNode.isReferenced) {
+ return [];
+ }
+ if (directiveNode.name === "@charset") {
+ // Only output the debug info together with subsequent @charset definitions
+ // a comment (or @media statement) before the actual @charset directive would
+ // be considered illegal css as it has to be on the first line
+ if (this.charset) {
+ if (directiveNode.debugInfo) {
+ var comment = new tree.Comment("/* " + directiveNode.toCSS(this._env).replace(/\n/g, "")+" */\n");
+ comment.debugInfo = directiveNode.debugInfo;
+ return this._visitor.visit(comment);
+ }
+ return [];
+ }
+ this.charset = true;
+ }
+ return directiveNode;
+ },
+
+ checkPropertiesInRoot: function(rules) {
+ var ruleNode;
+ for(var i = 0; i < rules.length; i++) {
+ ruleNode = rules[i];
+ if (ruleNode instanceof tree.Rule && !ruleNode.variable) {
+ throw { message: "properties must be inside selector blocks, they cannot be in the root.",
+ index: ruleNode.index, filename: ruleNode.currentFileInfo ? ruleNode.currentFileInfo.filename : null};
+ }
+ }
+ },
+
+ visitRuleset: function (rulesetNode, visitArgs) {
+ var rule, rulesets = [];
+ if (rulesetNode.firstRoot) {
+ this.checkPropertiesInRoot(rulesetNode.rules);
+ }
+ if (! rulesetNode.root) {
+ if (rulesetNode.paths) {
+ rulesetNode.paths = rulesetNode.paths
+ .filter(function(p) {
+ var i;
+ if (p[0].elements[0].combinator.value === ' ') {
+ p[0].elements[0].combinator = new(tree.Combinator)('');
+ }
+ for(i = 0; i < p.length; i++) {
+ if (p[i].getIsReferenced() && p[i].getIsOutput()) {
+ return true;
+ }
+ }
+ return false;
+ });
+ }
+
+ // Compile rules and rulesets
+ var nodeRules = rulesetNode.rules, nodeRuleCnt = nodeRules ? nodeRules.length : 0;
+ for (var i = 0; i < nodeRuleCnt; ) {
+ rule = nodeRules[i];
+ if (rule && rule.rules) {
+ // visit because we are moving them out from being a child
+ rulesets.push(this._visitor.visit(rule));
+ nodeRules.splice(i, 1);
+ nodeRuleCnt--;
+ continue;
+ }
+ i++;
+ }
+ // accept the visitor to remove rules and refactor itself
+ // then we can decide now whether we want it or not
+ if (nodeRuleCnt > 0) {
+ rulesetNode.accept(this._visitor);
+ } else {
+ rulesetNode.rules = null;
+ }
+ visitArgs.visitDeeper = false;
+
+ nodeRules = rulesetNode.rules;
+ if (nodeRules) {
+ this._mergeRules(nodeRules);
+ nodeRules = rulesetNode.rules;
+ }
+ if (nodeRules) {
+ this._removeDuplicateRules(nodeRules);
+ nodeRules = rulesetNode.rules;
+ }
+
+ // now decide whether we keep the ruleset
+ if (nodeRules && nodeRules.length > 0 && rulesetNode.paths.length > 0) {
+ rulesets.splice(0, 0, rulesetNode);
+ }
+ } else {
+ rulesetNode.accept(this._visitor);
+ visitArgs.visitDeeper = false;
+ if (rulesetNode.firstRoot || (rulesetNode.rules && rulesetNode.rules.length > 0)) {
+ rulesets.splice(0, 0, rulesetNode);
+ }
+ }
+ if (rulesets.length === 1) {
+ return rulesets[0];
+ }
+ return rulesets;
+ },
+
+ _removeDuplicateRules: function(rules) {
+ if (!rules) { return; }
+
+ // remove duplicates
+ var ruleCache = {},
+ ruleList, rule, i;
+
+ for(i = rules.length - 1; i >= 0 ; i--) {
+ rule = rules[i];
+ if (rule instanceof tree.Rule) {
+ if (!ruleCache[rule.name]) {
+ ruleCache[rule.name] = rule;
+ } else {
+ ruleList = ruleCache[rule.name];
+ if (ruleList instanceof tree.Rule) {
+ ruleList = ruleCache[rule.name] = [ruleCache[rule.name].toCSS(this._env)];
+ }
+ var ruleCSS = rule.toCSS(this._env);
+ if (ruleList.indexOf(ruleCSS) !== -1) {
+ rules.splice(i, 1);
+ } else {
+ ruleList.push(ruleCSS);
+ }
+ }
+ }
+ }
+ },
+
+ _mergeRules: function (rules) {
+ if (!rules) { return; }
+
+ var groups = {},
+ parts,
+ rule,
+ key;
+
+ for (var i = 0; i < rules.length; i++) {
+ rule = rules[i];
+
+ if ((rule instanceof tree.Rule) && rule.merge) {
+ key = [rule.name,
+ rule.important ? "!" : ""].join(",");
+
+ if (!groups[key]) {
+ groups[key] = [];
+ } else {
+ rules.splice(i--, 1);
+ }
+
+ groups[key].push(rule);
+ }
+ }
+
+ Object.keys(groups).map(function (k) {
+ parts = groups[k];
+
+ if (parts.length > 1) {
+ rule = parts[0];
+
+ rule.value = new (tree.Value)(parts.map(function (p) {
+ return p.value;
+ }));
+ }
+ });
+ }
+ };
+
+})(require('./tree'));
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree.js
new file mode 100644
index 0000000..efe7302
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree.js
@@ -0,0 +1,97 @@
+(function (tree) {
+
+tree.debugInfo = function(env, ctx, lineSeperator) {
+ var result="";
+ if (env.dumpLineNumbers && !env.compress) {
+ switch(env.dumpLineNumbers) {
+ case 'comments':
+ result = tree.debugInfo.asComment(ctx);
+ break;
+ case 'mediaquery':
+ result = tree.debugInfo.asMediaQuery(ctx);
+ break;
+ case 'all':
+ result = tree.debugInfo.asComment(ctx) + (lineSeperator || "") + tree.debugInfo.asMediaQuery(ctx);
+ break;
+ }
+ }
+ return result;
+};
+
+tree.debugInfo.asComment = function(ctx) {
+ return '/* line ' + ctx.debugInfo.lineNumber + ', ' + ctx.debugInfo.fileName + ' */\n';
+};
+
+tree.debugInfo.asMediaQuery = function(ctx) {
+ return '@media -sass-debug-info{filename{font-family:' +
+ ('file://' + ctx.debugInfo.fileName).replace(/([.:/\\])/g, function (a) {
+ if (a == '\\') {
+ a = '\/';
+ }
+ return '\\' + a;
+ }) +
+ '}line{font-family:\\00003' + ctx.debugInfo.lineNumber + '}}\n';
+};
+
+tree.find = function (obj, fun) {
+ for (var i = 0, r; i < obj.length; i++) {
+ r = fun.call(obj, obj[i]);
+ if (r) { return r; }
+ }
+ return null;
+};
+
+tree.jsify = function (obj) {
+ if (Array.isArray(obj.value) && (obj.value.length > 1)) {
+ return '[' + obj.value.map(function (v) { return v.toCSS(false); }).join(', ') + ']';
+ } else {
+ return obj.toCSS(false);
+ }
+};
+
+tree.toCSS = function (env) {
+ var strs = [];
+ this.genCSS(env, {
+ add: function(chunk, fileInfo, index) {
+ strs.push(chunk);
+ },
+ isEmpty: function () {
+ return strs.length === 0;
+ }
+ });
+ return strs.join('');
+};
+
+tree.outputRuleset = function (env, output, rules) {
+ var ruleCnt = rules.length, i;
+ env.tabLevel = (env.tabLevel | 0) + 1;
+
+ // Compressed
+ if (env.compress) {
+ output.add('{');
+ for (i = 0; i < ruleCnt; i++) {
+ rules[i].genCSS(env, output);
+ }
+ output.add('}');
+ env.tabLevel--;
+ return;
+ }
+
+ // Non-compressed
+ var tabSetStr = '\n' + Array(env.tabLevel).join(" "), tabRuleStr = tabSetStr + " ";
+ if (!ruleCnt) {
+ output.add(" {" + tabSetStr + '}');
+ } else {
+ output.add(" {" + tabRuleStr);
+ rules[0].genCSS(env, output);
+ for (i = 1; i < ruleCnt; i++) {
+ output.add(tabRuleStr);
+ rules[i].genCSS(env, output);
+ }
+ output.add(tabSetStr + '}');
+ }
+
+ env.tabLevel--;
+};
+
+})(require('./tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/alpha.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/alpha.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/alpha.js
new file mode 100644
index 0000000..e827fd0
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/alpha.js
@@ -0,0 +1,29 @@
+(function (tree) {
+
+tree.Alpha = function (val) {
+ this.value = val;
+};
+tree.Alpha.prototype = {
+ type: "Alpha",
+ accept: function (visitor) {
+ this.value = visitor.visit(this.value);
+ },
+ eval: function (env) {
+ if (this.value.eval) { return new tree.Alpha(this.value.eval(env)); }
+ return this;
+ },
+ genCSS: function (env, output) {
+ output.add("alpha(opacity=");
+
+ if (this.value.genCSS) {
+ this.value.genCSS(env, output);
+ } else {
+ output.add(this.value);
+ }
+
+ output.add(")");
+ },
+ toCSS: tree.toCSS
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/anonymous.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/anonymous.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/anonymous.js
new file mode 100644
index 0000000..3cfae77
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/anonymous.js
@@ -0,0 +1,34 @@
+(function (tree) {
+
+tree.Anonymous = function (string, index, currentFileInfo, mapLines) {
+ this.value = string.value || string;
+ this.index = index;
+ this.mapLines = mapLines;
+ this.currentFileInfo = currentFileInfo;
+};
+tree.Anonymous.prototype = {
+ type: "Anonymous",
+ eval: function () {
+ return new tree.Anonymous(this.value, this.index, this.currentFileInfo, this.mapLines);
+ },
+ compare: function (x) {
+ if (!x.toCSS) {
+ return -1;
+ }
+
+ var left = this.toCSS(),
+ right = x.toCSS();
+
+ if (left === right) {
+ return 0;
+ }
+
+ return left < right ? -1 : 1;
+ },
+ genCSS: function (env, output) {
+ output.add(this.value, this.currentFileInfo, this.index, this.mapLines);
+ },
+ toCSS: tree.toCSS
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/assignment.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/assignment.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/assignment.js
new file mode 100644
index 0000000..61d22fc
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/assignment.js
@@ -0,0 +1,29 @@
+(function (tree) {
+
+tree.Assignment = function (key, val) {
+ this.key = key;
+ this.value = val;
+};
+tree.Assignment.prototype = {
+ type: "Assignment",
+ accept: function (visitor) {
+ this.value = visitor.visit(this.value);
+ },
+ eval: function (env) {
+ if (this.value.eval) {
+ return new(tree.Assignment)(this.key, this.value.eval(env));
+ }
+ return this;
+ },
+ genCSS: function (env, output) {
+ output.add(this.key + '=');
+ if (this.value.genCSS) {
+ this.value.genCSS(env, output);
+ } else {
+ output.add(this.value);
+ }
+ },
+ toCSS: tree.toCSS
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/call.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/call.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/call.js
new file mode 100644
index 0000000..aa6acb9
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/call.js
@@ -0,0 +1,71 @@
+(function (tree) {
+
+//
+// A function call node.
+//
+tree.Call = function (name, args, index, currentFileInfo) {
+ this.name = name;
+ this.args = args;
+ this.index = index;
+ this.currentFileInfo = currentFileInfo;
+};
+tree.Call.prototype = {
+ type: "Call",
+ accept: function (visitor) {
+ if (this.args) {
+ this.args = visitor.visitArray(this.args);
+ }
+ },
+ //
+ // When evaluating a function call,
+ // we either find the function in `tree.functions` [1],
+ // in which case we call it, passing the evaluated arguments,
+ // if this returns null or we cannot find the function, we
+ // simply print it out as it appeared originally [2].
+ //
+ // The *functions.js* file contains the built-in functions.
+ //
+ // The reason why we evaluate the arguments, is in the case where
+ // we try to pass a variable to a function, like: `saturate(@color)`.
+ // The function should receive the value, not the variable.
+ //
+ eval: function (env) {
+ var args = this.args.map(function (a) { return a.eval(env); }),
+ nameLC = this.name.toLowerCase(),
+ result, func;
+
+ if (nameLC in tree.functions) { // 1.
+ try {
+ func = new tree.functionCall(env, this.currentFileInfo);
+ result = func[nameLC].apply(func, args);
+ if (result != null) {
+ return result;
+ }
+ } catch (e) {
+ throw { type: e.type || "Runtime",
+ message: "error evaluating function `" + this.name + "`" +
+ (e.message ? ': ' + e.message : ''),
+ index: this.index, filename: this.currentFileInfo.filename };
+ }
+ }
+
+ return new tree.Call(this.name, args, this.index, this.currentFileInfo);
+ },
+
+ genCSS: function (env, output) {
+ output.add(this.name + "(", this.currentFileInfo, this.index);
+
+ for(var i = 0; i < this.args.length; i++) {
+ this.args[i].genCSS(env, output);
+ if (i + 1 < this.args.length) {
+ output.add(", ");
+ }
+ }
+
+ output.add(")");
+ },
+
+ toCSS: tree.toCSS
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/color.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/color.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/color.js
new file mode 100644
index 0000000..38163d8
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/color.js
@@ -0,0 +1,176 @@
+(function (tree) {
+//
+// RGB Colors - #ff0014, #eee
+//
+tree.Color = function (rgb, a) {
+ //
+ // The end goal here, is to parse the arguments
+ // into an integer triplet, such as `128, 255, 0`
+ //
+ // This facilitates operations and conversions.
+ //
+ if (Array.isArray(rgb)) {
+ this.rgb = rgb;
+ } else if (rgb.length == 6) {
+ this.rgb = rgb.match(/.{2}/g).map(function (c) {
+ return parseInt(c, 16);
+ });
+ } else {
+ this.rgb = rgb.split('').map(function (c) {
+ return parseInt(c + c, 16);
+ });
+ }
+ this.alpha = typeof(a) === 'number' ? a : 1;
+};
+
+var transparentKeyword = "transparent";
+
+tree.Color.prototype = {
+ type: "Color",
+ eval: function () { return this; },
+ luma: function () { return (0.2126 * this.rgb[0] / 255) + (0.7152 * this.rgb[1] / 255) + (0.0722 * this.rgb[2] / 255); },
+
+ genCSS: function (env, output) {
+ output.add(this.toCSS(env));
+ },
+ toCSS: function (env, doNotCompress) {
+ var compress = env && env.compress && !doNotCompress;
+
+ // If we have some transparency, the only way to represent it
+ // is via `rgba`. Otherwise, we use the hex representation,
+ // which has better compatibility with older browsers.
+ // Values are capped between `0` and `255`, rounded and zero-padded.
+ if (this.alpha < 1) {
+ if (this.alpha === 0 && this.isTransparentKeyword) {
+ return transparentKeyword;
+ }
+ return "rgba(" + this.rgb.map(function (c) {
+ return clamp(Math.round(c), 255);
+ }).concat(clamp(this.alpha, 1))
+ .join(',' + (compress ? '' : ' ')) + ")";
+ } else {
+ var color = this.toRGB();
+
+ if (compress) {
+ var splitcolor = color.split('');
+
+ // Convert color to short format
+ if (splitcolor[1] === splitcolor[2] && splitcolor[3] === splitcolor[4] && splitcolor[5] === splitcolor[6]) {
+ color = '#' + splitcolor[1] + splitcolor[3] + splitcolor[5];
+ }
+ }
+
+ return color;
+ }
+ },
+
+ //
+ // Operations have to be done per-channel, if not,
+ // channels will spill onto each other. Once we have
+ // our result, in the form of an integer triplet,
+ // we create a new Color node to hold the result.
+ //
+ operate: function (env, op, other) {
+ var rgb = [];
+ var alpha = this.alpha * (1 - other.alpha) + other.alpha;
+ for (var c = 0; c < 3; c++) {
+ rgb[c] = tree.operate(env, op, this.rgb[c], other.rgb[c]);
+ }
+ return new(tree.Color)(rgb, alpha);
+ },
+
+ toRGB: function () {
+ return toHex(this.rgb);
+ },
+
+ toHSL: function () {
+ var r = this.rgb[0] / 255,
+ g = this.rgb[1] / 255,
+ b = this.rgb[2] / 255,
+ a = this.alpha;
+
+ var max = Math.max(r, g, b), min = Math.min(r, g, b);
+ var h, s, l = (max + min) / 2, d = max - min;
+
+ if (max === min) {
+ h = s = 0;
+ } else {
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
+
+ switch (max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+ h /= 6;
+ }
+ return { h: h * 360, s: s, l: l, a: a };
+ },
+ //Adapted from http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript
+ toHSV: function () {
+ var r = this.rgb[0] / 255,
+ g = this.rgb[1] / 255,
+ b = this.rgb[2] / 255,
+ a = this.alpha;
+
+ var max = Math.max(r, g, b), min = Math.min(r, g, b);
+ var h, s, v = max;
+
+ var d = max - min;
+ if (max === 0) {
+ s = 0;
+ } else {
+ s = d / max;
+ }
+
+ if (max === min) {
+ h = 0;
+ } else {
+ switch(max){
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+ h /= 6;
+ }
+ return { h: h * 360, s: s, v: v, a: a };
+ },
+ toARGB: function () {
+ return toHex([this.alpha * 255].concat(this.rgb));
+ },
+ compare: function (x) {
+ if (!x.rgb) {
+ return -1;
+ }
+
+ return (x.rgb[0] === this.rgb[0] &&
+ x.rgb[1] === this.rgb[1] &&
+ x.rgb[2] === this.rgb[2] &&
+ x.alpha === this.alpha) ? 0 : -1;
+ }
+};
+
+tree.Color.fromKeyword = function(keyword) {
+ if (tree.colors.hasOwnProperty(keyword)) {
+ // detect named color
+ return new(tree.Color)(tree.colors[keyword].slice(1));
+ }
+ if (keyword === transparentKeyword) {
+ var transparent = new(tree.Color)([0, 0, 0], 0);
+ transparent.isTransparentKeyword = true;
+ return transparent;
+ }
+};
+
+function toHex(v) {
+ return '#' + v.map(function (c) {
+ c = clamp(Math.round(c), 255);
+ return (c < 16 ? '0' : '') + c.toString(16);
+ }).join('');
+}
+
+function clamp(v, max) {
+ return Math.min(Math.max(v, 0), max);
+}
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/comment.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/comment.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/comment.js
new file mode 100644
index 0000000..c39606e
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/comment.js
@@ -0,0 +1,28 @@
+(function (tree) {
+
+tree.Comment = function (value, silent, index, currentFileInfo) {
+ this.value = value;
+ this.silent = !!silent;
+ this.currentFileInfo = currentFileInfo;
+};
+tree.Comment.prototype = {
+ type: "Comment",
+ genCSS: function (env, output) {
+ if (this.debugInfo) {
+ output.add(tree.debugInfo(env, this), this.currentFileInfo, this.index);
+ }
+ output.add(this.value.trim()); //TODO shouldn't need to trim, we shouldn't grab the \n
+ },
+ toCSS: tree.toCSS,
+ isSilent: function(env) {
+ var isReference = (this.currentFileInfo && this.currentFileInfo.reference && !this.isReferenced),
+ isCompressed = env.compress && !this.value.match(/^\/\*!/);
+ return this.silent || isReference || isCompressed;
+ },
+ eval: function () { return this; },
+ markReferenced: function () {
+ this.isReferenced = true;
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/condition.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/condition.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/condition.js
new file mode 100644
index 0000000..56d221e
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/condition.js
@@ -0,0 +1,49 @@
+(function (tree) {
+
+tree.Condition = function (op, l, r, i, negate) {
+ this.op = op.trim();
+ this.lvalue = l;
+ this.rvalue = r;
+ this.index = i;
+ this.negate = negate;
+};
+tree.Condition.prototype = {
+ type: "Condition",
+ accept: function (visitor) {
+ this.lvalue = visitor.visit(this.lvalue);
+ this.rvalue = visitor.visit(this.rvalue);
+ },
+ eval: function (env) {
+ var a = this.lvalue.eval(env),
+ b = this.rvalue.eval(env);
+
+ var i = this.index, result;
+
+ result = (function (op) {
+ switch (op) {
+ case 'and':
+ return a && b;
+ case 'or':
+ return a || b;
+ default:
+ if (a.compare) {
+ result = a.compare(b);
+ } else if (b.compare) {
+ result = b.compare(a);
+ } else {
+ throw { type: "Type",
+ message: "Unable to perform comparison",
+ index: i };
+ }
+ switch (result) {
+ case -1: return op === '<' || op === '=<' || op === '<=';
+ case 0: return op === '=' || op === '>=' || op === '=<' || op === '<=';
+ case 1: return op === '>' || op === '>=';
+ }
+ }
+ })(this.op);
+ return this.negate ? !result : result;
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/dimension.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/dimension.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/dimension.js
new file mode 100644
index 0000000..c64cd89
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/dimension.js
@@ -0,0 +1,313 @@
+(function (tree) {
+
+//
+// A number with a unit
+//
+tree.Dimension = function (value, unit) {
+ this.value = parseFloat(value);
+ this.unit = (unit && unit instanceof tree.Unit) ? unit :
+ new(tree.Unit)(unit ? [unit] : undefined);
+};
+
+tree.Dimension.prototype = {
+ type: "Dimension",
+ accept: function (visitor) {
+ this.unit = visitor.visit(this.unit);
+ },
+ eval: function (env) {
+ return this;
+ },
+ toColor: function () {
+ return new(tree.Color)([this.value, this.value, this.value]);
+ },
+ genCSS: function (env, output) {
+ if ((env && env.strictUnits) && !this.unit.isSingular()) {
+ throw new Error("Multiple units in dimension. Correct the units or use the unit function. Bad unit: "+this.unit.toString());
+ }
+
+ var value = this.value,
+ strValue = String(value);
+
+ if (value !== 0 && value < 0.000001 && value > -0.000001) {
+ // would be output 1e-6 etc.
+ strValue = value.toFixed(20).replace(/0+$/, "");
+ }
+
+ if (env && env.compress) {
+ // Zero values doesn't need a unit
+ if (value === 0 && this.unit.isLength()) {
+ output.add(strValue);
+ return;
+ }
+
+ // Float values doesn't need a leading zero
+ if (value > 0 && value < 1) {
+ strValue = (strValue).substr(1);
+ }
+ }
+
+ output.add(strValue);
+ this.unit.genCSS(env, output);
+ },
+ toCSS: tree.toCSS,
+
+ // In an operation between two Dimensions,
+ // we default to the first Dimension's unit,
+ // so `1px + 2` will yield `3px`.
+ operate: function (env, op, other) {
+ /*jshint noempty:false */
+ var value = tree.operate(env, op, this.value, other.value),
+ unit = this.unit.clone();
+
+ if (op === '+' || op === '-') {
+ if (unit.numerator.length === 0 && unit.denominator.length === 0) {
+ unit.numerator = other.unit.numerator.slice(0);
+ unit.denominator = other.unit.denominator.slice(0);
+ } else if (other.unit.numerator.length === 0 && unit.denominator.length === 0) {
+ // do nothing
+ } else {
+ other = other.convertTo(this.unit.usedUnits());
+
+ if(env.strictUnits && other.unit.toString() !== unit.toString()) {
+ throw new Error("Incompatible units. Change the units or use the unit function. Bad units: '" + unit.toString() +
+ "' and '" + other.unit.toString() + "'.");
+ }
+
+ value = tree.operate(env, op, this.value, other.value);
+ }
+ } else if (op === '*') {
+ unit.numerator = unit.numerator.concat(other.unit.numerator).sort();
+ unit.denominator = unit.denominator.concat(other.unit.denominator).sort();
+ unit.cancel();
+ } else if (op === '/') {
+ unit.numerator = unit.numerator.concat(other.unit.denominator).sort();
+ unit.denominator = unit.denominator.concat(other.unit.numerator).sort();
+ unit.cancel();
+ }
+ return new(tree.Dimension)(value, unit);
+ },
+
+ compare: function (other) {
+ if (other instanceof tree.Dimension) {
+ var a = this.unify(), b = other.unify(),
+ aValue = a.value, bValue = b.value;
+
+ if (bValue > aValue) {
+ return -1;
+ } else if (bValue < aValue) {
+ return 1;
+ } else {
+ if (!b.unit.isEmpty() && a.unit.compare(b.unit) !== 0) {
+ return -1;
+ }
+ return 0;
+ }
+ } else {
+ return -1;
+ }
+ },
+
+ unify: function () {
+ return this.convertTo({ length: 'm', duration: 's', angle: 'rad' });
+ },
+
+ convertTo: function (conversions) {
+ var value = this.value, unit = this.unit.clone(),
+ i, groupName, group, targetUnit, derivedConversions = {}, applyUnit;
+
+ if (typeof conversions === 'string') {
+ for(i in tree.UnitConversions) {
+ if (tree.UnitConversions[i].hasOwnProperty(conversions)) {
+ derivedConversions = {};
+ derivedConversions[i] = conversions;
+ }
+ }
+ conversions = derivedConversions;
+ }
+ applyUnit = function (atomicUnit, denominator) {
+ /*jshint loopfunc:true */
+ if (group.hasOwnProperty(atomicUnit)) {
+ if (denominator) {
+ value = value / (group[atomicUnit] / group[targetUnit]);
+ } else {
+ value = value * (group[atomicUnit] / group[targetUnit]);
+ }
+
+ return targetUnit;
+ }
+
+ return atomicUnit;
+ };
+
+ for (groupName in conversions) {
+ if (conversions.hasOwnProperty(groupName)) {
+ targetUnit = conversions[groupName];
+ group = tree.UnitConversions[groupName];
+
+ unit.map(applyUnit);
+ }
+ }
+
+ unit.cancel();
+
+ return new(tree.Dimension)(value, unit);
+ }
+};
+
+// http://www.w3.org/TR/css3-values/#absolute-lengths
+tree.UnitConversions = {
+ length: {
+ 'm': 1,
+ 'cm': 0.01,
+ 'mm': 0.001,
+ 'in': 0.0254,
+ 'pt': 0.0254 / 72,
+ 'pc': 0.0254 / 72 * 12
+ },
+ duration: {
+ 's': 1,
+ 'ms': 0.001
+ },
+ angle: {
+ 'rad': 1/(2*Math.PI),
+ 'deg': 1/360,
+ 'grad': 1/400,
+ 'turn': 1
+ }
+};
+
+tree.Unit = function (numerator, denominator, backupUnit) {
+ this.numerator = numerator ? numerator.slice(0).sort() : [];
+ this.denominator = denominator ? denominator.slice(0).sort() : [];
+ this.backupUnit = backupUnit;
+};
+
+tree.Unit.prototype = {
+ type: "Unit",
+ clone: function () {
+ return new tree.Unit(this.numerator.slice(0), this.denominator.slice(0), this.backupUnit);
+ },
+ genCSS: function (env, output) {
+ if (this.numerator.length >= 1) {
+ output.add(this.numerator[0]);
+ } else
+ if (this.denominator.length >= 1) {
+ output.add(this.denominator[0]);
+ } else
+ if ((!env || !env.strictUnits) && this.backupUnit) {
+ output.add(this.backupUnit);
+ }
+ },
+ toCSS: tree.toCSS,
+
+ toString: function () {
+ var i, returnStr = this.numerator.join("*");
+ for (i = 0; i < this.denominator.length; i++) {
+ returnStr += "/" + this.denominator[i];
+ }
+ return returnStr;
+ },
+
+ compare: function (other) {
+ return this.is(other.toString()) ? 0 : -1;
+ },
+
+ is: function (unitString) {
+ return this.toString() === unitString;
+ },
+
+ isLength: function () {
+ return Boolean(this.toCSS().match(/px|em|%|in|cm|mm|pc|pt|ex/));
+ },
+
+ isEmpty: function () {
+ return this.numerator.length === 0 && this.denominator.length === 0;
+ },
+
+ isSingular: function() {
+ return this.numerator.length <= 1 && this.denominator.length === 0;
+ },
+
+ map: function(callback) {
+ var i;
+
+ for (i = 0; i < this.numerator.length; i++) {
+ this.numerator[i] = callback(this.numerator[i], false);
+ }
+
+ for (i = 0; i < this.denominator.length; i++) {
+ this.denominator[i] = callback(this.denominator[i], true);
+ }
+ },
+
+ usedUnits: function() {
+ var group, result = {}, mapUnit;
+
+ mapUnit = function (atomicUnit) {
+ /*jshint loopfunc:true */
+ if (group.hasOwnProperty(atomicUnit) && !result[groupName]) {
+ result[groupName] = atomicUnit;
+ }
+
+ return atomicUnit;
+ };
+
+ for (var groupName in tree.UnitConversions) {
+ if (tree.UnitConversions.hasOwnProperty(groupName)) {
+ group = tree.UnitConversions[groupName];
+
+ this.map(mapUnit);
+ }
+ }
+
+ return result;
+ },
+
+ cancel: function () {
+ var counter = {}, atomicUnit, i, backup;
+
+ for (i = 0; i < this.numerator.length; i++) {
+ atomicUnit = this.numerator[i];
+ if (!backup) {
+ backup = atomicUnit;
+ }
+ counter[atomicUnit] = (counter[atomicUnit] || 0) + 1;
+ }
+
+ for (i = 0; i < this.denominator.length; i++) {
+ atomicUnit = this.denominator[i];
+ if (!backup) {
+ backup = atomicUnit;
+ }
+ counter[atomicUnit] = (counter[atomicUnit] || 0) - 1;
+ }
+
+ this.numerator = [];
+ this.denominator = [];
+
+ for (atomicUnit in counter) {
+ if (counter.hasOwnProperty(atomicUnit)) {
+ var count = counter[atomicUnit];
+
+ if (count > 0) {
+ for (i = 0; i < count; i++) {
+ this.numerator.push(atomicUnit);
+ }
+ } else if (count < 0) {
+ for (i = 0; i < -count; i++) {
+ this.denominator.push(atomicUnit);
+ }
+ }
+ }
+ }
+
+ if (this.numerator.length === 0 && this.denominator.length === 0 && backup) {
+ this.backupUnit = backup;
+ }
+
+ this.numerator.sort();
+ this.denominator.sort();
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/directive.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/directive.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/directive.js
new file mode 100644
index 0000000..45ea96b
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/directive.js
@@ -0,0 +1,64 @@
+(function (tree) {
+
+tree.Directive = function (name, value, index, currentFileInfo) {
+ this.name = name;
+
+ if (Array.isArray(value)) {
+ this.rules = [new(tree.Ruleset)(null, value)];
+ this.rules[0].allowImports = true;
+ } else {
+ this.value = value;
+ }
+ this.currentFileInfo = currentFileInfo;
+
+};
+tree.Directive.prototype = {
+ type: "Directive",
+ accept: function (visitor) {
+ if (this.rules) {
+ this.rules = visitor.visitArray(this.rules);
+ }
+ if (this.value) {
+ this.value = visitor.visit(this.value);
+ }
+ },
+ genCSS: function (env, output) {
+ output.add(this.name, this.currentFileInfo, this.index);
+ if (this.rules) {
+ tree.outputRuleset(env, output, this.rules);
+ } else {
+ output.add(' ');
+ this.value.genCSS(env, output);
+ output.add(';');
+ }
+ },
+ toCSS: tree.toCSS,
+ eval: function (env) {
+ var evaldDirective = this;
+ if (this.rules) {
+ env.frames.unshift(this);
+ evaldDirective = new(tree.Directive)(this.name, null, this.index, this.currentFileInfo);
+ evaldDirective.rules = [this.rules[0].eval(env)];
+ evaldDirective.rules[0].root = true;
+ env.frames.shift();
+ }
+ return evaldDirective;
+ },
+ variable: function (name) { return tree.Ruleset.prototype.variable.call(this.rules[0], name); },
+ find: function () { return tree.Ruleset.prototype.find.apply(this.rules[0], arguments); },
+ rulesets: function () { return tree.Ruleset.prototype.rulesets.apply(this.rules[0]); },
+ markReferenced: function () {
+ var i, rules;
+ this.isReferenced = true;
+ if (this.rules) {
+ rules = this.rules[0].rules;
+ for (i = 0; i < rules.length; i++) {
+ if (rules[i].markReferenced) {
+ rules[i].markReferenced();
+ }
+ }
+ }
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/element.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/element.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/element.js
new file mode 100644
index 0000000..a9b9873
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/element.js
@@ -0,0 +1,104 @@
+(function (tree) {
+
+tree.Element = function (combinator, value, index, currentFileInfo) {
+ this.combinator = combinator instanceof tree.Combinator ?
+ combinator : new(tree.Combinator)(combinator);
+
+ if (typeof(value) === 'string') {
+ this.value = value.trim();
+ } else if (value) {
+ this.value = value;
+ } else {
+ this.value = "";
+ }
+ this.index = index;
+ this.currentFileInfo = currentFileInfo;
+};
+tree.Element.prototype = {
+ type: "Element",
+ accept: function (visitor) {
+ var value = this.value;
+ this.combinator = visitor.visit(this.combinator);
+ if (typeof value === "object") {
+ this.value = visitor.visit(value);
+ }
+ },
+ eval: function (env) {
+ return new(tree.Element)(this.combinator,
+ this.value.eval ? this.value.eval(env) : this.value,
+ this.index,
+ this.currentFileInfo);
+ },
+ genCSS: function (env, output) {
+ output.add(this.toCSS(env), this.currentFileInfo, this.index);
+ },
+ toCSS: function (env) {
+ var value = (this.value.toCSS ? this.value.toCSS(env) : this.value);
+ if (value === '' && this.combinator.value.charAt(0) === '&') {
+ return '';
+ } else {
+ return this.combinator.toCSS(env || {}) + value;
+ }
+ }
+};
+
+tree.Attribute = function (key, op, value) {
+ this.key = key;
+ this.op = op;
+ this.value = value;
+};
+tree.Attribute.prototype = {
+ type: "Attribute",
+ eval: function (env) {
+ return new(tree.Attribute)(this.key.eval ? this.key.eval(env) : this.key,
+ this.op, (this.value && this.value.eval) ? this.value.eval(env) : this.value);
+ },
+ genCSS: function (env, output) {
+ output.add(this.toCSS(env));
+ },
+ toCSS: function (env) {
+ var value = this.key.toCSS ? this.key.toCSS(env) : this.key;
+
+ if (this.op) {
+ value += this.op;
+ value += (this.value.toCSS ? this.value.toCSS(env) : this.value);
+ }
+
+ return '[' + value + ']';
+ }
+};
+
+tree.Combinator = function (value) {
+ if (value === ' ') {
+ this.value = ' ';
+ } else {
+ this.value = value ? value.trim() : "";
+ }
+};
+tree.Combinator.prototype = {
+ type: "Combinator",
+ _outputMap: {
+ '' : '',
+ ' ' : ' ',
+ ':' : ' :',
+ '+' : ' + ',
+ '~' : ' ~ ',
+ '>' : ' > ',
+ '|' : '|'
+ },
+ _outputMapCompressed: {
+ '' : '',
+ ' ' : ' ',
+ ':' : ' :',
+ '+' : '+',
+ '~' : '~',
+ '>' : '>',
+ '|' : '|'
+ },
+ genCSS: function (env, output) {
+ output.add((env.compress ? this._outputMapCompressed : this._outputMap)[this.value]);
+ },
+ toCSS: tree.toCSS
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/expression.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/expression.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/expression.js
new file mode 100644
index 0000000..a3d1e4a
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/expression.js
@@ -0,0 +1,54 @@
+(function (tree) {
+
+tree.Expression = function (value) { this.value = value; };
+tree.Expression.prototype = {
+ type: "Expression",
+ accept: function (visitor) {
+ if (this.value) {
+ this.value = visitor.visitArray(this.value);
+ }
+ },
+ eval: function (env) {
+ var returnValue,
+ inParenthesis = this.parens && !this.parensInOp,
+ doubleParen = false;
+ if (inParenthesis) {
+ env.inParenthesis();
+ }
+ if (this.value.length > 1) {
+ returnValue = new(tree.Expression)(this.value.map(function (e) {
+ return e.eval(env);
+ }));
+ } else if (this.value.length === 1) {
+ if (this.value[0].parens && !this.value[0].parensInOp) {
+ doubleParen = true;
+ }
+ returnValue = this.value[0].eval(env);
+ } else {
+ returnValue = this;
+ }
+ if (inParenthesis) {
+ env.outOfParenthesis();
+ }
+ if (this.parens && this.parensInOp && !(env.isMathOn()) && !doubleParen) {
+ returnValue = new(tree.Paren)(returnValue);
+ }
+ return returnValue;
+ },
+ genCSS: function (env, output) {
+ for(var i = 0; i < this.value.length; i++) {
+ this.value[i].genCSS(env, output);
+ if (i + 1 < this.value.length) {
+ output.add(" ");
+ }
+ }
+ },
+ toCSS: tree.toCSS,
+ throwAwayComments: function () {
+ this.value = this.value.filter(function(v) {
+ return !(v instanceof tree.Comment);
+ });
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/extend.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/extend.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/extend.js
new file mode 100644
index 0000000..ef9d88e
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/extend.js
@@ -0,0 +1,53 @@
+(function (tree) {
+
+tree.Extend = function Extend(selector, option, index) {
+ this.selector = selector;
+ this.option = option;
+ this.index = index;
+ this.object_id = tree.Extend.next_id++;
+ this.parent_ids = [this.object_id];
+
+ switch(option) {
+ case "all":
+ this.allowBefore = true;
+ this.allowAfter = true;
+ break;
+ default:
+ this.allowBefore = false;
+ this.allowAfter = false;
+ break;
+ }
+};
+tree.Extend.next_id = 0;
+
+tree.Extend.prototype = {
+ type: "Extend",
+ accept: function (visitor) {
+ this.selector = visitor.visit(this.selector);
+ },
+ eval: function (env) {
+ return new(tree.Extend)(this.selector.eval(env), this.option, this.index);
+ },
+ clone: function (env) {
+ return new(tree.Extend)(this.selector, this.option, this.index);
+ },
+ findSelfSelectors: function (selectors) {
+ var selfElements = [],
+ i,
+ selectorElements;
+
+ for(i = 0; i < selectors.length; i++) {
+ selectorElements = selectors[i].elements;
+ // duplicate the logic in genCSS function inside the selector node.
+ // future TODO - move both logics into the selector joiner visitor
+ if (i > 0 && selectorElements.length && selectorElements[0].combinator.value === "") {
+ selectorElements[0].combinator.value = ' ';
+ }
+ selfElements = selfElements.concat(selectors[i].elements);
+ }
+
+ this.selfSelectors = [{ elements: selfElements }];
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/import.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/import.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/import.js
new file mode 100644
index 0000000..11a2170
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/import.js
@@ -0,0 +1,117 @@
+(function (tree) {
+//
+// CSS @import node
+//
+// The general strategy here is that we don't want to wait
+// for the parsing to be completed, before we start importing
+// the file. That's because in the context of a browser,
+// most of the time will be spent waiting for the server to respond.
+//
+// On creation, we push the import path to our import queue, though
+// `import,push`, we also pass it a callback, which it'll call once
+// the file has been fetched, and parsed.
+//
+tree.Import = function (path, features, options, index, currentFileInfo) {
+ this.options = options;
+ this.index = index;
+ this.path = path;
+ this.features = features;
+ this.currentFileInfo = currentFileInfo;
+
+ if (this.options.less !== undefined || this.options.inline) {
+ this.css = !this.options.less || this.options.inline;
+ } else {
+ var pathValue = this.getPath();
+ if (pathValue && /css([\?;].*)?$/.test(pathValue)) {
+ this.css = true;
+ }
+ }
+};
+
+//
+// The actual import node doesn't return anything, when converted to CSS.
+// The reason is that it's used at the evaluation stage, so that the rules
+// it imports can be treated like any other rules.
+//
+// In `eval`, we make sure all Import nodes get evaluated, recursively, so
+// we end up with a flat structure, which can easily be imported in the parent
+// ruleset.
+//
+tree.Import.prototype = {
+ type: "Import",
+ accept: function (visitor) {
+ if (this.features) {
+ this.features = visitor.visit(this.features);
+ }
+ this.path = visitor.visit(this.path);
+ if (!this.options.inline && this.root) {
+ this.root = visitor.visit(this.root);
+ }
+ },
+ genCSS: function (env, output) {
+ if (this.css) {
+ output.add("@import ", this.currentFileInfo, this.index);
+ this.path.genCSS(env, output);
+ if (this.features) {
+ output.add(" ");
+ this.features.genCSS(env, output);
+ }
+ output.add(';');
+ }
+ },
+ toCSS: tree.toCSS,
+ getPath: function () {
+ if (this.path instanceof tree.Quoted) {
+ var path = this.path.value;
+ return (this.css !== undefined || /(\.[a-z]*$)|([\?;].*)$/.test(path)) ? path : path + '.less';
+ } else if (this.path instanceof tree.URL) {
+ return this.path.value.value;
+ }
+ return null;
+ },
+ evalForImport: function (env) {
+ return new(tree.Import)(this.path.eval(env), this.features, this.options, this.index, this.currentFileInfo);
+ },
+ evalPath: function (env) {
+ var path = this.path.eval(env);
+ var rootpath = this.currentFileInfo && this.currentFileInfo.rootpath;
+
+ if (!(path instanceof tree.URL)) {
+ if (rootpath) {
+ var pathValue = path.value;
+ // Add the base path if the import is relative
+ if (pathValue && env.isPathRelative(pathValue)) {
+ path.value = rootpath + pathValue;
+ }
+ }
+ path.value = env.normalizePath(path.value);
+ }
+
+ return path;
+ },
+ eval: function (env) {
+ var ruleset, features = this.features && this.features.eval(env);
+
+ if (this.skip) { return []; }
+
+ if (this.options.inline) {
+ //todo needs to reference css file not import
+ var contents = new(tree.Anonymous)(this.root, 0, {filename: this.importedFilename}, true);
+ return this.features ? new(tree.Media)([contents], this.features.value) : [contents];
+ } else if (this.css) {
+ var newImport = new(tree.Import)(this.evalPath(env), features, this.options, this.index);
+ if (!newImport.css && this.error) {
+ throw this.error;
+ }
+ return newImport;
+ } else {
+ ruleset = new(tree.Ruleset)(null, this.root.rules.slice(0));
+
+ ruleset.evalImports(env);
+
+ return this.features ? new(tree.Media)(ruleset.rules, this.features.value) : ruleset.rules;
+ }
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/javascript.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/javascript.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/javascript.js
new file mode 100644
index 0000000..0b0a129
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/javascript.js
@@ -0,0 +1,55 @@
+(function (tree) {
+
+tree.JavaScript = function (string, index, escaped) {
+ this.escaped = escaped;
+ this.expression = string;
+ this.index = index;
+};
+tree.JavaScript.prototype = {
+ type: "JavaScript",
+ eval: function (env) {
+ var result,
+ that = this,
+ context = {};
+
+ var expression = this.expression.replace(/@\{([\w-]+)\}/g, function (_, name) {
+ return tree.jsify(new(tree.Variable)('@' + name, that.index).eval(env));
+ });
+
+ try {
+ expression = new(Function)('return (' + expression + ')');
+ } catch (e) {
+ throw { message: "JavaScript evaluation error: " + e.message + " from `" + expression + "`" ,
+ index: this.index };
+ }
+
+ for (var k in env.frames[0].variables()) {
+ /*jshint loopfunc:true */
+ context[k.slice(1)] = {
+ value: env.frames[0].variables()[k].value,
+ toJS: function () {
+ return this.value.eval(env).toCSS();
+ }
+ };
+ }
+
+ try {
+ result = expression.call(context);
+ } catch (e) {
+ throw { message: "JavaScript evaluation error: '" + e.name + ': ' + e.message + "'" ,
+ index: this.index };
+ }
+ if (typeof(result) === 'number') {
+ return new(tree.Dimension)(result);
+ } else if (typeof(result) === 'string') {
+ return new(tree.Quoted)('"' + result + '"', result, this.escaped, this.index);
+ } else if (Array.isArray(result)) {
+ return new(tree.Anonymous)(result.join(', '));
+ } else {
+ return new(tree.Anonymous)(result);
+ }
+ }
+};
+
+})(require('../tree'));
+
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/keyword.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/keyword.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/keyword.js
new file mode 100644
index 0000000..8cfbb09
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/keyword.js
@@ -0,0 +1,23 @@
+(function (tree) {
+
+tree.Keyword = function (value) { this.value = value; };
+tree.Keyword.prototype = {
+ type: "Keyword",
+ eval: function () { return this; },
+ genCSS: function (env, output) {
+ output.add(this.value);
+ },
+ toCSS: tree.toCSS,
+ compare: function (other) {
+ if (other instanceof tree.Keyword) {
+ return other.value === this.value ? 0 : 1;
+ } else {
+ return -1;
+ }
+ }
+};
+
+tree.True = new(tree.Keyword)('true');
+tree.False = new(tree.Keyword)('false');
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/media.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/media.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/media.js
new file mode 100644
index 0000000..c3a2475
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/media.js
@@ -0,0 +1,152 @@
+(function (tree) {
+
+tree.Media = function (value, features, index, currentFileInfo) {
+ this.index = index;
+ this.currentFileInfo = currentFileInfo;
+
+ var selectors = this.emptySelectors();
+
+ this.features = new(tree.Value)(features);
+ this.rules = [new(tree.Ruleset)(selectors, value)];
+ this.rules[0].allowImports = true;
+};
+tree.Media.prototype = {
+ type: "Media",
+ accept: function (visitor) {
+ if (this.features) {
+ this.features = visitor.visit(this.features);
+ }
+ if (this.rules) {
+ this.rules = visitor.visitArray(this.rules);
+ }
+ },
+ genCSS: function (env, output) {
+ output.add('@media ', this.currentFileInfo, this.index);
+ this.features.genCSS(env, output);
+ tree.outputRuleset(env, output, this.rules);
+ },
+ toCSS: tree.toCSS,
+ eval: function (env) {
+ if (!env.mediaBlocks) {
+ env.mediaBlocks = [];
+ env.mediaPath = [];
+ }
+
+ var media = new(tree.Media)(null, [], this.index, this.currentFileInfo);
+ if(this.debugInfo) {
+ this.rules[0].debugInfo = this.debugInfo;
+ media.debugInfo = this.debugInfo;
+ }
+ var strictMathBypass = false;
+ if (!env.strictMath) {
+ strictMathBypass = true;
+ env.strictMath = true;
+ }
+ try {
+ media.features = this.features.eval(env);
+ }
+ finally {
+ if (strictMathBypass) {
+ env.strictMath = false;
+ }
+ }
+
+ env.mediaPath.push(media);
+ env.mediaBlocks.push(media);
+
+ env.frames.unshift(this.rules[0]);
+ media.rules = [this.rules[0].eval(env)];
+ env.frames.shift();
+
+ env.mediaPath.pop();
+
+ return env.mediaPath.length === 0 ? media.evalTop(env) :
+ media.evalNested(env);
+ },
+ variable: function (name) { return tree.Ruleset.prototype.variable.call(this.rules[0], name); },
+ find: function () { return tree.Ruleset.prototype.find.apply(this.rules[0], arguments); },
+ rulesets: function () { return tree.Ruleset.prototype.rulesets.apply(this.rules[0]); },
+ emptySelectors: function() {
+ var el = new(tree.Element)('', '&', this.index, this.currentFileInfo);
+ return [new(tree.Selector)([el], null, null, this.index, this.currentFileInfo)];
+ },
+ markReferenced: function () {
+ var i, rules = this.rules[0].rules;
+ this.isReferenced = true;
+ for (i = 0; i < rules.length; i++) {
+ if (rules[i].markReferenced) {
+ rules[i].markReferenced();
+ }
+ }
+ },
+
+ evalTop: function (env) {
+ var result = this;
+
+ // Render all dependent Media blocks.
+ if (env.mediaBlocks.length > 1) {
+ var selectors = this.emptySelectors();
+ result = new(tree.Ruleset)(selectors, env.mediaBlocks);
+ result.multiMedia = true;
+ }
+
+ delete env.mediaBlocks;
+ delete env.mediaPath;
+
+ return result;
+ },
+ evalNested: function (env) {
+ var i, value,
+ path = env.mediaPath.concat([this]);
+
+ // Extract the media-query conditions separated with `,` (OR).
+ for (i = 0; i < path.length; i++) {
+ value = path[i].features instanceof tree.Value ?
+ path[i].features.value : path[i].features;
+ path[i] = Array.isArray(value) ? value : [value];
+ }
+
+ // Trace all permutations to generate the resulting media-query.
+ //
+ // (a, b and c) with nested (d, e) ->
+ // a and d
+ // a and e
+ // b and c and d
+ // b and c and e
+ this.features = new(tree.Value)(this.permute(path).map(function (path) {
+ path = path.map(function (fragment) {
+ return fragment.toCSS ? fragment : new(tree.Anonymous)(fragment);
+ });
+
+ for(i = path.length - 1; i > 0; i--) {
+ path.splice(i, 0, new(tree.Anonymous)("and"));
+ }
+
+ return new(tree.Expression)(path);
+ }));
+
+ // Fake a tree-node that doesn't output anything.
+ return new(tree.Ruleset)([], []);
+ },
+ permute: function (arr) {
+ if (arr.length === 0) {
+ return [];
+ } else if (arr.length === 1) {
+ return arr[0];
+ } else {
+ var result = [];
+ var rest = this.permute(arr.slice(1));
+ for (var i = 0; i < rest.length; i++) {
+ for (var j = 0; j < arr[0].length; j++) {
+ result.push([arr[0][j]].concat(rest[i]));
+ }
+ }
+ return result;
+ }
+ },
+ bubbleSelectors: function (selectors) {
+ this.rules = [new(tree.Ruleset)(selectors.slice(0), [this.rules[0]])];
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/mixin.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/mixin.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/mixin.js
new file mode 100644
index 0000000..f5beded
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/mixin.js
@@ -0,0 +1,312 @@
+(function (tree) {
+
+tree.mixin = {};
+tree.mixin.Call = function (elements, args, index, currentFileInfo, important) {
+ this.selector = new(tree.Selector)(elements);
+ this.arguments = (args && args.length) ? args : null;
+ this.index = index;
+ this.currentFileInfo = currentFileInfo;
+ this.important = important;
+};
+tree.mixin.Call.prototype = {
+ type: "MixinCall",
+ accept: function (visitor) {
+ if (this.selector) {
+ this.selector = visitor.visit(this.selector);
+ }
+ if (this.arguments) {
+ this.arguments = visitor.visitArray(this.arguments);
+ }
+ },
+ eval: function (env) {
+ var mixins, mixin, args, rules = [], match = false, i, m, f, isRecursive, isOneFound, rule;
+ var candidates = [], candidate, conditionResult = [], defaultFunc = tree.defaultFunc, defaultUsed = false;
+
+ args = this.arguments && this.arguments.map(function (a) {
+ return { name: a.name, value: a.value.eval(env) };
+ });
+
+ for (i = 0; i < env.frames.length; i++) {
+ if ((mixins = env.frames[i].find(this.selector)).length > 0) {
+ isOneFound = true;
+
+ // To make `default()` function independent of definition order we have two "subpasses" here.
+ // At first we evaluate each guard *twice* (with `default() == true` and `default() == false`),
+ // and build candidate list with corresponding flags. Then, when we know all possible matches,
+ // we make a final decision.
+
+ for (m = 0; m < mixins.length; m++) {
+ mixin = mixins[m];
+ isRecursive = false;
+ for(f = 0; f < env.frames.length; f++) {
+ if ((!(mixin instanceof tree.mixin.Definition)) && mixin === (env.frames[f].originalRuleset || env.frames[f])) {
+ isRecursive = true;
+ break;
+ }
+ }
+ if (isRecursive) {
+ continue;
+ }
+
+ if (mixin.matchArgs(args, env)) {
+ candidate = {mixin: mixin};
+
+ if (mixin.matchCondition) {
+ for (f = 0; f < 2; f++) {
+ defaultFunc.value(f);
+ conditionResult[f] = mixin.matchCondition(args, env);
+ }
+ if (conditionResult[0] || conditionResult[1]) {
+ if (conditionResult[0] != conditionResult[1]) {
+ if (defaultUsed) {
+ // todo: ideally, it would make sense to also print the candidate
+ // mixin definitions that cause the conflict (current one and the
+ // mixin that set defaultUsed flag). But is there any easy method
+ // to get their filename/line/index info here?
+ throw { type: 'Runtime',
+ message: 'Ambiguous use of `default()` found when matching for `'
+ + this.format(args) + '`',
+ index: this.index, filename: this.currentFileInfo.filename };
+ }
+
+ defaultUsed = true;
+ candidate.matchIfDefault = true;
+ candidate.matchIfDefaultValue = conditionResult[1];
+ }
+
+ candidates.push(candidate);
+ }
+ }
+ else {
+ candidates.push(candidate);
+ }
+
+ match = true;
+ }
+ }
+
+ defaultFunc.reset();
+
+ for (m in candidates) {
+ candidate = candidates[m];
+ if (!candidate.matchIfDefault || (candidate.matchIfDefaultValue == (candidates.length == 1))) {
+ try {
+ mixin = candidate.mixin;
+ if (!(mixin instanceof tree.mixin.Definition)) {
+ mixin = new tree.mixin.Definition("", [], mixin.rules, null, false);
+ mixin.originalRuleset = mixins[m].originalRuleset || mixins[m];
+ }
+ //if (this.important) {
+ // isImportant = env.isImportant;
+ // env.isImportant = true;
+ //}
+ Array.prototype.push.apply(
+ rules, mixin.eval(env, args, this.important).rules);
+ //if (this.important) {
+ // env.isImportant = isImportant;
+ //}
+ } catch (e) {
+ throw { message: e.message, index: this.index, filename: this.currentFileInfo.filename, stack: e.stack };
+ }
+ }
+ }
+
+ if (match) {
+ if (!this.currentFileInfo || !this.currentFileInfo.reference) {
+ for (i = 0; i < rules.length; i++) {
+ rule = rules[i];
+ if (rule.markReferenced) {
+ rule.markReferenced();
+ }
+ }
+ }
+ return rules;
+ }
+ }
+ }
+ if (isOneFound) {
+ throw { type: 'Runtime',
+ message: 'No matching definition was found for `' + this.format(args) + '`',
+ index: this.index, filename: this.currentFileInfo.filename };
+ } else {
+ throw { type: 'Name',
+ message: this.selector.toCSS().trim() + " is undefined",
+ index: this.index, filename: this.currentFileInfo.filename };
+ }
+ },
+ format: function (args) {
+ return this.selector.toCSS().trim() + '(' +
+ (args ? args.map(function (a) {
+ var argValue = "";
+ if (a.name) {
+ argValue += a.name + ":";
+ }
+ if (a.value.toCSS) {
+ argValue += a.value.toCSS();
+ } else {
+ argValue += "???";
+ }
+ return argValue;
+ }).join(', ') : "") + ")";
+ }
+};
+
+tree.mixin.Definition = function (name, params, rules, condition, variadic) {
+ this.name = name;
+ this.selectors = [new(tree.Selector)([new(tree.Element)(null, name, this.index, this.currentFileInfo)])];
+ this.params = params;
+ this.condition = condition;
+ this.variadic = variadic;
+ this.arity = params.length;
+ this.rules = rules;
+ this._lookups = {};
+ this.required = params.reduce(function (count, p) {
+ if (!p.name || (p.name && !p.value)) { return count + 1; }
+ else { return count; }
+ }, 0);
+ this.parent = tree.Ruleset.prototype;
+ this.frames = [];
+};
+tree.mixin.Definition.prototype = {
+ type: "MixinDefinition",
+ accept: function (visitor) {
+ if (this.params && this.params.length) {
+ this.params = visitor.visitArray(this.params);
+ }
+ this.rules = visitor.visitArray(this.rules);
+ if (this.condition) {
+ this.condition = visitor.visit(this.condition);
+ }
+ },
+ variable: function (name) { return this.parent.variable.call(this, name); },
+ variables: function () { return this.parent.variables.call(this); },
+ find: function () { return this.parent.find.apply(this, arguments); },
+ rulesets: function () { return this.parent.rulesets.apply(this); },
+
+ evalParams: function (env, mixinEnv, args, evaldArguments) {
+ /*jshint boss:true */
+ var frame = new(tree.Ruleset)(null, null),
+ varargs, arg,
+ params = this.params.slice(0),
+ i, j, val, name, isNamedFound, argIndex;
+
+ mixinEnv = new tree.evalEnv(mixinEnv, [frame].concat(mixinEnv.frames));
+
+ if (args) {
+ args = args.slice(0);
+
+ for(i = 0; i < args.length; i++) {
+ arg = args[i];
+ if (name = (arg && arg.name)) {
+ isNamedFound = false;
+ for(j = 0; j < params.length; j++) {
+ if (!evaldArguments[j] && name === params[j].name) {
+ evaldArguments[j] = arg.value.eval(env);
+ frame.prependRule(new(tree.Rule)(name, arg.value.eval(env)));
+ isNamedFound = true;
+ break;
+ }
+ }
+ if (isNamedFound) {
+ args.splice(i, 1);
+ i--;
+ continue;
+ } else {
+ throw { type: 'Runtime', message: "Named argument for " + this.name +
+ ' ' + args[i].name + ' not found' };
+ }
+ }
+ }
+ }
+ argIndex = 0;
+ for (i = 0; i < params.length; i++) {
+ if (evaldArguments[i]) { continue; }
+
+ arg = args && args[argIndex];
+
+ if (name = params[i].name) {
+ if (params[i].variadic && args) {
+ varargs = [];
+ for (j = argIndex; j < args.length; j++) {
+ varargs.push(args[j].value.eval(env));
+ }
+ frame.prependRule(new(tree.Rule)(name, new(tree.Expression)(varargs).eval(env)));
+ } else {
+ val = arg && arg.value;
+ if (val) {
+ val = val.eval(env);
+ } else if (params[i].value) {
+ val = params[i].value.eval(mixinEnv);
+ frame.resetCache();
+ } else {
+ throw { type: 'Runtime', message: "wrong number of arguments for " + this.name +
+ ' (' + args.length + ' for ' + this.arity + ')' };
+ }
+
+ frame.prependRule(new(tree.Rule)(name, val));
+ evaldArguments[i] = val;
+ }
+ }
+
+ if (params[i].variadic && args) {
+ for (j = argIndex; j < args.length; j++) {
+ evaldArguments[j] = args[j].value.eval(env);
+ }
+ }
+ argIndex++;
+ }
+
+ return frame;
+ },
+ eval: function (env, args, important) {
+ var _arguments = [],
+ mixinFrames = this.frames.concat(env.frames),
+ frame = this.evalParams(env, new(tree.evalEnv)(env, mixinFrames), args, _arguments),
+ rules, ruleset;
+
+ frame.prependRule(new(tree.Rule)('@arguments', new(tree.Expression)(_arguments).eval(env)));
+
+ rules = this.rules.slice(0);
+
+ ruleset = new(tree.Ruleset)(null, rules);
+ ruleset.originalRuleset = this;
+ ruleset = ruleset.eval(new(tree.evalEnv)(env, [this, frame].concat(mixinFrames)));
+ if (important) {
+ ruleset = this.parent.makeImportant.apply(ruleset);
+ }
+ return ruleset;
+ },
+ matchCondition: function (args, env) {
+ if (this.condition && !this.condition.eval(
+ new(tree.evalEnv)(env,
+ [this.evalParams(env, new(tree.evalEnv)(env, this.frames.concat(env.frames)), args, [])] // the parameter variables
+ .concat(this.frames) // the parent namespace/mixin frames
+ .concat(env.frames)))) { // the current environment frames
+ return false;
+ }
+ return true;
+ },
+ matchArgs: function (args, env) {
+ var argsLength = (args && args.length) || 0, len;
+
+ if (! this.variadic) {
+ if (argsLength < this.required) { return false; }
+ if (argsLength > this.params.length) { return false; }
+ } else {
+ if (argsLength < (this.required - 1)) { return false; }
+ }
+
+ len = Math.min(argsLength, this.arity);
+
+ for (var i = 0; i < len; i++) {
+ if (!this.params[i].name && !this.params[i].variadic) {
+ if (args[i].value.eval(env).toCSS() != this.params[i].value.eval(env).toCSS()) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/negative.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/negative.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/negative.js
new file mode 100644
index 0000000..12dbcc6
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/negative.js
@@ -0,0 +1,24 @@
+(function (tree) {
+
+tree.Negative = function (node) {
+ this.value = node;
+};
+tree.Negative.prototype = {
+ type: "Negative",
+ accept: function (visitor) {
+ this.value = visitor.visit(this.value);
+ },
+ genCSS: function (env, output) {
+ output.add('-');
+ this.value.genCSS(env, output);
+ },
+ toCSS: tree.toCSS,
+ eval: function (env) {
+ if (env.isMathOn()) {
+ return (new(tree.Operation)('*', [new(tree.Dimension)(-1), this.value])).eval(env);
+ }
+ return new(tree.Negative)(this.value.eval(env));
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/operation.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/operation.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/operation.js
new file mode 100644
index 0000000..8f1dd65
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/operation.js
@@ -0,0 +1,57 @@
+(function (tree) {
+
+tree.Operation = function (op, operands, isSpaced) {
+ this.op = op.trim();
+ this.operands = operands;
+ this.isSpaced = isSpaced;
+};
+tree.Operation.prototype = {
+ type: "Operation",
+ accept: function (visitor) {
+ this.operands = visitor.visit(this.operands);
+ },
+ eval: function (env) {
+ var a = this.operands[0].eval(env),
+ b = this.operands[1].eval(env);
+
+ if (env.isMathOn()) {
+ if (a instanceof tree.Dimension && b instanceof tree.Color) {
+ a = a.toColor();
+ }
+ if (b instanceof tree.Dimension && a instanceof tree.Color) {
+ b = b.toColor();
+ }
+ if (!a.operate) {
+ throw { type: "Operation",
+ message: "Operation on an invalid type" };
+ }
+
+ return a.operate(env, this.op, b);
+ } else {
+ return new(tree.Operation)(this.op, [a, b], this.isSpaced);
+ }
+ },
+ genCSS: function (env, output) {
+ this.operands[0].genCSS(env, output);
+ if (this.isSpaced) {
+ output.add(" ");
+ }
+ output.add(this.op);
+ if (this.isSpaced) {
+ output.add(" ");
+ }
+ this.operands[1].genCSS(env, output);
+ },
+ toCSS: tree.toCSS
+};
+
+tree.operate = function (env, op, a, b) {
+ switch (op) {
+ case '+': return a + b;
+ case '-': return a - b;
+ case '*': return a * b;
+ case '/': return a / b;
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/paren.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/paren.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/paren.js
new file mode 100644
index 0000000..e27b8d6
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/paren.js
@@ -0,0 +1,23 @@
+
+(function (tree) {
+
+tree.Paren = function (node) {
+ this.value = node;
+};
+tree.Paren.prototype = {
+ type: "Paren",
+ accept: function (visitor) {
+ this.value = visitor.visit(this.value);
+ },
+ genCSS: function (env, output) {
+ output.add('(');
+ this.value.genCSS(env, output);
+ output.add(')');
+ },
+ toCSS: tree.toCSS,
+ eval: function (env) {
+ return new(tree.Paren)(this.value.eval(env));
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/quoted.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/quoted.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/quoted.js
new file mode 100644
index 0000000..131bfad
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/quoted.js
@@ -0,0 +1,48 @@
+(function (tree) {
+
+tree.Quoted = function (str, content, escaped, index, currentFileInfo) {
+ this.escaped = escaped;
+ this.value = content || '';
+ this.quote = str.charAt(0);
+ this.index = index;
+ this.currentFileInfo = currentFileInfo;
+};
+tree.Quoted.prototype = {
+ type: "Quoted",
+ genCSS: function (env, output) {
+ if (!this.escaped) {
+ output.add(this.quote, this.currentFileInfo, this.index);
+ }
+ output.add(this.value);
+ if (!this.escaped) {
+ output.add(this.quote);
+ }
+ },
+ toCSS: tree.toCSS,
+ eval: function (env) {
+ var that = this;
+ var value = this.value.replace(/`([^`]+)`/g, function (_, exp) {
+ return new(tree.JavaScript)(exp, that.index, true).eval(env).value;
+ }).replace(/@\{([\w-]+)\}/g, function (_, name) {
+ var v = new(tree.Variable)('@' + name, that.index, that.currentFileInfo).eval(env, true);
+ return (v instanceof tree.Quoted) ? v.value : v.toCSS();
+ });
+ return new(tree.Quoted)(this.quote + value + this.quote, value, this.escaped, this.index, this.currentFileInfo);
+ },
+ compare: function (x) {
+ if (!x.toCSS) {
+ return -1;
+ }
+
+ var left = this.toCSS(),
+ right = x.toCSS();
+
+ if (left === right) {
+ return 0;
+ }
+
+ return left < right ? -1 : 1;
+ }
+};
+
+})(require('../tree'));
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/rule.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/rule.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/rule.js
new file mode 100644
index 0000000..3ef2273
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/less/lib/less/tree/rule.js
@@ -0,0 +1,70 @@
+(function (tree) {
+
+tree.Rule = function (name, value, important, merge, index, currentFileInfo, inline) {
+ this.name = name;
+ this.value = (value instanceof tree.Value) ? value : new(tree.Value)([value]);
+ this.important = important ? ' ' + important.trim() : '';
+ this.merge = merge;
+ this.index = index;
+ this.currentFileInfo = currentFileInfo;
+ this.inline = inline || false;
+ this.variable = name.charAt && (name.charAt(0) === '@');
+};
+
+tree.Rule.prototype = {
+ type: "Rule",
+ accept: function (visitor) {
+ this.value = visitor.visit(this.value);
+ },
+ genCSS: function (env, output) {
+ output.add(this.name + (env.compress ? ':' : ': '), this.currentFileInfo, this.index);
+ try {
+ this.value.genCSS(env, output);
+ }
+ catch(e) {
+ e.index = this.index;
+ e.filename = this.currentFileInfo.filename;
+ throw e;
+ }
+ output.add(this.important + ((this.inline || (env.lastRule && env.compress)) ? "" : ";"), this.currentFileInfo, this.index);
+ },
+ toCSS: tree.toCSS,
+ eval: function (env) {
+ var strictMathBypass = false;
+ var name = this.name.map ?
+ this.name.map( function(v) {
+ return v.eval ? v.eval(env).value : v;
+ }).join('') : this.name;
+ if (name === "font" && !env.strictMath) {
+ strictMathBypass = true;
+ env.strictMath = true;
+ }
+ try {
+ return new(tree.Rule)(name,
+ this.value.eval(env),
+ this.important,
+ this.merge,
+ this.index, this.currentFileInfo, this.inline);
+ }
+ catch(e) {
+ if (e.index === undefined) {
+ e.index = this.index;
+ }
+ throw e;
+ }
+ finally {
+ if (strictMathBypass) {
+ env.strictMath = false;
+ }
+ }
+ },
+ makeImportant: function () {
+ return new(tree.Rule)(this.name,
+ this.value,
+ "!important",
+ this.merge,
+ this.index, this.currentFileInfo, this.inline);
+ }
+};
+
+})(require('../tree'));