/* * Sugar Library v1.2 * * Freely distributable and licensed under the MIT-style license. * Copyright (c) 2012 Andrew Plummer * http://sugarjs.com/ * * ---------------------------- */ (function(context){var h=true,j=null,k=false,m=Object,n=Array,o=RegExp,q=Date,r=String,s=Number,t=m.defineProperty&&m.defineProperties;function u(a,b,c,d){var e=b?a.prototype:a;v(a,b,d);w(d,function(f,g){if(typeof c==="function")x(e,f,aa(e[f],g,c));else if(c===h||!e[f])x(e,f,g);a.SugarMethods[f]={e:b,method:g}})} function v(a){if(!a.SugarMethods){x(a,"SugarMethods",{});x(a,"restore",function(){var b=arguments.length===0,c=y(arguments);w(a.SugarMethods,function(d,e){if(b||z(c,d))x(e.e?a.prototype:a,d,e.method)})});x(a,"extend",function(b,c,d){a===m&&arguments.length===0?A(Object.keys(Object.SugarMethods).remove("extended","fromQueryString"),Object):u(a,d!==k,c,b)})}}function aa(a,b,c){return function(){return a&&(c===h||!c.apply(this,arguments))?a.apply(this,arguments):b.apply(this,arguments)}} function x(a,b,c){if(t)m.defineProperty(a,b,{value:c,configurable:h,enumerable:k,writable:h});else a[b]=c}function w(a,b){var c=0,d;for(d in a)if(a.hasOwnProperty(d)){b.call(a,d,a[d],c);c++}} function B(a,b,c){var d=m.prototype.toString.call(a).match(/\[object (\w+)\]/)[1];if(a===b)return a!==0||1/a===1/b;else if(a===j||C(a)||b===j||C(b))return k;else if(d=="RegExp")return a.ignoreCase==b.ignoreCase&&a.multiline==b.multiline&&a.source==b.source&&a.global==b.global;else if(d=="Array"||d=="Object"){for(d=c.length;d--;)if(c[d]==a)return h;c.push(a);for(var e in a)if(a.hasOwnProperty(e))if(!b.hasOwnProperty(e)||!B(a[e],b[e],c))return k;c.pop();return m.keys(a).length===m.keys(b).length&&a.constructor=== b.constructor&&a.length===b.length}else return D(b,d)&&a.valueOf()===b.valueOf()}function E(a,b,c,d){var e=h;if(a===b)return h;else if(m.isRegExp(b))return o(b).test(a);else if(m.isFunction(b))return b.apply(c,[a].concat(d));else if(m.isObject(b)&&m.isObject(a)){w(b,function(f){E(a[f],b[f],c,d)||(e=k)});return!m.isEmpty(b)&&e}else return m.equal(a,b)}function F(a,b,c,d){return C(b)?a:m.isFunction(b)?b.apply(c,d||[]):m.isFunction(a[b])?a[b].call(a):a[b]} function G(a,b){return Array.prototype.slice.call(a,b)}function y(a,b,c,d){a=G(a);if(c!==k)a=H(a);I(a,b||function(){},d);return a}function J(a,b,c){var d=[],e=a.length,f=b[b.length-1]!==k,g;y(b,function(i){if(m.isBoolean(i))return k;if(f){i%=e;if(i<0)i=e+i}g=c?a.charAt(i)||"":a[i];d.push(g)});return d.length<2?d[0]:d}function D(a,b){return m.prototype.toString.call(a)==="[object "+b+"]"}function K(a){return typeof a=="object"}function C(a){return a===void 0}function L(a){return a!==void 0} function M(a,b,c,d){K(b)&&w(b,function(e,f){var g=a[e],i=L(g),l=m.isArray(f);if(c===h&&(l||m.isObject(f))){g||(g=l?[]:{});M(g,f,c)}else if(i&&m.isFunction(d))g=d.call(b,e,a[e],b[e]);else if(!i||i&&d!==k)g=b[e];a[e]=g});return a} function O(a,b,c,d){var e=/^(.+?)(\[.*\])$/,f,g,i;if(d!==k&&(g=b.match(e))){i=g[1];b=g[2].replace(/^\[|\]$/g,"").split("][");I(b,function(l){f=!l||l.match(/^\d+$/);if(!i&&m.isArray(a))i=a.length;a[i]||(a[i]=f?[]:{});a=a[i];i=l});if(!i&&f)i=a.length.toString();O(a,i,c)}else a[b]=c.match(/^[\d.]+$/)?parseFloat(c):c==="true"?h:c==="false"?k:c}function P(a){var b=this;w(a,function(c,d){b[c]=d})}P.prototype.constructor=m; function A(a,b){var c={};I(a,function(d){c[d+(d==="equal"?"s":"")]=function(){return Object[d].apply(j,[this].concat(G(arguments)))}});u(b,h,k,c)}u(m,k,h,{watch:function(a,b,c){if(t){var d=a[b];m.defineProperty(a,b,{get:function(){return d},set:function(e){d=c.call(a,b,d,e)},enumerable:h,configurable:h})}}}); u(m,k,k,{extended:function(a){return new P(a)},isObject:function(a){return a===j||C(a)?k:D(a,"Object")&&a.constructor===m},isNaN:function(a){return m.isNumber(a)&&a.valueOf()!==a.valueOf()},each:function(a,b){b&&w(a,function(c,d){b.call(a,c,d,a)});return a},merge:function(a,b,c){return M(a,b,h,c)},isEmpty:function(a){if(!K(a)||a===j)return!(a&&a.length>0);return m.keys(a).length==0},equal:function(a,b){return B(a,b,[])},values:function(a,b){var c=[];w(a,function(d,e){c.push(e);b&&b.call(a,e)});return c}, clone:function(a,b){if(!K(a)||a===j)return a;var c=Object.isFunction(a.keys)?Object.extended():{};return M(c,a,b)},fromQueryString:function(a,b){var c=m.extended();a=a&&a.toString?a.toString():"";a.replace(/^.*?\?/,"").unescapeURL().split("&").each(function(d){d=d.split("=");d.length===2&&O(c,d[0],d[1],b)});return c},tap:function(a,b){F(a,b,a,[a]);return a}}); u(m,k,function(){return arguments.length>1},{keys:function(a,b){if(a===j||!K(a)&&!m.isRegExp(a)&&!m.isFunction(a))throw new TypeError("Object required");var c=[];w(a,function(d,e){c.push(d);b&&b.call(a,d,e)});return c}});function I(a,b,c,d,e){var f,g;Q(b);if(c<0)c=a.length+c;g=isNaN(c)?0:parseInt(c>>0);for(c=d===h?a.length+g:a.length;g>0);if(c<0)c=e+c;if(!f&&c<0||f&&c>=e)c=g;for(;f&&c>=0||!f&&c>>0==e&&e!=4294967295&&e>=c&&d.push(e.toNumber());d.sort().each(function(f){return b.call(a,a[f],f,a)});return a}function T(a,b,c,d){var e=c==="max",f=c==="min",g=e?-Infinity:Infinity,i=[];w(a,function(l){var p=a[l];l=F(p,b,a,d?[p,l.toNumber(),a]:[]);if(!C(l))if(l===g)i.push(p);else if(e&&l>g||f&&l0&&!m.isFunction(a[0])},{every:function(a,b){var c=this.length,d=0;for(S(arguments);d0?a.reduce(function(b,c){return b+c}):0},average:function(a){a=a?this.map(a):this;return a.length>0?a.sum()/a.length:0},groupBy:function(a,b){var c=this,d=m.extended(),e;I(c,function(f,g){e=F(f,a,c,[f,g,c]);d[e]||(d[e]=[]);d[e].push(f)});return d.each(b)},inGroups:function(a,b){var c=arguments.length> 1,d=this,e=[],f=(this.length/a).ceil();(0).upto(a-1,function(g){g=g*f;var i=d.slice(g,g+f);c&&i.length0&&c.push(d);return c},compact:function(a){var b= [];I(this,function(c){if(m.isArray(c))b.push(c.compact());else if(a&&c)b.push(c);else if(!a&&L(c)&&c!==j&&(!m.isNumber(c)||!isNaN(c)))b.push(c)});return b},isEmpty:function(){return this.compact().length==0},flatten:function(a){return H(this,a)},sortBy:function(a,b){var c=this.clone();c.sort(function(d,e){var f,g;f=F(d,a,c,[d]);g=F(e,a,c,[e]);return(f&&f.compare?f.compare(g):f0||(a=1);b.length0?b:b[0]}});u(n,h,k,{all:n.prototype.every,any:n.prototype.some,has:n.prototype.some,insert:n.prototype.add}); function U(a,b,c){c=Math[c||"round"];var d=Math.pow(10,(b||0).abs());if(b<0)d=1/d;return c(a*d)/d}function ga(a,b,c,d){var e=[];a=parseInt(a);for(var f=d>0;f&&a<=b||!f&&a>=b;){e.push(a);c&&c.call(this,a);a+=d}return e} function V(a,b,c,d,e,f){var g=a.toFixed(20),i=g.search(/\./);g=g.search(/[1-9]/);i=i-g;if(i>0)i-=1;e=Math.max(Math.min((i/3).floor(),e===k?c.length:e),-d);d=c.charAt(e+d-1);if(i<-9){e=-3;b=i.abs()-9;d=c.first()}return(a/(f?(2).pow(10*e):(10).pow(e*3))).round(b||0).format()+d.trim()}u(s,k,k,{random:function(a,b){var c;if(arguments.length==1){b=a;a=0}c=Math.min(a||0,L(b)?b:1);return U(Math.random()*(Math.max(a||0,L(b)?b:1)-c)+c)}}); u(s,h,k,{toNumber:function(){return parseFloat(this,10)},abbr:function(a){return V(this,a,"kmbt",0,4)},metric:function(a,b){return V(this,a,"n\u03bcm kMGTPE",4,L(b)?b:1)},bytes:function(a,b){return V(this,a,"kMGTPE",0,L(b)?b:4,h)+"B"},isInteger:function(){return this%1==0},ceil:function(a){return U(this,a,"ceil")},floor:function(a){return U(this,a,"floor")},abs:function(){return Math.abs(this)},pow:function(a){if(C(a))a=1;return Math.pow(this,a)},round:function(a){return U(this,a,"round")},chr:function(){return r.fromCharCode(this)}, isOdd:function(){return!this.isMultipleOf(2)},isEven:function(){return this.isMultipleOf(2)},isMultipleOf:function(a){return this%a===0},upto:function(a,b,c){return ga(this,a,b,c||1)},downto:function(a,b,c){return ga(this,a,b,-(c||1))},times:function(a){if(a)for(var b=0;b=11&&b<=13)a="th";else switch(a%10){case 1:a="st";break;case 2:a="nd";break;case 3:a="rd";break; default:a="th"}return this.toString()+a},pad:function(a,b,c){c=c||10;c=this.toNumber()===0?"":this.toString(c).replace(/^-/,"");c=W(c,"0",a-c.replace(/\.\d+$/,"").length,0);if(b||this<0)c=(this<0?"-":"+")+c;return c},format:function(a,b,c){var d,e,f=/(\d+)(\d{3})/;if(r(b).match(/\d/))throw new TypeError("Thousands separator cannot contain numbers.");d=m.isNumber(a)?U(this,a).toFixed(Math.max(a,0)):this.toString();b=b||",";c=c||".";e=d.split(".");d=e[0];for(e=e[1]||"";d.match(f);)d=d.replace(f,"$1"+ b+"$2");if(e.length>0)d+=c+W(e,"0",0,a-e.length);return d},hex:function(a){return this.pad(a||1,k,16)},compare:function(a){return this-Number(a)}});function X(){return"\t\n\u000b\u000c\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u2028\u2029\u3000\ufeff"} function ha(a,b,c,d){var e=G(b).join("");e=e.replace(/all/,"").replace(/(\w)lphabet|umbers?|atakana|paces?|unctuation/g,"$1");return a.replace(c,function(f){return d[f]&&(!e||e.has(d[f].type))?d[f].to:f})} var ia=[{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}],ja={},ka={},la=/[\u0020-\u00A5]|[\uFF61-\uFF9F][\uff9e\uff9f]?/g,ma=/[\u3000-\u301C]|[\u301A-\u30FC]|[\uFF01-\uFF60]|[\uFFE0-\uFFE6]/g,na=/[\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30cf\u30d2\u30d5\u30d8\u30db]/, oa=/[\u30cf\u30d2\u30d5\u30d8\u30db\u30f2]/;function Y(a,b,c){ja[b]={type:a,to:c};ka[c]={type:a,to:b}}function W(a,b,c,d){var e=String(b);if(e!=b)e="";m.isNumber(c)||(c=1);m.isNumber(d)||(d=1);return e.repeat(c)+a+e.repeat(d)} u(r,h,k,{escapeRegExp:function(){return o.escape(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,">")},unescapeHTML:function(){return this.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")},encodeBase64:function(){return btoa(this)},decodeBase64:function(){return atob(this)},capitalize:function(a){return this.toLowerCase().replace(a? /\b[a-z]/g:/^[a-z]/,function(b){return b.toUpperCase()})},pad:function(a,b){return W(this,a,b,b)},padLeft:function(a,b){return W(this,a,b,0)},padRight:function(a,b){return W(this,a,0,b)},repeat:function(a){var b="",c=0;if(m.isNumber(a)&&a>0)for(;c0?"_":"")+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=r.Inflector&&r.Inflector.acronyms&&r.Inflector.acronyms[d];e=a!==k||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;y(arguments.length> 0?arguments:[""],function(b){a=a.replace(o("]*>","gi"),"")});return a},removeTags:function(){var a=this;y(arguments.length>0?arguments:["\\S+"],function(b){b=o("<("+b+")[^<>]*(?:\\/>|>.*?<\\/\\1>)","gi");a=a.replace(b,"")});return a},truncate:function(a,b,c){var d;b=C(b)?"...":String(b);a-=b.length;if(this.length<=a)return this.toString();d=b.match(/^(.)\1+$/)?b.slice(0,1):"";for(d=o("[^"+X()+d+"]["+X()+d+"]");a>0&&!d.test(this.slice(a-1,a+1))&&c!==h;)a--;return this.slice(0, a)+(a>0?b:"")},assign:function(){var a=m.extended();y(arguments,function(b,c){if(m.isObject(b))a.merge(b);else a[c+1]=b});return this.replace(/\{(.+?)\}/g,function(b,c){return a.hasOwnProperty(c)?a[c]:b})},compare:function(a,b){var c=this;a=String(a);if(b===h)b=/\W/g;if(b){a=a.remove(b);c=c.remove(b)}return c==a?0:cd){c.push(this.slice(d,f.index));!o.c&&f.length>1&&f[0].replace(e,function(){for(var l=1;l1&&f.index= b)break}a.lastIndex===f.index&&a.lastIndex++}if(d===this.length){if(i||!a.test(""))c.push("")}else c.push(this.slice(d));return c.length>b?c.slice(0,b):c}});u(r,h,k,{insert:r.prototype.add});o.c=C(o("()??").exec("")[1]);function Z(a,b){var c="";if(b=="g"||a.global)c+="g";if(b=="i"||a.ignoreCase)c+="i";if(b=="m"||a.multiline)c+="m";if(b=="y"||a.f)c+="y";return c}u(o,k,k,{escape:function(a){m.isString(a)||(a=String(a));return a.replace(/([/'*+?|()\[\]{}.^$])/g,"\\$1")}}); u(o,h,k,{getFlags:function(){return Z(this)},setFlags:function(a){return o(this.source,a)},addFlag:function(a){return this.setFlags(Z(this,a))},removeFlag:function(a){return this.setFlags(Z(this).replace(a,""))}});function $(a,b,c,d,e){if(!a.b)a.b=[];a.b.push(setTimeout(function(){a.b.removeAt(f);c.apply(d,e||[])},b));var f=a.b.length} u(Function,h,k,{lazy:function(a,b){function c(){if(!(g||f.length==0)){for(var p=Math.max(f.length-l,0);f.length>p;)Function.prototype.apply.apply(e,f.shift());$(d,i,function(){g=k;c()});g=h}}function d(){if(!(g&&f.length>b-2)){f.push([this,arguments]);c()}}var e=this,f=[],g=k,i,l;a=a||1;b=b||Infinity;i=a.ceil();l=U(i/a);return d},delay:function(a){m.isNumber(a)||(a=0);var b=G(arguments,1);$(this,a,this,this,b);return this},debounce:function(a,b){var c=this;return b===k?this.lazy(a,1):function(){c.cancel(); $(c,a,c,this,arguments)}},cancel:function(){if(m.isArray(this.b))for(;this.b.length>0;)clearTimeout(this.b.shift());return this},after:function(a){var b=this,c=0,d=[];if(m.isNumber(a)){if(a===0){b.call();return b}}else a=1;return function(){var e;d.push(Array.create(arguments));c++;if(c==a){e=b.call(this,d);c=0;d=[];return e}}},once:function(){var a=this;return function(){return a.hasOwnProperty("memo")?a.memo:a.memo=a.apply(this,arguments)}},fill:function(){var a=this,b=G(arguments);return function(){var c= G(arguments);I(b,function(d,e){if(L(d)||e>=c.length)c.splice(e,0,d)});return a.apply(this,c)}}});(function(){var a={};I(["Array","Boolean","Date","Function","Number","String","RegExp"],function(b){a["is"+b]=function(c){return D(c,b)}});u(Object,k,k,a)})();A(["keys","values","each","merge","isEmpty","clone","equal","watch","tap"],P); (function(a){if(!L(this.btoa)){var b=/[^A-Za-z0-9\+\/\=]/g;btoa=function(c){var d="",e,f,g,i,l,p,N=0;do{e=c.charCodeAt(N++);f=c.charCodeAt(N++);g=c.charCodeAt(N++);i=e>>2;e=(e&3)<<4|f>>4;l=(f&15)<<2|g>>6;p=g&63;if(isNaN(f))l=p=64;else if(isNaN(g))p=64;d=d+a.charAt(i)+a.charAt(e)+a.charAt(l)+a.charAt(p)}while(N>4;f=(f&15)<<4|i>>2;g=(i&3)<<6|l;d+=e.chr();if(i!=64)d+=f.chr();if(l!=64)d+=g.chr()}while(p=i[1]&&L<=(i[2]||i[1]))r.push(U)});n=r}n=n.compact().join("|")}if(m)return"(?:"+n+")?";else{g.push(l);return"("+n+")"+(c?"?":"")}});b(e,g,d)});a.l=j}}function K(a,b,d){if(b&&(!q.isString(a)||!a))a=Date.currentLocale;a&&!H[a]&&M(a,d);return H[a]} function M(a,b){function d(f,h){f=f.split("+").map(function(c){return c.replace(/(.+):(.+)$/,function(i,m,l){return l.split("|").map(function(n){return m+n}).join("|")})}).join("|");return f.split("|").each(h)}function e(f,h,c){var i=[];if(b[f]){b[f].each(function(m,l){d(m,function(n,r){i[r*c+l]=n.toLowerCase()})});if(h)i=i.concat(b[f].map(function(m){return m.slice(0,3).toLowerCase()}));return b[f]=i}}function g(f,h){var c="[0-9\uff10-\uff19]"+(f?"{"+f+","+h+"}":"+");if(b.digits)c+="|["+b.digits+ "]+";return c}b=b||N(a);if(!b)throw Error("Invalid locale.");e("months",j,12);e("weekdays",j,7);e("units",k,8);e("numbers",k,10);b.code=a;b.date=g(1,2);b.year=g(4,4);b.num=function(){var f=[g()].concat(b.articles);b.digits||(f=f.concat(b.numbers));return f.compact().join("|")}();(function(){var f=[];b.f={};b.modifiers.each(function(h){d(h.text,function(c){b.f[c]=h;f.push({name:h.name,text:c,value:h.value})})});f.groupBy("name",function(h,c){c=c.map("text");if(h==="day")c=c.concat(b.weekdays);b[h]= c.join("|")});b.modifiers=f})();if(b.monthSuffix){b.month=g(1,2);b.months=(1).upto(12).map(function(f){return f+b.monthSuffix})}H[a]=new O(b)} function N(a){function b(g){return!!(e[0]&Math.pow(2,g-1))}if(a.slice(0,3)=="en-")a="en";if(!I[a])return null;var d={modifiers:[]},e=I[a].split(";");["months","weekdays","units","numbers","articles","optionals","formats"].each(function(g,f){d[g]=e[f+2]?e[f+2].split(","):[]});d.outputFormat=e[9];["day","sign","shift","edge"].each(function(g,f){e[f+10]&&e[f+10].split(",").each(function(h,c){h&&d.modifiers.push({name:g,text:h,value:c-2})})});if(b(1)){d.digits=y+z;if(d.numbers.length>0)d.digits+=d.numbers.join(""); else d.numbers=y.split("");d.monthSuffix=e[1]}d.capitalizeUnit=a=="de";d.hasPlural=b(2);d.pastRelativeFormat=d.formats[0];d.futureRelativeFormat=d.formats[b(3)?1:0];return d}function P(a){a||(a=Date.currentLocale);return a!="en"&&a!="en-US"}function O(a){q.merge(this,a)} q.merge(O.prototype,{getMonth:function(a){return q.isNumber(a)?a-1:this.months.findIndex(p(a,"i"))%12},k:function(a){return this.weekdays.findIndex(p(a,"i"))%7},j:function(a){var b;return q.isNumber(a)?a:a&&(b=this.numbers.indexOf(a))!==-1?(b+1)%10:1},n:function(a){var b=this;return a.replace(this.numbers[9],"").each(function(d){return b.j(d)}).join("")},m:function(a){return English.units[this.units.indexOf(a)%8]},q:function(a,b,d){var e,g;e=d>0?this.futureRelativeFormat:this.pastRelativeFormat;if(this.code== "ru"){g=a.toString().from(-1);switch(j){case g==1:g=1;break;case g>=2&&g<=4:g=2;break;default:g=3}}else g=this.hasPlural&&a>1?1:0;g=this.units[g*8+b]||this.units[b];if(this.capitalizeUnit)g=g.capitalize();b=this.modifiers.find(function(f){return f.name=="sign"&&f.value==(d>0?1:-1)});return e.assign({num:a,unit:g,sign:b.text})}});function Q(a){var b;if(q.isObject(a[0]))return a;else if(a.length==1&&q.isNumber(a[0]))return[a[0]];b={};C.each(function(d,e){b[d.a]=a[e]});return[b]} function R(a,b){if(b!="date"&&b!="month"&&b!="year")return a;return a.replace(A,function(d){return y.indexOf(d)+1||""})}function S(a,b){var d={},e,g;b.each(function(f,h){e=a[h+1];if(!(e===void 0||e==="")){e=R(e.hankaku("n"),f);if(f==="year")d.s=e;if(f==="millisecond")e*=Math.pow(10,3-e.length);g=parseFloat(e);d[f]=!isNaN(g)?g:e.toLowerCase()}});return d} function T(a,b){var d=new s,e=k,g,f,h,c,i,m,l;if(q.isDate(a))d=a;else if(q.isNumber(a))d=new s(a);else if(q.isObject(a)){d=(new s).set(a,j);c=a}else if(q.isString(a)){J(K(b,j));f=P(b);a=a.trim().replace(/\.+$/,"").replace(/^now$/,"");B.each(function(n){var r=a.match(n.p);if(r){h=n;c=S(r,h.to);g=K(h.o,j);if(c.timestamp){d.setTime(0);c={milliseconds:c.timestamp};return k}if(h.h&&!q.isString(c.month)&&(q.isString(c.date)||f)){l=c.month;c.month=c.date;c.date=l}if(c.year&&c.s.length===2)c.year=((new s).getFullYear()/ 100).round()*100-(c.year/100).round()*100+c.year;if(c.month){c.month=g.getMonth(c.month);if(c.shift&&!c.unit)c.unit="year"}if(c.weekday&&c.date)delete c.weekday;else if(c.weekday){c.weekday=g.k(c.weekday);if(c.shift&&!c.unit)c.unit="week"}if(c.day&&(l=g.f[c.day])){c.day=l.value;d.resetTime();e=j}else if(c.day&&(l=g.k(c.day))>-1){delete c.day;c.weekday=l}if(c.date&&!q.isNumber(c.date))c.date=g.n(c.date);if(c.meridian)if(c.meridian==="pm"&&c.hour<12)c.hour+=12;if(c.offset_hours||c.offset_minutes){c.utc= j;c.offset_minutes=c.offset_minutes||0;c.offset_minutes+=c.offset_hours*60;if(c.offset_sign==="-")c.offset_minutes*=-1;c.minute-=c.offset_minutes}if(c.unit){e=j;m=g.j(c.num);i=g.m(c.unit);if(c.shift||c.edge){m*=(l=g.f[c.shift])?l.value:0;if(i==="month"&&u(c.date)){d.set({day:c.date},j);delete c.date}if(i==="year"&&u(c.month)){d.set({month:c.month,day:c.date},j);delete c.month;delete c.date}}if(c.sign&&(l=g.f[c.sign]))m*=l.value;if(u(c.weekday)){d.set({weekday:c.weekday},j);delete c.weekday}c[i]=(c[i]|| 0)+m}if(c.year_sign==="-")c.year*=-1;return k}});if(h)if(e)d.advance(c);else c.utc?d.setUTC(c,j):d.set(c,j);else d=a?new s(a):new s;if(c&&c.edge){l=g.f[c.edge];D.slice(4).each(function(n){if(u(c[n.a])){i=n.a;return k}});if(i==="year")c.d="month";else if(i==="month"||i==="week")c.d="day";d[(l.value<0?"endOf":"beginningOf")+i.capitalize()]();l.value===-2&&d.resetTime()}}return{e:d,set:c}} function W(a,b,d,e){var g,f=K(e,j),h=p(/^[A-Z]/);if(a.isValid())if(Date[b])b=Date[b];else{if(q.isFunction(b)){g=X(a);b=b.apply(a,g.concat(f))}}else return"Invalid Date";if(!b&&!d)b=f.outputFormat;else if(!b&&d){g=g||X(a);if(g[1]===0){g[1]=1;g[0]=1}return f.q(g[0],g[1],g[2])}F.each(function(c){b=b.replace(p("\\{("+c.b+")(\\d)?\\}",c.i?"i":""),function(i,m,l){i=c.format(a,f,l||1,m);l=m.length;var n=m.match(/^(.)\1+$/);if(c.i){if(l===3)i=i.to(3);if(n||m.match(h))i=i.capitalize()}else if(n&&!c.text)i= (q.isNumber(i)?i.pad(l):i.toString()).last(l);return i})});return b}function aa(a,b,d){var e=T(b),g=0,f=b=0,h;if(d>0){b=f=d;h=j}if(!e.e.isValid())return k;if(e.set&&e.set.d){G.each(function(i){if(i.a===e.set.d)g=i.c(e.e,a-e.e)-1});if(e.set.edge||e.set.shift)e.e["beginningOf"+e.set.d.capitalize()]();if(!h&&e.set.sign&&e.set.d!="millisecond"){b=50;f=-50}}d=a.getTime();h=e.e.getTime();var c=h+g;if(e.set&&e.set.d=="week"&&(new Date(c+1)).getHours()!=0)c-=s.DSTOffset;return d>=h-b&&d<=c+f} function Y(a,b,d,e,g){if(q.isNumber(b)&&g)b={milliseconds:b};else if(q.isNumber(b)){a.setTime(b);return a}if(b.date)b.day=b.date;if(!g&&b.day===void 0&&u(b.weekday)){a["set"+(e?"UTC":"")+"Weekday"](b.weekday);b.day=a["get"+(e?"UTC":"")+"Date"](void 0);delete b.weekday}D.each(function(f){if(u(b[f.a])||u(b[f.a+"s"])){b.d=f.a;return k}else if(d&&f.a!=="week"&&f.a!=="year")a["set"+(e?"UTC":"")+f.method](f.a==="day"?1:0)});G.each(function(f){var h=f.a;f=f.method;var c=u(b[h])?b[h]:b[h+"s"];if(c!==void 0){if(g){if(h=== "week"){c=(b.day||0)+c*7;f="Date"}c=c*g+a["get"+f](void 0)}a["set"+(e?"UTC":"")+f](c);if(h==="month"){h=c;if(h<0)h+=12;h%12!=a.getMonth()&&a.setDate(0)}}});return a}function Z(a){a.addDays(4-(a.getDay()||7)).resetTime();return 1+(a.daysSince(a.clone().beginningOfYear())/7|0)}function X(a){var b;a=a.millisecondsFromNow();var d=a.abs(),e=d,g=0;D.from(1).each(function(f,h){b=(d/f.c()).round(1)|0;if(b>=1){e=b;g=h+1}});return[e,g,a]} function $(a){var b;b=q.isNumber(a[1])?Q(a)[0]:a[0];return T(b,a[1]).e}function ba(a,b){function d(){return(this*b).round()}function e(){return $(arguments)[f](this)}function g(){return $(arguments)[f](-this)}var f="add"+a.capitalize()+"s",h={};h[a]=d;h[a+"s"]=d;h[a+"Before"]=g;h[a+"sBefore"]=g;h[a+"Ago"]=g;h[a+"sAgo"]=g;h[a+"After"]=e;h[a+"sAfter"]=e;h[a+"FromNow"]=e;h[a+"sFromNow"]=e;t.extend(h)} s.extend({create:function(){return $(arguments)},now:function(){return(new s).getTime()},setLocale:function(a,b){var d=K(a,k,b);if(d){Date.currentLocale=a;J(d);return d}},getLocale:function(a){return K(a,j)},addFormat:function(a,b,d,e){B.push({h:e,o:d,p:p("^"+a+"$","i"),to:b})}},k,k); s.extend({toISOString:function(){return W(this.toUTC(),s.ISO8601_DATETIME)},set:function(){var a=Q(arguments);return Y(this,a[0],a[1])},setUTC:function(){var a=Q(arguments);return Y(this,a[0],a[1],j)},setWeekday:function(a){a===void 0||this.setDate(this.getDate()+a-this.getDay())},setUTCWeekday:function(a){a===void 0||this.setDate(this.getUTCDate()+a-this.getDay())},setWeek:function(a){if(a!==void 0){this.setMonth(0);this.setDate(a*7+1)}},setUTCWeek:function(a){if(a!==void 0){this.setMonth(0);this.setUTCDate(a* 7+1)}},getWeek:function(){return Z(this)},getUTCWeek:function(){return Z(this.toUTC())},getUTCOffset:function(a){var b=this.g?0:this.getTimezoneOffset(),d=a===j?":":"";if(!b&&a)return"Z";return(-b/60).round().pad(2,j)+d+(b%60).pad(2)},toUTC:function(){if(this.g)return this;var a=this.clone().addMinutes(this.getTimezoneOffset());a.g=j;return a},isUTC:function(){return this.g||this.getTimezoneOffset()===0},advance:function(){var a=Q(arguments);return Y(this,a[0],k,k,1,j)},rewind:function(){var a=Q(arguments); return Y(this,a[0],k,k,-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()e},isLeapYear:function(){var a=this.getFullYear();return a%4===0&&a%100!==0||a%400===0},daysInMonth:function(){return 32- (new s(this.getFullYear(),this.getMonth(),32)).getDate()},format:function(a,b){return W(this,a,k,b)},relative:function(a,b){if(q.isString(a)){b=a;a=null}return W(this,a,j,b)},is:function(a,b){var d;if(q.isString(a)){a=a.trim().toLowerCase();switch(j){case a==="future":return this.getTime()>(new s).getTime();case a==="past":return this.getTime()<(new s).getTime();case a==="weekday":return this.getDay()>0&&this.getDay()<6;case a==="weekend":return this.getDay()===0||this.getDay()===6;case (d=English.weekdays.indexOf(a)% 7)>-1:return this.getDay()===d;case (d=English.months.indexOf(a)%12)>-1:return this.getMonth()===d}}return aa(this,a,b)},resetTime:function(){return this.set({hour:0,minute:0,second:0,millisecond:0})},clone:function(){return new s(this.getTime())},compare:function(){return this-$(arguments)}});s.extend({toJSON:s.prototype.toISOString,iso:s.prototype.toISOString,getWeekday:s.prototype.getDay,getUTCWeekday:s.prototype.getUTCDay});English=s.setLocale("en"); (function(){var a={};G.each(function(b,d){function e(i,m){return((s.create(i,m).getTime()-this.getTime())/c).round()}function g(i,m){return((this.getTime()-s.create(i,m).getTime())/c).round()}var f=b.a,h=f.capitalize(),c=b.c();a[f+"sAgo"]=e;a[f+"sUntil"]=e;a[f+"sSince"]=g;a[f+"sFromNow"]=g;a["add"+h+"s"]=function(i){var m={};m[f]=i;return this.advance(m)};ba(f,c);d<3&&["Last","This","Next"].each(function(i){a["is"+i+h]=function(){return this.is(i+" "+f)}});if(d<4){a["beginningOf"+h]=function(){var i= {};switch(f){case "year":i.year=this.getFullYear();break;case "month":i.month=this.getMonth();break;case "day":i.day=this.getDate();break;case "week":i.weekday=0}return this.set(i,j)};a["endOf"+h]=function(){var i={hours:23,minutes:59,seconds:59,milliseconds:999};switch(f){case "year":i.month=11;i.day=31;break;case "month":i.day=this.daysInMonth();break;case "week":i.weekday=6}return this.set(i,j)}}});s.extend(a)})(); (function(){C=G.clone().removeAt(2);D=G.clone().reverse();var a="\\d{1,2}|"+English.months.join("|");E.each(function(b){s.addFormat(b.src.replace(/\{month\}/,a)+(b.r===k?"":x),b.to.concat(v),"en",b.h)});s.addFormat(w,v)})();(function(){var a={},b=English.weekdays.slice(0,7),d=English.months.slice(0,12);["today","yesterday","tomorrow","weekday","weekend","future","past"].concat(b).concat(d).each(function(e){a["is"+e.capitalize()]=function(){return this.is(e)}});s.extend(a)})(); s.extend({DSTOffset:((new s(2E3,6,1)).getTimezoneOffset()-(new s(2E3,0,1)).getTimezoneOffset())*60*1E3,INTERNATIONAL_TIME:"{h}:{mm}:{ss}",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}"},k,k);})(this);