(function(){var U=this,Q=U._,X={},aa=Array.prototype,W=Object.prototype,ac=aa.slice,O=aa.unshift,L=W.toString,Y=W.hasOwnProperty,N=aa.forEach,M=aa.map,K=aa.reduce,G=aa.reduceRight,k=aa.filter,e=aa.every,c=aa.some,V=aa.indexOf,a=aa.lastIndexOf;W=Array.isArray;var J=Object.keys,S=Function.prototype.bind,ad=function(b){return new Z(b)};typeof module!=="undefined"&&module.exports?(module.exports=ad,ad._=ad):U._=ad;ad.VERSION="1.1.6";var ab=ad.each=ad.forEach=function(b,j,i){if(b!=null){if(N&&b.forEach===N){b.forEach(j,i)}else{if(ad.isNumber(b.length)){for(var h=0,f=b.length;h<f;h++){if(h in b&&j.call(i,b[h],h,b)===X){break}}}else{for(h in b){if(Y.call(b,h)&&j.call(i,b[h],h,b)===X){break}}}}}};ad.map=function(h,j,f){var i=[];if(h==null){return i}if(M&&h.map===M){return h.map(j,f)}ab(h,function(b,m,l){i[i.length]=j.call(f,b,m,l)});return i};ad.reduce=ad.foldl=ad.inject=function(b,j,i,h){var f=i!==void 0;b==null&&(b=[]);if(K&&b.reduce===K){return h&&(j=ad.bind(j,h)),f?b.reduce(j,i):b.reduce(j)}ab(b,function(m,l,n){!f&&l===0?(i=m,f=!0):i=j.call(h,i,m,l,n)});if(!f){throw new TypeError("Reduce of empty array with no initial value")}return i};ad.reduceRight=ad.foldr=function(b,i,h,f){b==null&&(b=[]);if(G&&b.reduceRight===G){return f&&(i=ad.bind(i,f)),h!==void 0?b.reduceRight(i,h):b.reduceRight(i)}b=(ad.isArray(b)?b.slice():ad.toArray(b)).reverse();return ad.reduce(b,i,h,f)};ad.find=ad.detect=function(h,j,f){var i;T(h,function(b,l,m){if(j.call(f,b,l,m)){return i=b,!0}});return i};ad.filter=ad.select=function(h,j,f){var i=[];if(h==null){return i}if(k&&h.filter===k){return h.filter(j,f)}ab(h,function(b,l,m){j.call(f,b,l,m)&&(i[i.length]=b)});return i};ad.reject=function(h,j,f){var i=[];if(h==null){return i}ab(h,function(b,l,m){j.call(f,b,l,m)||(i[i.length]=b)});return i};ad.every=ad.all=function(h,j,f){var i=!0;if(h==null){return i}if(e&&h.every===e){return h.every(j,f)}ab(h,function(b,l,m){if(!(i=i&&j.call(f,b,l,m))){return X}});return i};var T=ad.some=ad.any=function(b,i,h){i||(i=ad.identity);var f=!1;if(b==null){return f}if(c&&b.some===c){return b.some(i,h)}ab(b,function(l,j,m){if(f=i.call(h,l,j,m)){return X}});return f};ad.include=ad.contains=function(h,i){var f=!1;if(h==null){return f}if(V&&h.indexOf===V){return h.indexOf(i)!=-1}T(h,function(b){if(f=b===i){return !0}});return f};ad.invoke=function(b,h){var f=ac.call(arguments,2);return ad.map(b,function(i){return(h.call?h||i:i[h]).apply(i,f)})};ad.pluck=function(b,f){return ad.map(b,function(h){return h[f]})};ad.max=function(b,i,h){if(!i&&ad.isArray(b)){return Math.max.apply(Math,b)}var f={computed:-Infinity};ab(b,function(l,j,m){j=i?i.call(h,l,j,m):l;j>=f.computed&&(f={value:l,computed:j})});return f.value};ad.min=function(b,i,h){if(!i&&ad.isArray(b)){return Math.min.apply(Math,b)}var f={computed:Infinity};ab(b,function(l,j,m){j=i?i.call(h,l,j,m):l;j<f.computed&&(f={value:l,computed:j})});return f.value};ad.sortBy=function(b,h,f){return ad.pluck(ad.map(b,function(j,i,l){return{value:j,criteria:h.call(f,j,i,l)}}).sort(function(j,i){var m=j.criteria,l=i.criteria;return m<l?-1:m>l?1:0}),"value")};ad.groupBy=function(h,f){var i={};ab(h,function(b,l){var j=f(b,l);(i[j]||(i[j]=[])).push(b)});return i};ad.sortedIndex=function(b,m,l){l||(l=ad.identity);for(var j=0,i=b.length;j<i;){var h=j+i>>1;l(b[h])<l(m)?j=h+1:i=h}return j};ad.toArray=function(b){if(!b){return[]}if(b.toArray){return b.toArray()}if(ad.isArray(b)){return b}if(ad.isArguments(b)){return ac.call(b)}return ad.values(b)};ad.size=function(b){return ad.toArray(b).length};ad.first=ad.head=function(h,f,i){return f!=null&&!i?ac.call(h,0,f):h[0]};ad.rest=ad.tail=function(h,f,i){return ac.call(h,f==null||i?1:f)};ad.last=function(b){return b[b.length-1]};ad.compact=function(b){return ad.filter(b,function(f){return !!f})};ad.flatten=function(b){return ad.reduce(b,function(f,h){if(ad.isArray(h)){return f.concat(ad.flatten(h))}f[f.length]=h;return f},[])};ad.without=function(b){var f=ac.call(arguments,1);return ad.filter(b,function(h){return !ad.include(f,h)})};ad.uniq=ad.unique=function(b,f){return ad.reduce(b,function(h,j,i){if(0==i||(f===!0?ad.last(h)!=j:!ad.include(h,j))){h[h.length]=j}return h},[])};ad.intersect=function(b){var f=ac.call(arguments,1);return ad.filter(ad.uniq(b),function(h){return ad.every(f,function(i){return ad.indexOf(i,h)>=0})})};ad.zip=function(){for(var b=ac.call(arguments),i=ad.max(ad.pluck(b,"length")),h=Array(i),f=0;f<i;f++){h[f]=ad.pluck(b,""+f)}return h};ad.indexOf=function(b,i,h){if(b==null){return -1}var f;if(h){return h=ad.sortedIndex(b,i),b[h]===i?h:-1}if(V&&b.indexOf===V){return b.indexOf(i)}h=0;for(f=b.length;h<f;h++){if(b[h]===i){return h}}return -1};ad.lastIndexOf=function(h,f){if(h==null){return -1}if(a&&h.lastIndexOf===a){return h.lastIndexOf(f)}for(var i=h.length;i--;){if(h[i]===f){return i}}return -1};ad.range=function(i,h,n){arguments.length<=1&&(h=i||0,i=0);n=arguments[2]||1;for(var m=Math.max(Math.ceil((h-i)/n),0),l=0,j=Array(m);l<m;){j[l++]=i,i+=n}return j};ad.bind=function(h,f){if(h.bind===S&&S){return S.apply(h,ac.call(arguments,1))}var i=ac.call(arguments,2);return function(){return h.apply(f,i.concat(ac.call(arguments)))}};ad.bindAll=function(b){var f=ac.call(arguments,1);f.length==0&&(f=ad.functions(b));ab(f,function(h){b[h]=ad.bind(b[h],b)});return b};ad.memoize=function(b,h){var f={};h||(h=ad.identity);return function(){var i=h.apply(this,arguments);return Y.call(f,i)?f[i]:f[i]=b.apply(this,arguments)}};ad.delay=function(h,f){var i=ac.call(arguments,2);return setTimeout(function(){return h.apply(h,i)},f)};ad.defer=function(b){return ad.delay.apply(ad,[b,1].concat(ac.call(arguments,1)))};var R=function(h,f,j){var i;return function(){var m=this,l=arguments,b=function(){i=null;h.apply(m,l)};j&&clearTimeout(i);if(j||!i){i=setTimeout(b,f)}}};ad.throttle=function(h,f){return R(h,f,!1)};ad.debounce=function(h,f){return R(h,f,!0)};ad.once=function(h){var f=!1,i;return function(){if(f){return i}f=!0;return i=h.apply(this,arguments)}};ad.wrap=function(h,f){return function(){var b=[h].concat(ac.call(arguments));return f.apply(this,b)}};ad.compose=function(){var b=ac.call(arguments);return function(){for(var f=ac.call(arguments),h=b.length-1;h>=0;h--){f=[b[h].apply(this,f)]}return f[0]}};ad.after=function(h,f){return function(){if(--h<1){return f.apply(this,arguments)}}};ad.keys=J||function(h){if(h!==Object(h)){throw new TypeError("Invalid object")}var f=[],i;for(i in h){Y.call(h,i)&&(f[f.length]=i)}return f};ad.values=function(b){return ad.map(b,ad.identity)};ad.functions=ad.methods=function(b){return ad.filter(ad.keys(b),function(f){return ad.isFunction(b[f])}).sort()};ad.extend=function(b){ab(ac.call(arguments,1),function(f){for(var h in f){f[h]!==void 0&&(b[h]=f[h])}});return b};ad.defaults=function(b){ab(ac.call(arguments,1),function(f){for(var h in f){b[h]==null&&(b[h]=f[h])}});return b};ad.clone=function(b){return ad.isArray(b)?b.slice():ad.extend({},b)};ad.tap=function(h,f){f(h);return h};ad.isEqual=function(b,l){if(b===l){return !0}var j=typeof b;if(j!=typeof l){return !1}if(b==l){return !0}if(!b&&l||b&&!l){return !1}if(b._chain){b=b._wrapped}if(l._chain){l=l._wrapped}if(b.isEqual){return b.isEqual(l)}if(ad.isDate(b)&&ad.isDate(l)){return b.getTime()===l.getTime()}if(ad.isNaN(b)&&ad.isNaN(l)){return !1}if(ad.isRegExp(b)&&ad.isRegExp(l)){return b.source===l.source&&b.global===l.global&&b.ignoreCase===l.ignoreCase&&b.multiline===l.multiline}if(j!=="object"){return !1}if(b.length&&b.length!==l.length){return !1}j=ad.keys(b);var i=ad.keys(l);if(j.length!=i.length){return !1}for(var h in b){if(!(h in l)||!ad.isEqual(b[h],l[h])){return !1}}return !0};ad.isEmpty=function(b){if(ad.isArray(b)||ad.isString(b)){return b.length===0}for(var f in b){if(Y.call(b,f)){return !1}}return !0};ad.isElement=function(b){return !!(b&&b.nodeType==1)};ad.isArray=W||function(b){return L.call(b)==="[object Array]"};ad.isArguments=function(b){return !(!b||!Y.call(b,"callee"))};ad.isFunction=function(b){return !(!b||!b.constructor||!b.call||!b.apply)};ad.isString=function(b){return !!(b===""||b&&b.charCodeAt&&b.substr)};ad.isNumber=function(b){return !!(b===0||b&&b.toExponential&&b.toFixed)};ad.isNaN=function(b){return b!==b};ad.isBoolean=function(b){return b===!0||b===!1};ad.isDate=function(b){return !(!b||!b.getTimezoneOffset||!b.setUTCFullYear)};ad.isRegExp=function(b){return !(!b||!b.test||!b.exec||!(b.ignoreCase||b.ignoreCase===!1))};ad.isNull=function(b){return b===null};ad.isUndefined=function(b){return b===void 0};ad.noConflict=function(){U._=Q;return this};ad.identity=function(b){return b};ad.times=function(h,f,j){for(var i=0;i<h;i++){f.call(j,i)}};ad.mixin=function(b){ab(ad.functions(b),function(f){g(f,ad[f]=b[f])})};var d=0;ad.uniqueId=function(h){var f=d++;return h?h+f:f};ad.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};ad.template=function(b,h){var f=ad.templateSettings;f="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+b.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(f.interpolate,function(j,i){return"',"+i.replace(/\\'/g,"'")+",'"}).replace(f.evaluate||null,function(j,i){return"');"+i.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');";f=new Function("obj",f);return h?f(h):f};var Z=function(b){this._wrapped=b};ad.prototype=Z.prototype;var P=function(b,f){return f?ad(b).chain():b},g=function(b,f){Z.prototype[b]=function(){var h=ac.call(arguments);O.call(h,this._wrapped);return P(f.apply(ad,h),this._chain)}};ad.mixin(ad);ab(["pop","push","reverse","shift","sort","splice","unshift"],function(h){var f=aa[h];Z.prototype[h]=function(){f.apply(this._wrapped,arguments);return P(this._wrapped,this._chain)}});ab(["concat","join","slice"],function(h){var f=aa[h];Z.prototype[h]=function(){return P(f.apply(this._wrapped,arguments),this._chain)}});Z.prototype.chain=function(){this._chain=!0;return this};Z.prototype.value=function(){return this._wrapped}})();
