/* * Sugar Library v1.2.3 * * 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,n=Object,o=Array,p=RegExp,q=Date,r=String,s=Number,t=n.defineProperty&&n.defineProperties;function v(a,b,c,d){var e=b?a.prototype:a;w(a,b,d);x(d,function(f,g){if(typeof c==="function")y(e,f,aa(e[f],g,c));else if(c===h||!e[f])y(e,f,g);a.SugarMethods[f]={e:b,method:g}})} function w(a){if(!a.SugarMethods){y(a,"SugarMethods",{});v(a,k,k,{restore:function(){var b=arguments.length===0,c=z(arguments);x(a.SugarMethods,function(d,e){if(b||A(c,d))y(e.e?a.prototype:a,d,e.method)})},extend:function(b,c,d){a===n&&arguments.length===0?B(D.concat(ba),Object):v(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 y(a,b,c){if(t)n.defineProperty(a,b,{value:c,configurable:h,enumerable:k,writable:h});else a[b]=c}function E(a,b){return n.prototype.hasOwnProperty.call(a,b)}function x(a,b){for(var c in a)E(a,c)&&b.call(a,c,a[c])} function ca(a,b,c){var d=n.prototype.toString.call(a).match(/\[object (\w+)\]/)[1];if(a===b)return a!==0||1/a===1/b;else if(a==j||b==j)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(E(a,e))if(!E(b,e)||!ca(a[e],b[e],c))return k;c.pop();return n.keys(a).length===n.keys(b).length&&a.constructor===b.constructor&&a.length=== b.length}else return F(b,d)&&a.valueOf()===b.valueOf()}function G(a,b,c,d){var e=h;if(a===b)return h;else if(n.isRegExp(b))return p(b).test(a);else if(n.isFunction(b))return b.apply(c,[a].concat(d));else if(n.isObject(b)&&n.isObject(a)){x(b,function(f){G(a[f],b[f],c,d)||(e=k)});return!n.isEmpty(b)&&e}else return n.equal(a,b)}function H(a,b,c,d){return I(b)?a:n.isFunction(b)?b.apply(c,d||[]):n.isFunction(a[b])?a[b].call(a):a[b]}function J(a,b){return Array.prototype.slice.call(a,b)} function z(a,b,c,d){a=J(a);if(c!==k)a=K(a);L(a,b||function(){},d);return a}function da(a,b,c){var d=[],e=a.length,f=b[b.length-1]!==k,g;z(b,function(i){if(n.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 F(a,b){return n.prototype.toString.call(a)==="[object "+b+"]"}function I(a){return a===void 0} function ea(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("][");L(b,function(l){f=!l||l.match(/^\d+$/);if(!i&&n.isArray(a))i=a.length;a[i]||(a[i]=f?[]:{});a=a[i];i=l});if(!i&&f)i=a.length.toString();ea(a,i,c)}else a[b]=c.match(/^[\d.]+$/)?parseFloat(c):c==="true"?h:c==="false"?k:c}function M(a){var b=this;x(a,function(c,d){b[c]=d})}var D=["isObject","isNaN"],ba=["keys","values","each","merge","isEmpty","clone","equal","watch","tap","has"]; function B(a,b){var c={};L(a,function(d){c[d+(d==="equal"?"s":"")]=function(){return Object[d].apply(j,[this].concat(J(arguments)))}});v(b,h,k,c)}v(n,k,h,{watch:function(a,b,c){if(t){var d=a[b];n.defineProperty(a,b,{get:function(){return d},set:function(e){d=c.call(a,b,d,e)},enumerable:h,configurable:h})}}}); v(n,k,k,{extended:function(a){return new M(a)},isObject:function(a){return a==j?k:F(a,"Object")&&a.constructor===n},isNaN:function(a){return n.isNumber(a)&&a.valueOf()!==a.valueOf()},each:function(a,b){b&&x(a,function(c,d){b.call(a,c,d,a)});return a},merge:function(a,b,c,d){var e,f;if(typeof b=="object")for(e in b)if(E(b,e)&&a){f=b[e];if(a[e]!==void 0){if(d===k)continue;if(n.isFunction(d))f=d.call(b,e,a[e],b[e])}if(c===h&&f&&typeof f==="object")if(n.isDate(f))f=new Date(f.getTime());else if(n.isRegExp(f))f= RegExp(f.source,f.getFlags());else{a[e]||(a[e]=o.isArray(f)?[]:{});Object.merge(a[e],b[e],c,d);continue}a[e]=f}return a},isEmpty:function(a){if(a==j||typeof a!="object")return!(a&&a.length>0);return n.keys(a).length==0},equal:function(a,b){return ca(a,b,[])},values:function(a,b){var c=[];x(a,function(d,e){c.push(e);b&&b.call(a,e)});return c},clone:function(a,b){if(a==j||typeof a!=="object")return a;if(o.isArray(a))return a.clone();var c=a.constructor===M?new M:{};return n.merge(c,a,b)},fromQueryString:function(a, b){var c=n.extended();a=a&&a.toString?a.toString():"";a.replace(/^.*?\?/,"").unescapeURL().split("&").each(function(d){d=d.split("=");d.length===2&&ea(c,d[0],d[1],b)});return c},tap:function(a,b){H(a,b,a,[a]);return a},has:function(a,b){return E(a,b)}});v(n,k,function(){return arguments.length>1},{keys:function(a,b){if(a==j||typeof a!="object"&&!n.isRegExp(a)&&!n.isFunction(a))throw new TypeError("Object required");var c=[];x(a,function(d,e){c.push(d);b&&b.call(a,d,e)});return c}}); function L(a,b,c,d,e){var f,g;N(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 Q(a,b,c,d){var e=c==="max",f=c==="min",g=e?-Infinity:Infinity,i=[];x(a,function(l){var m=a[l];l=H(m,b,a,d?[m,l.toNumber(),a]:[]);if(l===g)i.push(m);else if(e&&l>g||f&&l0&&!n.isFunction(a[0])},{every:function(a,b){var c=this.length,d=0;for(P(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=n.extended(),e;L(c,function(f,g){e=H(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=[];L(this,function(c){if(n.isArray(c))b.push(c.compact());else if(a&&c)b.push(c);else!a&&c!=j&&!n.isNaN(c)&&b.push(c)});return b},isEmpty:function(){return this.compact().length==0},flatten:function(a){return K(this,a)},sortBy:function(a,b){var c=this.clone();c.sort(function(d,e){var f,g;f=H(d,a,c,[d]);g=H(e,a,c,[e]);if(n.isString(f)&&n.isString(g)){f=f;g=g;var i,l,m,u,C=0,S=0;f=ka(f);g=ka(g);do{m=na(f,C);u=na(g,C);i=m?o.AlphanumericSortOrder.indexOf(m):j;l=u?o.AlphanumericSortOrder.indexOf(u): j;if(i===-1||l===-1){i=f.charCodeAt(C)||j;l=g.charCodeAt(C)||j}m=m!==f.charAt(C);u=u!==g.charAt(C);if(m!==u&&S===0)S=m-u;C+=1}while(i!=j&&l!=j&&i===l);f=i===l?S:ig?1:0;return f*(b?-1:1)});return c},randomize:function(){for(var a=this.concat(),b,c,d=a.length;d;b=parseInt(Math.random()*d),c=a[--d],a[d]=a[b],a[b]=c);return a},zip:function(){var a=J(arguments);return this.map(function(b,c){return[b].concat(a.map(function(d){return c in d?d[c]:j}))})},sample:function(a){var b=[], c=this.clone(),d;for(a>0||(a=1);b.length0?b:b[0]}});v(o,h,k,{all:o.prototype.every,any:o.prototype.some,has:o.prototype.some,insert:o.prototype.add});function R(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 pa(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 T(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()}v(s,k,k,{random:function(a,b){var c;if(arguments.length==1){b=a;a=0}c=Math.min(a||0,I(b)?1:b);return R(Math.random()*(Math.max(a||0,I(b)?1:b)-c)+c)}}); v(s,h,k,{toNumber:function(){return parseFloat(this,10)},abbr:function(a){return T(this,a,"kmbt",0,4)},metric:function(a,b){return T(this,a,"n\u03bcm kMGTPE",4,I(b)?1:b)},bytes:function(a,b){return T(this,a,"kMGTPE",0,I(b)?4:b,h)+"B"},isInteger:function(){return this%1==0},ceil:function(a){return R(this,a,"ceil")},floor:function(a){return R(this,a,"floor")},abs:function(){return Math.abs(this)},pow:function(a){if(I(a))a=1;return Math.pow(this,a)},round:function(a){return R(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 pa(this,a,b,c||1)},downto:function(a,b,c){return pa(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=U(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=n.isNumber(a)?R(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+U(e,"0",0,a-e.length);return d},hex:function(a){return this.pad(a||1,k,16)}});function V(){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 qa(a,b,c,d){var e=J(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 ra=[{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}],sa={},ta={},ua=/[\u0020-\u00A5]|[\uFF61-\uFF9F][\uff9e\uff9f]?/g,va=/[\u3000-\u301C]|[\u301A-\u30FC]|[\uFF01-\uFF60]|[\uFFE0-\uFFE6]/g,wa=/[\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30cf\u30d2\u30d5\u30d8\u30db]/, xa=/[\u30cf\u30d2\u30d5\u30d8\u30db\u30f2]/;function W(a,b,c){sa[b]={type:a,to:c};ta[c]={type:a,to:b}}function U(a,b,c,d){var e=String(b);if(e!=b)e="";n.isNumber(c)||(c=1);n.isNumber(d)||(d=1);return e.repeat(c)+a+e.repeat(d)}var X,Y; v(r,h,k,{escapeRegExp:function(){return p.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 X(this)},decodeBase64:function(){return Y(this)},capitalize:function(a){return this.toLowerCase().replace(a? /^\S|\s\S/g:/^\S/,function(b){return b.toUpperCase()})},pad:function(a,b){return U(this,a,b,b)},padLeft:function(a,b){return U(this,a,b,0)},padRight:function(a,b){return U(this,a,0,b)},repeat:function(a){var b="",c=0;if(n.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;z(arguments.length>0?arguments:[""],function(b){a=a.replace(p("]*>","gi"),"")});return a},removeTags:function(){var a=this;z(arguments.length>0?arguments:["\\S+"],function(b){b=p("<("+b+")[^<>]*(?:\\/>|>.*?<\\/\\1>)","gi");a=a.replace(b,"")});return a},truncate:function(a,b,c){var d;b=I(b)?"...":String(b);a-=b.length;if(this.length<=a)return this.toString();d=b.match(/^(.)\1+$/)?b.slice(0,1):"";for(d=p("[^"+V()+d+"]["+V()+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=n.extended();z(arguments,function(b,c){if(n.isObject(b))a.merge(b);else a[c+1]=b});return this.replace(/\{(.+?)\}/g,function(b,c){return E(a,c)?a[c]:b})}}); v(r,h,function(a){return n.isRegExp(a)},{split:function(a,b){var c=[],d=0;a=p(a).addFlag("g");var e,f,g,i;p.c||(e=RegExp("^"+a.source+"$(?!\\s)",a.getFlags()));if(I(b)||b<0)b=Infinity;else{b|=0;if(!b)return[]}for(;f=a.exec(this);){g=f.index+f[0].length;if(g>d){c.push(this.slice(d,f.index));!p.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}});v(r,h,k,{insert:r.prototype.add});p.c=I(p("()??").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.g)c+="y";return c}v(p,k,k,{escape:function(a){n.isString(a)||(a=String(a));return a.replace(/([\\/'*+?|()\[\]{}.^$])/g,"\\$1")}}); v(p,h,k,{getFlags:function(){return Z(this)},setFlags:function(a){return p(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} v(Function,h,k,{lazy:function(a,b){function c(){if(!(g||f.length==0)){for(var m=Math.max(f.length-l,0);f.length>m;)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=R(i/a);return d},delay:function(a){n.isNumber(a)||(a=0);var b=J(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(n.isArray(this.b))for(;this.b.length>0;)clearTimeout(this.b.shift());return this},after:function(a){var b=this,c=0,d=[];if(n.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 E(a,"memo")?a.memo:a.memo=a.apply(this,arguments)}},fill:function(){var a=this,b=J(arguments);return function(){var c=J(arguments); L(b,function(d,e){if(d!=j||e>=c.length)c.splice(e,0,d)});return a.apply(this,c)}}});(function(){var a={},b;L(["Array","Boolean","Date","Function","Number","String","RegExp"],function(c){b="is"+c;D.push(b);a[b]=function(d){return F(d,c)}});v(Object,k,k,a)})();B(ba,M); (function(a){if(this.btoa){X=this.btoa;Y=this.atob}var b=/[^A-Za-z0-9\+\/\=]/g;X=function(c){var d="",e,f,g,i,l,m,u=0;do{e=c.charCodeAt(u++);f=c.charCodeAt(u++);g=c.charCodeAt(u++);i=e>>2;e=(e&3)<<4|f>>4;l=(f&15)<<2|g>>6;m=g&63;if(isNaN(f))l=m=64;else if(isNaN(g))m=64;d=d+a.charAt(i)+a.charAt(e)+a.charAt(l)+a.charAt(m)}while(u>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(m0)d.digits+=d.numbers.join(""); else d.numbers=x.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];d.durationFormat=d.formats[0].replace(/\s*\{sign\}\s*/,"");return d}function O(a){a||(a=Date.currentLocale);return a!="en"&&a!="en-US"}function M(a){q.merge(this,a)} q.merge(M.prototype,{getMonth:function(a){return q.isNumber(a)?a-1:this.months.findIndex(p(a,"i"))%12},l:function(a){return this.weekdays.findIndex(p(a,"i"))%7},k:function(a){var b;return q.isNumber(a)?a:a&&(b=this.numbers.indexOf(a))!==-1?(b+1)%10:1},o:function(a){var b=this;return a.replace(this.numbers[9],"").each(function(d){return b.k(d)}).join("")},n:function(a){return u.units[this.units.indexOf(a)%8]},r:function(a){return this.j(a,a[2]>0?"futureRelativeFormat":"pastRelativeFormat")},duration:function(a){return this.j(P(a), "durationFormat")},j:function(a,b){var d=a[0],e=a[1],h=a[2],f;if(this.code=="ru"){f=d.toString().from(-1);switch(j){case f==1:f=1;break;case f>=2&&f<=4:f=2;break;default:f=3}}else f=this.hasPlural&&d>1?1:0;f=this.units[f*8+e]||this.units[e];if(this.capitalizeUnit)f=f.capitalize();e=this.modifiers.find(function(g){return g.name=="sign"&&g.value==(h>0?1:-1)});return this[b].assign({num:d,unit:f,sign:e.src})},addFormat:function(a,b,d){var e=[],h=this;d!==k&&h.u.push(a);a=a.replace(/\s+/g,"[-,. ]*"); a=a.replace(/\{(.+?)\}/g,function(f,g){var c=g.match(/\?$/),i=g.match(/(\d)(?:-(\d))?/),m=g.match(/^\d+$/),l=g.replace(/[^a-z]+$/,""),n,r;if(l==="time"){e=e.concat(w);return c?"\\s*(?:(?:t|at |\\s+)(\\d{1,2}):?(\\d{2})?:?(\\d{2})?(?:\\.(\\d{1,6}))?(am|pm)?(?:(Z)|(?:([+-])(\\d{2})(?::?(\\d{2}))?)?)?)?":"(\\d{1,2}):?(\\d{2})?:?(\\d{2})?(?:\\.(\\d{1,6}))?(am|pm)?(?:(Z)|(?:([+-])(\\d{2})(?::?(\\d{2}))?)?)?"}if(m)n=h.optionals[m[0]];else if(h[l])n=h[l];else if(h[l+"s"]){n=h[l+"s"];if(i){r=[];n.forEach(function(X, Y){var N=Y%(h.units?8:n.length);if(N>=i[1]&&N<=(i[2]||i[1]))r.push(X)});n=r}n=n.compact().join("|")}if(m)return"(?:"+n+")?";else{e.push(l);return"("+n+")"+(c?"?":"")}});s.addFormat(a,e,b)}});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={};B.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(z,function(d){return x.indexOf(d)+1||""})} function S(a,b){var d={},e,h;b.each(function(f,g){e=a[g+1];if(!(e===void 0||e==="")){e=R(e.hankaku("n"),f);if(f==="year")d.t=e;if(f==="millisecond")e*=Math.pow(10,3-e.length);h=parseFloat(e);d[f]=!isNaN(h)?h:e.toLowerCase()}});return d} function T(a,b){var d=new s,e=k,h,f,g,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)){I(J(b,j));f=O(b);a=a.trim().replace(/\.+$/,"").replace(/^now$/,"");A.each(function(n){var r=a.match(n.q);if(r){g=n;c=S(r,g.to);h=J(g.p,j);if(c.timestamp){d.setTime(0);c={milliseconds:c.timestamp};return k}if(g.h&&!q.isString(c.month)&&(q.isString(c.date)||f)){l=c.month;c.month=c.date;c.date=l}if(c.year&&c.t.length===2)c.year=((new s).getFullYear()/ 100).round()*100-(c.year/100).round()*100+c.year;if(c.month){c.month=h.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=h.l(c.weekday);if(c.shift&&!c.unit)c.unit="week"}if(c.day&&(l=h.f[c.day])){c.day=l.value;d.resetTime();e=j}else if(c.day&&(l=h.l(c.day))>-1){delete c.day;c.weekday=l}if(c.date&&!q.isNumber(c.date))c.date=h.o(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=h.k(c.num);i=h.n(c.unit);if(c.shift||c.edge){m*=(l=h.f[c.shift])?l.value:0;if(i==="month"&&v(c.date)){d.set({day:c.date},j);delete c.date}if(i==="year"&&v(c.month)){d.set({month:c.month,day:c.date},j);delete c.month;delete c.date}}if(c.sign&&(l=h.f[c.sign]))m*=l.value;if(v(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(g)if(e)d.advance(c);else if(c.utc){d.resetTime();d.setUTC(c,j)}else d.set(c,j);else d=a?new s(a):new s;if(c&&c.edge){l=h.f[c.edge];C.slice(4).each(function(n){if(v(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 U(a,b,d,e){var h,f=J(e,j),g=p(/^[A-Z]/);if(a.isValid())if(Date[b])b=Date[b];else{if(q.isFunction(b)){h=P(a.millisecondsFromNow());b=b.apply(a,h.concat(f))}}else return"Invalid Date";if(!b&&!d)b=f.outputFormat;else if(!b&&d){h=h||P(a.millisecondsFromNow());if(h[1]===0){h[1]=1;h[0]=1}return f.r(h)}E.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(g))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),h=0,f=b=0,g;if(d>0){b=f=d;g=j}if(!e.e.isValid())return k;if(e.set&&e.set.d){F.each(function(i){if(i.a===e.set.d)h=i.c(e.e,a-e.e)-1});if(e.set.edge||e.set.shift)e.e["beginningOf"+e.set.d.capitalize()]();if(!g&&e.set.sign&&e.set.d!="millisecond"){b=50;f=-50}}d=a.getTime();g=e.e.getTime();var c=g+h;if(e.set&&e.set.d=="week"&&(new Date(c+1)).getHours()!=0)c-=s.DSTOffset;return d>=g-b&&d<=c+f} function V(a,b,d,e,h){if(q.isNumber(b)&&h)b={milliseconds:b};else if(q.isNumber(b)){a.setTime(b);return a}if(b.date)b.day=b.date;if(!h&&b.day===void 0&&v(b.weekday)){a["set"+(e?"UTC":"")+"Weekday"](b.weekday);b.day=a["get"+(e?"UTC":"")+"Date"](void 0);delete b.weekday}C.each(function(f){if(v(b[f.a])||v(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)});F.each(function(f){var g=f.a;f=f.method;var c=v(b[g])?b[g]:b[g+"s"];if(c!==void 0){if(h){if(g=== "week"){c=(b.day||0)+c*7;f="Date"}c=c*h+a["get"+f](void 0)}a["set"+(e?"UTC":"")+f](c);if(g==="month"){g=c;if(g<0)g+=12;g%12!=a.getMonth()&&a.setDate(0)}}});return a}function W(a){a.addDays(4-(a.getDay()||7)).resetTime();return 1+(a.daysSince(a.clone().beginningOfYear())/7|0)}function P(a){var b,d=a.abs(),e=d,h=0;C.from(1).each(function(f,g){b=(d/f.c()*10).round()/10|0;if(b>=1){e=b;h=g+1}});return[e,h,a]}function Z(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 Z(arguments)[f](this)}function h(){return Z(arguments)[f](-this)}var f="add"+a.capitalize()+"s",g={};g[a]=d;g[a+"s"]=d;g[a+"Before"]=h;g[a+"sBefore"]=h;g[a+"Ago"]=h;g[a+"sAgo"]=h;g[a+"After"]=e;g[a+"sAfter"]=e;g[a+"FromNow"]=e;g[a+"sFromNow"]=e;t.extend(g)} function $(a){var b=new s(s.UTC(1999,11,31)),d={};if(!b[a]||b[a]()!=="1999-12-31T00:00:00.000Z"){d[a]=function(){return U(this.toUTC(),s.ISO8601_DATETIME)};s.extend(d,j)}}s.extend({create:function(){return Z(arguments)},now:function(){return(new s).getTime()},setLocale:function(a,b){var d=J(a,k,b);if(d){Date.currentLocale=a;I(d);return d}},getLocale:function(a){return J(a,j)},addFormat:function(a,b,d,e){A.push({h:e,p:d,q:p("^"+a+"$","i"),to:b})}},k,k); s.extend({set:function(){var a=Q(arguments);return V(this,a[0],a[1])},setUTC:function(){var a=Q(arguments);return V(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 W(this)},getUTCWeek:function(){return W(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 V(this,a[0],k,k,1,j)},rewind:function(){var a=Q(arguments);return V(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 U(this,a,k,b)},relative:function(a,b){if(q.isString(a)){b=a;a=null}return U(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=u.weekdays.indexOf(a)%7)>-1:return this.getDay()===d;case (d=u.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())}});s.extend({iso:function(){return this.toISOString()},getWeekday:s.prototype.getDay,getUTCWeekday:s.prototype.getUTCDay});t.extend({duration:function(a){return Date.getLocale(a).duration(this)}});u=s.setLocale("en"); (function(){var a={};F.each(function(b,d){function e(i,m){return((s.create(i,m).getTime()-this.getTime())/c).round()}function h(i,m){return((this.getTime()-s.create(i,m).getTime())/c).round()}var f=b.a,g=f.capitalize(),c=b.c();a[f+"sAgo"]=e;a[f+"sUntil"]=e;a[f+"sSince"]=h;a[f+"sFromNow"]=h;a["add"+g+"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+g]=function(){return this.is(i+" "+f)}});if(d<4){a["beginningOf"+g]=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"+g]=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(){B=F.clone().removeAt(2);C=F.clone().reverse();var a="\\d{1,2}|"+u.months.join("|");D.each(function(b){s.addFormat(b.src.replace(/\{month\}/,a)+(b.s===k?"":"\\s*(?:(?:t|at |\\s+)(\\d{1,2}):?(\\d{2})?:?(\\d{2})?(?:\\.(\\d{1,6}))?(am|pm)?(?:(Z)|(?:([+-])(\\d{2})(?::?(\\d{2}))?)?)?)?"),b.to.concat(w),"en",b.h)});s.addFormat("(\\d{1,2}):?(\\d{2})?:?(\\d{2})?(?:\\.(\\d{1,6}))?(am|pm)?(?:(Z)|(?:([+-])(\\d{2})(?::?(\\d{2}))?)?)?",w)})(); (function(){var a={},b=u.weekdays.slice(0,7),d=u.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)})();$("toISOString");$("toJSON"); 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);