sugar-rails 1.3.5 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/sugar/rails/version.rb +2 -2
- data/vendor/assets/javascripts/precompiled/development/array.js +19 -16
- data/vendor/assets/javascripts/precompiled/development/core.js +7 -1
- data/vendor/assets/javascripts/precompiled/development/date.js +44 -15
- data/vendor/assets/javascripts/precompiled/development/es5.js +0 -6
- data/vendor/assets/javascripts/precompiled/development/number.js +20 -14
- data/vendor/assets/javascripts/precompiled/development/object.js +4 -3
- data/vendor/assets/javascripts/precompiled/development/string.js +22 -11
- data/vendor/assets/javascripts/precompiled/minified/array.js +15 -14
- data/vendor/assets/javascripts/precompiled/minified/core.js +9 -9
- data/vendor/assets/javascripts/precompiled/minified/date.js +34 -33
- data/vendor/assets/javascripts/precompiled/minified/date_locales.js +1 -1
- data/vendor/assets/javascripts/precompiled/minified/date_ranges.js +2 -2
- data/vendor/assets/javascripts/precompiled/minified/es5.js +6 -6
- data/vendor/assets/javascripts/precompiled/minified/function.js +3 -3
- data/vendor/assets/javascripts/precompiled/minified/inflections.js +7 -7
- data/vendor/assets/javascripts/precompiled/minified/language.js +9 -9
- data/vendor/assets/javascripts/precompiled/minified/number.js +5 -5
- data/vendor/assets/javascripts/precompiled/minified/object.js +6 -6
- data/vendor/assets/javascripts/precompiled/minified/regexp.js +1 -1
- data/vendor/assets/javascripts/precompiled/minified/string.js +12 -12
- data/vendor/assets/javascripts/sugar-development.js +117 -67
- data/vendor/assets/javascripts/sugar-full.js +111 -109
- data/vendor/assets/javascripts/sugar.js +94 -92
- metadata +4 -4
| @@ -1,43 +1,44 @@ | |
| 1 | 
            -
            var U,Va,Wa=["ampm","hour","minute","second","ampm","utc","offset_sign","offset_hours","offset_minutes","ampm"],Xa="({t})?\\s*(\\d{1,2}(?:[,.]\\d+)?)(?:{h}(\\d | 
