From 09d5222b1f5c3ca43ccf6894210d897ed32ff498 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Wed, 26 Sep 2012 22:30:15 -0700 Subject: [PATCH] Allow `_.sortedIndex` to accept a string value. Former-commit-id: 7ac17a6bb620ad16ecce17718a8110d422d49118 --- build.js | 2 +- build/pre-compile.js | 6 ++-- lodash.js | 58 +++++++++++++++++++++-------------- lodash.min.js | 73 ++++++++++++++++++++++---------------------- 4 files changed, 76 insertions(+), 63 deletions(-) diff --git a/build.js b/build.js index 41b6a93da..1e629beca 100755 --- a/build.js +++ b/build.js @@ -1408,7 +1408,7 @@ dependencyMap = dependencyBackup; // output debug build - if (!isMinify && (isCustom || isTemplate || isDebug)) { + if (!isMinify && (isCustom || isDebug || isTemplate)) { if (isDebug && isStdOut) { stdout.write(debugSource); callback(debugSource); diff --git a/build/pre-compile.js b/build/pre-compile.js index d30a249d2..6cca03bf0 100644 --- a/build/pre-compile.js +++ b/build/pre-compile.js @@ -9,7 +9,7 @@ var compiledVars = [ 'argsIndex', 'argsLength', - 'bindIterator', + 'bindCallback', 'callback', 'collection', 'concat', @@ -64,13 +64,13 @@ 'pass', 'properties', 'property', + 'propertyCallback', 'propsLength', 'source', 'stackA', 'stackB', 'stackLength', - 'target', - 'valueProp' + 'target' ]; /** Used to minify `compileIterator` option properties */ diff --git a/lodash.js b/lodash.js index d737747c6..9d5fa0392 100644 --- a/lodash.js +++ b/lodash.js @@ -467,7 +467,7 @@ ' callback = identity\n' + '}\n' + 'else if (thisArg !== undefined) {\n' + - ' callback = bindIterator(callback, thisArg)\n' + + ' callback = bindCallback(callback, thisArg)\n' + '}', 'inLoop': 'if (callback(value, index, collection) === false) return result' }; @@ -476,16 +476,13 @@ var countByIteratorOptions = { 'init': '{}', 'top': - 'var prop;\n' + 'if (typeof callback != \'function\') {\n' + - ' var valueProp = callback;\n' + - ' callback = function(value) { return value[valueProp] }\n' + - '}\n' + - 'else if (thisArg !== undefined) {\n' + - ' callback = bindIterator(callback, thisArg)\n' + + ' callback = propertyCallback(callback)\n' + + '} else if (thisArg !== undefined) {\n' + + ' callback = bindCallback(callback, thisArg)\n' + '}', 'inLoop': - 'prop = callback(value, index, collection);\n' + + 'var prop = callback(value, index, collection);\n' + '(hasOwnProperty.call(result, prop) ? result[prop]++ : result[prop] = 1)' }; @@ -516,7 +513,7 @@ /** Reusable iterator options for `find`, `forEach`, `forIn`, and `forOwn` */ var forEachIteratorOptions = { - 'top': 'if (thisArg !== undefined) callback = bindIterator(callback, thisArg)' + 'top': 'if (thisArg !== undefined) callback = bindCallback(callback, thisArg)' }; /** Reusable iterator options for `forIn` and `forOwn` */ @@ -550,7 +547,7 @@ 'if (!isFunc) {\n' + ' var props = concat.apply(ArrayProto, arguments)\n' + '} else if (thisArg !== undefined) {\n' + - ' callback = bindIterator(callback, thisArg)\n' + + ' callback = bindCallback(callback, thisArg)\n' + '}', 'inLoop': 'if (isFunc\n' + @@ -570,7 +567,7 @@ * @param {Mixed} [thisArg] The `this` binding of `func`. * @returns {Function} Returns the new bound function. */ - function bindIterator(func, thisArg) { + function bindCallback(func, thisArg) { return function(value, index, object) { return func.call(thisArg, value, index, object); }; @@ -789,19 +786,19 @@ } // create the function factory var factory = Function( - 'arrayLikeClasses, ArrayProto, bind, bindIterator, compareAscending, concat, ' + + 'arrayLikeClasses, ArrayProto, bind, bindCallback, compareAscending, concat, ' + 'forIn, hasOwnProperty, identity, indexOf, isArguments, isArray, isFunction, ' + 'isPlainObject, noop, objectClass, objectTypes, nativeKeys, propertyIsEnumerable, ' + - 'slice, stringClass, toString, undefined', + 'propertyCallback, slice, stringClass, toString, undefined', 'var callee = function(' + args + ') {\n' + iteratorTemplate(data) + '\n};\n' + 'return callee' ); // return the compiled function return factory( - arrayLikeClasses, ArrayProto, bind, bindIterator, compareAscending, concat, + arrayLikeClasses, ArrayProto, bind, bindCallback, compareAscending, concat, forIn, hasOwnProperty, identity, indexOf, isArguments, isArray, isFunction, isPlainObject, noop, objectClass, objectTypes, nativeKeys, propertyIsEnumerable, - slice, stringClass, toString + propertyCallback, slice, stringClass, toString ); } @@ -837,6 +834,19 @@ // no operation performed } + /** + * Creates a function that returns the `property` value of the given `object`. + * + * @private + * @param {String} property The property to get the value of. + * @returns {Function} Returns the new function. + */ + function propertyCallback(property) { + return function(object) { + return object[property]; + }; + } + /** * Used by `unescape` to convert HTML entities to characters. * @@ -1878,7 +1888,7 @@ ' if (prop in object) result[prop] = object[prop]\n' + ' }\n' + '} else {\n' + - ' if (thisArg !== undefined) callback = bindIterator(callback, thisArg)', + ' if (thisArg !== undefined) callback = bindCallback(callback, thisArg)', 'inLoop': 'if (callback(value, index, object)) result[index] = value', 'bottom': '}' @@ -2083,7 +2093,7 @@ */ var groupBy = createIterator(baseIteratorOptions, countByIteratorOptions, { 'inLoop': - 'prop = callback(value, index, collection);\n' + + 'var prop = callback(value, index, collection);\n' + '(hasOwnProperty.call(result, prop) ? result[prop] : result[prop] = []).push(value)' }); @@ -2200,7 +2210,7 @@ 'init': 'accumulator', 'top': 'var noaccum = arguments.length < 3;\n' + - 'if (thisArg !== undefined) callback = bindIterator(callback, thisArg)', + 'if (thisArg !== undefined) callback = bindCallback(callback, thisArg)', 'beforeLoop': { 'array': 'if (noaccum) result = iteratee[++index]' }, @@ -2784,7 +2794,7 @@ return result; } if (thisArg !== undefined) { - callback = bindIterator(callback, thisArg); + callback = bindCallback(callback, thisArg); } while (++index < length) { current = callback(array[index], index, array); @@ -2834,7 +2844,7 @@ return result; } if (thisArg !== undefined) { - callback = bindIterator(callback, thisArg); + callback = bindCallback(callback, thisArg); } while (++index < length) { current = callback(array[index], index, array); @@ -3031,7 +3041,9 @@ high = array.length; if (callback) { - if (thisArg !== undefined) { + if (typeof callback != 'function') { + callback = propertyCallback(callback); + } else if (thisArg !== undefined) { callback = bind(callback, thisArg); } value = callback(value); @@ -3126,7 +3138,7 @@ if (!callback) { callback = identity; } else if (thisArg !== undefined) { - callback = bindIterator(callback, thisArg); + callback = bindCallback(callback, thisArg); } while (++index < length) { computed = callback(array[index], index, array); @@ -3764,7 +3776,7 @@ * @memberOf _ * @category Utilities * @param {Object} object The object to inspect. - * @param {String} property The property to get the result of. + * @param {String} property The property to get the value of. * @returns {Mixed} Returns the resolved value. * @example * diff --git a/lodash.min.js b/lodash.min.js index 203abcfe9..19f9831ee 100644 --- a/lodash.min.js +++ b/lodash.min.js @@ -2,39 +2,40 @@ Lo-Dash 0.7.0 lodash.com/license Underscore.js 1.3.3 github.com/documentcloud/underscore/blob/master/LICENSE */ -;(function(e,t){function s(e){return new o(e)}function o(e){if(e&&e.__wrapped__)return e;this.__wrapped__=e}function u(e,t){return function(n,r,i){return e.call(t,n,r,i)}}function a(e,t,n){t||(t=0);var r=e.length,i=r-t>=(n||B),s=i?{}:e;if(i)for(var o=t-1;++on||e===t)return 1;if(en;n++)t+="j='"+a.p[n]+"';if(" -,"constructor"==a.p[n]&&(t+="!(g&&g.prototype===k)&&"),t+="h.call(k,j)){B=k[j];"+a.m.i+"}"}if(a.c||a.n)t+="}"}return t+=a.e+";return u",Function("E,F,G,c,J,f,K,h,i,N,P,R,T,U,X,Y,Z,m,r,w,x,z,A","var H=function("+e+"){"+t+"};return H")(_t,D,A,u,f,Q,Yt,G,O,T,m,$t,g,Jt,d,vt,Bt,ot,Z,et,gt,tt)}function h(e){return"\\"+jt[e]}function p(e){return Pt[e]}function d(){}function v(e){return Ht[e]}function m(e){return tt.call(e)==lt}function g(e){return"function"==typeof e}function y(e){var t=i;if(!e||"object"!=typeof -e||m(e))return t;var n=e.constructor;return(!kt||"function"==typeof e.toString||"string"!=typeof (e+""))&&(!g(n)||n instanceof n)?St?(Yt(e,function(e,n,r){return t=!G.call(r,n),i}),t===i):(Yt(e,function(e,n){t=n}),t===i||G.call(e,t)):t}function b(e,t,s,o,u){if(e==r)return e;s&&(t=i);if(s=Bt[typeof e]){var a=tt.call(e);if(!Dt[a]||Tt&&m(e))return e;var f=a==ct,s=f||(a==vt?Jt(e):s)}if(!s||!t)return s?f?et.call(e):Gt({},e):e;s=e.constructor;switch(a){case ht:return new s(e==n);case pt:return new s(+e -);case dt:case gt:return new s(e);case mt:return s(e.source,z.exec(e))}o||(o=[]),u||(u=[]);for(a=o.length;a--;)if(o[a]==e)return u[a];var l=f?s(a=e.length):{};o.push(e),u.push(l);if(f)for(f=-1;++f++u;)if(c=K[u],G.call(e,c)&&(!G.call(t,c)||!w(e[c],t[c],s,o)))return i;return n}function E(e,t,n,r){if(!e)return n;var s=e,o=e.length,u=3>arguments.length;if(o!==+o)var a=rn(e),o=a.length;else Ct&&tt.call(e)==gt&&(s=e.split(""));return vn(e,function(e,f,l){f=a?a[--o]:--o,n=u?(u=i,s[f]):t.call(r,n,s[f],f,l)}),n}function S(e,t,n){if( -e)return t==r||n?e[0]:et.call(e,0,t)}function x(e,t){var n=[];if(!e)return n;for(var r,i=-1,s=e.length;++in?ut(0,i+n):n)-1}for(;++rs&&(s=e[o]);return s}for(r!==t&&(n=u(n,r));++oi&& -(i=r,s=e[o]);return s}function C(e,t,n){return e?et.call(e,t==r||n?1:t):[]}function k(e,n,r,i){if(!e)return 0;var s=0,o=e.length;if(r){i!==t&&(r=A(r,i));for(n=r(n);s>>1,r(e[i])>>1,e[i]T(l,s))l.push(s),o.push(e[a]);return o}function A(e,t){return At||nt&&2< -arguments.length?nt.call.apply(nt,arguments):l(e,t,et.call(arguments,2))}function O(e){return e}function M(e){vn(en(e),function(t){var r=s[t]=e[t];o.prototype[t]=function(){var e=[this.__wrapped__];return arguments.length&&Y.apply(e,arguments),e=r.apply(s,e),this.__chain__&&(e=new o(e),e.__chain__=n),e}})}var n=!0,r=null,i=!1,_="object"==typeof exports&&exports&&("object"==typeof global&&global&&global==global.global&&(e=global),exports),D=Array.prototype,P=Object.prototype,H=0,B=30,j=e._,F=/[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/ -,I=/&(?:amp|lt|gt|quot|#x27);/g,q=/\b__p\+='';/g,R=/\b(__p\+=)''\+/g,U=/(__e\(.*?\)|\b__t\))\+'';/g,z=/\w*$/,W=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,X=RegExp("^"+(P.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),V=/($^)/,$=/[&<>"']/g,J=/['\n\r\t\u2028\u2029\\]/g,K="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Q=D.concat,G=P.hasOwnProperty,Y=D.push,Z=P.propertyIsEnumerable,et=D.slice,tt= -P.toString,nt=X.test(nt=et.bind)&&nt,rt=Math.floor,it=X.test(it=Array.isArray)&&it,st=e.isFinite,ot=X.test(ot=Object.keys)&&ot,ut=Math.max,at=Math.min,ft=Math.random,lt="[object Arguments]",ct="[object Array]",ht="[object Boolean]",pt="[object Date]",dt="[object Number]",vt="[object Object]",mt="[object RegExp]",gt="[object String]",yt=e.clearTimeout,bt=e.setTimeout,wt,Et,St,xt=n;(function(){function e(){this.x=1}var t={0:1,length:1},n=[];e.prototype={valueOf:1,y:1};for(var r in new e)n.push(r);for(r in -arguments)xt=!r;wt=4>(n+"").length,St="x"!=n[0],Et=(n.splice.call(t,0,1),t[0])})(1);var Tt=!m(arguments),Nt="x"!=et.call("x")[0],Ct="xx"!="x"[0]+Object("x")[0];try{var kt=("[object Object]",tt.call(e.document||0)==vt)}catch(Lt){}var At=nt&&/\n|Opera/.test(nt+tt.call(e.opera)),Ot=ot&&/^.+$|true/.test(ot+!!e.attachEvent),Mt=!At,_t={};_t[ht]=_t[pt]=_t["[object Function]"]=_t[dt]=_t[vt]=_t[mt]=i,_t[lt]=_t[ct]=_t[gt]=n;var Dt={};Dt[lt]=Dt["[object Function]"]=i,Dt[ct]=Dt[ht]=Dt[pt]=Dt[dt]=Dt[vt]=Dt[mt -]=Dt[gt]=n;var Pt={"&":"&","<":"<",">":">",'"':""","'":"'"},Ht={"&":"&","<":"<",">":">",""":'"',"'":"'"},Bt={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i,unknown:n},jt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};s.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var Ft={a:"e,d,y",j:"e",q:"if(!d)d=i;else if(y!==A)d=c(d,y)",i:"if(d(B,j,e)===false)return u" -},It={j:"{}",q:"var q;if(typeof d!='function'){var jj=d;d=function(B){return B[jj]}}else if(y!==A)d=c(d,y)",i:"q=d(B,j,e);(h.call(u,q)?u[q]++:u[q]=1)"},qt={j:"true",i:"if(!d(B,j,e))return!u"},Rt={r:i,s:i,a:"n",j:"n",q:"for(var a=1,b=arguments.length;a-1"},i:"if(B===ii)return true"}),cn=c(Ft,It),hn=c(Ft,qt),pn=c(Ft,Ut),dn=c(Ft,zt,{j:"",i:"if(d(B,j,e))return B"}),vn=c(Ft,zt),mn=c(Ft,It,{i:"q=d(B,j,e);(h.call(u,q)?u[q]:u[q]=[]).push(B)"}),gn=c(Xt,{a:"e,V",q:"var D=w.call(arguments,2),S=typeof V=='function'",i:{b:"u[j]=(S?V:B[V]).apply(B,D)",l:"u"+(Ot?"[o]=":".push")+"((S?V:B[V]).apply(B,D))"}}),yn=c(Ft,Xt),bn=c(Xt,{a:"e,cc",i:{b:"u[j]=B[cc]",l:"u"+(Ot?"[o]=":".push")+"(B[cc])" -}}),wn=c({a:"e,d,C,y",j:"C",q:"var W=arguments.length<3;if(y!==A)d=c(d,y)",d:{b:"if(W)u=k[++j]"},i:{b:"u=d(u,B,j,e)",l:"u=W?(W=false,B):d(u,B,j,e)"}}),En=c(Ft,Ut,{i:"!"+Ut.i}),Sn=c(Ft,qt,{j:"false",i:qt.i.replace("!","")}),xn=c(Ft,It,Xt,{i:{b:"u[j]={a:d(B,j,e),b:j,c:B}",l:"u"+(Ot?"[o]=":".push")+"({a:d(B,j,e),b:j,c:B})"},e:"u.sort(J);l=u.length;while(l--)u[l]=u[l].c"}),Tn=c(Ut,{a:"e,bb",q:"var t=[];K(bb,function(B,q){t.push(q)});var dd=t.length",i:"for(var q,aa=true,s=0;s1){for(var j=1;je?t():function(){if(1>--e)return t.apply(this,arguments)}},s.bind=A,s.bindAll=Nn,s.chain=function(e){return e=new o(e),e.__chain__=n,e},s.clone=b,s.compact=function(e){var t=[];if(!e)return t;for(var n=-1,r=e.length;++nT(t,n)){for(var u=1;un?ut(0,r+n):at(n,r-1))+1 -);r--;)if(e[r]===t)return r;return-1},s.lateBind=function(e,t){return l(t,e,et.call(arguments,2))},s.map=yn,s.max=N,s.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return G.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},s.merge=sn,s.min=function(e,n,r){var i=Infinity,s=i;if(!e)return s;var o=-1,a=e.length;if(!n){for(;++o=f?(a=r,s=e.apply(o,i)):u||(u=bt(n,f)),s}},s.times=function(e,n,r){var e=+e||0,i=-1,s=Array(e);if(r!==t)for(;++iT(r,t[e])&&r.push(t[e -]);return r},s.uniq=L,s.uniqueId=function(e){var t=H++;return e?e+t:t},s.values=fn,s.where=Tn,s.without=function(e){var t=[];if(!e)return t;for(var n=-1,r=e.length,i=a(arguments,1,20);++n=(d||Za),e=c?{}:a;if(c)for(var i=b-1;++ib||a===v)return 1;if(ad;d++)b+="j='"+e.p[d]+"';if(", +"constructor"==e.p[d]&&(b+="!(g&&g.prototype===k)&&"),b+="h.call(k,j)){B=k[j];"+e.m.i+"}"}if(e.c||e.n)b+="}"}b+=e.e+";return u";return Function("E,F,G,c,J,f,K,h,i,N,P,R,T,U,X,Y,Z,m,r,dd,w,x,z,A","var H=function("+a+"){"+b+"};return H")(u,A,aa,N,$a,ba,O,q,ca,C,y,da,x,ea,Z,H,z,E,ya,za,n,B,k)}function bb(a){return"\\"+cb[a]}function db(a){return eb[a]}function Z(){}function za(a){return function(b){return b[a]}}function fb(a){return gb[a]}function y(a){return k.call(a)==fa}function x(a){return"function"== +typeof a}function Aa(a){var b=o;if(!(a&&"object"==typeof a)||y(a))return b;var d=a.constructor;if((!Ba||!("function"!=typeof a.toString&&"string"==typeof(a+"")))&&(!x(d)||d instanceof d)){if(Ca)return O(a,function(a,d,e){b=!q.call(e,d);return o}),b===o;O(a,function(a,d){b=d});return b===o||q.call(a,b)}return b}function ga(a,b,d,l,c){if(a==m)return a;d&&(b=o);if(d=z[typeof a]){var e=k.call(a);if(!w[e]||P&&y(a))return a;var i=e==Q,d=i||(e==H?ea(a):d)}if(!d||!b)return d?i?n.call(a):Da({},a):a;d=a.constructor; +switch(e){case J:return new d(a==j);case K:return new d(+a);case F:case B:return new d(a);case L:return d(a.source,hb.exec(a))}l||(l=[]);c||(c=[]);for(e=l.length;e--;)if(l[e]==a)return c[e];var h=i?d(e=a.length):{};l.push(a);c.push(h);if(i)for(i=-1;++i++f;)if(p=wa[f],q.call(a,p)&&(!q.call(b,p)||!R(a[p],b[p],d,c)))return o;return j}function Fa(a,b,d,c){if(!a)return d;var f=a,e=a.length,i=3>arguments.length;if(e!==+e)var h=ha(a),e=h.length;else xa&&k.call(a)==B&&(f=a.split(""));I(a,function(a,g,k){g=h?h[--e]:--e;d=i?(i=o,f[g]):b.call(c,d,f[g],g,k)});return d} +function ia(a,b,d){if(a)return b==m||d?a[0]:n.call(a,0,b)}function Ga(a,b){var d=[];if(!a)return d;for(var c,f=-1,e=a.length;++fd?ka(0,f+d):d)-1;else return c=Ha(a,b),a[c]===b?c:-1;for(;++cf&&(f=a[e]);return f}for(d!==v&&(b=N(b, +d));++ec&&(c=d,f=a[e]);return f}function la(a,b,d){return!a?[]:n.call(a,b==m||d?1:b)}function Ha(a,b,d,c){if(!a)return 0;var f=0,e=a.length;if(d){"function"!=typeof d?d=za(b):c!==v&&(d=aa(d,c));for(b=d(b);f>>1,d(a[c])>>1,a[c]C(h,c))h.push(c), +f.push(a[e]);return f}function aa(a,b){return Ka||G&&2|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,lb=/&(?:amp|lt|gt|quot|#x27);/g,mb=/\b__p\+='';/g,nb=/\b(__p\+=)''\+/g,ob=/(__e\(.*?\)|\b__t\))\+'';/g,hb=/\w*$/,pb=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,oa=RegExp("^"+(M.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),pa=/($^)/,qb=/[&<>"']/g,rb=/['\n\r\t\u2028\u2029\\]/g,wa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "), +ba=A.concat,q=M.hasOwnProperty,ja=A.push,ya=M.propertyIsEnumerable,n=A.slice,k=M.toString,G=oa.test(G=n.bind)&&G,Ma=Math.floor,qa=oa.test(qa=Array.isArray)&&qa,sb=s.isFinite,E=oa.test(E=Object.keys)&&E,ka=Math.max,tb=Math.min,Na=Math.random,fa="[object Arguments]",Q="[object Array]",J="[object Boolean]",K="[object Date]",F="[object Number]",H="[object Object]",L="[object RegExp]",B="[object String]",ub=s.clearTimeout,S=s.setTimeout,$,Oa,Ca,va=j;(function(){function a(){this.x=1}var b={"0":1,length:1}, +d=[];a.prototype={valueOf:1,y:1};for(var c in new a)d.push(c);for(c in arguments)va=!c;$=4>(d+"").length;Ca="x"!=d[0];Oa=(d.splice.call(b,0,1),b[0])})(1);var P=!y(arguments),vb="x"!=n.call("x")[0],xa="xx"!="x"[0]+Object("x")[0];try{var Ba=("[object Object]",k.call(s.document||0)==H)}catch(Kb){}var Ka=G&&/\n|Opera/.test(G+k.call(s.opera)),D=E&&/^.+$|true/.test(E+!!s.attachEvent),ab=!Ka,u={};u[J]=u[K]=u["[object Function]"]=u[F]=u[H]=u[L]=o;u[fa]=u[Q]=u[B]=j;var w={};w[fa]=w["[object Function]"]=o;w[Q]= +w[J]=w[K]=w[F]=w[H]=w[L]=w[B]=j;var eb={"&":"&","<":"<",">":">",'"':""","'":"'"},gb={"&":"&","<":"<",">":">",""":'"',"'":"'"},z={"boolean":o,"function":j,object:j,number:o,string:o,undefined:o,unknown:j},cb={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"};c.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var r={a:"e,d,y",j:"e",q:"if(!d)d=i;else if(y!==A)d=c(d,y)", +i:"if(d(B,j,e)===false)return u"},ra={j:"{}",q:"if(typeof d!='function'){d=dd(B,d)}else if(y!==A)d=c(d,y)",i:"var q=d(B,j,e);(h.call(u,q)?u[q]++:u[q]=1)"},sa={j:"true",i:"if(!d(B,j,e))return!u"},T={r:o,s:o,a:"n",j:"n",q:"for(var a=1,b=arguments.length;a-1"},i:"if(B===jj)return true"}),Db=g(r,ra),Ua=g(r,sa),Va=g(r,U),Wa=g(r,V,{j:"",i:"if(d(B,j,e))return B"}),I=g(r,V),Eb=g(r,ra,{i:"var q=d(B,j,e);(h.call(u,q)?u[q]:u[q]=[]).push(B)"}),Fb=g(W,{a:"e,V",q:"var D=w.call(arguments,2),S=typeof V=='function'",i:{b:"u[j]=(S?V:B[V]).apply(B,D)",l:"u"+(D?"[o]=":".push")+"((S?V:B[V]).apply(B,D))"}}),Xa=g(r,W),ta=g(W,{a:"e,cc",i:{b:"u[j]=B[cc]",l:"u"+(D?"[o]=":".push")+"(B[cc])"}}),ua=g({a:"e,d,C,y", +j:"C",q:"var W=arguments.length<3;if(y!==A)d=c(d,y)",d:{b:"if(W)u=k[++j]"},i:{b:"u=d(u,B,j,e)",l:"u=W?(W=false,B):d(u,B,j,e)"}}),Gb=g(r,U,{i:"!"+U.i}),Ya=g(r,sa,{j:"false",i:sa.i.replace("!","")}),Hb=g(r,ra,W,{i:{b:"u[j]={a:d(B,j,e),b:j,c:B}",l:"u"+(D?"[o]=":".push")+"({a:d(B,j,e),b:j,c:B})"},e:"u.sort(J);l=u.length;while(l--)u[l]=u[l].c"}),Ib=g(U,{a:"e,bb",q:"var t=[];K(bb,function(B,q){t.push(q)});var ee=t.length",i:"for(var q,aa=true,s=0;s1){for(var j=1;ja?b():function(){if(1>--a)return b.apply(this,arguments)}};c.bind=aa;c.bindAll=Jb;c.chain=function(a){a=new t(a);a.__chain__=j;return a};c.clone=ga;c.compact=function(a){var b=[];if(!a)return b;for(var d=-1,c=a.length;++dC(b,d)){for(var h=1;hd?ka(0,c+d):tb(d,c-1))+1);c--;)if(a[c]===b)return c;return-1};c.lateBind= +function(a,b){return Y(b,a,n.call(arguments,2))};c.map=Xa;c.max=Ia;c.memoize=function(a,b){var d={};return function(){var c=b?b.apply(this,arguments):arguments[0];return q.call(d,c)?d[c]:d[c]=a.apply(this,arguments)}};c.merge=zb;c.min=function(a,b,d){var c=Infinity,f=c;if(!a)return f;var e=-1,i=a.length;if(!b){for(;++e=n?(h=k,f= +a.apply(e,g)):i||(i=S(c,n));return f}};c.times=function(a,b,c){var a=+a||0,g=-1,f=Array(a);if(c!==v)for(;++gC(g,b[a])&&g.push(b[a]);return g};c.uniq=Ja;c.uniqueId=function(a){var b= +ib++;return a?a+b:b};c.values=Sa;c.where=Ib;c.without=function(a){var b=[];if(!a)return b;for(var c=-1,g=a.length,f=X(arguments,1,20);++c