HD.util.Date={format:function(B,C){var A=function(){var D=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,E=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,G=/[^-+\dA-Z]/g,F=function(I,H){I=String(I);
H=H||2;
while(I.length<H){I="0"+I
}return I
};
return function(O,Y,U){var K=A;
if(arguments.length==1&&(typeof O=="string"||O instanceof String)&&!/\d/.test(O)){Y=O;
O=undefined
}O=O?new Date(O):new Date();
if(isNaN(O)){throw new SyntaxError("invalid date")
}Y=String(K.masks[Y]||Y||K.masks["default"]);
if(Y.slice(0,4)=="UTC:"){Y=Y.slice(4);
U=true
}var W=U?"getUTC":"get",R=O[W+"Date"](),I=O[W+"Day"](),P=O[W+"Month"](),T=O[W+"FullYear"](),V=O[W+"Hours"](),Q=O[W+"Minutes"](),X=O[W+"Seconds"](),S=O[W+"Milliseconds"](),J=U?0:O.getTimezoneOffset(),N={d:R,dd:F(R),ddd:K.i18n.dayNames[I],dddd:K.i18n.dayNames[I+7],m:P+1,mm:F(P+1),mmm:K.i18n.monthNames[P],mmmm:K.i18n.monthNames[P+12],yy:String(T).slice(2),yyyy:T,h:V%12||12,hh:F(V%12||12),H:V,HH:F(V),M:Q,MM:F(Q),s:X,ss:F(X),l:F(S,3),L:F(S>99?Math.round(S/10):S),t:V<12?"a":"p",tt:V<12?"am":"pm",T:V<12?"A":"P",TT:V<12?"AM":"PM",Z:U?"UTC":(String(O).match(E)||[""]).pop().replace(G,""),o:(J>0?"-":"+")+F(Math.floor(Math.abs(J)/60)*100+Math.abs(J)%60,4),S:["th","st","nd","rd"][R%10>3?0:(R%100-R%10!=10)*R%10]};
return Y.replace(D,function(H){return H in N?N[H]:H.slice(1,H.length-1)
})
}
}();
A.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};
A.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};
return A(B,C)
}};