| 2 | 
            -
            {ba:"hh?|hours|12hr",format:function(a){a=V(a,"Hours");return a===0?12:a- | 
| 3 | 
            -
            format:function(a,b,c,d){if(b.ampm.length==0)return"";a=V(a,"Hours");b=b.ampm[ | 
| 1 | 
            +
            var U,Va,Wa=["ampm","hour","minute","second","ampm","utc","offset_sign","offset_hours","offset_minutes","ampm"],Xa="({t})?\\s*(\\d{1,2}(?:[,.]\\d+)?)(?:{h}([0-5]\\d(?:[,.]\\d+)?)?{m}(?::?([0-5]\\d(?:[,.]\\d+)?){s})?\\s*(?:({t})|(Z)|(?:([+-])(\\d{2,2})(?::?(\\d{2,2}))?)?)?|\\s*({t}))",Ya={},Za,$a,ab,bb=[],cb=[{ba:"f{1,4}|ms|milliseconds",format:function(a){return V(a,"Milliseconds")}},{ba:"ss?|seconds",format:function(a){return V(a,"Seconds")}},{ba:"mm?|minutes",format:function(a){return V(a,"Minutes")}},
         | 
| 2 | 
            +
            {ba:"hh?|hours|12hr",format:function(a){a=V(a,"Hours");return a===0?12:a-pa(a/13)*12}},{ba:"HH?|24hr",format:function(a){return V(a,"Hours")}},{ba:"dd?|date|day",format:function(a){return V(a,"Date")}},{ba:"dow|weekday",la:k,format:function(a,b,c){a=V(a,"Day");return b.weekdays[a+(c-1)*7]}},{ba:"MM?",format:function(a){return V(a,"Month")+1}},{ba:"mon|month",la:k,format:function(a,b,c){a=V(a,"Month");return b.months[a+(c-1)*12]}},{ba:"y{2,4}|year",format:function(a){return V(a,"FullYear")}},{ba:"[Tt]{1,2}",
         | 
| 3 | 
            +
            format:function(a,b,c,d){if(b.ampm.length==0)return"";a=V(a,"Hours");b=b.ampm[pa(a/12)];if(d.length===1)b=b.slice(0,1);if(d.slice(0,1)==="T")b=b.toUpperCase();return b}},{ba:"z{1,4}|tz|timezone",text:k,format:function(a,b,c,d){a=a.getUTCOffset();if(d=="z"||d=="zz")a=a.replace(/(\d{2})(\d{2})/,function(e,f){return O(f,d.length)});return a}},{ba:"iso(tz|timezone)",format:function(a){return a.getUTCOffset(k)}},{ba:"ord",format:function(a){a=V(a,"Date");return a+ra(a)}}],db=[{$:"year",method:"FullYear",
         | 
| 4 4 | 
             
            ja:k,da:function(a){return(365+(a?a.isLeapYear()?1:0:0.25))*24*60*60*1E3}},{$:"month",method:"Month",ja:k,da:function(a,b){var c=30.4375,d;if(a){d=a.daysInMonth();if(b<=d.days())c=d}return c*24*60*60*1E3}},{$:"week",method:"Week",da:aa(6048E5)},{$:"day",method:"Date",ja:k,da:aa(864E5)},{$:"hour",method:"Hours",da:aa(36E5)},{$:"minute",method:"Minutes",da:aa(6E4)},{$:"second",method:"Seconds",da:aa(1E3)},{$:"millisecond",method:"Milliseconds",da:aa(1)}],eb={};
         | 
| 5 5 | 
             
            function fb(a){ma(this,a);this.ga=bb.concat()}
         | 
| 6 | 
            -
            fb.prototype={getMonth:function(a){return  | 
| 7 | 
            -
            return a==="en"||a==="en-US"?k:this.variant},ya:function(a){return a===this.ampm[0]},za:function(a){return a&&a===this.ampm[1]},na:function(a,b){var c,d,e=a[0], | 
| 8 | 
            -
            case "sign":return c.src}})},sa:function(){return this.ma?[this.ma].concat(this.ga):this.ga},addFormat:function(a,b,c,d,e){var  | 
| 9 | 
            -
            m=o}m=ib(m)}if( | 
| 10 | 
            -
            function mb(a,b){function c( | 
| 11 | 
            -
            i; | 
| 12 | 
            -
            src:o,value: | 
| 13 | 
            -
            function kb(a,b,c,d){a.ga.unshift({Ba:d,xa:a,Aa:r("^"+b+"$","i"),to:c})}function hb(a){return a.slice(0,1).toUpperCase()+a.slice(1)}function ib(a){return a.filter(function(b){return!!b}).join("|")}function nb(a,b){var c;if( | 
| 14 | 
            -
            function ob(a,b){var c={};if(match=a.match(/^(\d+)?\s?(\w+?)s?$/i)){if(K(b))b=parseInt(match[1])||1;c[match[2].toLowerCase()]=b}return c}function pb(a,b){var c={},d,e;b.forEach(function( | 
| 15 | 
            -
            function rb(a){return a.replace(Za,function(b,c,d){var e=0, | 
| 16 | 
            -
            function sb(a,b,c,d){var e=new s, | 
| 17 | 
            -
            i.getMonth( | 
| 18 | 
            -
             | 
| 19 | 
            -
            if(I( | 
| 20 | 
            -
            0?"endOf":"beginningOf")+hb(m)](); | 
| 21 | 
            -
            function ub(a,b,c,d){var e, | 
| 22 | 
            -
            !i.text)j=( | 
| 23 | 
            -
            function vb(a,b,c,d){var e=sb(b,l,l,d) | 
| 24 | 
            -
            function  | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 6 | 
            +
            fb.prototype={getMonth:function(a){return B(a)?a-1:this.months.indexOf(a)%12},getWeekday:function(a){return this.weekdays.indexOf(a)%7},oa:function(a){var b;return B(a)?a:a&&(b=this.numbers.indexOf(a))!==-1?(b+1)%10:1},ta:function(a){var b=this;return a.replace(r(this.num,"g"),function(c){return b.oa(c)||""})},ra:function(a){return U.units[this.units.indexOf(a)%8]},ua:function(a){return this.na(a,a[2]>0?"future":"past")},qa:function(a){return this.na(gb(a),"duration")},va:function(a){a=a||this.code;
         | 
| 7 | 
            +
            return a==="en"||a==="en-US"?k:this.variant},ya:function(a){return a===this.ampm[0]},za:function(a){return a&&a===this.ampm[1]},na:function(a,b){var c,d,e=a[0],f=a[1],h=a[2],i=this[b]||this.relative;if(A(i))return i.call(this,e,f,h,b);d=this.units[(this.plural&&e>1?1:0)*8+f]||this.units[f];if(this.capitalizeUnit)d=hb(d);c=this.modifiers.filter(function(j){return j.name=="sign"&&j.value==(h>0?1:-1)})[0];return i.replace(/\{(.*?)\}/g,function(j,g){switch(g){case "num":return e;case "unit":return d;
         | 
| 8 | 
            +
            case "sign":return c.src}})},sa:function(){return this.ma?[this.ma].concat(this.ga):this.ga},addFormat:function(a,b,c,d,e){var f=c||[],h=this,i;a=a.replace(/\s+/g,"[-,. ]*");a=a.replace(/\{([^,]+?)\}/g,function(j,g){var m,o,v,y=g.match(/\?$/);v=g.match(/^(\d+)\??$/);var J=g.match(/(\d)(?:-(\d))?/),L=g.replace(/[^a-z]+$/,"");if(v)m=h.tokens[v[1]];else if(h[L])m=h[L];else if(h[L+"s"]){m=h[L+"s"];if(J){o=[];m.forEach(function(P,Da){var S=Da%(h.units?8:m.length);if(S>=J[1]&&S<=(J[2]||J[1]))o.push(P)});
         | 
| 9 | 
            +
            m=o}m=ib(m)}if(v)v="(?:"+m+")";else{c||f.push(L);v="("+m+")"}if(y)v+="?";return v});if(b){b=jb(Xa,h,e);e=["t","[\\s\\u3000]"].concat(h.timeMarker);i=a.match(/\\d\{\d,\d\}\)+\??$/);kb(h,"(?:"+b+")[,\\s\\u3000]+?"+a,Wa.concat(f),d);kb(h,a+"(?:[,\\s]*(?:"+e.join("|")+(i?"+":"*")+")"+b+")?",f.concat(Wa),d)}else kb(h,a,f,d)}};function lb(a,b){var c;C(a)||(a="");c=eb[a]||eb[a.slice(0,2)];if(b===n&&!c)throw Error("Invalid locale.");return c||Va}
         | 
| 10 | 
            +
            function mb(a,b){function c(g){var m=i[g];if(C(m))i[g]=m.split(",");else m||(i[g]=[])}function d(g,m){g=g.split("+").map(function(o){return o.replace(/(.+):(.+)$/,function(v,y,J){return J.split("|").map(function(L){return y+L}).join("|")})}).join("|");return g.split("|").forEach(m)}function e(g,m,o){var v=[];i[g].forEach(function(y,J){if(m)y+="+"+y.slice(0,3);d(y,function(L,P){v[P*o+J]=L.toLowerCase()})});i[g]=v}function f(g,m,o){g="\\d{"+g+","+m+"}";if(o)g+="|(?:"+ib(i.numbers)+")+";return g}function h(g,
         | 
| 11 | 
            +
            m){i[g]=i[g]||m}var i,j;i=new fb(b);c("modifiers");"months,weekdays,units,numbers,articles,tokens,timeMarker,ampm,timeSuffixes,dateParse,timeParse".split(",").forEach(c);j=!i.monthSuffix;e("months",j,12);e("weekdays",j,7);e("units",n,8);e("numbers",n,10);h("code",a);h("date",f(1,2,i.digitDate));h("year","'\\d{2}|"+f(4,4));h("num",function(){var g=["\\d+"].concat(i.articles);if(i.numbers)g=g.concat(i.numbers);return ib(g)}());(function(){var g=[];i.ha={};i.modifiers.forEach(function(m){var o=m.name;
         | 
| 12 | 
            +
            d(m.src,function(v){var y=i[o];i.ha[v]=m;g.push({name:o,src:v,value:m.value});i[o]=y?y+"|"+v:v})});i.day+="|"+ib(i.weekdays);i.modifiers=g})();if(i.monthSuffix){i.month=f(1,2);i.months=oa(1,12).map(function(g){return g+i.monthSuffix})}i.full_month=f(1,2)+"|"+ib(i.months);i.timeSuffixes.length>0&&i.addFormat(jb(Xa,i),n,Wa);i.addFormat("{day}",k);i.addFormat("{month}"+(i.monthSuffix||""));i.addFormat("{year}"+(i.yearSuffix||""));i.timeParse.forEach(function(g){i.addFormat(g,k)});i.dateParse.forEach(function(g){i.addFormat(g)});
         | 
| 13 | 
            +
            return eb[a]=i}function kb(a,b,c,d){a.ga.unshift({Ba:d,xa:a,Aa:r("^"+b+"$","i"),to:c})}function hb(a){return a.slice(0,1).toUpperCase()+a.slice(1)}function ib(a){return a.filter(function(b){return!!b}).join("|")}function nb(a,b){var c;if(M(a[0]))return a;else if(B(a[0])&&!B(a[1]))return[a[0]];else if(C(a[0])&&b)return[ob(a[0]),a[1]];c={};$a.forEach(function(d,e){c[d.$]=a[e]});return[c]}
         | 
| 14 | 
            +
            function ob(a,b){var c={};if(match=a.match(/^(\d+)?\s?(\w+?)s?$/i)){if(K(b))b=parseInt(match[1])||1;c[match[2].toLowerCase()]=b}return c}function pb(a,b){var c={},d,e;b.forEach(function(f,h){d=a[h+1];if(!(K(d)||d==="")){if(f==="year")c.Ca=d.replace(/'/,"");e=parseFloat(d.replace(/'/,"").replace(/,/,"."));c[f]=!isNaN(e)?e:d.toLowerCase()}});return c}function qb(a){a=a.trim().replace(/^(just )?now|\.+$/i,"");return rb(a)}
         | 
| 15 | 
            +
            function rb(a){return a.replace(Za,function(b,c,d){var e=0,f=1,h,i;if(c)return b;d.split("").reverse().forEach(function(j){j=Ya[j];var g=j>9;if(g){if(h)e+=f;f*=j/(i||1);i=j}else{if(h===n)f*=10;e+=f*j}h=g});if(h)e+=f;return e})}
         | 
| 16 | 
            +
            function sb(a,b,c,d){var e=new s,f=n,h,i,j,g,m,o,v,y,J;e.utc(d);if(fa(a))e=new s(a.getTime());else if(B(a))e=new s(a);else if(M(a)){e.set(a,k);g=a}else if(C(a)){h=lb(b);a=qb(a);h&&G(h.sa(),function(L,P){var Da=a.match(P.Aa);if(Da){j=P;i=j.xa;g=pb(Da,j.to,i);g.utc&&e.utc();i.ma=j;if(g.timestamp){g=g.timestamp;return n}if(j.Ba&&!C(g.month)&&(C(g.date)||h.va(b))){y=g.month;g.month=g.date;g.date=y}if(g.year&&g.Ca.length===2)g.year=N(V(new s,"FullYear")/100)*100-N(g.year/100)*100+g.year;if(g.month){g.month=
         | 
| 17 | 
            +
            i.getMonth(g.month);if(g.shift&&!g.unit)g.unit=i.units[7]}if(g.weekday&&g.date)delete g.weekday;else if(g.weekday){g.weekday=i.getWeekday(g.weekday);if(g.shift&&!g.unit)g.unit=i.units[5]}if(g.day&&(y=i.ha[g.day])){g.day=y.value;e.reset();f=k}else if(g.day&&(o=i.getWeekday(g.day))>-1){delete g.day;if(g.num&&g.month){J=function(){var S=e.getWeekday();e.setWeekday(7*(g.num-1)+(S>o?o+7:o))};g.day=1}else g.weekday=o}if(g.date&&!B(g.date))g.date=i.ta(g.date);if(i.za(g.ampm)&&g.hour<12)g.hour+=12;else if(i.ya(g.ampm)&&
         | 
| 18 | 
            +
            g.hour===12)g.hour=0;if("offset_hours"in g||"offset_minutes"in g){e.utc();g.offset_minutes=g.offset_minutes||0;g.offset_minutes+=g.offset_hours*60;if(g.offset_sign==="-")g.offset_minutes*=-1;g.minute-=g.offset_minutes}if(g.unit){f=k;v=i.oa(g.num);m=i.ra(g.unit);if(g.shift||g.edge){v*=(y=i.ha[g.shift])?y.value:0;if(m==="month"&&I(g.date)){e.set({day:g.date},k);delete g.date}if(m==="year"&&I(g.month)){e.set({month:g.month,day:g.date},k);delete g.month;delete g.date}}if(g.sign&&(y=i.ha[g.sign]))v*=y.value;
         | 
| 19 | 
            +
            if(I(g.weekday)){e.set({weekday:g.weekday},k);delete g.weekday}g[m]=(g[m]||0)+v}if(g.year_sign==="-")g.year*=-1;ab.slice(1,4).forEach(function(S,Ub){var zb=g[S.$],Ab=zb%1;if(Ab){g[ab[Ub].$]=N(Ab*(S.$==="second"?1E3:60));g[S.$]=pa(zb)}});return n}});if(j)if(f)e.advance(g);else{e._utc&&e.reset();tb(e,g,k,n,c)}else e=a?new s(a):new s;if(g&&g.edge){y=i.ha[g.edge];G(ab.slice(4),function(L,P){if(I(g[P.$])){m=P.$;return n}});if(m==="year")g.fa="month";else if(m==="month"||m==="week")g.fa="day";e[(y.value<
         | 
| 20 | 
            +
            0?"endOf":"beginningOf")+hb(m)]();y.value===-2&&e.reset()}J&&J()}e.utc(n);return{ea:e,set:g}}function gb(a){var b,c=w.abs(a),d=c,e=0;ab.slice(1).forEach(function(f,h){b=pa(N(c/f.da()*10)/10);if(b>=1){d=b;e=h+1}});return[d,e,a]}
         | 
| 21 | 
            +
            function ub(a,b,c,d){var e,f=lb(d),h=r(/^[A-Z]/);if(a.isValid())if(Date[b])b=Date[b];else{if(A(b)){e=gb(a.millisecondsFromNow());b=b.apply(a,e.concat(f))}}else return"Invalid Date";if(!b&&c){e=e||gb(a.millisecondsFromNow());if(e[1]===0){e[1]=1;e[0]=1}return f.ua(e)}b=b||"long";b=f[b]||b;cb.forEach(function(i){b=b.replace(r("\\{("+i.ba+")(\\d)?\\}",i.la?"i":""),function(j,g,m){j=i.format(a,f,m||1,g);m=g.length;var o=g.match(/^(.)\1+$/);if(i.la){if(m===3)j=j.slice(0,3);if(o||g.match(h))j=hb(j)}else if(o&&
         | 
| 22 | 
            +
            !i.text)j=(B(j)?O(j,m):j.toString()).slice(-m);return j})});return b}
         | 
| 23 | 
            +
            function vb(a,b,c,d){var e,f,h,i=0,j=0,g=0;e=sb(b,l,l,d);if(c>0){j=g=c;f=k}if(!e.ea.isValid())return n;if(e.set&&e.set.fa){db.forEach(function(m){if(m.$===e.set.fa)i=m.da(e.ea,a-e.ea)-1});b=hb(e.set.fa);if(e.set.edge||e.set.shift)e.ea["beginningOf"+b]();if(e.set.fa==="month")h=e.ea.clone()["endOf"+b]().getTime();if(!f&&e.set.sign&&e.set.fa!="millisecond"){j=50;g=-50}}f=a.getTime();b=e.ea.getTime();h=h||b+i;h=wb(a,b,h);return f>=b-j&&f<=h+g}
         | 
| 24 | 
            +
            function wb(a,b,c){b=new Date(b);a=(new Date(c)).utc(a.isUTC());if(V(a,"Hours")!==23){b=b.getTimezoneOffset();a=a.getTimezoneOffset();if(b!==a)c+=(a-b).minutes()}return c}
         | 
| 25 | 
            +
            function tb(a,b,c,d,e){function f(g){return I(b[g])?b[g]:b[g+"s"]}function h(g){return I(f(g))}var i,j;if(B(b)&&d)b={milliseconds:b};else if(B(b)){a.setTime(b);return a}if(I(b.date))b.day=b.date;G(ab,function(g,m){var o=m.$==="day";if(h(m.$)||o&&h("weekday")){b.fa=m.$;j=+g;return n}else if(c&&m.$!=="week"&&(!o||!h("week")))W(a,m.method,o?1:0)});db.forEach(function(g){var m=g.$;g=g.method;var o;o=f(m);if(!K(o)){if(d){if(m==="week"){o=(b.day||0)+o*7;g="Date"}o=o*d+V(a,g)}else m==="month"&&h("day")&&
         | 
| 26 | 
            +
            W(a,"Date",15);W(a,g,o);if(d&&m==="month"){m=o;if(m<0)m=m%12+12;m%12!=V(a,"Month")&&W(a,"Date",0)}}});if(!d&&!h("day")&&h("weekday")){i=f("weekday");a.setWeekday(i)}(function(){var g=new s;return e===-1&&a>g||e===1&&a<g})()&&G(ab.slice(j+1),function(g,m){if((m.ja||m.$==="week"&&h("weekday"))&&!(h(m.$)||m.$==="day"&&h("weekday"))){a[m.ia](e);return n}});return a}function V(a,b){return a["get"+(a._utc?"UTC":"")+b]()}function W(a,b,c){return a["set"+(a._utc?"UTC":"")+b](c)}
         | 
| 27 | 
            +
            function jb(a,b,c){var d={h:0,m:1,s:2},e;b=b||U;return a.replace(/{([a-z])}/g,function(f,h){var i=[],j=h==="h",g=j&&!c;if(h==="t")return b.ampm.join("|");else{j&&i.push(":");if(e=b.timeSuffixes[d[h]])i.push(e+"\\s*");return i.length===0?"":"(?:"+i.join("|")+")"+(g?"":"?")}})}function X(a,b,c){var d,e;if(B(a[1]))d=nb(a)[0];else{d=a[0];e=a[1]}return sb(d,e,b,c).ea}
         | 
| 27 28 | 
             
            s.extend({create:function(){return X(arguments)},past:function(){return X(arguments,-1)},future:function(){return X(arguments,1)},addLocale:function(a,b){return mb(a,b)},setLocale:function(a){var b=lb(a,n);Va=b;if(a&&a!=b.code)b.code=a;return b},getLocale:function(a){return!a?Va:lb(a,n)},addFormat:function(a,b,c){kb(lb(c),a,b)}},n,n);
         | 
| 28 | 
            -
            s.extend({set:function(){var a=nb(arguments);return tb(this,a[0],a[1])},setWeekday:function(a){if(!K(a))return W(this,"Date",V(this,"Date")+a-V(this,"Day"))},setWeek:function(a){if(!K(a)){V(this,"Date");W(this,"Month",0);W(this,"Date",a*7+1);return this.getTime()}},getWeek:function(){var a=this;a=a.clone();var b=V(a,"Day")||7;a.addDays(4-b).reset();return 1+ | 
| 29 | 
            -
            return  | 
| 30 | 
            -
            0)},isBetween:function(a,b,c){var d=this.getTime();a=s.create(a).getTime();var e=s.create(b).getTime();b= | 
| 29 | 
            +
            s.extend({set:function(){var a=nb(arguments);return tb(this,a[0],a[1])},setWeekday:function(a){if(!K(a))return W(this,"Date",V(this,"Date")+a-V(this,"Day"))},setWeek:function(a){if(!K(a)){V(this,"Date");W(this,"Month",0);W(this,"Date",a*7+1);return this.getTime()}},getWeek:function(){var a=this;a=a.clone();var b=V(a,"Day")||7;a.addDays(4-b).reset();return 1+pa(a.daysSince(a.clone().beginningOfYear())/7)},getUTCOffset:function(a){var b=this._utc?0:this.getTimezoneOffset(),c=a===k?":":"";if(!b&&a)return"Z";
         | 
| 30 | 
            +
            return O(N(-b/60),2,k)+c+O(b%60,2)},utc:function(a){this._utc=a===k||arguments.length===0;return this},isUTC:function(){return!!this._utc||this.getTimezoneOffset()===0},advance:function(){var a=nb(arguments,k);return tb(this,a[0],a[1],1)},rewind:function(){var a=nb(arguments,k);return tb(this,a[0],a[1],-1)},isValid:function(){return!isNaN(this.getTime())},isAfter:function(a,b){return this.getTime()>s.create(a).getTime()-(b||0)},isBefore:function(a,b){return this.getTime()<s.create(a).getTime()+(b||
         | 
| 31 | 
            +
            0)},isBetween:function(a,b,c){var d=this.getTime();a=s.create(a).getTime();var e=s.create(b).getTime();b=w.min(a,e);a=w.max(a,e);c=c||0;return b-c<d&&a+c>d},isLeapYear:function(){var a=V(this,"FullYear");return a%4===0&&a%100!==0||a%400===0},daysInMonth:function(){return 32-V(new s(V(this,"FullYear"),V(this,"Month"),32),"Date")},format:function(a,b){return ub(this,a,n,b)},relative:function(a,b){if(C(a)){b=a;a=l}return ub(this,a,k,b)},is:function(a,b,c){var d,e;if(this.isValid()){if(C(a)){a=a.trim().toLowerCase();
         | 
| 31 32 | 
             
            e=this.clone().utc(c);switch(k){case a==="future":return this.getTime()>(new s).getTime();case a==="past":return this.getTime()<(new s).getTime();case a==="weekday":return V(e,"Day")>0&&V(e,"Day")<6;case a==="weekend":return V(e,"Day")===0||V(e,"Day")===6;case (d=U.weekdays.indexOf(a)%7)>-1:return V(e,"Day")===d;case (d=U.months.indexOf(a)%12)>-1:return V(e,"Month")===d}}return vb(this,a,b,c)}},reset:function(a){var b={},c;a=a||"hours";if(a==="date")a="days";c=db.some(function(d){return a===d.$||
         | 
| 32 33 | 
             
            a===d.$+"s"});b[a]=a.match(/^days?/)?1:0;return c?this.set(b,k):this},clone:function(){var a=new s(this.getTime());a._utc=this._utc;return a}});s.extend({iso:function(){return this.toISOString()},getWeekday:s.prototype.getDay,getUTCWeekday:s.prototype.getUTCDay});
         | 
| 33 | 
            -
            function  | 
| 34 | 
            +
            function xb(a,b){function c(){return N(this*b)}function d(){return X(arguments)[a.ia](this)}function e(){return X(arguments)[a.ia](-this)}var f=a.$,h={};h[f]=c;h[f+"s"]=c;h[f+"Before"]=e;h[f+"sBefore"]=e;h[f+"Ago"]=e;h[f+"sAgo"]=e;h[f+"After"]=d;h[f+"sAfter"]=d;h[f+"FromNow"]=d;h[f+"sFromNow"]=d;u.extend(h)}u.extend({duration:function(a){return lb(a).qa(this)}});
         | 
| 34 35 | 
             
            U=Va=s.addLocale("en",{plural:k,timeMarker:"at",ampm:"am,pm",months:"January,February,March,April,May,June,July,August,September,October,November,December",weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",units:"millisecond:|s,second:|s,minute:|s,hour:|s,day:|s,week:|s,month:|s,year:|s",numbers:"one,two,three,four,five,six,seven,eight,nine,ten",articles:"a,an,the",tokens:"the,st|nd|rd|th,of","short":"{Month} {d}, {yyyy}","long":"{Month} {d}, {yyyy} {h}:{mm}{tt}",full:"{Weekday} {Month} {d}, {yyyy} {h}:{mm}:{ss}{tt}",
         | 
| 35 36 | 
             
            past:"{num} {unit} {sign}",future:"{num} {unit} {sign}",duration:"{num} {unit}",modifiers:[{name:"day",src:"yesterday",value:-1},{name:"day",src:"today",value:0},{name:"day",src:"tomorrow",value:1},{name:"sign",src:"ago|before",value:-1},{name:"sign",src:"from now|after|from|in|later",value:1},{name:"edge",src:"last day",value:-2},{name:"edge",src:"end",value:-1},{name:"edge",src:"first day|beginning",value:1},{name:"shift",src:"last",value:-1},{name:"shift",src:"the|this",value:0},{name:"shift",
         | 
| 36 | 
            -
            src:"next",value:1}],dateParse:["{num} {unit} {sign}","{sign} {num} {unit}","{month} {year}","{shift} {unit=5-7}","{0?} {date}{1}","{0?} {edge} of {shift?} {unit=4-7?}{month?}{year?}"],timeParse:["{0} {num}{1} {day} of {month} {year?}","{weekday?} {month} {date}{1?} {year?}","{date} {month} {year}","{shift} {weekday}","{shift} week {weekday}","{weekday} {2?} {shift} week","{num} {unit=4-5} {sign} {day}","{0?} {date}{1} of {month}","{0?}{month?} {date?}{1?} of {shift} {unit=6-7}"]}); | 
| 37 | 
            -
             | 
| 38 | 
            -
            H(s,k,n,db,function(a,b,c){var d=b.$,e=hb(d), | 
| 37 | 
            +
            src:"next",value:1}],dateParse:["{num} {unit} {sign}","{sign} {num} {unit}","{month} {year}","{shift} {unit=5-7}","{0?} {date}{1}","{0?} {edge} of {shift?} {unit=4-7?}{month?}{year?}"],timeParse:["{0} {num}{1} {day} of {month} {year?}","{weekday?} {month} {date}{1?} {year?}","{date} {month} {year}","{date} {month}","{shift} {weekday}","{shift} week {weekday}","{weekday} {2?} {shift} week","{num} {unit=4-5} {sign} {day}","{0?} {date}{1} of {month}","{0?}{month?} {date?}{1?} of {shift} {unit=6-7}"]});
         | 
| 38 | 
            +
            ab=db.concat().reverse();$a=db.concat();$a.splice(2,1);
         | 
| 39 | 
            +
            H(s,k,n,db,function(a,b,c){var d=b.$,e=hb(d),f=b.da(),h,i;b.ia="add"+e+"s";h=function(j,g){return N((this.getTime()-s.create(j,g).getTime())/f)};i=function(j,g){return N((s.create(j,g).getTime()-this.getTime())/f)};a[d+"sAgo"]=i;a[d+"sUntil"]=i;a[d+"sSince"]=h;a[d+"sFromNow"]=h;a[b.ia]=function(j,g){var m={};m[d]=j;return this.advance(m,g)};xb(b,f);c<3&&["Last","This","Next"].forEach(function(j){a["is"+j+e]=function(){return this.is(j+" "+d)}});if(c<4){a["beginningOf"+e]=function(){var j={};switch(d){case "year":j.year=
         | 
| 39 40 | 
             
            V(this,"FullYear");break;case "month":j.month=V(this,"Month");break;case "day":j.day=V(this,"Date");break;case "week":j.weekday=0}return this.set(j,k)};a["endOf"+e]=function(){var j={hours:23,minutes:59,seconds:59,milliseconds:999};switch(d){case "year":j.month=11;j.day=31;break;case "month":j.day=this.daysInMonth();break;case "week":j.weekday=6}return this.set(j,k)}}});U.addFormat("([+-])?(\\d{4,4})[-.]?{full_month}[-.]?(\\d{1,2})?",k,["year_sign","year","month","date"],n,k);
         | 
| 40 41 | 
             
            U.addFormat("(\\d{1,2})[-.\\/]{full_month}(?:[-.\\/](\\d{2,4}))?",k,["date","month","year"],k);U.addFormat("{full_month}[-.](\\d{4,4})",n,["month","year"]);U.addFormat("\\/Date\\((\\d+(?:\\+\\d{4,4})?)\\)\\/",n,["timestamp"]);U.addFormat(jb(Xa,U),n,Wa);bb=U.ga.slice(0,7).reverse();U.ga=U.ga.slice(7).concat(bb);H(s,k,n,"short,long,full",function(a,b){a[b]=function(c){return ub(this,b,n,c)}});
         | 
| 41 | 
            -
            "\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07".split("").forEach(function(a,b){if(b>9)b= | 
| 42 | 
            -
            (function(){var a="today,yesterday,tomorrow,weekday,weekend,future,past".split(","),b=U.weekdays.slice(0,7),c=U.months.slice(0,12);H(s,k,n,a.concat(b).concat(c),function(d,e){d["is"+hb(e)]=function( | 
| 42 | 
            +
            "\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07".split("").forEach(function(a,b){if(b>9)b=w.pow(10,b-9);Ya[a]=b});"\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19".split("").forEach(function(a,b){Ya[a]=b});Za=r("([\u671f\u9031\u5468])?([\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19]+)(?!\u6628)","g");
         | 
| 43 | 
            +
            (function(){var a="today,yesterday,tomorrow,weekday,weekend,future,past".split(","),b=U.weekdays.slice(0,7),c=U.months.slice(0,12);H(s,k,n,a.concat(b).concat(c),function(d,e){d["is"+hb(e)]=function(f){return this.is(e,0,f)}})})();(function(){s.extend({utc:{create:function(){return X(arguments,0,k)},past:function(){return X(arguments,-1,k)},future:function(){return X(arguments,1,k)}}},n,n)})();
         | 
| 43 44 | 
             
            s.extend({RFC1123:"{Dow}, {dd} {Mon} {yyyy} {HH}:{mm}:{ss} {tz}",RFC1036:"{Weekday}, {dd}-{Mon}-{yy} {HH}:{mm}:{ss} {tz}",ISO8601_DATE:"{yyyy}-{MM}-{dd}",ISO8601_DATETIME:"{yyyy}-{MM}-{dd}T{HH}:{mm}:{ss}.{fff}{isotz}"},n,n);
         | 
| @@ -8,7 +8,7 @@ Date.addLocale("es",{plural:k,months:"enero,febrero,marzo,abril,mayo,junio,julio | |
| 8 8 | 
             
            past:"{sign} {num} {unit}",future:"{num} {unit} {sign}",duration:"{num} {unit}",timeMarker:"a las",ampm:"am,pm",modifiers:[{name:"day",src:"anteayer",value:-2},{name:"day",src:"ayer",value:-1},{name:"day",src:"hoy",value:0},{name:"day",src:"ma\u00f1ana|manana",value:1},{name:"sign",src:"hace",value:-1},{name:"sign",src:"de ahora",value:1},{name:"shift",src:"pasad:o|a",value:-1},{name:"shift",src:"pr\u00f3ximo|pr\u00f3xima|proximo|proxima",value:1}],dateParse:["{sign} {num} {unit}","{num} {unit} {sign}",
         | 
| 9 9 | 
             
            "{0?} {unit=5-7} {shift}","{0?} {shift} {unit=5-7}"],timeParse:["{shift} {weekday}","{weekday} {shift}","{date?} {1?} {month} {1?} {year?}"]});
         | 
| 10 10 | 
             
            Date.addLocale("fi",{plural:k,timeMarker:"kello",ampm:",",months:"tammikuu,helmikuu,maaliskuu,huhtikuu,toukokuu,kes\u00e4kuu,hein\u00e4kuu,elokuu,syyskuu,lokakuu,marraskuu,joulukuu",weekdays:"sunnuntai,maanantai,tiistai,keskiviikko,torstai,perjantai,lauantai",units:"millisekun:ti|tia|teja|tina|nin,sekun:ti|tia|teja|tina|nin,minuut:ti|tia|teja|tina|in,tun:ti|tia|teja|tina|nin,p\u00e4iv:\u00e4|\u00e4\u00e4|i\u00e4|\u00e4n\u00e4|\u00e4n,viik:ko|koa|koja|on|kona,kuukau:si|sia|tta|den|tena,vuo:si|sia|tta|den|tena",numbers:"yksi|ensimm\u00e4inen,kaksi|toinen,kolm:e|as,nelj\u00e4:s,vii:si|des,kuu:si|des,seitsem\u00e4:n|s,kahdeksa:n|s,yhdeks\u00e4:n|s,kymmene:n|s",
         | 
| 11 | 
            -
            articles:"",optionals:"","short":"{d}. {month}ta {yyyy}","long":"{d}. {month}ta {yyyy} kello {H}.{mm}",full:"{Weekday}na {d}. {month}ta {yyyy} kello {H}.{mm}",relative:function(a,b,c,d){function e( | 
| 11 | 
            +
            articles:"",optionals:"","short":"{d}. {month}ta {yyyy}","long":"{d}. {month}ta {yyyy} kello {H}.{mm}",full:"{Weekday}na {d}. {month}ta {yyyy} kello {H}.{mm}",relative:function(a,b,c,d){function e(h){return(a===1?"":a+" ")+f[8*h+b]}var f=this.units;switch(d){case "duration":return e(0);case "past":return e(a>1?1:0)+" sitten";case "future":return e(4)+" p\u00e4\u00e4st\u00e4"}},modifiers:[{name:"day",src:"toissa p\u00e4iv\u00e4n\u00e4|toissa p\u00e4iv\u00e4ist\u00e4",value:-2},{name:"day",src:"eilen|eilist\u00e4",
         | 
| 12 12 | 
             
            value:-1},{name:"day",src:"t\u00e4n\u00e4\u00e4n",value:0},{name:"day",src:"huomenna|huomista",value:1},{name:"day",src:"ylihuomenna|ylihuomista",value:2},{name:"sign",src:"sitten|aiemmin",value:-1},{name:"sign",src:"p\u00e4\u00e4st\u00e4|kuluttua|my\u00f6hemmin",value:1},{name:"edge",src:"viimeinen|viimeisen\u00e4",value:-2},{name:"edge",src:"lopussa",value:-1},{name:"edge",src:"ensimm\u00e4inen|ensimm\u00e4isen\u00e4",value:1},{name:"shift",src:"edellinen|edellisen\u00e4|edelt\u00e4v\u00e4|edelt\u00e4v\u00e4n\u00e4|viime|toissa",
         | 
| 13 13 | 
             
            value:-1},{name:"shift",src:"t\u00e4n\u00e4|t\u00e4m\u00e4n",value:0},{name:"shift",src:"seuraava|seuraavana|tuleva|tulevana|ensi",value:1}],dateParse:["{num} {unit} {sign}","{sign} {num} {unit}","{num} {unit=4-5} {sign} {day}","{month} {year}","{shift} {unit=5-7}"],timeParse:["{0} {num}{1} {day} of {month} {year?}","{weekday?} {month} {date}{1} {year?}","{date} {month} {year}","{shift} {weekday}","{shift} week {weekday}","{weekday} {2} {shift} week","{0} {date}{1} of {month}","{0}{month?} {date?}{1} of {shift} {unit=6-7}"]});
         | 
| 14 14 | 
             
            Date.addLocale("fr",{plural:k,months:"janvier,f\u00e9vrier|fevrier,mars,avril,mai,juin,juillet,ao\u00fbt,septembre,octobre,novembre,d\u00e9cembre|decembre",weekdays:"dimanche,lundi,mardi,mercredi,jeudi,vendredi,samedi",units:"milliseconde:|s,seconde:|s,minute:|s,heure:|s,jour:|s,semaine:|s,mois,an:|s|n\u00e9e|nee",numbers:"un:|e,deux,trois,quatre,cinq,six,sept,huit,neuf,dix",tokens:["l'|la|le"],"short":"{d} {month} {yyyy}","long":"{d} {month} {yyyy} {H}:{mm}",full:"{Weekday} {d} {month} {yyyy} {H}:{mm}:{ss}",
         | 
| @@ -1,3 +1,3 @@ | |
| 1 1 | 
             
            DateRange=function(a,b){this.start=s.create(a);this.end=s.create(b)};DateRange.prototype.toString=function(){return this.isValid()?this.start.full()+".."+this.end.full():"Invalid DateRange"};
         | 
| 2 | 
            -
            E(DateRange,k,n,{isValid:function(){return this.start<this.end},duration:function(){return this.isValid()?this.end.getTime()-this.start.getTime():NaN},contains:function(a){var b=this;return(a.start&&a.end?[a.start,a.end]:[a]).every(function(c){return c>=b.start&&c<=b.end})},every:function(a,b){var c=this.start.clone(),d=[],e=0, | 
| 3 | 
            -
            "Hours",48)}else c=c.clone().advance( | 
| 2 | 
            +
            E(DateRange,k,n,{isValid:function(){return this.start<this.end},duration:function(){return this.isValid()?this.end.getTime()-this.start.getTime():NaN},contains:function(a){var b=this;return(a.start&&a.end?[a.start,a.end]:[a]).every(function(c){return c>=b.start&&c<=b.end})},every:function(a,b){var c=this.start.clone(),d=[],e=0,f,h;if(C(a)){c.advance(ob(a,0),k);f=ob(a);h=a.toLowerCase()==="day"}else f={milliseconds:a};for(;c<=this.end;){d.push(c);b&&b(c,e);if(h&&V(c,"Hours")===23){c=c.clone();W(c,
         | 
| 3 | 
            +
            "Hours",48)}else c=c.clone().advance(f,k);e++}return d},union:function(a){return new DateRange(this.start<a.start?this.start:a.start,this.end>a.end?this.end:a.end)},intersect:function(a){return new DateRange(this.start>a.start?this.start:a.start,this.end<a.end?this.end:a.end)}});H(DateRange,k,n,"Millisecond,Second,Minute,Hour,Day,Week,Month,Year",function(a,b){a["each"+b]=function(c){return this.every(b,c)}});E(s,n,n,{range:function(a,b){return new DateRange(a,b)}});
         | 
| @@ -1,8 +1,8 @@ | |
| 1 | 
            -
            E(p,n,n,{keys:function(a){var b=[];if(!ka(a)&&!D(a)&&! | 
| 2 | 
            -
            function  | 
| 1 | 
            +
            E(p,n,n,{keys:function(a){var b=[];if(!ka(a)&&!D(a)&&!A(a))throw new TypeError("Object required");G(a,function(c){b.push(c)});return b}});
         | 
| 2 | 
            +
            function ya(a,b,c,d){var e=a.length,f=d==-1,h=f?e-1:0;c=isNaN(c)?h:parseInt(c>>0);if(c<0)c=e+c;if(!f&&c<0||f&&c>=e)c=h;for(;f&&c>=0||!f&&c<e;){if(a[c]===b)return c;c+=d}return-1}function za(a,b,c,d){var e=a.length,f=0,h=I(c);ja(b);if(e==0&&!h)throw new TypeError("Reduce called on empty array with no initial value");else if(h)c=c;else{c=a[d?e-1:f];f++}for(;f<e;){h=d?e-f-1:f;if(h in a)c=b(c,a[h],h,a);f++}return c}
         | 
| 3 3 | 
             
            function Aa(a){if(a.length===0)throw new TypeError("First argument must be defined");}E(q,n,n,{isArray:function(a){return da(a)}});
         | 
| 4 4 | 
             
            E(q,k,n,{every:function(a,b){var c=this.length,d=0;for(Aa(arguments);d<c;){if(d in this&&!a.call(b,this[d],d,this))return n;d++}return k},some:function(a,b){var c=this.length,d=0;for(Aa(arguments);d<c;){if(d in this&&a.call(b,this[d],d,this))return k;d++}return n},map:function(a,b){var c=this.length,d=0,e=Array(c);for(Aa(arguments);d<c;){if(d in this)e[d]=a.call(b,this[d],d,this);d++}return e},filter:function(a,b){var c=this.length,d=0,e=[];for(Aa(arguments);d<c;){d in this&&a.call(b,this[d],d,this)&&
         | 
| 5 | 
            -
            e.push(this[d]);d++}return e},indexOf:function(a,b){if(C(this))return this.indexOf(a,b);return  | 
| 6 | 
            -
            E(Function,k,n,{bind:function(a){var b=this,c=F(arguments).slice(1),d;if(! | 
| 7 | 
            -
            (function(){var a= | 
| 8 | 
            -
            (function(){var a=new s(s.UTC(1999,11,31));a=a.toISOString&&a.toISOString()==="1999-12-31T00:00:00.000Z";H(s,k,!a,"toISOString,toJSON",function(b,c){b[c]=function(){return  | 
| 5 | 
            +
            e.push(this[d]);d++}return e},indexOf:function(a,b){if(C(this))return this.indexOf(a,b);return ya(this,a,b,1)},lastIndexOf:function(a,b){if(C(this))return this.lastIndexOf(a,b);return ya(this,a,b,-1)},forEach:function(a,b){var c=this.length,d=0;for(ja(a);d<c;){d in this&&a.call(b,this[d],d,this);d++}},reduce:function(a,b){return za(this,a,b)},reduceRight:function(a,b){return za(this,a,b,k)}});
         | 
| 6 | 
            +
            E(Function,k,n,{bind:function(a){var b=this,c=F(arguments).slice(1),d;if(!A(this))throw new TypeError("Function.prototype.bind called on a non-function");d=function(){return b.apply(b.prototype&&this instanceof b?this:a,c.concat(F(arguments)))};d.prototype=this.prototype;return d}});E(s,n,n,{now:function(){return(new s).getTime()}});
         | 
| 7 | 
            +
            (function(){var a=sa().match(/^\s+$/);try{t.prototype.trim.call([1])}catch(b){a=n}E(t,k,!a,{trim:function(){return this.toString().trimLeft().trimRight()},trimLeft:function(){return this.replace(r("^["+sa()+"]+"),"")},trimRight:function(){return this.replace(r("["+sa()+"]+$"),"")}})})();
         | 
| 8 | 
            +
            (function(){var a=new s(s.UTC(1999,11,31));a=a.toISOString&&a.toISOString()==="1999-12-31T00:00:00.000Z";H(s,k,!a,"toISOString,toJSON",function(b,c){b[c]=function(){return O(this.getUTCFullYear(),4)+"-"+O(this.getUTCMonth()+1,2)+"-"+O(this.getUTCDate(),2)+"T"+O(this.getUTCHours(),2)+":"+O(this.getUTCMinutes(),2)+":"+O(this.getUTCSeconds(),2)+"."+O(this.getUTCMilliseconds(),3)+"Z"}})})();
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            function  | 
| 2 | 
            -
            E(Function,k,n,{lazy:function(a,b){function c(){if(!( | 
| 3 | 
            -
             | 
| 1 | 
            +
            function yb(a,b,c,d,e){var f;if(!a.timers)a.timers=[];B(b)||(b=0);a.timers.push(setTimeout(function(){a.timers.splice(f,1);c.apply(d,e||[])},b));f=a.timers.length}
         | 
| 2 | 
            +
            E(Function,k,n,{lazy:function(a,b){function c(){if(!(f&&e.length>b-2)){e.push([this,arguments]);h()}}var d=this,e=[],f=n,h,i,j;a=a||1;b=b||Infinity;i=N(a,void 0,"ceil");j=N(i/a);h=function(){if(!(f||e.length==0)){for(var g=w.max(e.length-j,0);e.length>g;)Function.prototype.apply.apply(d,e.shift());yb(c,i,function(){f=n;h()});f=k}};return c},delay:function(a){var b=F(arguments).slice(1);yb(this,a,this,this,b);return this},throttle:function(a){return this.lazy(a,1)},debounce:function(a){function b(){b.cancel();
         | 
| 3 | 
            +
            yb(b,a,c,this,arguments)}var c=this;return b},cancel:function(){if(da(this.timers))for(;this.timers.length>0;)clearTimeout(this.timers.shift());return this},after:function(a){var b=this,c=0,d=[];if(B(a)){if(a===0){b.call();return b}}else a=1;return function(){var e;d.push(F(arguments));c++;if(c==a){e=b.call(this,d);c=0;d=[];return e}}},once:function(){var a=this;return function(){return la(a,"memo")?a.memo:a.memo=a.apply(this,arguments)}},fill:function(){var a=this,b=F(arguments);return function(){var c=
         | 
| 4 4 | 
             
            F(arguments);b.forEach(function(d,e){if(d!=l||e>=c.length)c.splice(e,0,d)});return a.apply(this,c)}}});
         | 
| @@ -1,11 +1,11 @@ | |
| 1 | 
            -
            var  | 
| 2 | 
            -
            function  | 
| 3 | 
            -
            Z={acronym:function(a){ | 
| 4 | 
            -
             | 
| 5 | 
            -
            if( | 
| 1 | 
            +
            var Hb=[],Ib=[],Y=[],Jb=[],Kb={},Lb,Z;function Mb(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}
         | 
| 2 | 
            +
            function Nb(a,b,c){C(b)&&Mb(Y,b);Mb(Y,c);a.unshift({ka:b,pa:c})}function Ob(a,b){return a==b||a=="all"||!a}function Pb(a){return Y.some(function(b){return(new r("\\b"+b+"$","i")).test(a)})}function Qb(a,b){a=C(a)?a.toString():"";return a.isBlank()||Pb(a)?a:Rb(a,b?Hb:Ib)}function Rb(a,b){G(b,function(c,d){if(a.match(d.ka)){a=a.replace(d.ka,d.pa);return n}});return a}function Sb(a){return a.replace(/^\W*[a-z]/,function(b){return b.toUpperCase()})}
         | 
| 3 | 
            +
            Z={acronym:function(a){Kb[a.toLowerCase()]=a;a=p.keys(Kb).map(function(b){return Kb[b]});Z.acronymRegExp=r(a.join("|"),"g")},plural:function(a,b){Nb(Hb,a,b)},singular:function(a,b){Nb(Ib,a,b)},irregular:function(a,b){var c=a.first(),d=a.from(1),e=b.first(),f=b.from(1),h=e.toUpperCase(),i=e.toLowerCase(),j=c.toUpperCase(),g=c.toLowerCase();Mb(Y,a);Mb(Y,b);if(j==h){Z.plural(new r("({1}){2}$".assign(c,d),"i"),"$1"+f);Z.plural(new r("({1}){2}$".assign(e,f),"i"),"$1"+f);Z.singular(new r("({1}){2}$".assign(e,
         | 
| 4 | 
            +
            f),"i"),"$1"+d)}else{Z.plural(new r("{1}{2}$".assign(j,d)),h+f);Z.plural(new r("{1}{2}$".assign(g,d)),i+f);Z.plural(new r("{1}{2}$".assign(h,f)),h+f);Z.plural(new r("{1}{2}$".assign(i,f)),i+f);Z.singular(new r("{1}{2}$".assign(h,f)),j+d);Z.singular(new r("{1}{2}$".assign(i,f)),g+d)}},uncountable:function(a){var b=q.isArray(a)?a:F(arguments);Y=Y.concat(b)},human:function(a,b){Jb.unshift({ka:a,pa:b})},clear:function(a){if(Ob(a,"singulars"))Ib=[];if(Ob(a,"plurals"))Hb=[];if(Ob(a,"uncountables"))Y=[];
         | 
| 5 | 
            +
            if(Ob(a,"humans"))Jb=[];if(Ob(a,"acronyms"))Kb={}}};Lb=["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"];Z.plural(/$/,"s");Z.plural(/s$/gi,"s");Z.plural(/(ax|test)is$/gi,"$1es");Z.plural(/(octop|vir|fung|foc|radi|alumn)(i|us)$/gi,"$1i");Z.plural(/(census|alias|status)$/gi,"$1es");Z.plural(/(bu)s$/gi,"$1ses");Z.plural(/(buffal|tomat)o$/gi,"$1oes");Z.plural(/([ti])um$/gi,"$1a");Z.plural(/([ti])a$/gi,"$1a");
         | 
| 6 6 | 
             
            Z.plural(/sis$/gi,"ses");Z.plural(/f+e?$/gi,"ves");Z.plural(/(cuff|roof)$/gi,"$1s");Z.plural(/([ht]ive)$/gi,"$1s");Z.plural(/([^aeiouy]o)$/gi,"$1es");Z.plural(/([^aeiouy]|qu)y$/gi,"$1ies");Z.plural(/(x|ch|ss|sh)$/gi,"$1es");Z.plural(/(matr|vert|ind)(?:ix|ex)$/gi,"$1ices");Z.plural(/([ml])ouse$/gi,"$1ice");Z.plural(/([ml])ice$/gi,"$1ice");Z.plural(/^(ox)$/gi,"$1en");Z.plural(/^(oxen)$/gi,"$1");Z.plural(/(quiz)$/gi,"$1zes");Z.plural(/(phot|cant|hom|zer|pian|portic|pr|quart|kimon)o$/gi,"$1os");
         | 
| 7 7 | 
             
            Z.plural(/(craft)$/gi,"$1");Z.plural(/([ft])[eo]{2}(th?)$/gi,"$1ee$2");Z.singular(/s$/gi,"");Z.singular(/([pst][aiu]s)$/gi,"$1");Z.singular(/([aeiouy])ss$/gi,"$1ss");Z.singular(/(n)ews$/gi,"$1ews");Z.singular(/([ti])a$/gi,"$1um");Z.singular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/gi,"$1$2sis");Z.singular(/(^analy)ses$/gi,"$1sis");Z.singular(/(i)(f|ves)$/i,"$1fe");Z.singular(/([aeolr]f?)(f|ves)$/i,"$1f");Z.singular(/([ht]ive)s$/gi,"$1");Z.singular(/([^aeiouy]|qu)ies$/gi,"$1y");
         | 
| 8 8 | 
             
            Z.singular(/(s)eries$/gi,"$1eries");Z.singular(/(m)ovies$/gi,"$1ovie");Z.singular(/(x|ch|ss|sh)es$/gi,"$1");Z.singular(/([ml])(ous|ic)e$/gi,"$1ouse");Z.singular(/(bus)(es)?$/gi,"$1");Z.singular(/(o)es$/gi,"$1");Z.singular(/(shoe)s?$/gi,"$1");Z.singular(/(cris|ax|test)[ie]s$/gi,"$1is");Z.singular(/(octop|vir|fung|foc|radi|alumn)(i|us)$/gi,"$1us");Z.singular(/(census|alias|status)(es)?$/gi,"$1");Z.singular(/^(ox)(en)?/gi,"$1");Z.singular(/(vert|ind)(ex|ices)$/gi,"$1ex");
         | 
| 9 9 | 
             
            Z.singular(/(matr)(ix|ices)$/gi,"$1ix");Z.singular(/(quiz)(zes)?$/gi,"$1");Z.singular(/(database)s?$/gi,"$1");Z.singular(/ee(th?)$/gi,"oo$1");Z.irregular("person","people");Z.irregular("man","men");Z.irregular("child","children");Z.irregular("sex","sexes");Z.irregular("move","moves");Z.irregular("save","saves");Z.irregular("save","saves");Z.irregular("cow","kine");Z.irregular("goose","geese");Z.irregular("zombie","zombies");Z.uncountable("equipment,information,rice,money,species,series,fish,sheep,jeans".split(","));
         | 
| 10 | 
            -
            E(t,k,n,{pluralize:function(){return  | 
| 11 | 
            -
            "-";if(b.normalize)b=b.normalize();b=b.replace(/[^a-z0-9\-_]+/gi,a);if(a)b=b.replace(new r("^{sep}+|{sep}+$|({sep}){sep}+".assign({sep:Q(a)}),"g"),"$1");return encodeURI(b.toLowerCase())}});t.Inflector=Z;t.Inflector.acronyms= | 
| 10 | 
            +
            E(t,k,n,{pluralize:function(){return Qb(this,k)},singularize:function(){return Qb(this,n)},humanize:function(){var a=Rb(this,Jb);a=a.replace(/_id$/g,"");a=a.replace(/(_)?([a-z\d]*)/gi,function(b,c,d){return(c?" ":"")+(Kb[d]||d.toLowerCase())});return Sb(a)},titleize:function(){var a=/[.:;!]$/,b,c,d;return this.spacify().humanize().words(function(e,f,h){b=a.test(e);d=f==0||f==h.length-1||b||c;c=b;return d||Lb.indexOf(e)===-1?Sb(e):e}).join(" ")},parameterize:function(a){var b=this;if(a===undefined)a=
         | 
| 11 | 
            +
            "-";if(b.normalize)b=b.normalize();b=b.replace(/[^a-z0-9\-_]+/gi,a);if(a)b=b.replace(new r("^{sep}+|{sep}+$|({sep}){sep}+".assign({sep:Q(a)}),"g"),"$1");return encodeURI(b.toLowerCase())}});t.Inflector=Z;t.Inflector.acronyms=Kb;
         | 
| @@ -1,10 +1,10 @@ | |
| 1 | 
            -
            var  | 
| 2 | 
            -
             | 
| 3 | 
            -
             | 
| 4 | 
            -
            function  | 
| 5 | 
            -
            function  | 
| 6 | 
            -
            function  | 
| 7 | 
            -
             | 
| 1 | 
            +
            var Tb,Vb="",Wb,Xb=[{type:"a",shift:65248,start:65,end:90},{type:"a",shift:65248,start:97,end:122},{type:"n",shift:65248,start:48,end:57},{type:"p",shift:65248,start:33,end:47},{type:"p",shift:65248,start:58,end:64},{type:"p",shift:65248,start:91,end:96},{type:"p",shift:65248,start:123,end:126}],Yb,Zb=/[\u0020-\u00A5]|[\uFF61-\uFF9F][\uff9e\uff9f]?/g,$b=/[\u3000-\u301C]|[\u301A-\u30FC]|[\uFF01-\uFF60]|[\uFFE0-\uFFE6]/g,ac="\uff61\uff64\uff62\uff63\u00a5\u00a2\u00a3",bc="\u3002\u3001\u300c\u300d\uffe5\uffe0\uffe1",
         | 
| 2 | 
            +
            cc=/[\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30cf\u30d2\u30d5\u30d8\u30db]/,dc=/[\u30cf\u30d2\u30d5\u30d8\u30db\u30f2]/,ec="\uff71\uff72\uff73\uff74\uff75\uff67\uff68\uff69\uff6a\uff6b\uff76\uff77\uff78\uff79\uff7a\uff7b\uff7c\uff7d\uff7e\uff7f\uff80\uff81\uff82\uff6f\uff83\uff84\uff85\uff86\uff87\uff88\uff89\uff8a\uff8b\uff8c\uff8d\uff8e\uff8f\uff90\uff91\uff92\uff93\uff94\uff6c\uff95\uff6d\uff96\uff6e\uff97\uff98\uff99\uff9a\uff9b\uff9c\uff66\uff9d\uff70\uff65",
         | 
| 3 | 
            +
            fc="\u30a2\u30a4\u30a6\u30a8\u30aa\u30a1\u30a3\u30a5\u30a7\u30a9\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c3\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e3\u30e6\u30e5\u30e8\u30e7\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f2\u30f3\u30fc\u30fb";
         | 
| 4 | 
            +
            function gc(a,b,c,d){Yb||hc();var e=F(b).join(""),f=Yb[d];e=e.replace(/all/,"").replace(/(\w)lphabet|umbers?|atakana|paces?|unctuation/g,"$1");return a.replace(c,function(h){return f[h]&&(!e||e.has(f[h].type))?f[h].to:h})}
         | 
| 5 | 
            +
            function hc(){var a;Yb={zenkaku:{},hankaku:{}};Xb.forEach(function(b){oa(b.start,b.end,function(c){$(b.type,t.fromCharCode(c),t.fromCharCode(c+b.shift))})});fc.each(function(b,c){a=ec.charAt(c);$("k",a,b);b.match(cc)&&$("k",a+"\uff9e",b.shift(1));b.match(dc)&&$("k",a+"\uff9f",b.shift(2))});bc.each(function(b,c){$("p",ac.charAt(c),b)});$("k","\uff73\uff9e","\u30f4");$("k","\uff66\uff9e","\u30fa");$("s"," ","\u3000")}function $(a,b,c){Yb.zenkaku[b]={type:a,to:c};Yb.hankaku[c]={type:a,to:b}}
         | 
| 6 | 
            +
            function ic(){Tb={};G(Wb,function(a,b){b.split("").forEach(function(c){Tb[c]=a});Vb+=b});Vb=r("["+Vb+"]","g")}
         | 
| 7 | 
            +
            Wb={A:"A\u24b6\uff21\u00c0\u00c1\u00c2\u1ea6\u1ea4\u1eaa\u1ea8\u00c3\u0100\u0102\u1eb0\u1eae\u1eb4\u1eb2\u0226\u01e0\u00c4\u01de\u1ea2\u00c5\u01fa\u01cd\u0200\u0202\u1ea0\u1eac\u1eb6\u1e00\u0104\u023a\u2c6f",B:"B\u24b7\uff22\u1e02\u1e04\u1e06\u0243\u0182\u0181",C:"C\u24b8\uff23\u0106\u0108\u010a\u010c\u00c7\u1e08\u0187\u023b\ua73e",D:"D\u24b9\uff24\u1e0a\u010e\u1e0c\u1e10\u1e12\u1e0e\u0110\u018b\u018a\u0189\ua779",E:"E\u24ba\uff25\u00c8\u00c9\u00ca\u1ec0\u1ebe\u1ec4\u1ec2\u1ebc\u0112\u1e14\u1e16\u0114\u0116\u00cb\u1eba\u011a\u0204\u0206\u1eb8\u1ec6\u0228\u1e1c\u0118\u1e18\u1e1a\u0190\u018e",
         | 
| 8 8 | 
             
            F:"F\u24bb\uff26\u1e1e\u0191\ua77b",G:"G\u24bc\uff27\u01f4\u011c\u1e20\u011e\u0120\u01e6\u0122\u01e4\u0193\ua7a0\ua77d\ua77e",H:"H\u24bd\uff28\u0124\u1e22\u1e26\u021e\u1e24\u1e28\u1e2a\u0126\u2c67\u2c75\ua78d",I:"I\u24be\uff29\u00cc\u00cd\u00ce\u0128\u012a\u012c\u0130\u00cf\u1e2e\u1ec8\u01cf\u0208\u020a\u1eca\u012e\u1e2c\u0197",J:"J\u24bf\uff2a\u0134\u0248",K:"K\u24c0\uff2b\u1e30\u01e8\u1e32\u0136\u1e34\u0198\u2c69\ua740\ua742\ua744\ua7a2",L:"L\u24c1\uff2c\u013f\u0139\u013d\u1e36\u1e38\u013b\u1e3c\u1e3a\u0141\u023d\u2c62\u2c60\ua748\ua746\ua780",
         | 
| 9 9 | 
             
            M:"M\u24c2\uff2d\u1e3e\u1e40\u1e42\u2c6e\u019c",N:"N\u24c3\uff2e\u01f8\u0143\u00d1\u1e44\u0147\u1e46\u0145\u1e4a\u1e48\u0220\u019d\ua790\ua7a4",O:"O\u24c4\uff2f\u00d2\u00d3\u00d4\u1ed2\u1ed0\u1ed6\u1ed4\u00d5\u1e4c\u022c\u1e4e\u014c\u1e50\u1e52\u014e\u022e\u0230\u00d6\u022a\u1ece\u0150\u01d1\u020c\u020e\u01a0\u1edc\u1eda\u1ee0\u1ede\u1ee2\u1ecc\u1ed8\u01ea\u01ec\u00d8\u01fe\u0186\u019f\ua74a\ua74c",P:"P\u24c5\uff30\u1e54\u1e56\u01a4\u2c63\ua750\ua752\ua754",Q:"Q\u24c6\uff31\ua756\ua758\u024a",R:"R\u24c7\uff32\u0154\u1e58\u0158\u0210\u0212\u1e5a\u1e5c\u0156\u1e5e\u024c\u2c64\ua75a\ua7a6\ua782",
         | 
| 10 10 | 
             
            S:"S\u24c8\uff33\u1e9e\u015a\u1e64\u015c\u1e60\u0160\u1e66\u1e62\u1e68\u0218\u015e\u2c7e\ua7a8\ua784",T:"T\u24c9\uff34\u1e6a\u0164\u1e6c\u021a\u0162\u1e70\u1e6e\u0166\u01ac\u01ae\u023e\ua786",U:"U\u24ca\uff35\u00d9\u00da\u00db\u0168\u1e78\u016a\u1e7a\u016c\u00dc\u01db\u01d7\u01d5\u01d9\u1ee6\u016e\u0170\u01d3\u0214\u0216\u01af\u1eea\u1ee8\u1eee\u1eec\u1ef0\u1ee4\u1e72\u0172\u1e76\u1e74\u0244",V:"V\u24cb\uff36\u1e7c\u1e7e\u01b2\ua75e\u0245",W:"W\u24cc\uff37\u1e80\u1e82\u0174\u1e86\u1e84\u1e88\u2c72",
         | 
| @@ -14,6 +14,6 @@ j:"j\u24d9\uff4a\u0135\u01f0\u0249",k:"k\u24da\uff4b\u1e31\u01e9\u1e33\u0137\u1e | |
| 14 14 | 
             
            p:"p\u24df\uff50\u1e55\u1e57\u01a5\u1d7d\ua751\ua753\ua755",q:"q\u24e0\uff51\u024b\ua757\ua759",r:"r\u24e1\uff52\u0155\u1e59\u0159\u0211\u0213\u1e5b\u1e5d\u0157\u1e5f\u024d\u027d\ua75b\ua7a7\ua783",s:"s\u24e2\uff53\u015b\u1e65\u015d\u1e61\u0161\u1e67\u1e63\u1e69\u0219\u015f\u023f\ua7a9\ua785\u1e9b",t:"t\u24e3\uff54\u1e6b\u1e97\u0165\u1e6d\u021b\u0163\u1e71\u1e6f\u0167\u01ad\u0288\u2c66\ua787",u:"u\u24e4\uff55\u00f9\u00fa\u00fb\u0169\u1e79\u016b\u1e7b\u016d\u00fc\u01dc\u01d8\u01d6\u01da\u1ee7\u016f\u0171\u01d4\u0215\u0217\u01b0\u1eeb\u1ee9\u1eef\u1eed\u1ef1\u1ee5\u1e73\u0173\u1e77\u1e75\u0289",
         | 
| 15 15 | 
             
            v:"v\u24e5\uff56\u1e7d\u1e7f\u028b\ua75f\u028c",w:"w\u24e6\uff57\u1e81\u1e83\u0175\u1e87\u1e85\u1e98\u1e89\u2c73",x:"x\u24e7\uff58\u1e8b\u1e8d",y:"y\u24e8\uff59\u1ef3\u00fd\u0177\u1ef9\u0233\u1e8f\u00ff\u1ef7\u1e99\u1ef5\u01b4\u024f\u1eff",z:"z\u24e9\uff5a\u017a\u1e91\u017c\u017e\u1e93\u1e95\u01b6\u0225\u0240\u2c6c\ua763",AA:"\ua732",AE:"\u00c6\u01fc\u01e2",AO:"\ua734",AU:"\ua736",AV:"\ua738\ua73a",AY:"\ua73c",DZ:"\u01f1\u01c4",Dz:"\u01f2\u01c5",LJ:"\u01c7",Lj:"\u01c8",NJ:"\u01ca",Nj:"\u01cb",OI:"\u01a2",
         | 
| 16 16 | 
             
            OO:"\ua74e",OU:"\u0222",TZ:"\ua728",VY:"\ua760",aa:"\ua733",ae:"\u00e6\u01fd\u01e3",ao:"\ua735",au:"\ua737",av:"\ua739\ua73b",ay:"\ua73d",dz:"\u01f3\u01c6",hv:"\u0195",lj:"\u01c9",nj:"\u01cc",oi:"\u01a3",ou:"\u0223",oo:"\ua74f",ss:"\u00df",tz:"\ua729",vy:"\ua761"};
         | 
| 17 | 
            -
            E(t,k,n,{normalize:function(){ | 
| 17 | 
            +
            E(t,k,n,{normalize:function(){Tb||ic();return this.replace(Vb,function(a){return Tb[a]})},hankaku:function(){return gc(this,arguments,$b,"hankaku")},zenkaku:function(){return gc(this,arguments,Zb,"zenkaku")},hiragana:function(a){var b=this;if(a!==n)b=b.zenkaku("k");return b.replace(/[\u30A1-\u30F6]/g,function(c){return c.shift(-96)})},katakana:function(){return this.replace(/[\u3041-\u3096]/g,function(a){return a.shift(96)})}});
         | 
| 18 18 | 
             
            [{ca:["Arabic"],source:"\u0600-\u06ff"},{ca:["Cyrillic"],source:"\u0400-\u04ff"},{ca:["Devanagari"],source:"\u0900-\u097f"},{ca:["Greek"],source:"\u0370-\u03ff"},{ca:["Hangul"],source:"\uac00-\ud7af\u1100-\u11ff"},{ca:["Han","Kanji"],source:"\u4e00-\u9fff\uf900-\ufaff"},{ca:["Hebrew"],source:"\u0590-\u05ff"},{ca:["Hiragana"],source:"\u3040-\u309f\u30fb-\u30fc"},{ca:["Kana"],source:"\u3040-\u30ff\uff61-\uff9f"},{ca:["Katakana"],source:"\u30a0-\u30ff\uff61-\uff9f"},{ca:["Latin"],source:"\u0001-\u0080-\u00ff\u0100-\u017f\u0180-\u024f"},
         | 
| 19 | 
            -
            {ca:["Thai"],source:"\u0e00-\u0e7f"}].forEach(function(a){var b=r("^["+a.source+"\\s]+$"),c=r("["+a.source+"]");a.ca.forEach(function(d){ | 
| 19 | 
            +
            {ca:["Thai"],source:"\u0e00-\u0e7f"}].forEach(function(a){var b=r("^["+a.source+"\\s]+$"),c=r("["+a.source+"]");a.ca.forEach(function(d){ha(t.prototype,"is"+d,function(){return b.test(this.trim())});ha(t.prototype,"has"+d,function(){return c.test(this)})})});
         | 
| @@ -1,5 +1,5 @@ | |
| 1 | 
            -
            function  | 
| 2 | 
            -
            E(u,n,n,{random:function(a,b){var c,d;if(arguments.length==1){b=a;a=0}c= | 
| 3 | 
            -
            E(u,k,n,{log:function(a){return  | 
| 4 | 
            -
             | 
| 5 | 
            -
            a,b,c)},ordinalize:function(){var a=this.abs();a=parseInt(a.toString().slice(-2));return this+ | 
| 1 | 
            +
            function Bb(a,b,c,d,e,f){var h=a.toFixed(20),i=h.search(/\./);h=h.search(/[1-9]/);i=i-h;if(i>0)i-=1;e=w.max(w.min((i/3).floor(),e===n?c.length:e),-d);d=c.charAt(e+d-1);if(i<-9){e=-3;b=i.abs()-9;d=c.slice(0,1)}return(a/(f?(2).pow(10*e):(10).pow(e*3))).round(b||0).format()+d.trim()}
         | 
| 2 | 
            +
            E(u,n,n,{random:function(a,b){var c,d;if(arguments.length==1){b=a;a=0}c=w.min(a||0,K(b)?1:b);d=w.max(a||0,K(b)?1:b)+1;return pa(w.random()*(d-c)+c)}});
         | 
| 3 | 
            +
            E(u,k,n,{log:function(a){return w.log(this)/(a?w.log(a):1)},abbr:function(a){return Bb(this,a,"kmbt",0,4)},metric:function(a,b){return Bb(this,a,"n\u03bcm kMGTPE",4,K(b)?1:b)},bytes:function(a,b){return Bb(this,a,"kMGTPE",0,K(b)?4:b,k)+"B"},isInteger:function(){return this%1==0},isOdd:function(){return!isNaN(this)&&!this.isMultipleOf(2)},isEven:function(){return this.isMultipleOf(2)},isMultipleOf:function(a){return this%a===0},format:function(a,b,c){var d,e,f,h="";if(K(b))b=",";if(K(c))c=".";d=(B(a)?
         | 
| 4 | 
            +
            N(this,a||0).toFixed(w.max(a,0)):this.toString()).replace(/^-/,"").split(".");e=d[0];f=d[1];for(d=e.length;d>0;d-=3){if(d<e.length)h=b+h;h=e.slice(w.max(0,d-3),d)+h}if(f)h+=c+qa((a||0)-f.length,"0")+f;return(this<0?"-":"")+h},hex:function(a){return this.pad(a||1,n,16)},upto:function(a,b,c){return oa(this,a,b,c||1)},downto:function(a,b,c){return oa(this,a,b,-(c||1))},times:function(a){if(a)for(var b=0;b<this;b++)a.call(this,b);return this.toNumber()},chr:function(){return t.fromCharCode(this)},pad:function(a,
         | 
| 5 | 
            +
            b,c){return O(this,a,b,c)},ordinalize:function(){var a=this.abs();a=parseInt(a.toString().slice(-2));return this+ra(a)},toNumber:function(){return parseFloat(this,10)}});H(u,k,n,"round,floor,ceil",function(a,b){a[b]=function(c){return N(this,c,b)}});H(u,k,n,"abs,pow,sin,asin,cos,acos,tan,atan,exp,pow,sqrt",function(a,b){a[b]=function(c,d){return w[b](this,c,d)}});
         | 
| @@ -1,6 +1,6 @@ | |
| 1 | 
            -
            var  | 
| 2 | 
            -
            function  | 
| 3 | 
            -
            E(p,n,function(a,b){return  | 
| 4 | 
            -
            E(p,n,n,{isObject:function(a){return  | 
| 5 | 
            -
             | 
| 6 | 
            -
            a);return a},has:function(a,b){return la(a,b)}});H(p,n,n,x,function(a,b){var c="is"+b; | 
| 1 | 
            +
            var Cb="isObject,isNaN".split(","),Db="keys,values,each,merge,clone,equal,watch,tap,has".split(",");
         | 
| 2 | 
            +
            function Eb(a,b,c,d){var e=/^(.+?)(\[.*\])$/,f,h,i;if(d!==n&&(h=b.match(e))){i=h[1];b=h[2].replace(/^\[|\]$/g,"").split("][");b.forEach(function(j){f=!j||j.match(/^\d+$/);if(!i&&da(a))i=a.length;a[i]||(a[i]=f?[]:{});a=a[i];i=j});if(!i&&f)i=a.length.toString();Eb(a,i,c)}else a[b]=c.match(/^[+-]?\d+(\.\d+)?$/)?parseFloat(c):c==="true"?k:c==="false"?n:c}
         | 
| 3 | 
            +
            E(p,n,k,{watch:function(a,b,c){if(ca){var d=a[b];p.defineProperty(a,b,{enumerable:k,configurable:k,get:function(){return d},set:function(e){d=c.call(a,b,d,e)}})}}});E(p,n,function(a,b){return A(b)},{keys:function(a,b){var c=p.keys(a);c.forEach(function(d){b.call(a,d,a[d])});return c}});
         | 
| 4 | 
            +
            E(p,n,n,{isObject:function(a){return M(a)},isNaN:function(a){return B(a)&&a.valueOf()!==a.valueOf()},equal:function(a,b){return va(a)&&va(b)?ua(a)===ua(b):a===b},extended:function(a){return new na(a)},merge:function(a,b,c,d){var e,f;if(a&&typeof b!="string")for(e in b)if(la(b,e)&&a){f=b[e];if(I(a[e])){if(d===n)continue;if(A(d))f=d.call(b,e,a[e],b[e])}if(c===k&&f&&ka(f))if(fa(f))f=new s(f.getTime());else if(D(f))f=new r(f.source,ta(f));else{a[e]||(a[e]=q.isArray(f)?[]:{});p.merge(a[e],b[e],c,d);continue}a[e]=
         | 
| 5 | 
            +
            f}return a},values:function(a,b){var c=[];G(a,function(d,e){c.push(e);b&&b.call(a,e)});return c},clone:function(a,b){if(!ka(a))return a;if(q.isArray(a))return a.concat();var c=a instanceof na?new na:{};return p.merge(c,a,b)},fromQueryString:function(a,b){var c=p.extended();a=a&&a.toString?a.toString():"";a.replace(/^.*?\?/,"").split("&").forEach(function(d){d=d.split("=");d.length===2&&Eb(c,d[0],decodeURIComponent(d[1]),b)});return c},tap:function(a,b){var c=b;A(b)||(c=function(){b&&a[b]()});c.call(a,
         | 
| 6 | 
            +
            a);return a},has:function(a,b){return la(a,b)}});H(p,n,n,x,function(a,b){var c="is"+b;Cb.push(c);a[c]=function(d){return p.prototype.toString.call(d)==="[object "+b+"]"}});(function(){E(p,n,function(){return arguments.length===0},{extend:function(){xa(Cb.concat(Db),p)}})})();xa(Db,na);
         | 
| @@ -1,2 +1,2 @@ | |
| 1 1 | 
             
            E(r,n,n,{escape:function(a){return Q(a)}});
         | 
| 2 | 
            -
            E(r,k,n,{getFlags:function(){return  | 
| 2 | 
            +
            E(r,k,n,{getFlags:function(){return ta(this)},setFlags:function(a){return r(this.source,a)},addFlag:function(a){return this.setFlags(ta(this,a))},removeFlag:function(a){return this.setFlags(ta(this).replace(a,""))}});
         | 
| @@ -1,12 +1,12 @@ | |
| 1 | 
            -
            var  | 
| 2 | 
            -
            E(t,k,n,{escapeRegExp:function(){return Q(this)},escapeURL:function(a){return a?encodeURIComponent(this):encodeURI(this)},unescapeURL:function(a){return a?decodeURI(this):decodeURIComponent(this)},escapeHTML:function(){return this.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},unescapeHTML:function(){return this.replace(/</g,"<").replace(/>/g,">").replace(/& | 
| 3 | 
            -
            d;if( | 
| 4 | 
            -
            a)},lines:function(a){return this.trim().each(/^.*$/gm,a)},paragraphs:function(a){var b=this.trim().split(/[\r\n]{2,}/);return b=b.map(function(c){if(a)var d=a.call(c);return d?d:c})},startsWith:function(a,b){if(K(b))b=k;var c=D(a)?a.source.replace("^",""):Q(a);return r("^"+c,b?"":"i").test(this)},endsWith:function(a,b){if(K(b))b=k;var c=D(a)?a.source.replace("$",""):Q(a); | 
| 5 | 
            -
            a:Q(a))!==-1},add:function(a,b){b=K(b)?this.length:b;return this.slice(0,b)+a+this.slice(b)},remove:function(a){return this.replace(a,"")},reverse:function(){return this.split("").reverse().join("")},compact:function(){return this.trim().replace(/([\r\n\s\u3000])+/g,function(a,b){return b==="\u3000"?b:" "})},at:function(){return  | 
| 6 | 
            -
            "-")},underscore:function(){return this.replace(/[-\s]+/g,"_").replace(t.Inflector&&t.Inflector.acronymRegExp,function(a,b){return(b>0?"_":"")+a.toLowerCase()}).replace(/([A-Z\d]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").toLowerCase()},camelize:function(a){return this.underscore().replace(/(^|_)([^_]+)/g,function(b,c,d,e){b=d;b=(c=t.Inflector)&&c.acronyms[b]; | 
| 7 | 
            -
            " ")},stripTags:function(){var a=this;F(arguments.length>0?arguments:[""],function(b){a=a.replace(r("</?"+Q(b)+"[^<>]*>","gi"),"")});return a},removeTags:function(){var a=this;F(arguments.length>0?arguments:["\\S+"],function(b){b=r("<("+b+")[^<>]*(?:\\/>|>.*?<\\/\\1>)","gi");a=a.replace(b,"")});return a},truncate:function(a,b,c,d){var e="", | 
| 8 | 
            -
            h=r("^"+j+i);break;case "middle":a= | 
| 9 | 
            -
            a | 
| 10 | 
            -
            c){return!!(a=a[c])});return a}});E(t,k,n,{insert:t.prototype.add});
         | 
| 11 | 
            -
            (function(a){if(this.btoa){ | 
| 12 | 
            -
            do{e=a.indexOf(c.charAt( | 
| 1 | 
            +
            var Fb,Gb;
         | 
| 2 | 
            +
            E(t,k,n,{escapeRegExp:function(){return Q(this)},escapeURL:function(a){return a?encodeURIComponent(this):encodeURI(this)},unescapeURL:function(a){return a?decodeURI(this):decodeURIComponent(this)},escapeHTML:function(){return this.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},unescapeHTML:function(){return this.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,
         | 
| 3 | 
            +
            "'").replace(///g,"/")},encodeBase64:function(){return Fb(this)},decodeBase64:function(){return Gb(this)},each:function(a,b){var c,d;if(A(a)){b=a;a=/[\s\S]/g}else if(a)if(C(a))a=r(Q(a),"gi");else{if(D(a))a=r(a.source,ta(a,"g"))}else a=/[\s\S]/g;c=this.match(a)||[];if(b)for(d=0;d<c.length;d++)c[d]=b.call(this,c[d],d,c)||c[d];return c},shift:function(a){var b="";a=a||0;this.codes(function(c){b+=t.fromCharCode(c+a)});return b},codes:function(a){for(var b=[],c=0;c<this.length;c++){var d=this.charCodeAt(c);
         | 
| 4 | 
            +
            b.push(d);a&&a.call(this,d,c)}return b},chars:function(a){return this.each(a)},words:function(a){return this.trim().each(/\S+/g,a)},lines:function(a){return this.trim().each(/^.*$/gm,a)},paragraphs:function(a){var b=this.trim().split(/[\r\n]{2,}/);return b=b.map(function(c){if(a)var d=a.call(c);return d?d:c})},startsWith:function(a,b){if(K(b))b=k;var c=D(a)?a.source.replace("^",""):Q(a);return r("^"+c,b?"":"i").test(this)},endsWith:function(a,b){if(K(b))b=k;var c=D(a)?a.source.replace("$",""):Q(a);
         | 
| 5 | 
            +
            return r(c+"$",b?"":"i").test(this)},isBlank:function(){return this.trim().length===0},has:function(a){return this.search(D(a)?a:Q(a))!==-1},add:function(a,b){b=K(b)?this.length:b;return this.slice(0,b)+a+this.slice(b)},remove:function(a){return this.replace(a,"")},reverse:function(){return this.split("").reverse().join("")},compact:function(){return this.trim().replace(/([\r\n\s\u3000])+/g,function(a,b){return b==="\u3000"?b:" "})},at:function(){return wa(this,arguments,k)},from:function(a){return this.slice(a)},
         | 
| 6 | 
            +
            to:function(a){if(K(a))a=this.length;return this.slice(0,a)},dasherize:function(){return this.underscore().replace(/_/g,"-")},underscore:function(){return this.replace(/[-\s]+/g,"_").replace(t.Inflector&&t.Inflector.acronymRegExp,function(a,b){return(b>0?"_":"")+a.toLowerCase()}).replace(/([A-Z\d]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").toLowerCase()},camelize:function(a){return this.underscore().replace(/(^|_)([^_]+)/g,function(b,c,d,e){b=d;b=(c=t.Inflector)&&c.acronyms[b];
         | 
| 7 | 
            +
            b=C(b)?b:void 0;e=a!==n||e>0;if(b)return e?b:b.toLowerCase();return e?d.capitalize():d})},spacify:function(){return this.underscore().replace(/_/g," ")},stripTags:function(){var a=this;F(arguments.length>0?arguments:[""],function(b){a=a.replace(r("</?"+Q(b)+"[^<>]*>","gi"),"")});return a},removeTags:function(){var a=this;F(arguments.length>0?arguments:["\\S+"],function(b){b=r("<("+b+")[^<>]*(?:\\/>|>.*?<\\/\\1>)","gi");a=a.replace(b,"")});return a},truncate:function(a,b,c,d){var e="",f="",h=this.toString(),
         | 
| 8 | 
            +
            i="["+sa()+"]+",j="[^"+sa()+"]*",g=r(i+j+"$");d=K(d)?"...":t(d);if(h.length<=a)return h;switch(c){case "left":a=h.length-a;e=d;h=h.slice(a);g=r("^"+j+i);break;case "middle":a=pa(a/2);f=d+h.slice(h.length-a).trimLeft();h=h.slice(0,a);break;default:a=a;f=d;h=h.slice(0,a)}if(b===n&&this.slice(a,a+1).match(/\S/))h=h.remove(g);return e+h+f},pad:function(a,b){return qa(b,a)+this+qa(b,a)},padLeft:function(a,b){return qa(b,a)+this},padRight:function(a,b){return this+qa(b,a)},first:function(a){if(K(a))a=1;
         | 
| 9 | 
            +
            return this.substr(0,a)},last:function(a){if(K(a))a=1;return this.substr(this.length-a<0?0:this.length-a)},repeat:function(a){var b="",c=this;if(!B(a)||a<1)return"";for(;a;){if(a&1)b+=c;if(a>>=1)c+=c}return b},toNumber:function(a){var b=this.replace(/,/g,"");return b.match(/\./)?parseFloat(b):parseInt(b,a||10)},capitalize:function(a){var b;return this.toLowerCase().replace(a?/[\s\S]/g:/^\S/,function(c){var d=c.toUpperCase(),e;e=b?c:d;b=d!==c;return e})},assign:function(){var a={};F(arguments,function(b,
         | 
| 10 | 
            +
            c){if(M(b))ma(a,b);else a[c+1]=b});return this.replace(/\{([^{]+?)\}/g,function(b,c){return la(a,c)?a[c]:b})},namespace:function(a){a=a||ba;G(this.split("."),function(b,c){return!!(a=a[c])});return a}});E(t,k,n,{insert:t.prototype.add});
         | 
| 11 | 
            +
            (function(a){if(this.btoa){Fb=this.btoa;Gb=this.atob}else{var b=/[^A-Za-z0-9\+\/\=]/g;Fb=function(c){var d="",e,f,h,i,j,g,m=0;do{e=c.charCodeAt(m++);f=c.charCodeAt(m++);h=c.charCodeAt(m++);i=e>>2;e=(e&3)<<4|f>>4;j=(f&15)<<2|h>>6;g=h&63;if(isNaN(f))j=g=64;else if(isNaN(h))g=64;d=d+a.charAt(i)+a.charAt(e)+a.charAt(j)+a.charAt(g)}while(m<c.length);return d};Gb=function(c){var d="",e,f,h,i,j,g=0;if(c.match(b))throw Error("String contains invalid base64 characters");c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");
         | 
| 12 | 
            +
            do{e=a.indexOf(c.charAt(g++));f=a.indexOf(c.charAt(g++));i=a.indexOf(c.charAt(g++));j=a.indexOf(c.charAt(g++));e=e<<2|f>>4;f=(f&15)<<4|i>>2;h=(i&3)<<6|j;d+=t.fromCharCode(e);if(i!=64)d+=t.fromCharCode(f);if(j!=64)d+=t.fromCharCode(h)}while(g<c.length);return d}}})("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=");
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            /*
         | 
| 2 | 
            -
             *  Sugar Library v1.3. | 
| 2 | 
            +
             *  Sugar Library v1.3.6
         | 
| 3 3 | 
             
             *
         | 
| 4 4 | 
             
             *  Freely distributable and licensed under the MIT-style license.
         | 
| 5 5 | 
             
             *  Copyright (c) 2012 Andrew Plummer
         | 
| @@ -128,6 +128,12 @@ | |
| 128 128 | 
             
                return result;
         | 
| 129 129 | 
             
              }
         | 
| 130 130 |  | 
| 131 | 
            +
              function checkCallback(fn) {
         | 
| 132 | 
            +
                if(!fn || !fn.call) {
         | 
| 133 | 
            +
                  throw new TypeError('Callback is not callable');
         | 
| 134 | 
            +
                }
         | 
| 135 | 
            +
              }
         | 
| 136 | 
            +
             | 
| 131 137 |  | 
| 132 138 | 
             
              // General helpers
         | 
| 133 139 |  | 
| @@ -162,7 +168,7 @@ | |
| 162 168 | 
             
                var key;
         | 
| 163 169 | 
             
                for(key in obj) {
         | 
| 164 170 | 
             
                  if(!hasOwnProperty(obj, key)) continue;
         | 
| 165 | 
            -
                  if(fn.call(obj, key, obj[key]) === false) break;
         | 
| 171 | 
            +
                  if(fn.call(obj, key, obj[key], obj) === false) break;
         | 
| 166 172 | 
             
                }
         | 
| 167 173 | 
             
              }
         | 
| 168 174 |  | 
| @@ -447,12 +453,6 @@ | |
| 447 453 | 
             
                }
         | 
| 448 454 | 
             
              }
         | 
| 449 455 |  | 
| 450 | 
            -
              function checkCallback(fn) {
         | 
| 451 | 
            -
                if(!fn || !fn.call) {
         | 
| 452 | 
            -
                  throw new TypeError('Callback is not callable');
         | 
| 453 | 
            -
                }
         | 
| 454 | 
            -
              }
         | 
| 455 | 
            -
             | 
| 456 456 | 
             
              function checkFirstArgumentExists(args) {
         | 
| 457 457 | 
             
                if(args.length === 0) {
         | 
| 458 458 | 
             
                  throw new TypeError('First argument must be defined');
         | 
| @@ -860,7 +860,7 @@ | |
| 860 860 | 
             
                } else if(isRegExp(match) && isString(el)) {
         | 
| 861 861 | 
             
                  // Match against a regexp
         | 
| 862 862 | 
             
                  return regexp(match).test(el);
         | 
| 863 | 
            -
                } else if(isFunction(match) | 
| 863 | 
            +
                } else if(isFunction(match)) {
         | 
| 864 864 | 
             
                  // Match against a filtering function
         | 
| 865 865 | 
             
                  return match.apply(scope, params);
         | 
| 866 866 | 
             
                } else if(isObject(match) && isObjectPrimitive(el)) {
         | 
| @@ -1161,10 +1161,12 @@ | |
| 1161 1161 | 
             
                  var result = [], tmp;
         | 
| 1162 1162 | 
             
                  multiArgs(arguments, function(a) {
         | 
| 1163 1163 | 
             
                    if(isObjectPrimitive(a)) {
         | 
| 1164 | 
            -
                       | 
| 1165 | 
            -
             | 
| 1166 | 
            -
                         | 
| 1167 | 
            -
             | 
| 1164 | 
            +
                      try {
         | 
| 1165 | 
            +
                        tmp = array.prototype.slice.call(a, 0);
         | 
| 1166 | 
            +
                        if(tmp.length > 0) {
         | 
| 1167 | 
            +
                          a = tmp;
         | 
| 1168 | 
            +
                        }
         | 
| 1169 | 
            +
                      } catch(e) {}
         | 
| 1168 1170 | 
             
                    }
         | 
| 1169 1171 | 
             
                    result = result.concat(a);
         | 
| 1170 1172 | 
             
                  });
         | 
| @@ -1749,15 +1751,8 @@ | |
| 1749 1751 | 
             
                 *
         | 
| 1750 1752 | 
             
                 ***/
         | 
| 1751 1753 | 
             
                'sample': function(num) {
         | 
| 1752 | 
            -
                  var  | 
| 1753 | 
            -
                   | 
| 1754 | 
            -
                  while(result.length < num) {
         | 
| 1755 | 
            -
                    index = floor(math.random() * (arr.length - 1));
         | 
| 1756 | 
            -
                    result.push(arr[index]);
         | 
| 1757 | 
            -
                    arr.removeAt(index);
         | 
| 1758 | 
            -
                    if(arr.length == 0) break;
         | 
| 1759 | 
            -
                  }
         | 
| 1760 | 
            -
                  return arguments.length > 0 ? result : result[0];
         | 
| 1754 | 
            +
                  var arr = this.randomize();
         | 
| 1755 | 
            +
                  return arguments.length > 0 ? arr.slice(0, num) : arr[0];
         | 
| 1761 1756 | 
             
                },
         | 
| 1762 1757 |  | 
| 1763 1758 | 
             
                /***
         | 
| @@ -1946,6 +1941,7 @@ | |
| 1946 1941 | 
             
               * @extra In cases where a callback is used, instead of %element, index%, the callback will instead be passed %key, value%. Enumerable methods are also available to extended objects as instance methods.
         | 
| 1947 1942 | 
             
               *
         | 
| 1948 1943 | 
             
               * @set
         | 
| 1944 | 
            +
               *   each
         | 
| 1949 1945 | 
             
               *   map
         | 
| 1950 1946 | 
             
               *   any
         | 
| 1951 1947 | 
             
               *   all
         | 
| @@ -1975,7 +1971,8 @@ | |
| 1975 1971 | 
             
                extendSimilar(object, false, false, names, function(methods, name) {
         | 
| 1976 1972 | 
             
                  methods[name] = function(obj, arg1, arg2) {
         | 
| 1977 1973 | 
             
                    var result;
         | 
| 1978 | 
            -
                     | 
| 1974 | 
            +
                    var x =  keysWithCoercion(obj);
         | 
| 1975 | 
            +
                    result = array.prototype[name].call(x, function(key) {
         | 
| 1979 1976 | 
             
                      if(mapping) {
         | 
| 1980 1977 | 
             
                        return transformArgument(obj[key], arg1, obj, [key, obj[key], obj]);
         | 
| 1981 1978 | 
             
                      } else {
         | 
| @@ -2012,6 +2009,12 @@ | |
| 2012 2009 | 
             
                  return values.reduce.apply(values, multiArgs(arguments).slice(1));
         | 
| 2013 2010 | 
             
                },
         | 
| 2014 2011 |  | 
| 2012 | 
            +
                'each': function(obj, fn) {
         | 
| 2013 | 
            +
                  checkCallback(fn);
         | 
| 2014 | 
            +
                  iterateOverObject(obj, fn);
         | 
| 2015 | 
            +
                  return obj;
         | 
| 2016 | 
            +
                },
         | 
| 2017 | 
            +
             | 
| 2015 2018 | 
             
                /***
         | 
| 2016 2019 | 
             
                 * @method size(<obj>)
         | 
| 2017 2020 | 
             
                 * @returns Number
         | 
| @@ -2030,7 +2033,7 @@ | |
| 2030 2033 |  | 
| 2031 2034 | 
             
              buildEnhancements();
         | 
| 2032 2035 | 
             
              buildAlphanumericSort();
         | 
| 2033 | 
            -
              buildEnumerableMethods(' | 
| 2036 | 
            +
              buildEnumerableMethods('any,all,none,count,find,findAll,isEmpty');
         | 
| 2034 2037 | 
             
              buildEnumerableMethods('sum,average,min,max,least,most', true);
         | 
| 2035 2038 | 
             
              buildObjectInstanceMethods('map,reduce,size', Hash);
         | 
| 2036 2039 |  | 
| @@ -2046,8 +2049,10 @@ | |
| 2046 2049 | 
             
              var CurrentLocalization;
         | 
| 2047 2050 |  | 
| 2048 2051 | 
             
              var TimeFormat = ['ampm','hour','minute','second','ampm','utc','offset_sign','offset_hours','offset_minutes','ampm']
         | 
| 2049 | 
            -
              var  | 
| 2050 | 
            -
              var  | 
| 2052 | 
            +
              var DecimalReg = '(?:[,.]\\d+)?';
         | 
| 2053 | 
            +
              var HoursReg   = '\\d{1,2}' + DecimalReg;
         | 
| 2054 | 
            +
              var SixtyReg   = '[0-5]\\d' + DecimalReg;
         | 
| 2055 | 
            +
              var RequiredTime = '({t})?\\s*('+HoursReg+')(?:{h}('+SixtyReg+')?{m}(?::?('+SixtyReg+'){s})?\\s*(?:({t})|(Z)|(?:([+-])(\\d{2,2})(?::?(\\d{2,2}))?)?)?|\\s*({t}))';
         | 
| 2051 2056 |  | 
| 2052 2057 | 
             
              var KanjiDigits     = '〇一二三四五六七八九十百千万';
         | 
| 2053 2058 | 
             
              var FullWidthDigits = '0123456789';
         | 
| @@ -2447,6 +2452,10 @@ | |
| 2447 2452 | 
             
                  return arrayToAlternates(arr);
         | 
| 2448 2453 | 
             
                }
         | 
| 2449 2454 |  | 
| 2455 | 
            +
                function setDefault(name, value) {
         | 
| 2456 | 
            +
                  loc[name] = loc[name] || value;
         | 
| 2457 | 
            +
                }
         | 
| 2458 | 
            +
             | 
| 2450 2459 | 
             
                function setModifiers() {
         | 
| 2451 2460 | 
             
                  var arr = [];
         | 
| 2452 2461 | 
             
                  loc.modifiersByName = {};
         | 
| @@ -2475,10 +2484,10 @@ | |
| 2475 2484 | 
             
                setArray('units', false, 8);
         | 
| 2476 2485 | 
             
                setArray('numbers', false, 10);
         | 
| 2477 2486 |  | 
| 2478 | 
            -
                 | 
| 2479 | 
            -
                 | 
| 2480 | 
            -
                 | 
| 2481 | 
            -
                 | 
| 2487 | 
            +
                setDefault('code', localeCode);
         | 
| 2488 | 
            +
                setDefault('date', getDigit(1,2, loc['digitDate']));
         | 
| 2489 | 
            +
                setDefault('year', "'\\d{2}|" + getDigit(4,4));
         | 
| 2490 | 
            +
                setDefault('num', getNum());
         | 
| 2482 2491 |  | 
| 2483 2492 | 
             
                setModifiers();
         | 
| 2484 2493 |  | 
| @@ -2573,8 +2582,10 @@ | |
| 2573 2582 | 
             
                arr.forEach(function(key, i) {
         | 
| 2574 2583 | 
             
                  value = match[i + 1];
         | 
| 2575 2584 | 
             
                  if(isUndefined(value) || value === '') return;
         | 
| 2576 | 
            -
                  if(key === 'year')  | 
| 2577 | 
            -
             | 
| 2585 | 
            +
                  if(key === 'year') {
         | 
| 2586 | 
            +
                    obj.yearAsString = value.replace(/'/, '');
         | 
| 2587 | 
            +
                  }
         | 
| 2588 | 
            +
                  num = parseFloat(value.replace(/'/, '').replace(/,/, '.'));
         | 
| 2578 2589 | 
             
                  obj[key] = !isNaN(num) ? num : value.toLowerCase();
         | 
| 2579 2590 | 
             
                });
         | 
| 2580 2591 | 
             
                return obj;
         | 
| @@ -2891,7 +2902,8 @@ | |
| 2891 2902 | 
             
              // Date comparison helpers
         | 
| 2892 2903 |  | 
| 2893 2904 | 
             
              function compareDate(d, find, buffer, forceUTC) {
         | 
| 2894 | 
            -
                var p  | 
| 2905 | 
            +
                var p, t, min, max, minOffset, maxOffset, override, capitalized, accuracy = 0, loBuffer = 0, hiBuffer = 0;
         | 
| 2906 | 
            +
                p = getExtendedDate(find, null, null, forceUTC);
         | 
| 2895 2907 | 
             
                if(buffer > 0) {
         | 
| 2896 2908 | 
             
                  loBuffer = hiBuffer = buffer;
         | 
| 2897 2909 | 
             
                  override = true;
         | 
| @@ -2917,12 +2929,27 @@ | |
| 2917 2929 | 
             
                    hiBuffer = -50;
         | 
| 2918 2930 | 
             
                  }
         | 
| 2919 2931 | 
             
                }
         | 
| 2920 | 
            -
                 | 
| 2921 | 
            -
                 | 
| 2922 | 
            -
                 | 
| 2932 | 
            +
                t   = d.getTime();
         | 
| 2933 | 
            +
                min = p.date.getTime();
         | 
| 2934 | 
            +
                max = max || (min + accuracy);
         | 
| 2935 | 
            +
                max = compensateForTimezoneTraversal(d, min, max);
         | 
| 2923 2936 | 
             
                return t >= (min - loBuffer) && t <= (max + hiBuffer);
         | 
| 2924 2937 | 
             
              }
         | 
| 2925 2938 |  | 
| 2939 | 
            +
              function compensateForTimezoneTraversal(d, min, max) {
         | 
| 2940 | 
            +
                var dMin, dMax, minOffset, maxOffset;
         | 
| 2941 | 
            +
                dMin = new Date(min);
         | 
| 2942 | 
            +
                dMax = new Date(max).utc(d.isUTC());
         | 
| 2943 | 
            +
                if(callDateGet(dMax, 'Hours') !== 23) {
         | 
| 2944 | 
            +
                  minOffset = dMin.getTimezoneOffset();
         | 
| 2945 | 
            +
                  maxOffset = dMax.getTimezoneOffset();
         | 
| 2946 | 
            +
                  if(minOffset !== maxOffset) {
         | 
| 2947 | 
            +
                    max += (maxOffset - minOffset).minutes();
         | 
| 2948 | 
            +
                  }
         | 
| 2949 | 
            +
                }
         | 
| 2950 | 
            +
                return max;
         | 
| 2951 | 
            +
              }
         | 
| 2952 | 
            +
             | 
| 2926 2953 | 
             
              function updateDate(d, params, reset, advance, prefer) {
         | 
| 2927 2954 | 
             
                var weekday, specificityIndex;
         | 
| 2928 2955 |  | 
| @@ -2953,7 +2980,9 @@ | |
| 2953 2980 | 
             
                }
         | 
| 2954 2981 |  | 
| 2955 2982 | 
             
                // "date" can also be passed for the day
         | 
| 2956 | 
            -
                if(params['date'])  | 
| 2983 | 
            +
                if(isDefined(params['date'])) {
         | 
| 2984 | 
            +
                  params['day'] = params['date'];
         | 
| 2985 | 
            +
                }
         | 
| 2957 2986 |  | 
| 2958 2987 | 
             
                // Reset any unit lower than the least specific unit set. Do not do this for weeks
         | 
| 2959 2988 | 
             
                // or for years. This needs to be performed before the acutal setting of the date
         | 
| @@ -3066,7 +3095,9 @@ | |
| 3066 3095 | 
             
              // (or 29th in the case of a leap year).
         | 
| 3067 3096 |  | 
| 3068 3097 | 
             
              function checkMonthTraversal(date, targetMonth) {
         | 
| 3069 | 
            -
                if(targetMonth < 0)  | 
| 3098 | 
            +
                if(targetMonth < 0) {
         | 
| 3099 | 
            +
                  targetMonth = targetMonth % 12 + 12;
         | 
| 3100 | 
            +
                }
         | 
| 3070 3101 | 
             
                if(targetMonth % 12 != callDateGet(date, 'Month')) {
         | 
| 3071 3102 | 
             
                  callDateSet(date, 'Date', 0);
         | 
| 3072 3103 | 
             
                }
         | 
| @@ -4188,7 +4219,7 @@ | |
| 4188 4219 | 
             
                'units':      'millisecond:|s,second:|s,minute:|s,hour:|s,day:|s,week:|s,month:|s,year:|s',
         | 
| 4189 4220 | 
             
                'numbers':    'one,two,three,four,five,six,seven,eight,nine,ten',
         | 
| 4190 4221 | 
             
                'articles':   'a,an,the',
         | 
| 4191 | 
            -
                'tokens': | 
| 4222 | 
            +
                'tokens':     'the,st|nd|rd|th,of',
         | 
| 4192 4223 | 
             
                'short':      '{Month} {d}, {yyyy}',
         | 
| 4193 4224 | 
             
                'long':       '{Month} {d}, {yyyy} {h}:{mm}{tt}',
         | 
| 4194 4225 | 
             
                'full':       '{Weekday} {Month} {d}, {yyyy} {h}:{mm}:{ss}{tt}',
         | 
| @@ -4220,6 +4251,7 @@ | |
| 4220 4251 | 
             
                  '{0} {num}{1} {day} of {month} {year?}',
         | 
| 4221 4252 | 
             
                  '{weekday?} {month} {date}{1?} {year?}',
         | 
| 4222 4253 | 
             
                  '{date} {month} {year}',
         | 
| 4254 | 
            +
                  '{date} {month}',
         | 
| 4223 4255 | 
             
                  '{shift} {weekday}',
         | 
| 4224 4256 | 
             
                  '{shift} week {weekday}',
         | 
| 4225 4257 | 
             
                  '{weekday} {2?} {shift} week',
         | 
| @@ -4805,7 +4837,7 @@ | |
| 4805 4837 | 
             
                 *
         | 
| 4806 4838 | 
             
                 ***/
         | 
| 4807 4839 | 
             
                'isOdd': function() {
         | 
| 4808 | 
            -
                  return !this.isMultipleOf(2);
         | 
| 4840 | 
            +
                  return !isNaN(this) && !this.isMultipleOf(2);
         | 
| 4809 4841 | 
             
                },
         | 
| 4810 4842 |  | 
| 4811 4843 | 
             
                /***
         | 
| @@ -4853,21 +4885,27 @@ | |
| 4853 4885 | 
             
                 *
         | 
| 4854 4886 | 
             
                 ***/
         | 
| 4855 4887 | 
             
                'format': function(place, thousands, decimal) {
         | 
| 4856 | 
            -
                  var str, split,  | 
| 4857 | 
            -
                  if( | 
| 4858 | 
            -
             | 
| 4859 | 
            -
                  thousands = thousands || ',';
         | 
| 4860 | 
            -
                  decimal = decimal || '.';
         | 
| 4861 | 
            -
                  split = str.split('.');
         | 
| 4862 | 
            -
                  str = split[0];
         | 
| 4863 | 
            -
                  after = split[1] || '';
         | 
| 4864 | 
            -
                  while (str.match(r)) {
         | 
| 4865 | 
            -
                    str = str.replace(r, '$1' + thousands + '$2');
         | 
| 4888 | 
            +
                  var i, str, split, integer, fraction, result = '';
         | 
| 4889 | 
            +
                  if(isUndefined(thousands)) {
         | 
| 4890 | 
            +
                    thousands = ',';
         | 
| 4866 4891 | 
             
                  }
         | 
| 4867 | 
            -
                  if( | 
| 4868 | 
            -
                     | 
| 4892 | 
            +
                  if(isUndefined(decimal)) {
         | 
| 4893 | 
            +
                    decimal = '.';
         | 
| 4869 4894 | 
             
                  }
         | 
| 4870 | 
            -
                   | 
| 4895 | 
            +
                  str      = (isNumber(place) ? round(this, place || 0).toFixed(math.max(place, 0)) : this.toString()).replace(/^-/, '');
         | 
| 4896 | 
            +
                  split    = str.split('.');
         | 
| 4897 | 
            +
                  integer  = split[0];
         | 
| 4898 | 
            +
                  fraction = split[1];
         | 
| 4899 | 
            +
                  for(i = integer.length; i > 0; i -= 3) {
         | 
| 4900 | 
            +
                    if(i < integer.length) {
         | 
| 4901 | 
            +
                      result = thousands + result;
         | 
| 4902 | 
            +
                    }
         | 
| 4903 | 
            +
                    result = integer.slice(math.max(0, i - 3), i) + result;
         | 
| 4904 | 
            +
                  }
         | 
| 4905 | 
            +
                  if(fraction) {
         | 
| 4906 | 
            +
                    result += decimal + repeatString((place || 0) - fraction.length, '0') + fraction;
         | 
| 4907 | 
            +
                  }
         | 
| 4908 | 
            +
                  return (this < 0 ? '-' : '') + result;
         | 
| 4871 4909 | 
             
                },
         | 
| 4872 4910 |  | 
| 4873 4911 | 
             
                /***
         | 
| @@ -5079,7 +5117,6 @@ | |
| 5079 5117 |  | 
| 5080 5118 | 
             
              buildNumber();
         | 
| 5081 5119 |  | 
| 5082 | 
            -
             | 
| 5083 5120 | 
             
              /***
         | 
| 5084 5121 | 
             
               * @package Object
         | 
| 5085 5122 | 
             
               * @dependency core
         | 
| @@ -5109,7 +5146,7 @@ | |
| 5109 5146 | 
             
                  });
         | 
| 5110 5147 | 
             
                  if(!key && paramIsArray) key = obj.length.toString();
         | 
| 5111 5148 | 
             
                  setParamsObject(obj, key, value);
         | 
| 5112 | 
            -
                } else if(value.match(/^[ | 
| 5149 | 
            +
                } else if(value.match(/^[+-]?\d+(\.\d+)?$/)) {
         | 
| 5113 5150 | 
             
                  obj[param] = parseFloat(value);
         | 
| 5114 5151 | 
             
                } else if(value === 'true') {
         | 
| 5115 5152 | 
             
                  obj[param] = true;
         | 
| @@ -5389,7 +5426,9 @@ | |
| 5389 5426 | 
             
                 * @example
         | 
| 5390 5427 | 
             
                 *
         | 
| 5391 5428 | 
             
                 *   Object.extend();
         | 
| 5392 | 
            -
                 *   [2,4,6].map(Math.exp).tap(function( | 
| 5429 | 
            +
                 *   [2,4,6].map(Math.exp).tap(function(arr) {
         | 
| 5430 | 
            +
                 *     arr.pop()
         | 
| 5431 | 
            +
                 *   });
         | 
| 5393 5432 | 
             
                 *   [2,4,6].map(Math.exp).tap('pop').map(Math.round); ->  [7,55]
         | 
| 5394 5433 | 
             
                 *
         | 
| 5395 5434 | 
             
                 ***/
         | 
| @@ -5613,8 +5652,6 @@ | |
| 5613 5652 | 
             
                }
         | 
| 5614 5653 | 
             
              }
         | 
| 5615 5654 |  | 
| 5616 | 
            -
             | 
| 5617 | 
            -
             | 
| 5618 5655 | 
             
              extend(string, true, false, {
         | 
| 5619 5656 |  | 
| 5620 5657 | 
             
                 /***
         | 
| @@ -5673,7 +5710,12 @@ | |
| 5673 5710 | 
             
                  *
         | 
| 5674 5711 | 
             
                  ***/
         | 
| 5675 5712 | 
             
                'escapeHTML': function() {
         | 
| 5676 | 
            -
                  return this.replace(/&/g, | 
| 5713 | 
            +
                  return this.replace(/&/g,  '&' )
         | 
| 5714 | 
            +
                             .replace(/</g,  '<'  )
         | 
| 5715 | 
            +
                             .replace(/>/g,  '>'  )
         | 
| 5716 | 
            +
                             .replace(/"/g,  '"')
         | 
| 5717 | 
            +
                             .replace(/'/g,  ''')
         | 
| 5718 | 
            +
                             .replace(/\//g, '/');
         | 
| 5677 5719 | 
             
                },
         | 
| 5678 5720 |  | 
| 5679 5721 | 
             
                 /***
         | 
| @@ -5687,7 +5729,12 @@ | |
| 5687 5729 | 
             
                  *
         | 
| 5688 5730 | 
             
                  ***/
         | 
| 5689 5731 | 
             
                'unescapeHTML': function() {
         | 
| 5690 | 
            -
                  return this.replace(/& | 
| 5732 | 
            +
                  return this.replace(/&/g,  '&')
         | 
| 5733 | 
            +
                             .replace(/</g,   '<')
         | 
| 5734 | 
            +
                             .replace(/>/g,   '>')
         | 
| 5735 | 
            +
                             .replace(/"/g, '"')
         | 
| 5736 | 
            +
                             .replace(/'/g, "'")
         | 
| 5737 | 
            +
                             .replace(///g, '/');
         | 
| 5691 5738 | 
             
                },
         | 
| 5692 5739 |  | 
| 5693 5740 | 
             
                 /***
         | 
| @@ -6274,17 +6321,21 @@ | |
| 6274 6321 | 
             
                 *
         | 
| 6275 6322 | 
             
                 *   'jumpy'.repeat(2) -> 'jumpyjumpy'
         | 
| 6276 6323 | 
             
                 *   'a'.repeat(5)     -> 'aaaaa'
         | 
| 6324 | 
            +
                 *   'a'.repeat(0)     -> ''
         | 
| 6277 6325 | 
             
                 *
         | 
| 6278 6326 | 
             
                 ***/
         | 
| 6279 6327 | 
             
                'repeat': function(num) {
         | 
| 6280 | 
            -
                  var  | 
| 6281 | 
            -
                  if(isNumber(num)  | 
| 6282 | 
            -
             | 
| 6283 | 
            -
             | 
| 6284 | 
            -
                       | 
| 6328 | 
            +
                  var result = '', str = this;
         | 
| 6329 | 
            +
                  if(!isNumber(num) || num < 1) return '';
         | 
| 6330 | 
            +
                  while (num) {
         | 
| 6331 | 
            +
                    if (num & 1) {
         | 
| 6332 | 
            +
                      result += str;
         | 
| 6333 | 
            +
                    }
         | 
| 6334 | 
            +
                    if (num >>= 1) {
         | 
| 6335 | 
            +
                      str += str;
         | 
| 6285 6336 | 
             
                    }
         | 
| 6286 6337 | 
             
                  }
         | 
| 6287 | 
            -
                  return  | 
| 6338 | 
            +
                  return result;
         | 
| 6288 6339 | 
             
                },
         | 
| 6289 6340 |  | 
| 6290 6341 | 
             
                /***
         | 
| @@ -6372,7 +6423,6 @@ | |
| 6372 6423 | 
             
                  });
         | 
| 6373 6424 | 
             
                  return context;
         | 
| 6374 6425 | 
             
                }
         | 
| 6375 | 
            -
             | 
| 6376 6426 | 
             
              });
         | 
| 6377 6427 |  | 
| 6378 6428 |  |