From 3c95be67f984d7264e883f70ac15e15caf3ef443 Mon Sep 17 00:00:00 2001 From: bojan88 Date: Wed, 7 Sep 2016 10:04:57 +0200 Subject: [PATCH] Added new build --- dist/bundle.min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/bundle.min.js b/dist/bundle.min.js index 9a7f4dc..bb90d3d 100644 --- a/dist/bundle.min.js +++ b/dist/bundle.min.js @@ -32,5 +32,5 @@ if(e.minWidth>a){t.style.width=e.minWidth+"px"}else if(a>e.maxWidth){t.style.wid i=Bt(this)}this._offset=e;this._isUTC=true;if(i!=null){this.add(i,"m")}if(n!==e){if(!t||this._changeInProgress){ln(this,nn(e-n,"m"),1,false)}else if(!this._changeInProgress){this._changeInProgress=true;r.updateOffset(this,true);this._changeInProgress=null}}return this}else{return this._isUTC?n:Bt(this)}}function Ut(e,t){if(e!=null){if(typeof e!=="string"){e=-e}this.utcOffset(e,t);return this}else{return-this.utcOffset()}}function zt(e){return this.utcOffset(0,e)}function qt(e){if(this._isUTC){this.utcOffset(0,e);this._isUTC=false;if(e){this.subtract(Bt(this),"m")}}return this}function Yt(){if(this._tzm){this.utcOffset(this._tzm)}else if(typeof this._i==="string"){this.utcOffset(Ft(de,this._i))}return this}function Gt(e){if(!this.isValid()){return false}e=e?xt(e).utcOffset():0;return(this.utcOffset()-e)%60===0}function Kt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Xt(){if(!p(this._isDSTShifted)){return this._isDSTShifted}var e={};g(e,this);e=St(e);if(e._a){var t=e._isUTC?c(e._a):xt(e._a);this._isDSTShifted=this.isValid()&&$(e._a,t.toArray())>0}else{this._isDSTShifted=false}return this._isDSTShifted}function Zt(){return this.isValid()?!this._isUTC:false}function Qt(){return this.isValid()?this._isUTC:false}function Jt(){return this.isValid()?this._isUTC&&this._offset===0:false}var en=/(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/;var tn=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;function nn(e,t){var n=e,r=null,i,o,a;if(It(e)){n={ms:e._milliseconds,d:e._days,M:e._months}}else if(typeof e==="number"){n={};if(t){n[t]=e}else{n.milliseconds=e}}else if(!!(r=en.exec(e))){i=r[1]==="-"?-1:1;n={y:0,d:E(r[Se])*i,h:E(r[_e])*i,m:E(r[ke])*i,s:E(r[xe])*i,ms:E(r[Ae])*i}}else if(!!(r=tn.exec(e))){i=r[1]==="-"?-1:1;n={y:rn(r[2],i),M:rn(r[3],i),d:rn(r[4],i),h:rn(r[5],i),m:rn(r[6],i),s:rn(r[7],i),w:rn(r[8],i)}}else if(n==null){n={}}else if(typeof n==="object"&&("from"in n||"to"in n)){a=an(xt(n.from),xt(n.to));n={};n.ms=a.milliseconds;n.M=a.months}o=new Pt(n);if(It(e)&&l(e,"_locale")){o._locale=e._locale}return o}nn.fn=Pt.prototype;function rn(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function on(e,t){var n={milliseconds:0,months:0};n.months=t.month()-e.month()+(t.year()-e.year())*12;if(e.clone().add(n.months,"M").isAfter(t)){--n.months}n.milliseconds=+t-+e.clone().add(n.months,"M");return n}function an(e,t){var n;if(!(e.isValid()&&t.isValid())){return{milliseconds:0,months:0}}t=Wt(t,e);if(e.isBefore(t)){n=on(e,t)}else{n=on(t,e);n.milliseconds=-n.milliseconds;n.months=-n.months}return n}function sn(e,t){return function(n,r){var i,o;if(r!==null&&!isNaN(+r)){Qe(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period).");o=n;n=r;r=o}n=typeof n==="string"?+n:n;i=nn(n,r);ln(this,i,e);return this}}function ln(e,t,n,i){var o=t._milliseconds,a=t._days,s=t._months;if(!e.isValid()){return}i=i==null?true:i;if(o){e._d.setTime(+e._d+o*n)}if(a){F(e,"Date",j(e,"Date")+a*n)}if(s){Fe(e,j(e,"Month")+s*n)}if(i){r.updateOffset(e,a||s)}}var un=sn(1,"add");var cn=sn(-1,"subtract");function dn(e,t){var n=e||xt(),r=Wt(n,this).startOf("day"),i=this.diff(r,"days",true),o=i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse";var a=t&&(I(t[o])?t[o]():t[o]);return this.format(a||this.localeData().calendar(o,this,xt(n)))}function fn(){return new w(this)}function hn(e,t){var n=y(e)?e:xt(e);if(!(this.isValid()&&n.isValid())){return false}t=N(!p(t)?t:"millisecond");if(t==="millisecond"){return+this>+n}else{return+n<+this.clone().startOf(t)}}function mn(e,t){var n=y(e)?e:xt(e);if(!(this.isValid()&&n.isValid())){return false}t=N(!p(t)?t:"millisecond");if(t==="millisecond"){return+this<+n}else{return+this.clone().endOf(t)<+n}}function pn(e,t,n){return this.isAfter(e,n)&&this.isBefore(t,n)}function vn(e,t){var n=y(e)?e:xt(e),r;if(!(this.isValid()&&n.isValid())){return false}t=N(t||"millisecond");if(t==="millisecond"){return+this===+n}else{r=+n;return+this.clone().startOf(t)<=r&&r<=+this.clone().endOf(t)}}function gn(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function bn(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function wn(e,t,n){var r,i,o,a;if(!this.isValid()){return NaN}r=Wt(e,this);if(!r.isValid()){return NaN}i=(r.utcOffset()-this.utcOffset())*6e4;t=N(t);if(t==="year"||t==="month"||t==="quarter"){a=yn(this,r);if(t==="quarter"){a=a/3}else if(t==="year"){a=a/12}}else{o=this-r;a=t==="second"?o/1e3:t==="minute"?o/6e4:t==="hour"?o/36e5:t==="day"?(o-i)/864e5:t==="week"?(o-i)/6048e5:o}return n?a:C(a)}function yn(e,t){var n=(t.year()-e.year())*12+(t.month()-e.month()),r=e.clone().add(n,"months"),i,o;if(t-r<0){i=e.clone().add(n-1,"months");o=(t-r)/(r-i)}else{i=e.clone().add(n+1,"months");o=(t-r)/(i-r)}return-(n+o)}r.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";function Cn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function En(){var e=this.clone().utc();if(0o){t=o}return Kn.call(this,e,t,n,r,i)}}function Kn(e,t,n,r,i){var o=mt(e,t,n,r,i),a=lt(o.year,0,o.dayOfYear);this.year(a.getUTCFullYear());this.month(a.getUTCMonth());this.date(a.getUTCDate());return this}Y("Q",0,"Qo","quarter");H("quarter","Q");ve("Q",Q);Ce("Q",function(e,t){t[Te]=(E(e)-1)*3});function Xn(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}Y("w",["ww",2],"wo","week");Y("W",["WW",2],"Wo","isoWeek");H("week","w");H("isoWeek","W");ve("w",re);ve("ww",re,J);ve("W",re);ve("WW",re,J);Ee(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=E(e)});function Zn(e){return pt(e,this._week.dow,this._week.doy).week}var Qn={dow:0,doy:6};function Jn(){return this._week.dow}function er(){return this._week.doy}function tr(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function nr(e){var t=pt(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}Y("D",["DD",2],"Do","date");H("date","D");ve("D",re);ve("DD",re,J);ve("Do",function(e,t){return e?t._ordinalParse:t._ordinalParseLenient});Ce(["D","DD"],Se);Ce("Do",function(e,t){t[Se]=E(e.match(re)[0],10)});var rr=L("Date",true);Y("d",0,"do","day");Y("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});Y("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});Y("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});Y("e",0,0,"weekday");Y("E",0,0,"isoWeekday");H("day","d");H("weekday","e");H("isoWeekday","E");ve("d",re);ve("e",re);ve("E",re);ve("dd",me);ve("ddd",me);ve("dddd",me);Ee(["dd","ddd","dddd"],function(e,t,n,r){var i=n._locale.weekdaysParse(e,r,n._strict);if(i!=null){t.d=i}else{f(n).invalidWeekday=e}});Ee(["d","e","E"],function(e,t,n,r){t[r]=E(e)});function ir(e,t){if(typeof e!=="string"){return e}if(!isNaN(e)){return parseInt(e,10)}e=t.weekdaysParse(e);if(typeof e==="number"){return e}return null}var or="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");function ar(e,t){return o(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]}var sr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");function lr(e){return this._weekdaysShort[e.day()]}var ur="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function cr(e){return this._weekdaysMin[e.day()]}function dr(e,t,n){var r,i,o;if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[]}for(r=0;r<7;r++){i=xt([2e3,1]).day(r);if(n&&!this._fullWeekdaysParse[r]){this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i");this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i");this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")}if(!this._weekdaysParse[r]){o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,"");this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")}if(n&&t==="dddd"&&this._fullWeekdaysParse[r].test(e)){return r}else if(n&&t==="ddd"&&this._shortWeekdaysParse[r].test(e)){return r}else if(n&&t==="dd"&&this._minWeekdaysParse[r].test(e)){return r}else if(!n&&this._weekdaysParse[r].test(e)){return r}}}function fr(e){if(!this.isValid()){return e!=null?this:NaN}var t=this._isUTC?this._d.getUTCDay():this._d.getDay();if(e!=null){e=ir(e,this.localeData());return this.add(e-t,"d")}else{return t}}function hr(e){if(!this.isValid()){return e!=null?this:NaN}var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function mr(e){if(!this.isValid()){return e!=null?this:NaN}return e==null?this.day()||7:this.day(this.day()%7?e:e-7)}Y("DDD",["DDDD",3],"DDDo","dayOfYear");H("dayOfYear","DDD");ve("DDD",ae);ve("DDDD",ee);Ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=E(e)});function pr(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}function vr(){return this.hours()%12||12}Y("H",["HH",2],0,"hour");Y("h",["hh",2],0,vr);Y("hmm",0,0,function(){return""+vr.apply(this)+B(this.minutes(),2)});Y("hmmss",0,0,function(){return""+vr.apply(this)+B(this.minutes(),2)+B(this.seconds(),2)});Y("Hmm",0,0,function(){return""+this.hours()+B(this.minutes(),2)});Y("Hmmss",0,0,function(){return""+this.hours()+B(this.minutes(),2)+B(this.seconds(),2)});function gr(e,t){Y(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}gr("a",true);gr("A",false);H("hour","h");function br(e,t){return t._meridiemParse}ve("a",br);ve("A",br);ve("H",re);ve("h",re);ve("HH",re,J);ve("hh",re,J);ve("hmm",ie);ve("hmmss",oe);ve("Hmm",ie);ve("Hmmss",oe);Ce(["H","HH"],_e);Ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e);n._meridiem=e});Ce(["h","hh"],function(e,t,n){t[_e]=E(e);f(n).bigHour=true});Ce("hmm",function(e,t,n){var r=e.length-2;t[_e]=E(e.substr(0,r));t[ke]=E(e.substr(r));f(n).bigHour=true});Ce("hmmss",function(e,t,n){var r=e.length-4;var i=e.length-2;t[_e]=E(e.substr(0,r));t[ke]=E(e.substr(r,2));t[xe]=E(e.substr(i));f(n).bigHour=true});Ce("Hmm",function(e,t,n){var r=e.length-2;t[_e]=E(e.substr(0,r));t[ke]=E(e.substr(r))});Ce("Hmmss",function(e,t,n){var r=e.length-4;var i=e.length-2;t[_e]=E(e.substr(0,r));t[ke]=E(e.substr(r,2));t[xe]=E(e.substr(i))});function wr(e){return(e+"").toLowerCase().charAt(0)==="p"}var yr=/[ap]\.?m?\.?/i;function Cr(e,t,n){if(e>11){return n?"pm":"PM"}else{return n?"am":"AM"}}var Er=L("Hours",true);Y("m",["mm",2],0,"minute");H("minute","m");ve("m",re);ve("mm",re,J);Ce(["m","mm"],ke);var $r=L("Minutes",false);Y("s",["ss",2],0,"second");H("second","s");ve("s",re);ve("ss",re,J);Ce(["s","ss"],xe);var Mr=L("Seconds",false);Y("S",0,0,function(){return~~(this.millisecond()/100)});Y(0,["SS",2],0,function(){return~~(this.millisecond()/10)});Y(0,["SSS",3],0,"millisecond");Y(0,["SSSS",4],0,function(){return this.millisecond()*10});Y(0,["SSSSS",5],0,function(){return this.millisecond()*100});Y(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});Y(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});Y(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});Y(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});H("millisecond","ms");ve("S",ae,Q);ve("SS",ae,J);ve("SSS",ae,ee);var Tr;for(Tr="SSSS";Tr.length<=9;Tr+="S"){ve(Tr,ue)}function Sr(e,t){t[Ae]=E(("0."+e)*1e3)}for(Tr="S";Tr.length<=9;Tr+="S"){Ce(Tr,Sr)}var _r=L("Milliseconds",false);Y("z",0,0,"zoneAbbr");Y("zz",0,0,"zoneName");function kr(){return this._isUTC?"UTC":""}function xr(){return this._isUTC?"Coordinated Universal Time":""}var Ar=w.prototype;Ar.add=un;Ar.calendar=dn;Ar.clone=fn;Ar.diff=wn;Ar.endOf=On;Ar.format=$n;Ar.from=Mn;Ar.fromNow=Tn;Ar.to=Sn;Ar.toNow=_n;Ar.get=W;Ar.invalidAt=Wn;Ar.isAfter=hn;Ar.isBefore=mn;Ar.isBetween=pn;Ar.isSame=vn;Ar.isSameOrAfter=gn;Ar.isSameOrBefore=bn;Ar.isValid=jn;Ar.lang=xn;Ar.locale=kn;Ar.localeData=An;Ar.max=Rt;Ar.min=At;Ar.parsingFlags=Fn;Ar.set=W;Ar.startOf=Rn;Ar.subtract=cn;Ar.toArray=Pn;Ar.toObject=In;Ar.toDate=Nn;Ar.toISOString=En;Ar.toJSON=Ln;Ar.toString=Cn;Ar.unix=Hn;Ar.valueOf=Dn;Ar.creationData=Bn;Ar.year=dt;Ar.isLeapYear=ft;Ar.weekYear=Un;Ar.isoWeekYear=zn;Ar.quarter=Ar.quarters=Xn;Ar.month=We;Ar.daysInMonth=Be;Ar.week=Ar.weeks=tr;Ar.isoWeek=Ar.isoWeeks=nr;Ar.weeksInYear=Yn;Ar.isoWeeksInYear=qn;Ar.date=rr;Ar.day=Ar.days=fr;Ar.weekday=hr;Ar.isoWeekday=mr;Ar.dayOfYear=pr;Ar.hour=Ar.hours=Er;Ar.minute=Ar.minutes=$r;Ar.second=Ar.seconds=Mr;Ar.millisecond=Ar.milliseconds=_r;Ar.utcOffset=Vt;Ar.utc=zt;Ar.local=qt;Ar.parseZone=Yt;Ar.hasAlignedHourOffset=Gt;Ar.isDST=Kt;Ar.isDSTShifted=Xt;Ar.isLocal=Zt;Ar.isUtcOffset=Qt;Ar.isUtc=Jt;Ar.isUTC=Jt;Ar.zoneAbbr=kr;Ar.zoneName=xr;Ar.dates=Xe("dates accessor is deprecated. Use date instead.",rr);Ar.months=Xe("months accessor is deprecated. Use month instead",We);Ar.years=Xe("years accessor is deprecated. Use year instead",dt);Ar.zone=Xe("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ut);var Rr=Ar;function Or(e){return xt(e*1e3)}function Dr(){return xt.apply(null,arguments).parseZone()}var Hr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function Nr(e,t,n){var r=this._calendar[e];return I(r)?r.call(t,n):r}var Pr={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Ir(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];if(t||!n){return t}this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)});return this._longDateFormat[e]}var Lr="Invalid date";function jr(){return this._invalidDate}var Fr="%d";var Wr=/\d{1,2}/;function Br(e){return this._ordinal.replace("%d",e)}function Vr(e){return e}var Ur={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function zr(e,t,n,r){var i=this._relativeTime[n];return I(i)?i(e,t,n,r):i.replace(/%d/i,e)}function qr(e,t){var n=this._relativeTime[e>0?"future":"past"];return I(n)?n(t):n.replace(/%s/i,t)}function Yr(e){var t,n;for(n in e){t=e[n];if(I(t)){this[n]=t}else{this["_"+n]=t}}this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}var Gr=M.prototype;Gr._calendar=Hr;Gr.calendar=Nr;Gr._longDateFormat=Pr;Gr.longDateFormat=Ir;Gr._invalidDate=Lr;Gr.invalidDate=jr;Gr._ordinal=Fr;Gr.ordinal=Br;Gr._ordinalParse=Wr;Gr.preparse=Vr;Gr.postformat=Vr;Gr._relativeTime=Ur;Gr.relativeTime=zr;Gr.pastFuture=qr;Gr.set=Yr;Gr.months=Pe;Gr._months=Ne;Gr.monthsShort=Le;Gr._monthsShort=Ie;Gr.monthsParse=je;Gr._monthsRegex=ze;Gr.monthsRegex=qe;Gr._monthsShortRegex=Ve;Gr.monthsShortRegex=Ue;Gr.week=Zn;Gr._week=Qn;Gr.firstDayOfYear=er;Gr.firstDayOfWeek=Jn;Gr.weekdays=ar;Gr._weekdays=or;Gr.weekdaysMin=cr;Gr._weekdaysMin=ur;Gr.weekdaysShort=lr;Gr._weekdaysShort=sr;Gr.weekdaysParse=dr;Gr.isPM=wr;Gr._meridiemParse=yr;Gr.meridiem=Cr;function Kr(e,t,n,r){var i=O();var o=c().set(r,t);return i[n](o,e)}function Xr(e,t,n,r,i){if(typeof e==="number"){t=e;e=undefined}e=e||"";if(t!=null){return Kr(e,t,n,i)}var o;var a=[];for(o=0;o=0&&t>=0&&n>=0||e<=0&&t<=0&&n<=0)){e+=si(ci(n)+t)*864e5;t=0;n=0}r.milliseconds=e%1e3;i=C(e/1e3);r.seconds=i%60;o=C(i/60);r.minutes=o%60;a=C(o/60);r.hours=a%24;t+=C(a/24);l=C(ui(t));n+=l;t-=si(ci(l));s=C(n/12);n%=12;r.days=t;r.months=n;r.years=s;return this}function ui(e){return e*4800/146097}function ci(e){return e*146097/4800}function di(e){var t;var n;var r=this._milliseconds;e=N(e);if(e==="month"||e==="year"){t=this._days+r/864e5;n=this._months+ui(t);return e==="month"?n:n/12}else{t=this._days+Math.round(ci(this._months));switch(e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}}function fi(){return this._milliseconds+this._days*864e5+this._months%12*2592e6+E(this._months/12)*31536e6}function hi(e){return function(){return this.as(e)}}var mi=hi("ms");var pi=hi("s");var vi=hi("m");var gi=hi("h");var bi=hi("d");var wi=hi("w");var yi=hi("M");var Ci=hi("y");function Ei(e){e=N(e);return this[e+"s"]()}function $i(e){return function(){return this._data[e]}}var Mi=$i("milliseconds");var Ti=$i("seconds");var Si=$i("minutes");var _i=$i("hours");var ki=$i("days");var xi=$i("months");var Ai=$i("years");function Ri(){return C(this.days()/7)}var Oi=Math.round;var Di={s:45,m:45,h:22,d:26,M:11};function Hi(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function Ni(e,t,n){var r=nn(e).abs();var i=Oi(r.as("s"));var o=Oi(r.as("m"));var a=Oi(r.as("h"));var s=Oi(r.as("d"));var l=Oi(r.as("M"));var u=Oi(r.as("y"));var c=i0;c[4]=n;return Hi.apply(null,c)}function Pi(e,t){if(Di[e]===undefined){return false}if(t===undefined){return Di[e]}Di[e]=t;return true}function Ii(e){var t=this.localeData();var n=Ni(this,!e,t);if(e){n=t.pastFuture(+this,n)}return t.postformat(n)}var Li=Math.abs;function ji(){var e=Li(this._milliseconds)/1e3;var t=Li(this._days);var n=Li(this._months);var r,i,o;r=C(e/60);i=C(r/60);e%=60;r%=60;o=C(n/12);n%=12;var a=o;var s=n;var l=t;var u=i;var c=r;var d=e;var f=this.asSeconds();if(!f){return"P0D"}return(f<0?"-":"")+"P"+(a?a+"Y":"")+(s?s+"M":"")+(l?l+"D":"")+(u||c||d?"T":"")+(u?u+"H":"")+(c?c+"M":"")+(d?d+"S":"")}var Fi=Pt.prototype;Fi.abs=ri;Fi.add=oi;Fi.subtract=ai;Fi.as=di;Fi.asMilliseconds=mi;Fi.asSeconds=pi;Fi.asMinutes=vi;Fi.asHours=gi;Fi.asDays=bi;Fi.asWeeks=wi;Fi.asMonths=yi;Fi.asYears=Ci;Fi.valueOf=fi;Fi._bubble=li;Fi.get=Ei;Fi.milliseconds=Mi;Fi.seconds=Ti;Fi.minutes=Si;Fi.hours=_i;Fi.days=ki;Fi.weeks=Ri;Fi.months=xi;Fi.years=Ai;Fi.humanize=Ii;Fi.toISOString=ji;Fi.toString=ji;Fi.toJSON=ji;Fi.locale=kn;Fi.localeData=An;Fi.toIsoString=Xe("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ji);Fi.lang=xn;Y("X",0,0,"unix");Y("x",0,0,"valueOf");ve("x",ce);ve("X",he);Ce("X",function(e,t,n){n._d=new Date(parseFloat(e,10)*1e3)});Ce("x",function(e,t,n){n._d=new Date(E(e))});r.version="2.11.1";i(xt);r.fn=Rr;r.min=Dt;r.max=Ht;r.now=Nt;r.utc=c;r.unix=Or;r.months=Zr;r.isDate=a;r.locale=A;r.invalid=m;r.duration=nn;r.isMoment=y;r.weekdays=Jr;r.parseZone=Dr;r.localeData=O;r.isDuration=It;r.monthsShort=Qr;r.weekdaysMin=ti;r.defineLocale=R;r.weekdaysShort=ei;r.normalizeUnits=N;r.relativeTimeThreshold=Pi;r.prototype=Rr;var Wi=r;return Wi})},{}],numeral:[function(t,n,r){"use strict";(function(){var t,r="1.5.3",i={},o="en",a=null,s="0,0",l=typeof n!=="undefined"&&n.exports;function u(e){this._value=e}function c(e,t,n,r){var i=Math.pow(10,t),o,a;a=(n(e*i)/i).toFixed(t);if(r){o=new RegExp("0{1,"+r+"}$");a=a.replace(o,"")}return a}function d(e,t,n){var r;if(t.indexOf("$")>-1){r=h(e,t,n)}else if(t.indexOf("%")>-1){r=m(e,t,n)}else if(t.indexOf(":")>-1){r=p(e,t)}else{r=g(e._value,t,n)}return r}function f(e,t){var n=t,r,s,l,u,c=["KB","MB","GB","TB","PB","EB","ZB","YB"],d=false,f;if(t.indexOf(":")>-1){e._value=v(t)}else{if(t===a){e._value=0}else{if(i[o].delimiters.decimal!=="."){t=t.replace(/\./g,"").replace(i[o].delimiters.decimal,".")}r=new RegExp("[^a-zA-Z]"+i[o].abbreviations.thousand+"(?:\\)|(\\"+i[o].currency.symbol+")?(?:\\))?)?$");s=new RegExp("[^a-zA-Z]"+i[o].abbreviations.million+"(?:\\)|(\\"+i[o].currency.symbol+")?(?:\\))?)?$");l=new RegExp("[^a-zA-Z]"+i[o].abbreviations.billion+"(?:\\)|(\\"+i[o].currency.symbol+")?(?:\\))?)?$");u=new RegExp("[^a-zA-Z]"+i[o].abbreviations.trillion+"(?:\\)|(\\"+i[o].currency.symbol+")?(?:\\))?)?$");for(f=0;f<=c.length;f++){d=t.indexOf(c[f])>-1?Math.pow(1024,f+1):false;if(d){break}}e._value=(d?d:1)*(n.match(r)?Math.pow(10,3):1)*(n.match(s)?Math.pow(10,6):1)*(n.match(l)?Math.pow(10,9):1)*(n.match(u)?Math.pow(10,12):1)*(t.indexOf("%")>-1?.01:1)*((t.split("-").length+Math.min(t.split("(").length-1,t.split(")").length-1))%2?1:-1)*Number(t.replace(/[^0-9\.]+/g,""));e._value=d?Math.ceil(e._value):e._value}}return e._value}function h(e,t,n){var r=t.indexOf("$"),a=t.indexOf("("),s=t.indexOf("-"),l="",u,c;if(t.indexOf(" $")>-1){l=" ";t=t.replace(" $","")}else if(t.indexOf("$ ")>-1){l=" ";t=t.replace("$ ","")}else{t=t.replace("$","")}c=g(e._value,t,n);if(r<=1){if(c.indexOf("(")>-1||c.indexOf("-")>-1){c=c.split("");u=1;if(r-1){c=c.split("");c.splice(-1,0,l+i[o].currency.symbol);c=c.join("")}else{c=c+l+i[o].currency.symbol}}return c}function m(e,t,n){var r="",i,o=e._value*100;if(t.indexOf(" %")>-1){r=" ";t=t.replace(" %","")}else{t=t.replace("%","")}i=g(o,t,n);if(i.indexOf(")")>-1){i=i.split("");i.splice(-1,0,r+"%");i=i.join("")}else{i=i+r+"%"}return i}function p(e){var t=Math.floor(e._value/60/60),n=Math.floor((e._value-t*60*60)/60),r=Math.round(e._value-t*60*60-n*60);return t+":"+(n<10?"0"+n:n)+":"+(r<10?"0"+r:r)}function v(e){var t=e.split(":"),n=0;if(t.length===3){n=n+Number(t[0])*60*60;n=n+Number(t[1])*60;n=n+Number(t[2])}else if(t.length===2){n=n+Number(t[0])*60;n=n+Number(t[1])}return Number(n)}function g(e,t,n){var r=false,s=false,l=false,u="",d=false,f=false,h=false,m=false,p=false,v="",g="",b=Math.abs(e),w=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],y,C,E,$,M,T,S="",_=false;if(e===0&&a!==null){return a}else{if(t.indexOf("(")>-1){r=true;t=t.slice(1,-1)}else if(t.indexOf("+")>-1){s=true;t=t.replace(/\+/g,"")}if(t.indexOf("a")>-1){d=t.indexOf("aK")>=0;f=t.indexOf("aM")>=0;h=t.indexOf("aB")>=0;m=t.indexOf("aT")>=0;p=d||f||h||m;if(t.indexOf(" a")>-1){u=" ";t=t.replace(" a","")}else{t=t.replace("a","")}if(b>=Math.pow(10,12)&&!p||m){u=u+i[o].abbreviations.trillion;e=e/Math.pow(10,12)}else if(b=Math.pow(10,9)&&!p||h){u=u+i[o].abbreviations.billion;e=e/Math.pow(10,9)}else if(b=Math.pow(10,6)&&!p||f){u=u+i[o].abbreviations.million;e=e/Math.pow(10,6)}else if(b=Math.pow(10,3)&&!p||d){u=u+i[o].abbreviations.thousand;e=e/Math.pow(10,3)}}if(t.indexOf("b")>-1){if(t.indexOf(" b")>-1){v=" ";t=t.replace(" b","")}else{t=t.replace("b","")}for(E=0;E<=w.length;E++){y=Math.pow(1024,E);C=Math.pow(1024,E+1);if(e>=y&&e0){e=e/y}break}}}if(t.indexOf("o")>-1){if(t.indexOf(" o")>-1){g=" ";t=t.replace(" o","")}else{t=t.replace("o","")}g=g+i[o].ordinal(e)}if(t.indexOf("[.]")>-1){l=true;t=t.replace("[.]",".")}$=e.toString().split(".")[0];M=t.split(".")[1];T=t.indexOf(",");if(M){if(M.indexOf("[")>-1){M=M.replace("]","");M=M.split("[");S=c(e,M[0].length+M[1].length,n,M[1].length)}else{S=c(e,M.length,n)}$=S.split(".")[0];if(S.split(".")[1].length){S=i[o].delimiters.decimal+S.split(".")[1]}else{S=""}if(l&&Number(S.slice(1))===0){S=""}}else{$=c(e,null,n)}if($.indexOf("-")>-1){$=$.slice(1);_=true}if(T>-1){$=$.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+i[o].delimiters.thousands)}if(t.indexOf(".")===0){$=""}return(r&&_?"(":"")+(!r&&_?"-":"")+(!_&&s?"+":"")+$+S+(g?g:"")+(u?u:"")+(v?v:"")+(r&&_?")":"")}}t=function(e){if(t.isNumeral(e)){e=e.value()}else if(e===0||typeof e==="undefined"){e=0}else if(!Number(e)){e=t.fn.unformat(e)}return new u(Number(e))};t.version=r;t.isNumeral=function(e){return e instanceof u};t.language=function(e,n){if(!e){return o}if(e&&!n){if(!i[e]){throw new Error("Unknown language : "+e)}o=e}if(n||!i[e]){b(e,n)}return t};t.languageData=function(e){if(!e){return i[o]}if(!i[e]){throw new Error("Unknown language : "+e)}return i[e]};t.language("en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return~~(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th"},currency:{symbol:"$"}});t.zeroFormat=function(e){a=typeof e==="string"?e:null};t.defaultFormat=function(e){s=typeof e==="string"?e:"0.0"};t.validate=function(e,n){var r,i,o,a,s,l,u,c;if(typeof e!=="string"){e+="";if(console.warn){console.warn("Numeral.js: Value is not string. It has been co-erced to: ",e)}}e=e.trim();if(e===""){return false}e=e.replace(/^[+-]?/,"");try{u=t.languageData(n)}catch(d){u=t.languageData(t.language())}o=u.currency.symbol;s=u.abbreviations;r=u.delimiters.decimal;if(u.delimiters.thousands==="."){i="\\."}else{i=u.delimiters.thousands}c=e.match(/^[^\d\.\,]+/);if(c!==null){e=e.substr(1);if(c[0]!==o){return false}}c=e.match(/[^\d]+$/);if(c!==null){e=e.slice(0,-1);if(c[0]!==s.thousand&&c[0]!==s.million&&c[0]!==s.billion&&c[0]!==s.trillion){return false}}if(!!e.match(/^\d+$/)){return true}l=new RegExp(i+"{2}");if(!e.match(/[^\d.,]/g)){a=e.split(r);if(a.length>2){return false}else{if(a.length<2){return!!a[0].match(/^\d+.*\d$/)&&!a[0].match(l)}else{if(a[0]===""){return!a[0].match(l)&&!!a[1].match(/^\d+$/)}else if(a[0].length===1){return!!a[0].match(/^\d+$/)&&!a[0].match(l)&&!!a[1].match(/^\d+$/)}else{return!!a[0].match(/^\d+.*\d$/)&&!a[0].match(l)&&!!a[1].match(/^\d+$/)}}}}return false};function b(e,t){i[e]=t}if("function"!==typeof Array.prototype.reduce){Array.prototype.reduce=function(e,t){"use strict";if(null===this||"undefined"===typeof this){throw new TypeError("Array.prototype.reduce called on null or undefined")}if("function"!==typeof e){throw new TypeError(e+" is not a function")}var n,r,i=this.length>>>0,o=false;if(1n;++n){if(this.hasOwnProperty(n)){if(o){r=e(r,this[n],n,this)}else{r=this[n];o=true}}}if(!o){throw new TypeError("Reduce of empty array with no initial value")}return r}}function w(e){var t=e.toString().split(".");if(t.length<2){return 1}return Math.pow(10,t[1].length)}function y(){var e=Array.prototype.slice.call(arguments);return e.reduce(function(e,t){var n=w(e),r=w(t);return n>r?n:r},-Infinity)}t.fn=u.prototype={clone:function(){return t(this)},format:function(e,t){return d(this,e?e:s,t!==undefined?t:Math.round)},unformat:function(e){if(Object.prototype.toString.call(e)==="[object Number]"){return e}return f(this,e?e:s)},value:function(){return this._value},valueOf:function(){return this._value},set:function(e){this._value=Number(e);return this},add:function(e){var t=y.call(null,this._value,e);function n(e,n,r,i){return e+t*n}this._value=[this._value,e].reduce(n,0)/t;return this},subtract:function(e){var t=y.call(null,this._value,e);function n(e,n,r,i){return e-t*n}this._value=[e].reduce(n,this._value*t)/t;return this},multiply:function(e){function t(e,t,n,r){var i=y(e,t);return e*i*(t*i)/(i*i)}this._value=[this._value,e].reduce(t,1);return this},divide:function(e){function t(e,t,n,r){var i=y(e,t);return e*i/(t*i)}this._value=[this._value,e].reduce(t);return this},difference:function(e){return Math.abs(t(this._value).subtract(e).value())}};if(l){n.exports=t}if(typeof ender==="undefined"){this["numeral"]=t}if(typeof e==="function"&&e.amd){e([],function(){return t})}}).call(window)},{}],pikaday:[function(t,n,r){(function(i,o){"use strict";var a;if(typeof r==="object"){try{a=t("moment")}catch(s){}n.exports=o(a)}else if(typeof e==="function"&&e.amd){e(function(e){var t="moment";try{a=e(t)}catch(n){} return o(a)})}else{i.Pikaday=o(i.moment)}})(this,function(e){"use strict";var t=typeof e==="function",n=!!window.addEventListener,r=window.document,i=window.setTimeout,o=function(e,t,r,i){if(n){e.addEventListener(t,r,!!i)}else{e.attachEvent("on"+t,r)}},a=function(e,t,r,i){if(n){e.removeEventListener(t,r,!!i)}else{e.detachEvent("on"+t,r)}},s=function(e,t,n){var i;if(r.createEvent){i=r.createEvent("HTMLEvents");i.initEvent(t,true,false);i=w(i,n);e.dispatchEvent(i)}else if(r.createEventObject){i=r.createEventObject();i=w(i,n);e.fireEvent("on"+t,i)}},l=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},u=function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")!==-1},c=function(e,t){if(!u(e,t)){e.className=e.className===""?t:e.className+" "+t}},d=function(e,t){e.className=l((" "+e.className+" ").replace(" "+t+" "," "))},f=function(e){return/Array/.test(Object.prototype.toString.call(e))},h=function(e){return/Date/.test(Object.prototype.toString.call(e))&&!isNaN(e.getTime())},m=function(e){var t=e.getDay();return t===0||t===6},p=function(e){return e%4===0&&e%100!==0||e%400===0},v=function(e,t){return[31,p(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]},g=function(e){if(h(e))e.setHours(0,0,0,0)},b=function(e,t){return e.getTime()===t.getTime()},w=function(e,t,n){var r,i;for(r in t){i=e[r]!==undefined;if(i&&typeof t[r]==="object"&&t[r]!==null&&t[r].nodeName===undefined){if(h(t[r])){if(n){e[r]=new Date(t[r].getTime())}}else if(f(t[r])){if(n){e[r]=t[r].slice(0)}}else{e[r]=w({},t[r],n)}}else if(n||!i){e[r]=t[r]}}return e},y=function(e){if(e.month<0){e.year-=Math.ceil(Math.abs(e.month)/12);e.month+=12}if(e.month>11){e.year+=Math.floor(Math.abs(e.month)/12);e.month-=12}return e},C={field:null,bound:undefined,position:"bottom left",reposition:true,format:"YYYY-MM-DD",defaultDate:null,setDefaultDate:false,firstDay:0,minDate:null,maxDate:null,yearRange:10,showWeekNumber:false,minYear:0,maxYear:9999,minMonth:undefined,maxMonth:undefined,startRange:null,endRange:null,isRTL:false,yearSuffix:"",showMonthAfterYear:false,numberOfMonths:1,mainCalendar:"left",container:undefined,i18n:{previousMonth:"Previous Month",nextMonth:"Next Month",months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},theme:null,onSelect:null,onOpen:null,onClose:null,onDraw:null},E=function(e,t,n){t+=e.firstDay;while(t>=7){t-=7}return n?e.i18n.weekdaysShort[t]:e.i18n.weekdays[t]},$=function(e){if(e.isEmpty){return''}var t=[];if(e.isDisabled){t.push("is-disabled")}if(e.isToday){t.push("is-today")}if(e.isSelected){t.push("is-selected")}if(e.isInRange){t.push("is-inrange")}if(e.isStartRange){t.push("is-startrange")}if(e.isEndRange){t.push("is-endrange")}return''+'"+""},M=function(e,t,n){var r=new Date(n,0,1),i=Math.ceil(((new Date(n,t,e)-r)/864e5+r.getDay()+1)/7);return''+i+""},T=function(e,t){return""+(t?e.reverse():e).join("")+""},S=function(e){return""+e.join("")+""},_=function(e){var t,n=[];if(e.showWeekNumber){n.push("")}for(t=0;t<7;t++){n.push(''+E(e,t,true)+"")}return""+(e.isRTL?n.reverse():n).join("")+""},k=function(e,t,n,r,i){var o,a,s,l=e._o,u=n===l.minYear,c=n===l.maxYear,d='
',h,m,p=true,v=true;for(s=[],o=0;o<12;o++){s.push('")}h='
'+l.i18n.months[r]+'
";if(f(l.yearRange)){o=l.yearRange[0];a=l.yearRange[1]+1}else{o=n-l.yearRange;a=1+n+l.yearRange}for(s=[];o=l.minYear){s.push('")}}m='
'+n+l.yearSuffix+'
";if(l.showMonthAfterYear){d+=m+h}else{d+=h+m}if(u&&(r===0||l.minMonth>=r)){p=false}if(c&&(r===11||l.maxMonth<=r)){v=false}if(t===0){d+='"}if(t===e._o.numberOfMonths-1){d+='"}return d+="
"},x=function(e,t){return''+_(e)+S(t)+"
"},A=function(a){var s=this,l=s.config(a);s._onMouseDown=function(e){if(!s._v){return}e=e||window.event;var t=e.target||e.srcElement;if(!t){return}if(!u(t,"is-disabled")){if(u(t,"pika-button")&&!u(t,"is-empty")){s.setDate(new Date(t.getAttribute("data-pika-year"),t.getAttribute("data-pika-month"),t.getAttribute("data-pika-day")));if(l.bound){i(function(){s.hide();if(l.field){l.field.blur()}},100)}}else if(u(t,"pika-prev")){s.prevMonth()}else if(u(t,"pika-next")){s.nextMonth()}}if(!u(t,"pika-select")){if(e.preventDefault){e.preventDefault()}else{e.returnValue=false;return false}}else{s._c=true}};s._onChange=function(e){e=e||window.event;var t=e.target||e.srcElement;if(!t){return}if(u(t,"pika-select-month")){s.gotoMonth(t.value)}else if(u(t,"pika-select-year")){s.gotoYear(t.value)}};s._onInputChange=function(n){var r;if(n.firedBy===s){return}if(t){r=e(l.field.value,l.format);r=r&&r.isValid()?r.toDate():null}else{r=new Date(Date.parse(l.field.value))}if(h(r)){s.setDate(r)}if(!s._v){s.show()}};s._onInputFocus=function(){s.show()};s._onInputClick=function(){s.show()};s._onInputBlur=function(){var e=r.activeElement;do{if(u(e,"pika-single")){return}}while(e=e.parentNode);if(!s._c){s._b=i(function(){s.hide()},50)}s._c=false};s._onClick=function(e){e=e||window.event;var t=e.target||e.srcElement,r=t;if(!t){return}if(!n&&u(t,"pika-select")){if(!t.onchange){t.setAttribute("onchange","return;");o(t,"change",s._onChange)}}do{if(u(r,"pika-single")||r===l.trigger){return}}while(r=r.parentNode);if(s._v&&t!==l.trigger&&r!==l.trigger){s.hide()}};s.el=r.createElement("div");s.el.className="pika-single"+(l.isRTL?" is-rtl":"")+(l.theme?" "+l.theme:"");o(s.el,"mousedown",s._onMouseDown,true);o(s.el,"touchend",s._onMouseDown,true);o(s.el,"change",s._onChange);if(l.field){if(l.container){l.container.appendChild(s.el)}else if(l.bound){r.body.appendChild(s.el)}else{l.field.parentNode.insertBefore(s.el,l.field.nextSibling)}o(l.field,"change",s._onInputChange);if(!l.defaultDate){if(t&&l.field.value){l.defaultDate=e(l.field.value,l.format).toDate()}else{l.defaultDate=new Date(Date.parse(l.field.value))}l.setDefaultDate=true}}var c=l.defaultDate;if(h(c)){if(l.setDefaultDate){s.setDate(c,true)}else{s.gotoDate(c)}}else{s.gotoDate(new Date)}if(l.bound){this.hide();s.el.className+=" is-bound";o(l.trigger,"click",s._onInputClick);o(l.trigger,"focus",s._onInputFocus);o(l.trigger,"blur",s._onInputBlur)}else{this.show()}};A.prototype={config:function(e){if(!this._o){this._o=w({},C,true)}var t=w(this._o,e,true);t.isRTL=!!t.isRTL;t.field=t.field&&t.field.nodeName?t.field:null;t.theme=typeof t.theme==="string"&&t.theme?t.theme:null;t.bound=!!(t.bound!==undefined?t.field&&t.bound:t.field);t.trigger=t.trigger&&t.trigger.nodeName?t.trigger:t.field;t.disableWeekends=!!t.disableWeekends;t.disableDayFn=typeof t.disableDayFn==="function"?t.disableDayFn:null;var n=parseInt(t.numberOfMonths,10)||1;t.numberOfMonths=n>4?4:n;if(!h(t.minDate)){t.minDate=false}if(!h(t.maxDate)){t.maxDate=false}if(t.minDate&&t.maxDate&&t.maxDate100){t.yearRange=100}}return t},toString:function(n){return!h(this._d)?"":t?e(this._d).format(n||this._o.format):this._d.toDateString()},getMoment:function(){return t?e(this._d):null},setMoment:function(n,r){if(t&&e.isMoment(n)){this.setDate(n.toDate(),r)}},getDate:function(){return h(this._d)?new Date(this._d.getTime()):null},setDate:function(e,t){if(!e){this._d=null;if(this._o.field){this._o.field.value="";s(this._o.field,"change",{firedBy:this})}return this.draw()}if(typeof e==="string"){e=new Date(Date.parse(e))}if(!h(e)){return}var n=this._o.minDate,r=this._o.maxDate;if(h(n)&&er){e=r}this._d=new Date(e.getTime());g(this._d);this.gotoDate(this._d);if(this._o.field){this._o.field.value=this.toString();s(this._o.field,"change",{firedBy:this})}if(!t&&typeof this._o.onSelect==="function"){this._o.onSelect.call(this,this.getDate())}},gotoDate:function(e){var t=true;if(!h(e)){return}if(this.calendars){var n=new Date(this.calendars[0].year,this.calendars[0].month,1),r=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),i=e.getTime();r.setMonth(r.getMonth()+1);r.setDate(r.getDate()-1);t=i=r){this._y=r;if(!isNaN(a)&&this._m>a){this._m=a}}for(var l=0;l'+k(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year)+this.render(this.calendars[l].year,this.calendars[l].month)+""}this.el.innerHTML=s;if(t.bound){if(t.field.type!=="hidden"){i(function(){t.trigger.focus()},1)}}if(typeof this._o.onDraw==="function"){var u=this;i(function(){u._o.onDraw.call(u)},0)}},adjustPosition:function(){var e,t,n,i,o,a,s,l,u,c;if(this._o.container)return;this.el.style.position="absolute";e=this._o.trigger;t=e;n=this.el.offsetWidth;i=this.el.offsetHeight;o=window.innerWidth||r.documentElement.clientWidth;a=window.innerHeight||r.documentElement.clientHeight;s=window.pageYOffset||r.body.scrollTop||r.documentElement.scrollTop;if(typeof e.getBoundingClientRect==="function"){c=e.getBoundingClientRect();l=c.left+window.pageXOffset;u=c.bottom+window.pageYOffset}else{l=t.offsetLeft;u=t.offsetTop+t.offsetHeight;while(t=t.offsetParent){l+=t.offsetLeft;u+=t.offsetTop}}if(this._o.reposition&&l+n>o||this._o.position.indexOf("right")>-1&&l-n+e.offsetWidth>0){l=l-n+e.offsetWidth}if(this._o.reposition&&u+i>a+s||this._o.position.indexOf("top")>-1&&u-i-e.offsetHeight>0){u=u-i-e.offsetHeight}this.el.style.left=l+"px";this.el.style.top=u+"px"},render:function(e,t){var n=this._o,r=new Date,i=v(e,t),o=new Date(e,t,1).getDay(),a=[],s=[];g(r);if(n.firstDay>0){o-=n.firstDay;if(o<0){o+=7}}var l=i+o,u=l;while(u>7){u-=7}l+=7-u;for(var c=0,d=0;c=i+o,C=n.startRange&&b(n.startRange,f),E=n.endRange&&b(n.endRange,f),S=n.startRange&&n.endRange&&n.startRangen.maxDate||n.disableWeekends&&m(f)||n.disableDayFn&&n.disableDayFn(f),k={day:1+(c-o),month:t,year:e,isSelected:p,isToday:w,isDisabled:_,isEmpty:y,isStartRange:C,isEndRange:E,isInRange:S};s.push($(k));if(++d===7){if(n.showWeekNumber){s.unshift(M(c-o,t,e))}a.push(T(s,n.isRTL));s=[];d=0}}return x(n,a)},isVisible:function(){return this._v},show:function(){if(!this._v){d(this.el,"is-hidden");this._v=true;this.draw();if(this._o.bound){o(r,"click",this._onClick);this.adjustPosition()}if(typeof this._o.onOpen==="function"){this._o.onOpen.call(this)}}},hide:function(){var e=this._v;if(e!==false){if(this._o.bound){a(r,"click",this._onClick)}this.el.style.position="static";this.el.style.left="auto";this.el.style.top="auto";c(this.el,"is-hidden");this._v=false;if(e!==undefined&&typeof this._o.onClose==="function"){this._o.onClose.call(this)}}},destroy:function(){this.hide();a(this.el,"mousedown",this._onMouseDown,true);a(this.el,"touchend",this._onMouseDown,true);a(this.el,"change",this._onChange);if(this._o.field){a(this._o.field,"change",this._onInputChange);if(this._o.bound){a(this._o.trigger,"click",this._onInputClick);a(this._o.trigger,"focus",this._onInputFocus);a(this._o.trigger,"blur",this._onInputBlur)}}if(this.el.parentNode){this.el.parentNode.removeChild(this.el)}}};return A})},{moment:"moment"}],zeroclipboard:[function(t,n,r){(function(t,r){"use strict";var i=t,o=i.document,a=i.navigator,s=i.setTimeout,l=i.clearTimeout,u=i.setInterval,c=i.clearInterval,d=i.getComputedStyle,f=i.encodeURIComponent,h=i.ActiveXObject,m=i.Error,p=i.Number.parseInt||i.parseInt,v=i.Number.parseFloat||i.parseFloat,g=i.Number.isNaN||i.isNaN,b=i.Date.now,w=i.Object.keys,y=i.Object.defineProperty,C=i.Object.prototype.hasOwnProperty,E=i.Array.prototype.slice,$=function(){var e=function(e){return e};if(typeof i.wrap==="function"&&typeof i.unwrap==="function"){try{var t=o.createElement("div");var n=i.unwrap(t);if(t.nodeType===1&&n&&n.nodeType===1){e=i.unwrap}}catch(r){}}return e}();var M=function(e){return E.call(e,0)};var T=function(){var e,t,n,i,o,a,s=M(arguments),l=s[0]||{};for(e=1,t=s.length;e=0){q=s(function(){if(typeof L.deactivated!=="boolean"){L.deactivated=true}if(L.deactivated===true){Ke.emit({type:"error",name:"flash-deactivated"})}},t)}L.overdue=false;xe()}};var le=function(){Ke.clearData();Ke.blur();Ke.emit("destroy");Ae();Ke.off()};var ue=function(e,t){var n;if(typeof e==="object"&&e&&typeof t==="undefined"){n=e;Ke.clearData()}else if(typeof e==="string"&&e){n={};n[e]=t}else{return}for(var r in n){if(typeof r==="string"&&r&&C.call(n,r)&&typeof n[r]==="string"&&n[r]){U[r]=n[r]}}};var ce=function(e){if(typeof e==="undefined"){x(U);z=null}else if(typeof e==="string"&&C.call(U,e)){delete U[e]}};var de=function(e){if(typeof e==="undefined"){return S(U)}else if(typeof e==="string"&&C.call(U,e)){return U[e]}};var fe=function(e){if(!(e&&e.nodeType===1)){return}if(B){je(B,J.activeClass);if(B!==e){je(B,J.hoverClass)}}B=e;Le(e,J.hoverClass);var t=e.getAttribute("title")||J.title;if(typeof t==="string"&&t){var n=ke(L.bridge);if(n){n.setAttribute("title",t)}}var r=J.forceHandCursor===true||Fe(e,"cursor")==="pointer";ze(r);Ue()};var he=function(){var e=ke(L.bridge);if(e){e.removeAttribute("title");e.style.left="0px";e.style.top="-9999px";e.style.width="1px";e.style.height="1px"}if(B){je(B,J.hoverClass);je(B,J.activeClass);B=null}};var me=function(){return B||null};var pe=function(e){return typeof e==="string"&&e&&/^[A-Za-z][A-Za-z0-9_:\-\.]*$/.test(e)};var ve=function(e){var t;if(typeof e==="string"&&e){t=e;e={}}else if(typeof e==="object"&&e&&typeof e.type==="string"&&e.type){t=e.type}if(!t){return}t=t.toLowerCase();if(!e.target&&(/^(copy|aftercopy|_click)$/.test(t)||t==="error"&&e.name==="clipboard-error")){e.target=V}T(e,{type:t,target:e.target||B||null,relatedTarget:e.relatedTarget||null,currentTarget:L&&L.bridge||null,timeStamp:e.timeStamp||b()||null});var n=G[e.type];if(e.type==="error"&&e.name&&n){n=n[e.name]}if(n){e.message=n}if(e.type==="ready"){T(e,{target:null,version:L.version})}if(e.type==="error"){if(Z.test(e.name)){T(e,{target:null,minimumVersion:j})}if(Q.test(e.name)){T(e,{version:L.version})}}if(e.type==="copy"){e.clipboardData={setData:Ke.setData,clearData:Ke.clearData}}if(e.type==="aftercopy"){e=Oe(e,z)}if(e.target&&!e.relatedTarget){e.relatedTarget=ge(e.target)}return be(e)};var ge=function(e){var t=e&&e.getAttribute&&e.getAttribute("data-clipboard-target");return t?o.getElementById(t):null};var be=function(e){if(e&&/^_(?:click|mouse(?:over|out|down|up|move))$/.test(e.type)){var t=e.target;var n=e.type==="_mouseover"&&e.relatedTarget?e.relatedTarget:r;var a=e.type==="_mouseout"&&e.relatedTarget?e.relatedTarget:r;var s=We(t);var l=i.screenLeft||i.screenX||0;var u=i.screenTop||i.screenY||0;var c=o.body.scrollLeft+o.documentElement.scrollLeft;var d=o.body.scrollTop+o.documentElement.scrollTop;var f=s.left+(typeof e._stageX==="number"?e._stageX:0);var h=s.top+(typeof e._stageY==="number"?e._stageY:0);var m=f-c;var p=h-d;var v=l+m;var g=u+p;var b=typeof e.movementX==="number"?e.movementX:0;var w=typeof e.movementY==="number"?e.movementY:0;delete e._stageX;delete e._stageY;T(e,{srcElement:t,fromElement:n,toElement:a,screenX:v,screenY:g,pageX:f,pageY:h,clientX:m,clientY:p,x:m,y:p,movementX:b,movementY:w,offsetX:0,offsetY:0,layerX:0,layerY:0})}return e};var we=function(e){var t=e&&typeof e.type==="string"&&e.type||"";return!/^(?:(?:before)?copy|destroy)$/.test(t)};var ye=function(e,t,n,r){if(r){s(function(){e.apply(t,n)},0)}else{e.apply(t,n)}};var Ce=function(e){if(!(typeof e==="object"&&e&&e.type)){return}var t=we(e);var n=W["*"]||[];var r=W[e.type]||[];var o=n.concat(r);if(o&&o.length){var a,s,l,u,c,d=this;for(a=0,s=o.length;a0){var t=S(e);T(t,{type:"error",name:"clipboard-error"});delete t.success;s(function(){Ke.emit(t)},0)}};var Te=function(e){if(!(e&&typeof e.type==="string"&&e)){return}var t,n=e.target||null,r=n&&n.ownerDocument||o,a={view:r.defaultView||i,canBubble:true,cancelable:true,detail:e.type==="click"?1:0,button:typeof e.which==="number"?e.which-1:typeof e.button==="number"?e.button:r.createEvent?0:1},s=T(a,e);if(!n){return}if(r.createEvent&&n.dispatchEvent){s=[s.type,s.canBubble,s.cancelable,s.view,s.detail,s.screenX,s.screenY,s.clientX,s.clientY,s.ctrlKey,s.altKey,s.shiftKey,s.metaKey,s.button,s.relatedTarget];t=r.createEvent("MouseEvents");if(t.initMouseEvent){t.initMouseEvent.apply(t,s);t._source="js";n.dispatchEvent(t)}}};var Se=function(){var e=J.flashLoadTimeout;if(typeof e==="number"&&e>=0){var t=Math.min(1e3,e/10);var n=J.swfObjectId+"_fallbackContent";Y=u(function(){var e=o.getElementById(n);if(Be(e)){Ve();L.deactivated=null;Ke.emit({type:"error",name:"swf-not-found"})}},t)}};var _e=function(){var e=o.createElement("div");e.id=J.containerId;e.className=J.containerClass;e.style.position="absolute";e.style.left="0px";e.style.top="-9999px";e.style.width="1px";e.style.height="1px";e.style.zIndex=""+qe(J.zIndex);return e};var ke=function(e){var t=e&&e.parentNode;while(t&&t.nodeName==="OBJECT"&&t.parentNode){t=t.parentNode}return t||null};var xe=function(){var e,t=L.bridge,n=ke(t);if(!t){var r=Pe(i.location.host,J);var a=r==="never"?"none":"all";var s=He(T({jsVersion:Ke.version},J));var l=J.swfPath+De(J.swfPath,J);n=_e();var u=o.createElement("div");n.appendChild(u);o.body.appendChild(n);var c=o.createElement("div");var d=L.pluginType==="activex";c.innerHTML='"+(d?'':"")+''+''+''+''+''+'
 
'+"
";t=c.firstChild;c=null;$(t).ZeroClipboard=Ke;n.replaceChild(t,u);Se()}if(!t){t=o[J.swfObjectId];if(t&&(e=t.length)){t=t[e-1]}if(!t&&n){t=n.firstChild}}L.bridge=t||null;return t};var Ae=function(){var e=L.bridge;if(e){var t=ke(e);if(t){if(L.pluginType==="activex"&&"readyState"in e){e.style.display="none";(function n(){if(e.readyState===4){for(var r in e){if(typeof e[r]==="function"){e[r]=null}}if(e.parentNode){e.parentNode.removeChild(e)}if(t.parentNode){t.parentNode.removeChild(t)}}else{s(n,10)}})()}else{if(e.parentNode){e.parentNode.removeChild(e)}if(t.parentNode){t.parentNode.removeChild(t)}}}Ve();L.ready=null;L.bridge=null;L.deactivated=null;F=r}};var Re=function(e){var t={},n={};if(!(typeof e==="object"&&e)){return}for(var r in e){if(r&&C.call(e,r)&&typeof e[r]==="string"&&e[r]){switch(r.toLowerCase()){case"text/plain":case"text":case"air:text":case"flash:text":t.text=e[r];n.text=r;break;case"text/html":case"html":case"air:html":case"flash:html":t.html=e[r];n.html=r;break;case"application/rtf":case"text/rtf":case"rtf":case"richtext":case"air:rtf":case"flash:rtf":t.rtf=e[r];n.rtf=r;break;default:break}}}return{data:t,formatMap:n}};var Oe=function(e,t){if(!(typeof e==="object"&&e&&typeof t==="object"&&t)){return e}var n={};for(var r in e){if(C.call(e,r)){if(r==="errors"){n[r]=e[r]?e[r].slice():[];for(var i=0,o=n[r].length;i0){if(o===1&&i[0]==="*"){return"always"}if(i.indexOf(t)!==-1){if(o===1&&t===r){return"sameDomain"}return"always"}}return"never"}}();var Ie=function(){try{return o.activeElement}catch(e){return null}};var Le=function(e,t){var n,r,i,o=[];if(typeof t==="string"&&t){o=t.split(/\s+/)}if(e&&e.nodeType===1&&o.length>0){if(e.classList){for(n=0,r=o.length;n0){if(e.classList&&e.classList.length>0){for(n=0,r=o.length;n0;var r=v(t.width)>0;var i=v(t.top)>=0;var o=v(t.left)>=0;var a=n&&r&&i&&o;var s=a?null:We(e);var l=t.display!=="none"&&t.visibility!=="collapse"&&(a||!!s&&(n||s.height>0)&&(r||s.width>0)&&(i||s.top>=0)&&(o||s.left>=0));return l};var Ve=function(){l(q);q=0;c(Y);Y=0};var Ue=function(){var e;if(B&&(e=ke(L.bridge))){var t=We(B);T(e.style,{width:t.width+"px",height:t.height+"px",top:t.top+"px",left:t.left+"px",zIndex:""+qe(J.zIndex)})}};var ze=function(e){if(L.ready===true){if(L.bridge&&typeof L.bridge.setHandCursor==="function"){L.bridge.setHandCursor(e)}else{L.ready=false}}};var qe=function(e){if(/^(?:auto|inherit)$/.test(e)){return e}var t;if(typeof e==="number"&&!g(e)){t=e}else if(typeof e==="string"){t=qe(p(e,10))}return typeof t==="number"?t:"auto"};var Ye=function(e){var n,r,i,o=L.sandboxed,a=null;e=e===true;if(I===false){a=false}else{try{r=t.frameElement||null}catch(s){i={name:s.name,message:s.message}}if(r&&r.nodeType===1&&r.nodeName==="IFRAME"){try{a=r.hasAttribute("sandbox")}catch(s){a=null}}else{try{n=document.domain||null}catch(s){n=null}if(n===null||i&&i.name==="SecurityError"&&/(^|[\s\(\[@])sandbox(es|ed|ing|[\s\.,!\)\]@]|$)/.test(i.message.toLowerCase())){a=true}}}L.sandboxed=a;if(o!==a&&!e){Ge(h)}return a};var Ge=function(e){var t,n,r,i=false,o=false,s=false,l="";function u(e){var t=e.match(/[\d]+/g);t.length=3;return t.join(".")}function c(e){return!!e&&(e=e.toLowerCase())&&(/^(pepflashplayer\.dll|libpepflashplayer\.so|pepperflashplayer\.plugin)$/.test(e)||e.slice(-13)==="chrome.plugin")}function d(e){if(e){i=true;if(e.version){l=u(e.version)}if(!l&&e.description){l=u(e.description)}if(e.filename){s=c(e.filename)}}}if(a.plugins&&a.plugins.length){t=a.plugins["Shockwave Flash"];d(t);if(a.plugins["Shockwave Flash 2.0"]){i=true;l="2.0.0.11"}}else if(a.mimeTypes&&a.mimeTypes.length){r=a.mimeTypes["application/x-shockwave-flash"];t=r&&r.enabledPlugin;d(t)}else if(typeof e!=="undefined"){o=true;try{n=new e("ShockwaveFlash.ShockwaveFlash.7");i=true;l=u(n.GetVariable("$version"))}catch(f){try{n=new e("ShockwaveFlash.ShockwaveFlash.6");i=true;l="6.0.21"}catch(h){try{n=new e("ShockwaveFlash.ShockwaveFlash");i=true;l=u(n.GetVariable("$version"))}catch(m){o=false}}}}L.disabled=i!==true;L.outdated=l&&v(l)0;var i=!e.target||r&&n.indexOf(e.target)!==-1;var o=e.relatedTarget&&r&&n.indexOf(e.relatedTarget)!==-1;var a=e.client&&e.client===this;if(!t||!(i||o||a)){return false}return true};var dt=function(e){var t=Ze[this.id];if(!(typeof e==="object"&&e&&e.type&&t)){return}var n=we(e);var r=t&&t.handlers["*"]||[];var o=t&&t.handlers[e.type]||[];var a=r.concat(o);if(a&&a.length){var s,l,u,c,d,f=this;for(s=0,l=a.length;s=0){n.splice(n.indexOf("settings"),1)}if(t){n=n.map(e)}return n},getAvailableHooks:function(t){var n=Handsontable.hooks.getRegistered();if(t){n=n.map(function(t){return"on-"+e(t)})}return n}}}r.$inject=["hotRegisterer"];angular.module("ngHandsontable.services").factory("settingFactory",r)})();(function(){function e(){return{restrict:"EA",scope:true,require:"^hotColumn",link:function(e,t,n,r){var i=n.datarows;r.setColumnOptionList(i)}}}e.$inject=[];angular.module("ngHandsontable.directives").directive("hotAutocomplete",e)})();(function(){function e(e){return{restrict:"EA",require:"^hotTable",scope:{},controller:["$scope",function(e){this.setColumnOptionList=function(t){if(!e.column){e.column={}}var n={};var r=t.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)\s*$/);if(r){n.property=r[1];n.object=r[2]}else{n.object=t.split(",")}e.column.optionList=n}}],compile:function(t,n){var r=this;this.scope=e.trimScopeDefinitionAccordingToAttrs(e.getColumnScopeDefinition(),n);angular.forEach(Object.keys(this.scope),function(e){r.$$isolateBindings[e]={attrName:e,collection:false,mode:e==="data"?"@":"=",optional:false}});return function(t,n,r,i){var o={};angular.forEach(Object.keys(r),function(e){if(e.charAt(0)!=="$"&&r[e]===""){o[e]=true}});e.mergeSettingsFromScope(o,t);if(!t.column){t.column={}}angular.extend(t.column,o);i.setColumnSetting(t.column);t.$on("$destroy",function(){i.removeColumnSetting(t.column)})}}}}e.$inject=["settingFactory"];angular.module("ngHandsontable.directives").directive("hotColumn",e)})();(function(){function e(e,t,n,r){return{restrict:"EA",scope:{},priority:-400,controller:["$scope",function(t){this.setColumnSetting=function(n){if(!t.htSettings){t.htSettings={}}if(!t.htSettings.columns){t.htSettings.columns=[]}t.htSettings.columns.push(n);e.updateHandsontableSettings(t.hotInstance,t.htSettings)};this.removeColumnSetting=function(n){if(t.htSettings.columns.indexOf(n)>-1){t.htSettings.columns.splice(t.htSettings.columns.indexOf(n),1);e.updateHandsontableSettings(t.hotInstance,t.htSettings)}}}],compile:function(i,o){var a=this,s;this.scope=e.trimScopeDefinitionAccordingToAttrs(e.getTableScopeDefinition(),o);s=Object.keys(this.scope);angular.forEach(s,function(e){var t=a.scope[e].charAt(0);a.$$isolateBindings[e]={attrName:a.scope[e].length>1?a.scope[e].substr(1,a.scope[e].length):e,collection:e==="datarows",mode:t,optional:false}});return function(i,o,a){i.settings=r(a.settings)(i.$parent);if(!i.htSettings){i.htSettings={}}angular.forEach(Object.keys(a),function(e){if(e.charAt(0)!=="$"&&a[e]===""){i.htSettings[e]=true}});e.mergeSettingsFromScope(i.htSettings,i);e.mergeHooksFromScope(i.htSettings,i);if(!i.htSettings.data){i.htSettings.data=i.datarows}i.htSettings.dataSchema=i.dataschema;i.htSettings.hotId=a.hotId;i.htSettings.observeDOMVisibility=i.observeDomVisibility;if(i.htSettings.columns){for(var l=0,u=i.htSettings.columns.length;l=0)});i.$watchCollection("datarows",function(t,n){if(n&&n.length===i.htSettings.minSpareRows&&t.length!==i.htSettings.minSpareRows){i.htSettings.data=i.datarows;e.updateHandsontableSettings(i.hotInstance,i.htSettings)}})}}}}e.$inject=["settingFactory","autoCompleteFactory","$rootScope","$parse"];angular.module("ngHandsontable.directives").directive("hotTable",e)})();"use strict";angular.module("picardy.fontawesome",[]).directive("fa",function(){return{restrict:"E",template:'',replace:true,link:function(e,t,n){var r={};function i(e,i){var o;n.$observe(e,function(){i=i||"fa-"+e;t.removeClass(r[e]);if(n[e]){o=[i,n[e]].join("-");t.addClass(o);r[e]=o}})}i("name","fa");i("rotate");i("flip");i("stack");n.$observe("size",function(){var e;t.removeClass(r.size);if(n.size==="large"){e="fa-lg"}else if(!isNaN(parseInt(n.size,10))){e="fa-"+n.size+"x"}t.addClass(e);r.size=e});n.$observe("stack",function(){var e;t.removeClass(r.stack);if(n.stack==="large"){e="fa-stack-lg"}else if(!isNaN(parseInt(n.stack,10))){e="fa-stack-"+n.stack+"x"}t.addClass(e);r.stack=e});function o(e,r){var i;n.$observe(e,function(){r=r||"fa-"+e;i=e in n&&n[e]!=="false"&&n[e]!==false;t.toggleClass(r,i)})}o("border");o("fw");o("inverse");o("spin");t.toggleClass("fa-li",t.parent()&&t.parent().prop("tagName")==="LI"&&t.parent().parent()&&t.parent().parent().hasClass("fa-ul")&&t.parent().children()[0]===t[0]&&n.list!=="false"&&n.list!==false);n.$observe("alt",function(){var e=n.alt,r=t.next(),i="fa-alt-text";if(e){t.removeAttr("alt");if(!r||!r.hasClass(i)){t.after('');r=t.next()}r.text(e)}else if(r&&r.hasClass(i)){r.remove()}})}}}).directive("faStack",function(){return{restrict:"E",transclude:true,template:'',replace:true,link:function(e,t,n){var r={};function i(e,i){var o;n.$observe(e,function(){i=i||"fa-"+e;t.removeClass(r[e]);if(n[e]){o=[i,n[e]].join("-");t.addClass(o);r[e]=o}})}i("size");n.$observe("size",function(){var e;t.removeClass(r.size);if(n.size==="large"){e="fa-lg"}else if(!isNaN(parseInt(n.size,10))){e="fa-"+n.size+"x"}t.addClass(e);r.size=e})}}});angular.module("sasHotEditor",["ngRoute","ngMaterial","picardy.fontawesome","h54sDebugWindow","h54sLoginModal","h54sNavbar","ngmTour","sasHotEditor.main"]).config(["$routeProvider",function(e){e.otherwise({redirectTo:"/"})}]);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.h54s=e()}})(function(){var e,t,n;return function r(e,t,n){function i(a,s){if(!t[a]){if(!e[a]){var l=typeof require=="function"&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=t[a]={exports:{}};e[a][0].call(c.exports,function(t){var n=e[a][1][t];return i(n?n:t)},c,c.exports,r,e,t,n)}return t[a].exports}var o=typeof require=="function"&&require;for(var a=0;a0){var u=n._pendingCalls.shift();var c=u.sasProgram;var d=u.callback;var f=u.params;if(n.metadataRoot&&u.params._program.indexOf(n.metadataRoot)===-1){u.params._program=n.metadataRoot.replace(/\/?$/,"/")+u.params._program.replace(/^\//,"")}f._debug=n.debug?131:0;n.call(c,null,d,f)}}).error(function(e){throw new r("ajaxError","Remote config file cannot be loaded. Http status code: "+e.status)})}function i(e){if(!e){this._ajax.setTimeout(this.ajaxTimeout);return}else if(typeof e!=="object"){throw new r("argumentError","First parameter should be config object")}for(var t in e){if(e.hasOwnProperty(t)){if((t==="url"||t==="loginUrl")&&e[t].charAt(0)!=="/"){e[t]="/"+e[t]}this[t]=e[t]}}if(e.hostUrl){if(e.hostUrl.charAt(e.hostUrl.length-1)==="/"){e.hostUrl=e.hostUrl.slice(0,-1)}this.hostUrl=e.hostUrl;this.url=e.hostUrl+this.url;this.loginUrl=e.hostUrl+this.loginUrl}this._ajax.setTimeout(this.ajaxTimeout)}};i.version="0.11.0";i.prototype=e("./methods/methods.js");i.Tables=e("./tables/tables.js");e("./ie_polyfills.js")},{"./error.js":1,"./ie_polyfills.js":3,"./methods/ajax.js":5,"./methods/methods.js":6,"./tables/tables.js":8}],3:[function(e,t,n){t.exports=function(){if(!Object.create){Object.create=function(e,t){if(typeof t!=="undefined"){throw"The multiple-argument version of Object.create is not provided by this browser and cannot be shimmed."}function n(){}n.prototype=e;return new n}}if(!Object.keys){Object.keys=function(){"use strict";var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=n.length;return function(i){if(typeof i!=="object"&&(typeof i!=="function"||i===null)){throw new TypeError("Object.keys called on non-object")}var o=[],a,s;for(a in i){if(e.call(i,a)){o.push(a)}}if(t){for(s=0;s>>0;if(i===0){return-1}t=i-1;if(arguments.length>1){t=Number(arguments[1]);if(t!=t){t=0}else if(t!==0&&t!=1/0&&t!=-(1/0)){t=(t>0||-1)*Math.floor(Math.abs(t))}}for(n=t>=0?Math.min(t,i-1):i-Math.abs(t);n>=0;n--){if(n in r&&r[n]===e){return n}}return-1}}}()},{}],4:[function(e,t,n){var r={applicationLogs:[],debugData:[],sasErrors:[],failedRequests:[]};var i={applicationLogs:100,debugData:20,failedRequests:20,sasErrors:100};t.exports.get={getSasErrors:function(){return r.sasErrors},getApplicationLogs:function(){return r.applicationLogs},getDebugData:function(){return r.debugData},getFailedRequests:function(){return r.failedRequests}};t.exports.clear={clearApplicationLogs:function(){r.applicationLogs.splice(0,r.applicationLogs.length)},clearDebugData:function(){r.debugData.splice(0,r.debugData.length)},clearSasErrors:function(){r.sasErrors.splice(0,r.sasErrors.length)},clearFailedRequests:function(){r.failedRequests.splice(0,r.failedRequests.length)},clearAllLogs:function(){this.clearApplicationLogs();this.clearDebugData();this.clearSasErrors();this.clearFailedRequests()}};t.exports.addApplicationLog=function(e,t){if(e==="blank"){return}var n={message:e,time:new Date,sasProgram:t};r.applicationLogs.push(n);if(r.applicationLogs.length>i.applicationLogs){r.applicationLogs.shift()}};t.exports.addDebugData=function(e,t,n,o){r.debugData.push({debugHtml:e,debugText:t,sasProgram:n,params:o,time:new Date});if(r.debugData.length>i.debugData){r.debugData.shift()}};t.exports.addFailedRequest=function(e,t,n){r.failedRequests.push({responseHtml:e,responseText:t,sasProgram:n,time:new Date});if(r.failedRequests.length>i.failedRequests){r.failedRequests.shift()}};t.exports.addSasErrors=function(e){r.sasErrors=r.sasErrors.concat(e);while(r.sasErrors.length>i.sasErrors){r.sasErrors.shift()}}},{}],5:[function(e,t,n){t.exports=function(){var e=3e4;var t;var n=function(n,r,i,o){var a={success:function(){},error:function(){}};var s=XMLHttpRequest||ActiveXObject;var l=new s("MSXML2.XMLHTTP.3.0");l.open(n,r,true);if(!o){l.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}l.onreadystatechange=function(){if(l.readyState===4){clearTimeout(t);if(l.status>=200&&l.status<300){a.success.call(a,l)}else{a.error.call(a,l)}}};if(e>0){t=setTimeout(function(){l.abort()},e)}l.send(i);return{success:function(e){a.success=e;return this},error:function(e){a.error=e;return this}}};var r=function(e){var t=[];for(var n in e){if(e.hasOwnProperty(n)){if(e[n]instanceof Array){for(var r=0,i=e[n].length;r]*>/g);if(t){t.forEach(function(e){var t=e.match(/name="([^"]*)"\svalue="([^"]*)/);a[t[1]]=t[2]})}var r=this.success,s=this.error;o._ajax.post(o.loginUrl,a).success(function(){o._ajax.get(o.url).success(r).error(s)}).error(this.error)}else{i.addApplicationLog("Wrong username or password");n(-1)}}else{n(e.status);o._disableCalls=false;while(o._pendingCalls.length>0){var l=o._pendingCalls.shift();var u=l.sasProgram;var c=l.callback;var d=l.params;d._debug=o.debug?131:0;if(o.retryAfterLogin){o.call(u,null,c,d)}}}}).error(function(e){i.addApplicationLog("Login failed with status code: "+e.status);n(e.status)})};t.exports.logout=function(e){this._ajax.get(this.url,{_action:"logoff"}).success(function(t){e()}).error(function(t){i.addApplicationLog("Logout failed with status code: "+t.status);e(t.status)})};t.exports.setDebugMode=function(){this.debug=true};t.exports.unsetDebugMode=function(){this.debug=false};for(var o in i.get){if(i.get.hasOwnProperty(o)){t.exports[o]=i.get[o]}}for(var o in i.clear){if(i.clear.hasOwnProperty(o)){t.exports[o]=i.clear[o]}}t.exports.onRemoteConfigUpdate=function(e){this.remoteConfigUpdateCallbacks.push(e)};t.exports._utils=e("./utils.js")},{"../error.js":1,"../logs.js":4,"./utils.js":7}],7:[function(e,t,n){var r=e("../logs.js");var i=e("../error.js");var o=/(Stored Process Error|SASStoredProcess)<\/title>[\s\S]*<h2>Stored process not found:.*<\/h2>/;t.exports.parseRes=function(e,t,n){var r=e.match(o);if(r){throw new i("programNotFound","Sas program completed with errors")}return JSON.parse(e.replace(/(\r\n|\r|\n)/g,""))};t.exports.parseDebugRes=function(e,t,n){var a=e.match(o);if(a){throw new i("programNotFound","Sas program completed with errors")}patt=/^(.?--h54s-data-start--)([\S\s]*?)(--h54s-data-end--)/m;a=e.match(patt);var s=e.replace(patt,"");var l=/<body.*>([\s\S]*)<\/body>/;var u=s.match(l);var c=u[1].replace(/<[^>]*>/g,"");c=this.decodeHTMLEntities(c);r.addDebugData(u[1],c,t,n);if(this.parseErrorResponse(e,t)){throw new i("sasError","Sas program completed with errors")}if(!a){throw new i("parseError","Unable to parse response json")}var d=JSON.parse(a[2].replace(/(\r\n|\r|\n)/g,""));return d};t.exports.addFailedResponse=function(e,t){var n=/<script([\s\S]*)\/form>/;var i=/display\s?:\s?none;?\s?/;e=e.replace(n,"").replace(i,"");var o=e.replace(/<[^>]*>/g,"");o=this.decodeHTMLEntities(o);r.addFailedRequest(e,o,t)};t.exports.unescapeValues=function(e){for(var t in e){if(typeof e[t]==="string"){e[t]=decodeURIComponent(e[t])}else if(typeof e==="object"){this.unescapeValues(e[t])}}return e};t.exports.parseErrorResponse=function(e,t){var n=/ERROR(:\s|\s\d\d)(.*\.|.*\n.*\.)/gm;var i=e.match(n);if(!i){return}var o;for(var a=0,s=i.length;a<s;a++){o=i[a].replace(/<[^>]*>/g,"").replace(/(\n|\s{2,})/g," ");o=this.decodeHTMLEntities(o);i[a]={sasProgram:t,message:o,time:new Date}}r.addSasErrors(i);return true};t.exports.decodeHTMLEntities=function(e){var t=document.createElement("span");var n=e.replace(/&(#(?:x[0-9a-f]+|\d+)|[a-z]+);/gi,function(e){t.innerHTML=e;e=t.textContent||t.innerText;return e});return n};t.exports.fromSasDateTime=function(e){var t=new Date("January 1, 1960 00:00:00");var n=e;var r=t.getTimezoneOffset();var i=t.getTime();var o=n*1e3;var a=o+i;var s=new Date;s.setTime(a);var l=s.getTimezoneOffset();var u=(r-l)*60*1e3;var c=a-u;s.setTime(c);return s};t.exports.convertDates=function(e){for(var t in e){if(typeof e[t]==="number"&&(t.indexOf("dt_")===0||t.indexOf("DT_")===0)){e[t]=this.fromSasDateTime(e[t])}else if(typeof e==="object"){this.convertDates(e[t])}}return e};t.exports.needToLogin=function(e){var t=/<form.+action="(.*Logon[^"]*).*>/;var n=t.exec(e.responseText);var r;if(!n){return false}else{var i=n[1].replace(/\?.*/,"");if(i.charAt(0)==="/"){r=this.hostUrl?this.hostUrl+i:i;if(r!==this.loginUrl){this._loginChanged=true;this.loginUrl=r}}else{var o=e.responseURL.lastIndexOf("/")+1;var a=e.responseURL.substr(0,o).replace(/.*\/{2}[^\/]*/,"")+i;r=this.hostUrl?this.hostUrl+a:a;if(r!==this.loginUrl){this._loginChanged=true;this.loginUrl=r}}var s=e.responseText.match(/<input.*"hidden"[^>]*>/g);var l={};if(s){this._isNewLoginPage=true;s.forEach(function(e){var t=e.match(/name="([^"]*)"\svalue="([^"]*)/);l[t[1]]=t[2]});this._aditionalLoginParams=l}return true}}},{"../error.js":1,"../logs.js":4}],8:[function(e,t,n){var r=e("../error.js");function i(e,t,n){this._tables={};this._parameterThreshold=n||3e4;this.add(e,t)}i.prototype.add=function(e,t){if(e&&t){if(!(e instanceof Array)){throw new r("argumentError","First argument must be array")}if(typeof t!=="string"){throw new r("argumentError","Second argument must be string")}if(!isNaN(t[t.length-1])){throw new r("argumentError","Macro name cannot have number at the end")}}else{throw new r("argumentError","Missing arguments")}var n=this._utils.convertTableObject(e,this._parameterThreshold);var i=[];i.push(JSON.stringify(n.spec));for(var o=0;o<n.data.length;o++){var a=JSON.stringify(n.data[o]);i.push(a)}this._tables[t]=i};i.prototype._utils=e("./utils.js");t.exports=i},{"../error.js":1,"./utils.js":9}],9:[function(e,t,n){var r=e("../error.js");var i=e("../logs.js");t.exports.convertTableObject=function(e,t){var n=this;if(t>3e4){console.warn("You should not set threshold larger than 30kb because of the SAS limitations")}if(typeof e!=="object"){throw new r("argumentError","The parameter passed to checkAndGetTypeObject is not an object")}var o=e.length;if(typeof o!=="number"){throw new r("argumentError","The parameter passed to checkAndGetTypeObject does not have a valid length and is most likely not an array")}var a={};function s(e){if(typeof a[e.colName]==="undefined"){a[e.colName]={};a[e.colName].colName=e.colName;a[e.colName].colType=e.colType;a[e.colName].colLength=e.colLength>0?e.colLength:1;return 0}if(a[e.colName].colType!==e.colType){return-1}if(a[e.colName].colLength<e.colLength){a[e.colName].colLength=e.colLength>0?e.colLength:1;return 0}}var l=0;var u=[];var c=0;u[c]=[];var d=0;for(var f=0;f<e.length;f++){u[c][d]={};var h=0;for(var m in e[f]){var p={};var v=e[f][m];if(v===undefined||v===null){continue}if(typeof v==="number"&&isNaN(v)){throw new r("typeError","NaN value in one of the values (columns) is not allowed")}if(v===-Infinity||v===Infinity){throw new r("typeError",v.toString()+" value in one of the values (columns) is not allowed")}if(v===true||v===false){throw new r("typeError","Boolean value in one of the values (columns) is not allowed")}var g=typeof v;var b=v instanceof Date;if(g==="number"){if(v<Number.MIN_SAFE_INTEGER||v>Number.MAX_SAFE_INTEGER){i.addApplicationLog("Object["+f+"]."+m+" - This value exceeds expected numeric precision.")}p.colName=m;p.colType="num";p.colLength=8;p.encodedLength=v.toString().length;u[c][d][m]=v}else if(g==="string"&&!b){p.colName=m;p.colType="string";p.colLength=v.length;if(v===""){u[c][d][m]=" "}else{u[c][d][m]=encodeURIComponent(v).replace(/'/g,"%27")}p.encodedLength=u[c][d][m].length}else if(b){p.colName=m;p.colType="date";p.colLength=8;u[c][d][m]=n.toSasDateTime(v);p.encodedLength=u[c][d][m].toString().length}else if(g=="object"){p.colName=m;p.colType="json";p.colLength=JSON.stringify(v).length;u[c][d][m]=encodeURIComponent(JSON.stringify(v)).replace(/'/g,"%27");p.encodedLength=u[c][d][m].length}h=h+6+m.length+p.encodedLength;if(s(p)==-1){throw new r("typeError","There is a type mismatch in the array between values (columns) of the same name.")}}if(Object.keys(u[c][d]).length===0){u[c].splice(d,1);continue}if(h>t){throw new r("argumentError","Row "+d+" exceeds size limit of 32kb")}else if(l+h>t){var w=u[c].pop();c++;u[c]=[w];d=0;l=h}else{l=l+h}d++}var y=[];for(var C in a){y.push(a[C])}return{spec:y,data:u,jsonLength:l}};t.exports.toSasDateTime=function(e){var t=new Date("January 1, 1960 00:00:00");var n=e;var r=t.getTimezoneOffset();var i=n.getTimezoneOffset();var o=(i-r)*60;var a=t.getTime()/1e3;var s=n.getTime()/1e3;var l=Math.round(s-a-o);return l}},{"../error.js":1,"../logs.js":4}]},{},[2])(2)});angular.module("sasAdapter",["ngToast","ngAnimate","ngSanitize"]).factory("sasAdapter",["$q","$rootScope","ngToast","$timeout","$mdDialog","$mdMedia","$mdToast",function(e,t,n,r,i,o,a){var s=new h54s({isRemoteConfig:true,debug:localStorage.getItem("h54sDebug")&&localStorage.getItem("h54sDebug")==="true"});return{login:function(t,n){var r=e.defer();try{s.login(t,n,function(e){r.resolve(e)})}catch(i){r.reject(i)}return r.promise},call:function(t,l){var u=e.defer();var c=n.create({className:"info",content:"Loading: <b>"+t+"</b>"});s.call(t,l,function(e,s){var l;for(var d=0;d<n.messages.length;d++){if(c===n.messages[d].id){l=n.messages[d];break}}if(e&&(e.type==="notLoggedinError"||e.type==="loginError")){n.dismiss();var f=o("sm")||o("xs");i.show({controller:"LoginModalCtrl",templateUrl:"loginModal/loginModal.html",parent:angular.element(document.body),fullscreen:f,escapeToClose:false});return}if(e){if(l){l.className="danger";l.content="Error loading <b>"+t+"</b>"}else{n.create({className:"danger",content:"Error loading <b>"+t+"</b>"})}u.reject(e)}else{if(l){l.className="success";l.content="Loaded: <b>"+t+"</b>"}else{n.create({className:"success",content:"Loaded: <b>"+t+"</b>"})}if(s.usermessage!=="blank"){a.show(a.simple().textContent(s.usermessage).position("bottom right").hideDelay(1e4).action("OK"))}u.resolve(s)}r(function(){if(l){n.dismiss(l.id)}},1500)});return u.promise},createTable:function(e,t){return new h54s.Tables(e,t)},toggleDebugMode:function(){if(!s.debug){s.setDebugMode();t.debugMode=true;localStorage.setItem("h54sDebug",true)}else{s.unsetDebugMode();t.debugMode=false;localStorage.setItem("h54sDebug",false)}},getDebugData:function(){return s.getDebugData()},getApplicationLogs:function(){return s.getApplicationLogs()},getSasErrors:function(){return s.getSasErrors()},getFailedRequests:function(){return s.getFailedRequests()},setCredentials:function(e,t){return s.setCredentials(e,t)},clearApplicationLogs:function(){s.clearApplicationLogs()},clearDebugData:function(){s.clearDebugData()},clearSasErrors:function(){s.clearSasErrors()},clearFailedRequests:function(){s.clearFailedRequests()},isDebugMode:function(){return s.debug},onRemoteConfigUpdate:function(e){s.onRemoteConfigUpdate(e)}}}]);angular.module("dynamicHandsontable",["ngHandsontable"]).directive("htDynamic",["hotRegisterer","$timeout","$window",function(e,t,n){return{restrict:"E",scope:{spec:"=",data:"=",errorHandler:"=",onDataChange:"=",hotId:"@",width:"@",height:"@"},templateUrl:"dynamicHandsontable/template.html",controller:["$scope","$element",function(r,i){r.hotId="table-"+Math.random().toString(16).slice(2);var o=function(e){switch(e){case 2:return"text";case 1:return"numeric"}};angular.element(n).bind("resize",function(){var e=0;if(!r.spec){return}setTimeout(function(){if(r.width){e=r.width}else{var t=i.parent().parent()[0].clientWidth-32;r.spec.forEach(function(t){e+=parseInt(t.LENGTH)*15});e=Math.min(e,t)}s({width:e})},500)});r.$watch("spec",function(){if(r.spec&&r.data){var n=0;r.columns=r.spec.map(function(e){return{data:e.NAME.toUpperCase(),title:e.NAME}});if(!r.width){var l=i.parent().parent()[0].clientWidth-32;r.spec.forEach(function(e){n+=parseInt(e.LENGTH)*15});n=Math.min(n,l)}s({width:r.width||n});r.settings={autoWrapRow:true,stretchH:"all",width:r.width||n,beforeChange:function(t){if(t.length===0)return;var n=e.getInstance(r.hotId);for(var i=0;i<r.spec.length;i++){for(var a=0;a<t.length;a++){if(t[a][1]===r.spec[i].NAME.toUpperCase()){var s=r.columns.map(function(e){return e.data}).indexOf(t[a][1]);if(o(r.spec[i].TYPE)!=="numeric"){if(t[a][3]&&t[a][3].length>r.spec[i].LENGTH){if(r.spec[i].LENGTH.toString().slice(-1)==="1"){r.errorHandler("Max length of "+r.spec[i].LENGTH+" character exceeded")}else{r.errorHandler("Max length of "+r.spec[i].LENGTH+" characters exceeded")}n.setCellMeta(t[a][0],s,"valid",false)}else{n.setCellMeta(t[a][0],s,"valid",true)}}else{if(isNaN(t[a][3])){r.errorHandler("Only numeric values are accepted");n.setCellMeta(t[a][0],s,"valid",false)}else{n.setCellMeta(t[a][0],s,"valid",true);t[a][3]=t[a][3]&&parseFloat(t[a][3])}if(t[a][3]===""){t[a][3]=null}}}}}},afterChange:function(n,i){if(i==="loadData"){t(function(){a()},0);return}var o=e.getInstance(r.hotId);var s;for(var l=n.length-1;l>=0;l--){if(s===n[l][0]){continue}s=n[l][0];if(s===o.countRows()-1&&!o.isEmptyRow(o.countRows()-1)){a();break}else if(s!==o.countRows()-1&&o.isEmptyRow(n[l][0])){o.alter("remove_row",s)}}s=null;r.onDataChange(n,o)}}}else{r.columns=null}});function a(){var t=e.getInstance(r.hotId);t.alter("insert_row")}function s(t){var n=e.getInstance(r.hotId);if(n){setTimeout(function(){n.updateSettings(t)},0)}}}]}}]);(function(e,t,n){"use strict";function r(e){var n=[];l(n,t.noop).chars(e);return n.join("")}function i(e,n){var r={},i=e.split(","),o;for(o=0;o<i.length;o++)r[n?t.lowercase(i[o]):i[o]]=!0;return r}function o(e,n){function r(e,r,o,s){r=t.lowercase(r);if(E[r])for(;l.last()&&$[l.last()];)i("",l.last());C[r]&&l.last()==r&&i("",r);(s=y[r]||!!s)||l.push(r);var u={};o.replace(f,function(e,t,n,r,i){u[t]=a(n||r||i||"")});n.start&&n.start(r,u,s)}function i(e,r){var i=0,o;if(r=t.lowercase(r))for(i=l.length-1;0<=i&&l[i]!=r;i--);if(0<=i){for(o=l.length-1;o>=i;o--)n.end&&n.end(l[o]);l.length=i}}"string"!==typeof e&&(e=null===e||"undefined"===typeof e?"":""+e);var o,s,l=[],b=e,w;for(l.last=function(){return l[l.length-1]};e;){w="";s=!0;if(l.last()&&M[l.last()])e=e.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+l.last()+"[^>]*>","i"),function(e,t){t=t.replace(p,"$1").replace(g,"$1");n.chars&&n.chars(a(t));return""}),i("",l.last());else{if(0===e.indexOf("<!--"))o=e.indexOf("--",4),0<=o&&e.lastIndexOf("-->",o)===o&&(n.comment&&n.comment(e.substring(4,o)),e=e.substring(o+3),s=!1);else if(v.test(e)){if(o=e.match(v))e=e.replace(o[0],""),s=!1}else if(m.test(e)){if(o=e.match(d))e=e.substring(o[0].length),o[0].replace(d,i),s=!1}else h.test(e)&&((o=e.match(c))?(o[4]&&(e=e.substring(o[0].length),o[0].replace(c,r)),s=!1):(w+="<",e=e.substring(1)));s&&(o=e.indexOf("<"),w+=0>o?e:e.substring(0,o),e=0>o?"":e.substring(o),n.chars&&n.chars(a(w)))}if(e==b)throw u("badparse",e);b=e}i()}function a(e){if(!e)return"";k.innerHTML=e.replace(/</g,"<");return k.textContent}function s(e){return e.replace(/&/g,"&").replace(b,function(e){var t=e.charCodeAt(0);e=e.charCodeAt(1);return"&#"+(1024*(t-55296)+(e-56320)+65536)+";"}).replace(w,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function l(e,n){var r=!1,i=t.bind(e,e.push);return{start:function(e,o,a){e=t.lowercase(e);!r&&M[e]&&(r=e);r||!0!==T[e]||(i("<"),i(e),t.forEach(o,function(r,o){var a=t.lowercase(o),l="img"===e&&"src"===a||"background"===a;!0!==_[a]||!0===S[a]&&!n(r,l)||(i(" "),i(o),i('="'),i(s(r)),i('"'))}),i(a?"/>":">"))},end:function(e){e=t.lowercase(e);r||!0!==T[e]||(i("</"),i(e),i(">"));e==r&&(r=!1)},chars:function(e){r||i(s(e))}}}var u=t.$$minErr("$sanitize"),c=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,d=/^<\/\s*([\w:-]+)[^>]*>/,f=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,h=/^</,m=/^<\//,p=/\x3c!--(.*?)--\x3e/g,v=/<!DOCTYPE([^>]*?)>/i,g=/<!\[CDATA\[(.*?)]]\x3e/g,b=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,w=/([^\#-~| |!])/g,y=i("area,br,col,hr,img,wbr");e=i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr");n=i("rp,rt");var C=t.extend({},n,e),E=t.extend({},e,i("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),$=t.extend({},n,i("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var"));e=i("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use");var M=i("script,style"),T=t.extend({},y,E,$,C,e),S=i("background,cite,href,longdesc,src,usemap,xlink:href");e=i("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width");n=i("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0);var _=t.extend({},S,n,e),k=document.createElement("pre");t.module("ngSanitize",[]).provider("$sanitize",function(){this.$get=["$$sanitizeUri",function(e){return function(t){var n=[];o(t,l(n,function(t,n){return!/^unsafe/.test(e(t,n))}));return n.join("")}}]});t.module("ngSanitize").filter("linky",["$sanitize",function(e){var n=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,i=/^mailto:/i;return function(o,a){function s(e){e&&d.push(r(e))}function l(e,n){d.push("<a ");t.isDefined(a)&&d.push('target="',a,'" ');d.push('href="',e.replace(/"/g,"""),'">');s(n);d.push("</a>")}if(!o)return o;for(var u,c=o,d=[],f,h;u=c.match(n);)f=u[0],u[2]||u[4]||(f=(u[3]?"http://":"mailto:")+f),h=u.index,s(c.substr(0,h)),l(f,u[0].replace(i,"")),c=c.substring(h+u[0].length);s(c);return e(d.join(""))}}])})(window,window.angular);!function(e,t,n){"use strict";t.module("ngToast.provider",[]).provider("ngToast",[function(){function e(e){for(var r=Math.floor(1e3*Math.random());n.indexOf(r)>-1;)r=Math.floor(1e3*Math.random());this.id=r,this.count=0,this.animation=i.animation,this.className=i.className,this.additionalClasses=i.additionalClasses,this.dismissOnTimeout=i.dismissOnTimeout,this.timeout=i.timeout,this.dismissButton=i.dismissButton,this.dismissButtonHtml=i.dismissButtonHtml,this.dismissOnClick=i.dismissOnClick,this.onDismiss=i.onDismiss,this.compileContent=i.compileContent,t.extend(this,e)}var n=[],r=[],i={animation:!1,className:"success",additionalClasses:null,dismissOnTimeout:!0,timeout:4e3,dismissButton:!1,dismissButtonHtml:"×",dismissOnClick:!0,onDismiss:null,compileContent:!1,combineDuplications:!1,horizontalPosition:"right",verticalPosition:"top",maxNumber:0,newestOnTop:!0};this.configure=function(e){t.extend(i,e)},this.$get=[function(){var t=function(e,t){return t="object"==typeof t?t:{content:t},t.className=e,this.create(t)};return{settings:i,messages:n,dismiss:function(e){if(e){for(var t=n.length-1;t>=0;t--)if(n[t].id===e)return n.splice(t,1),void r.splice(r.indexOf(e),1)}else{for(;n.length>0;)n.pop();r=[]}},create:function(t){if(t="object"==typeof t?t:{content:t},i.combineDuplications)for(var o=r.length-1;o>=0;o--){var a=n[o],s=t.className||"success";if(a.content===t.content&&a.className===s)return void n[o].count++}i.maxNumber>0&&r.length>=i.maxNumber&&this.dismiss(r[0]);var l=new e(t);return n[i.newestOnTop?"unshift":"push"](l),r.push(l.id),l.id},success:function(e){return t.call(this,"success",e)},info:function(e){return t.call(this,"info",e)},warning:function(e){return t.call(this,"warning",e)},danger:function(e){return t.call(this,"danger",e)}}}]}])}(window,window.angular),function(e,t){"use strict";t.module("ngToast.directives",["ngToast.provider"]).run(["$templateCache",function(e){e.put("ngToast/toast.html",'<div class="ng-toast ng-toast--{{hPos}} ng-toast--{{vPos}} {{animation ? \'ng-toast--animate-\' + animation : \'\'}}"><ul class="ng-toast__list"><toast-message ng-repeat="message in messages" message="message" count="message.count"><span ng-bind-html="message.content"></span></toast-message></ul></div>'),e.put("ngToast/toastMessage.html",'<li class="ng-toast__message {{message.additionalClasses}}"ng-mouseenter="onMouseEnter()"ng-mouseleave="onMouseLeave()"><div class="alert alert-{{message.className}}" ng-class="{\'alert-dismissible\': message.dismissButton}"><button type="button" class="close" ng-if="message.dismissButton" ng-bind-html="message.dismissButtonHtml" ng-click="!message.dismissOnClick && dismiss()"></button><span ng-if="count" class="ng-toast__message__count">{{count + 1}}</span><span ng-if="!message.compileContent" ng-transclude></span></div></li>')}]).directive("toast",["ngToast","$templateCache","$log",function(e,t,n){return{replace:!0,restrict:"EA",templateUrl:"ngToast/toast.html",compile:function(r,i){if(i.template){var o=t.get(i.template);o?r.replaceWith(o):n.warn("ngToast: Provided template could not be loaded. Please be sure that it is populated before the <toast> element is represented.")}return function(t){t.hPos=e.settings.horizontalPosition,t.vPos=e.settings.verticalPosition,t.animation=e.settings.animation,t.messages=e.messages}}}}]).directive("toastMessage",["$timeout","$compile","ngToast",function(e,t,n){return{replace:!0,transclude:!0,restrict:"EA",scope:{message:"=",count:"="},controller:["$scope","ngToast",function(e,t){e.dismiss=function(){t.dismiss(e.message.id)}}],templateUrl:"ngToast/toastMessage.html",link:function(r,i,o,a,s){i.attr("data-message-id",r.message.id);var l,u=r.message.compileContent;if(r.cancelTimeout=function(){e.cancel(l)},r.startTimeout=function(){r.message.dismissOnTimeout&&(l=e(function(){n.dismiss(r.message.id)},r.message.timeout))},r.onMouseEnter=function(){r.cancelTimeout()},r.onMouseLeave=function(){r.startTimeout()},u){var c;s(r,function(e){c=e,i.children().append(c)}),e(function(){t(c.contents())("boolean"==typeof u?r.$parent:u,function(e){c.replaceWith(e)})},0)}r.startTimeout(),r.message.dismissOnClick&&i.bind("click",function(){n.dismiss(r.message.id),r.$apply()}),r.message.onDismiss&&r.$on("$destroy",r.message.onDismiss.bind(r.message))}}}])}(window,window.angular),function(e,t){"use strict";t.module("ngToast",["ngSanitize","ngToast.directives","ngToast.provider"])}(window,window.angular);angular.module("h54sDebugWindow",["sasAdapter"]).controller("debugWindowCtrl",["$scope","sasAdapter","$rootScope","$sce","$document",function(e,t,n,r,i){e.appLogs=t.getApplicationLogs();e.debugData=t.getDebugData().map(function(e){return{time:e.time,message:r.trustAsHtml(e.debugHtml.replace(/<style.+>(.|\n)+<\/style>/g,"").replace(/<link.+>/g,"")),sasProgram:e.sasProgram}});e.sasErrors=t.getSasErrors();e.failedRequests=t.getFailedRequests().map(function(e){return{time:e.time,message:r.trustAsHtml(e.responseHtml.replace(/<style.+>(.|\n)+<\/style>/g,"").replace(/<link.+>/g,"")),sasProgram:e.sasProgram}});e.closeDebugWindow=function(){n.showDebugWindow=false};e.clearSasErrors=function(){t.clearSasErrors()};e.clearDebugData=function(){t.clearDebugData();e.debugData.length=0};e.clearApplicationLogs=function(){t.clearApplicationLogs()};e.clearFailedRequests=function(){t.clearFailedRequests();e.failedRequests.length=0};function o(t){if(t.keyCode===27){n.showDebugWindow=false;e.$apply()}}n.$watch("showDebugWindow",function(){if(n.showDebugWindow){i.bind("keyup",o)}else{i.unbind("keyup",o)}})}]);angular.module("h54sLoginModal",["sasAdapter","ngMaterial"]).controller("LoginModalCtrl",["$scope","sasAdapter","$mdDialog","$interval",function(e,t,n,r){e.handleLogin=function(){e.loading=true;var i=e.user;var o=e.pass;e.msg="Please wait.";e.error=false;var a=r(function(){e.msg+="."},300);t.login(i,o).then(function(t){if(t===-1){e.msg="Wrong credentials";e.error=true}else if(t===200){e.error=false;n.hide()}else{e.msg="Failed request. Please try again later.";e.error=true}e.loading=false;r.cancel(a)},function(t){e.msg=t.message;e.error=true;e.loading=false;r.cancel(a)})};e.handleKeypress=function(t){if(t.keyCode===13&&!e.loading){e.handleLogin()}};e.$watch("user",function(){e.msg="";e.error=false});e.$watch("pass",function(){e.msg="";e.error=false})}]);angular.module("h54sNavbar",["sasAdapter","h54sDebugWindow"]).controller("NavbarCtrl",["$scope","sasAdapter","$rootScope","$sce","$mdSidenav","ngmTour",function(e,t,n,r,i,o){e.openDebugWindow=function(){n.showDebugWindow=true};e.toggleDebugging=function(){t.toggleDebugMode()};e.debug=t.isDebugMode();t.onRemoteConfigUpdate(function(){e.$apply(function(){e.debug=t.isDebugMode()})});e.openSideMenu=function(){i("left").toggle()};e.showTour=function(){o.start()}}]);angular.module("ngmTour",[]).factory("ngmTour",["$mdMedia","$document",function(e,t){var n,r,i,o,a,s,l,u;function c(){a.remove();u[0].style["transition-delay"]="0s";u[0].style["transition-duration"]="0s";u[0].style.opacity=0;angular.element(i).off("click",f);angular.element(document.querySelectorAll(".md-select-menu-container.md-active md-option")).off("click",h)}function d(){if(i.clientWidth===0&&i.clientHeight===0){l.triggerHandler("click")}var e=i.getBoundingClientRect();o.prepend('<div class="overlay"></div>');a=angular.element(document.querySelector("#tour .overlay"));var t=angular.element(i).attr("ngm-tour-color");if(t){var n=parseInt("0x"+t.substr(1,2)),r=parseInt("0x"+t.substr(3,2)),c=parseInt("0x"+t.substr(5,2));if(window.document.documentMode){a[0].style["box-shadow"]="0px 0px 0px 10000px rgba("+n+", "+r+", "+c+", 0.7)"}else{a[0].style["box-shadow"]="0px 0px 0px 100vmax rgba("+n+", "+r+", "+c+", 0.7)"}}else if(window.document.documentMode){a[0].style["box-shadow"]="0px 0px 0px 10000px rgba(20, 129, 184, 0.7)"}a[0].style.top=e.top+i.clientHeight/2+"px";a[0].style.left=e.left+i.clientWidth/2+"px";a[0].style.width=e.width+2+"px";a[0].style.height=e.height+2+"px";s[0].innerHTML=angular.element(i).attr("ngm-tour-msg");u[0].style.width="auto";if(!angular.element(i).attr("ngm-tour-float")){if(document.body.clientWidth-e.right>e.left){u[0].style.top="50%";u[0].style.left=null;u[0].style.right=(document.body.clientWidth-e.width-e.left-2)/2+"px";u[0].style.transform="translate(50%, -50%)";if(u[0].clientWidth>e.right){u[0].style.width=e.right+"px"}}else{u[0].style.top="50%";u[0].style.right=null;u[0].style.left=(document.body.clientWidth-e.width-(document.body.clientWidth-e.right)-2)/2+"px";u[0].style.transform="translate(-50%, -50%)";if(u[0].clientWidth>e.left){u[0].style.width=e.left+"px"}}u[0].style["transition-delay"]="0.25s";u[0].style["transition-duration"]="0.5s";u[0].style.opacity=1}angular.element(i).on("click",f)}function f(e){var t=e.target;while(t&&t.tagName!=="MD-SELECT"){t=t.parentNode}if(t){setTimeout(function(){var e=document.querySelector(".md-select-menu-container.md-active");var t=e.getBoundingClientRect();a[0].style.top=t.top+t.height/2+"px";a[0].style.left=t.left+t.width/2+"px";a[0].style.width=t.width+2+"px";a[0].style.height=t.height+2+"px";angular.element(document.querySelectorAll(".md-select-menu-container.md-active md-option")).on("click",h)},window.document.documentMode?1e3:100)}}function h(e){var t=i.getBoundingClientRect();a[0].style.top=t.top+i.clientHeight/2+"px";a[0].style.left=t.left+i.clientWidth/2+"px";a[0].style.width=t.width+2+"px";a[0].style.height=t.height+2+"px"}return{start:function(){if(!e("gt-sm")){return}n=Array.prototype.slice.call(document.querySelectorAll("[ngm-tour-step]")).sort(function(e,t){return angular.element(e).attr("ngm-tour-step")-angular.element(t).attr("ngm-tour-step")});r=0;i=n[0];angular.element(document.body).append('<div id="tour"></div>');o=angular.element(document.querySelector("#tour"));o.append('<div class="wrapper"><div class="message"></div><md-button class="md-button button ">Next</md-button></div>');u=angular.element(document.querySelector("#tour .wrapper"));s=angular.element(document.querySelector("#tour .message"));l=angular.element(document.querySelector("#tour .button"));l.on("click",function(){if(l[0].innerHTML==="Close"){o.remove();o=u=s=l=null;window.localStorage.setItem("tourDone",true);return}c();if(++r===n.length-1){l[0].innerHTML="Close"}i=n[r];d()});d()},isDone:function(){if(window.localStorage){return window.localStorage.getItem("tourDone")}else{alert("Your browser does not support Local Storage.\nPlease upgrade to a newer browser")}}}}]);angular.module("ngmTour").directive("ngmTour",["ngmTour",function(e){return{restrict:"A",link:function(){if(!e.isDone()){setTimeout(function(){e.start()},500)}}}}]);angular.module("sasHotEditor.main",["ngRoute","dynamicHandsontable"]).config(["$routeProvider",function(e){e.when("/",{templateUrl:"main/mainPage.html",controller:"MainCtrl"})}]).controller("SideCtrl",["$scope","sasAdapter","$mdDialog","ngmTour",function(e,t,n,r){var i={};e.libs=[];e.$watch("sideData.library",function(t){if(!e.sideData.library){return}setTimeout(function(){e.$parent.tables=i[t]},0);if(i[t]&&i[t].indexOf(e.sideData.table)===-1){e.sideData.table=undefined}});e.$watch("sideData.table",function(){if(!e.sideData.table){e.tableInfo={};return}var r=t.createTable([{libname:e.sideData.library,memname:e.sideData.table}],"memberDetails");t.call("getMemberDetails",r).then(function(t){e.tableInfo=t.memInfo[0]},function(t){n.show(n.alert().clickOutsideToClose(true).title("Error").textContent(t.message||"Unknown error occurred. Please check your internet connection and try again.").ariaLabel("Unknown error").ok("OK"));e.loading=false})});t.call("startupService").then(function(t){if(!r.isDone()){r.start()}t.libsmems.forEach(function(t){if(e.libs.indexOf(t.LIBNAME)===-1){e.libs.push(t.LIBNAME)}if(!i[t.LIBNAME]){i[t.LIBNAME]=[]}if(i[t.LIBNAME].indexOf(t.MEMNAME)===-1){i[t.LIBNAME].push(t.MEMNAME)}})},function(e){n.show(n.alert().clickOutsideToClose(true).title("Error").textContent(e.message||"Unknown error occurred. Please check your internet connection and try again.").ariaLabel("Unknown error").ok("OK"))})}]).controller("MainCtrl",["$scope","sasAdapter","$rootScope","$mdToast","$mdDialog",function(e,t,n,r,i){e.loading=false;e.tables=[];e.sideData={};var o;var a=r.build({hideDelay:1800,position:"bottom right"});e.onHandsontableError=function(e){a.template('<md-toast class="error"><div>'+e+"</div></md-toast>");r.show(a)};e.onHandsontableDataEdit=function(t,n){ -e.tableDataChanged=true;e.tableIsValid=true;n.getCellsMeta().forEach(function(t){if(t&&t.valid===false){e.tableIsValid=false}})};e.open=function(){e.loading=true;o=t.createTable([{libname:e.sideData.library,memname:e.sideData.table}],"data",10*1e3);t.call("getTable",o).then(function(t){e.loading=false;e.htDynamicSpec=t.columnspec;e.htData=t.tabledata;e.tableDataChanged=false},function(t){i.show(i.alert().clickOutsideToClose(true).title("Error").textContent(t.message||"Unknown error occurred. Please check your internet connection and try again.").ariaLabel("Unknown error").ok("OK"));e.loading=false})};e.save=function(){if(e.tableIsValid===false){i.show(i.alert().clickOutsideToClose(true).title("Save Error").textContent("Your data is invalid and cannot be saved. Please check the table for red cells.").ariaLabel("Save Error - invalid table data").ok("OK"))}else{e.loading=true;o.add(e.htData,"tabledata");t.call("writeTable",o).then(function(t){e.loading=false;e.htDynamicSpec=t.columnspec;e.htData=t.tabledata;e.tableDataChanged=false},function(t){i.show(i.alert().clickOutsideToClose(true).title("Error").textContent(t.message||"Unknown error occurred. Please check your internet connection and try again.").ariaLabel("Unknown error").ok("OK"));e.loading=false})}};e.saveAs=function(){if(!e.sideData.library){i.show(i.alert().clickOutsideToClose(true).title("Library not selected").textContent("Please select a target library first").ariaLabel("Library not selected").ok("OK"))}else{i.show({scope:e,preserveScope:true,controller:["$scope",function(e){e.local={};e.local.cancel=function(){delete e.local;i.hide()};e.local.save=function(){if(!e.local.table){return}e.loading=true;o=t.createTable([{libname:e.sideData.library,memname:e.local.table}],"data",10*1e3);o.add(e.htData,"tabledata");t.call("writeTable",o).then(function(t){e.tables.push(e.local.table);e.sideData.table=e.local.table.toUpperCase();delete e.local.table;e.loading=false;e.htDynamicSpec=t.columnspec;e.htData=t.tabledata;e.tableDataChanged=false;delete e.local},function(t){delete e.local;i.show(i.alert().clickOutsideToClose(true).title("Error").textContent(t.message||"Unknown error occurred. Please check your internet connection and try again.").ariaLabel("Unknown error").ok("OK"));e.loading=false});i.hide()}}],templateUrl:"main/saveAsDialog.html"})}};e.delete=function(){var n=i.confirm().title("Delete").textContent("Are you sure you want to delete table "+e.sideData.table+"?").ariaLabel("Delete table").ok("Delete").cancel("Cancel");i.show(n).then(function(){o=t.createTable([{libname:e.sideData.library,memname:e.sideData.table}],"data");t.call("deleteTable",o).then(function(t){for(var n=0;n<e.tables.length;n++){if(e.sideData.table.toLowerCase()===e.tables[n].toLowerCase()){e.tables.splice(n,1);e.sideData.table=null;e.htData=null;e.htDynamicSpec=null;return}}})})};e.onUploadDone=function(t){e.htDynamicSpec=t.columnspec;e.htData=[];var n=false;for(var r=0;r<t.tabledata.length;r++){if(n)break;for(var o in t.tabledata[r]){try{var a=typeof t.tabledata[r][o]!=="string"?t.tabledata[r][o]:unescape(t.tabledata[r][o]).replace(/[^A-Za-z 0-9 \.,\?""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g,"");t.tabledata[r][o]=a}catch(s){console.err(s);i.show(i.alert().clickOutsideToClose(true).title("Error").textContent("The editor doesn't support special characters.").ariaLabel("Error").ok("OK"));n=true;break}}if(!n){e.htData.push(t.tabledata[r]);e.sideData.table=null}}e.loading=false;e.$apply()}}]);angular.module("sasHotEditor.main").directive("ngUpload",["$mdDialog","$compile",function(e,t){return{restrict:"A",templateUrl:"main/dropFile.html",replace:false,transclude:true,scope:{callback:"=ngUpload"},link:function(t,n){t.uploading=false;n.bind("dragenter",function(e){if(t.uploading)return;t.fileOver=true;t.$parent.$apply();e.preventDefault();e.stopPropagation();n[0].style.border="2px dashed #7e97bb";n[0].style.position="relative"});n.bind("dragleave",function(e){if(t.uploading)return;t.fileOver=false;t.$parent.$apply();r()});n.bind("dragover",function(e){e.preventDefault();e.dataTransfer.dropEffect="copy"});n.bind("drop",function(i){i.preventDefault();if(t.uploading)return;t.fileOver=true;t.$parent.$apply();t.uploading=true;i.stopPropagation();var o=new FormData;o.append("_program","/Apps/tableEditor/processUpload");o.append("file",i.dataTransfer.files[0]);r();n[0].style.position="relative";t.uploadProgress=0;var a;if(window.XDomainRequest&&!/MSIE 1/.test(navigator.userAgent)){a=new XDomainRequest("MSXML2.XMLHTTP.3.0")}else if(window.XMLHttpRequest){a=new XMLHttpRequest}a.upload.onprogress=function(e){t.uploadProgress=Math.ceil(e.loaded/e.total*100);t.$apply()};a.onload=function(e){t.uploadProgress=100;r();t.callback(JSON.parse(this.responseText.replace(/(\r\n|\r|\n)/g,"")));t.uploading=false;t.fileOver=false;t.$parent.$apply()};a.onerror=function(n){t.uploading=false;t.fileOver=false;t.$parent.$apply();e.show(e.alert().clickOutsideToClose(true).title("Error").textContent("An error occurred while transferring the file.").ariaLabel("Error").ok("OK"))};a.open("POST","/SASStoredProcess/do");a.send(o)});function r(){n[0].style.border="none";n[0].style.position="static"}}}}]); \ No newline at end of file +i.addApplicationLog(d.logmessage,e);d=a._utils.convertDates(d);f=a._utils.unescapeValues(d);n(undefined,f)}catch(c){if(c instanceof SyntaxError){n(new r("parseError",c.message))}else if(c instanceof r){n(c)}else{var m=new r("unknownError",c.message);m.stack=c.stack;n(m)}}}}}).error(function(t){i.addApplicationLog("Request failed with status: "+t.status,e);n(new r("httpError",t.statusText))})};t.exports.login=function(e,t,n){var o=this;if(!e||!t){throw new r("argumentError","Credentials not set")}if(typeof e!=="string"||typeof t!=="string"){throw new r("argumentError","User and pass parameters must be strings")}if(!n||typeof n!=="function"){throw new r("argumentError","You must provide callback")}var a={_sasapp:o.sasApp,_service:"default",ux:e,px:t,username:e,password:t};for(var s in this._aditionalLoginParams){a[s]=this._aditionalLoginParams[s]}this._ajax.post(this.loginUrl,a).success(function(e){if(o._utils.needToLogin.call(o,e)){if(o._loginChanged||o._isNewLoginPage&&!o._aditionalLoginParams){delete o._loginChanged;var t=e.responseText.match(/<input.*"hidden"[^>]*>/g);if(t){t.forEach(function(e){var t=e.match(/name="([^"]*)"\svalue="([^"]*)/);a[t[1]]=t[2]})}var r=this.success,s=this.error;o._ajax.post(o.loginUrl,a).success(function(){o._ajax.get(o.url).success(r).error(s)}).error(this.error)}else{i.addApplicationLog("Wrong username or password");n(-1)}}else{n(e.status);o._disableCalls=false;while(o._pendingCalls.length>0){var l=o._pendingCalls.shift();var u=l.sasProgram;var c=l.callback;var d=l.params;d._debug=o.debug?131:0;if(o.retryAfterLogin){o.call(u,null,c,d)}}}}).error(function(e){i.addApplicationLog("Login failed with status code: "+e.status);n(e.status)})};t.exports.logout=function(e){this._ajax.get(this.url,{_action:"logoff"}).success(function(t){e()}).error(function(t){i.addApplicationLog("Logout failed with status code: "+t.status);e(t.status)})};t.exports.setDebugMode=function(){this.debug=true};t.exports.unsetDebugMode=function(){this.debug=false};for(var o in i.get){if(i.get.hasOwnProperty(o)){t.exports[o]=i.get[o]}}for(var o in i.clear){if(i.clear.hasOwnProperty(o)){t.exports[o]=i.clear[o]}}t.exports.onRemoteConfigUpdate=function(e){this.remoteConfigUpdateCallbacks.push(e)};t.exports._utils=e("./utils.js")},{"../error.js":1,"../logs.js":4,"./utils.js":7}],7:[function(e,t,n){var r=e("../logs.js");var i=e("../error.js");var o=/<title>(Stored Process Error|SASStoredProcess)<\/title>[\s\S]*<h2>Stored process not found:.*<\/h2>/;t.exports.parseRes=function(e,t,n){var r=e.match(o);if(r){throw new i("programNotFound","Sas program completed with errors")}return JSON.parse(e.replace(/(\r\n|\r|\n)/g,""))};t.exports.parseDebugRes=function(e,t,n){var a=e.match(o);if(a){throw new i("programNotFound","Sas program completed with errors")}patt=/^(.?--h54s-data-start--)([\S\s]*?)(--h54s-data-end--)/m;a=e.match(patt);var s=e.replace(patt,"");var l=/<body.*>([\s\S]*)<\/body>/;var u=s.match(l);var c=u[1].replace(/<[^>]*>/g,"");c=this.decodeHTMLEntities(c);r.addDebugData(u[1],c,t,n);if(this.parseErrorResponse(e,t)){throw new i("sasError","Sas program completed with errors")}if(!a){throw new i("parseError","Unable to parse response json")}var d=JSON.parse(a[2].replace(/(\r\n|\r|\n)/g,""));return d};t.exports.addFailedResponse=function(e,t){var n=/<script([\s\S]*)\/form>/;var i=/display\s?:\s?none;?\s?/;e=e.replace(n,"").replace(i,"");var o=e.replace(/<[^>]*>/g,"");o=this.decodeHTMLEntities(o);r.addFailedRequest(e,o,t)};t.exports.unescapeValues=function(e){for(var t in e){if(typeof e[t]==="string"){e[t]=decodeURIComponent(e[t])}else if(typeof e==="object"){this.unescapeValues(e[t])}}return e};t.exports.parseErrorResponse=function(e,t){var n=/ERROR(:\s|\s\d\d)(.*\.|.*\n.*\.)/gm;var i=e.match(n);if(!i){return}var o;for(var a=0,s=i.length;a<s;a++){o=i[a].replace(/<[^>]*>/g,"").replace(/(\n|\s{2,})/g," ");o=this.decodeHTMLEntities(o);i[a]={sasProgram:t,message:o,time:new Date}}r.addSasErrors(i);return true};t.exports.decodeHTMLEntities=function(e){var t=document.createElement("span");var n=e.replace(/&(#(?:x[0-9a-f]+|\d+)|[a-z]+);/gi,function(e){t.innerHTML=e;e=t.textContent||t.innerText;return e});return n};t.exports.fromSasDateTime=function(e){var t=new Date("January 1, 1960 00:00:00");var n=e;var r=t.getTimezoneOffset();var i=t.getTime();var o=n*1e3;var a=o+i;var s=new Date;s.setTime(a);var l=s.getTimezoneOffset();var u=(r-l)*60*1e3;var c=a-u;s.setTime(c);return s};t.exports.convertDates=function(e){for(var t in e){if(typeof e[t]==="number"&&(t.indexOf("dt_")===0||t.indexOf("DT_")===0)){e[t]=this.fromSasDateTime(e[t])}else if(typeof e==="object"){this.convertDates(e[t])}}return e};t.exports.needToLogin=function(e){var t=/<form.+action="(.*Logon[^"]*).*>/;var n=t.exec(e.responseText);var r;if(!n){return false}else{var i=n[1].replace(/\?.*/,"");if(i.charAt(0)==="/"){r=this.hostUrl?this.hostUrl+i:i;if(r!==this.loginUrl){this._loginChanged=true;this.loginUrl=r}}else{var o=e.responseURL.lastIndexOf("/")+1;var a=e.responseURL.substr(0,o).replace(/.*\/{2}[^\/]*/,"")+i;r=this.hostUrl?this.hostUrl+a:a;if(r!==this.loginUrl){this._loginChanged=true;this.loginUrl=r}}var s=e.responseText.match(/<input.*"hidden"[^>]*>/g);var l={};if(s){this._isNewLoginPage=true;s.forEach(function(e){var t=e.match(/name="([^"]*)"\svalue="([^"]*)/);l[t[1]]=t[2]});this._aditionalLoginParams=l}return true}}},{"../error.js":1,"../logs.js":4}],8:[function(e,t,n){var r=e("../error.js");function i(e,t,n){this._tables={};this._parameterThreshold=n||3e4;this.add(e,t)}i.prototype.add=function(e,t){if(e&&t){if(!(e instanceof Array)){throw new r("argumentError","First argument must be array")}if(typeof t!=="string"){throw new r("argumentError","Second argument must be string")}if(!isNaN(t[t.length-1])){throw new r("argumentError","Macro name cannot have number at the end")}}else{throw new r("argumentError","Missing arguments")}var n=this._utils.convertTableObject(e,this._parameterThreshold);var i=[];i.push(JSON.stringify(n.spec));for(var o=0;o<n.data.length;o++){var a=JSON.stringify(n.data[o]);i.push(a)}this._tables[t]=i};i.prototype._utils=e("./utils.js");t.exports=i},{"../error.js":1,"./utils.js":9}],9:[function(e,t,n){var r=e("../error.js");var i=e("../logs.js");t.exports.convertTableObject=function(e,t){var n=this;if(t>3e4){console.warn("You should not set threshold larger than 30kb because of the SAS limitations")}if(typeof e!=="object"){throw new r("argumentError","The parameter passed to checkAndGetTypeObject is not an object")}var o=e.length;if(typeof o!=="number"){throw new r("argumentError","The parameter passed to checkAndGetTypeObject does not have a valid length and is most likely not an array")}var a={};function s(e){if(typeof a[e.colName]==="undefined"){a[e.colName]={};a[e.colName].colName=e.colName;a[e.colName].colType=e.colType;a[e.colName].colLength=e.colLength>0?e.colLength:1;return 0}if(a[e.colName].colType!==e.colType){return-1}if(a[e.colName].colLength<e.colLength){a[e.colName].colLength=e.colLength>0?e.colLength:1;return 0}}var l=0;var u=[];var c=0;u[c]=[];var d=0;for(var f=0;f<e.length;f++){u[c][d]={};var h=0;for(var m in e[f]){var p={};var v=e[f][m];if(v===undefined||v===null){continue}if(typeof v==="number"&&isNaN(v)){throw new r("typeError","NaN value in one of the values (columns) is not allowed")}if(v===-Infinity||v===Infinity){throw new r("typeError",v.toString()+" value in one of the values (columns) is not allowed")}if(v===true||v===false){throw new r("typeError","Boolean value in one of the values (columns) is not allowed")}var g=typeof v;var b=v instanceof Date;if(g==="number"){if(v<Number.MIN_SAFE_INTEGER||v>Number.MAX_SAFE_INTEGER){i.addApplicationLog("Object["+f+"]."+m+" - This value exceeds expected numeric precision.")}p.colName=m;p.colType="num";p.colLength=8;p.encodedLength=v.toString().length;u[c][d][m]=v}else if(g==="string"&&!b){p.colName=m;p.colType="string";p.colLength=v.length;if(v===""){u[c][d][m]=" "}else{u[c][d][m]=encodeURIComponent(v).replace(/'/g,"%27")}p.encodedLength=u[c][d][m].length}else if(b){p.colName=m;p.colType="date";p.colLength=8;u[c][d][m]=n.toSasDateTime(v);p.encodedLength=u[c][d][m].toString().length}else if(g=="object"){p.colName=m;p.colType="json";p.colLength=JSON.stringify(v).length;u[c][d][m]=encodeURIComponent(JSON.stringify(v)).replace(/'/g,"%27");p.encodedLength=u[c][d][m].length}h=h+6+m.length+p.encodedLength;if(s(p)==-1){throw new r("typeError","There is a type mismatch in the array between values (columns) of the same name.")}}if(Object.keys(u[c][d]).length===0){u[c].splice(d,1);continue}if(h>t){throw new r("argumentError","Row "+d+" exceeds size limit of 32kb")}else if(l+h>t){var w=u[c].pop();c++;u[c]=[w];d=0;l=h}else{l=l+h}d++}var y=[];for(var C in a){y.push(a[C])}return{spec:y,data:u,jsonLength:l}};t.exports.toSasDateTime=function(e){var t=new Date("January 1, 1960 00:00:00");var n=e;var r=t.getTimezoneOffset();var i=n.getTimezoneOffset();var o=(i-r)*60;var a=t.getTime()/1e3;var s=n.getTime()/1e3;var l=Math.round(s-a-o);return l}},{"../error.js":1,"../logs.js":4}]},{},[2])(2)});angular.module("sasAdapter",["ngToast","ngAnimate","ngSanitize"]).factory("sasAdapter",["$q","$rootScope","ngToast","$timeout","$mdDialog","$mdMedia","$mdToast",function(e,t,n,r,i,o,a){var s=new h54s({isRemoteConfig:true,debug:localStorage.getItem("h54sDebug")&&localStorage.getItem("h54sDebug")==="true"});return{login:function(t,n){var r=e.defer();try{s.login(t,n,function(e){r.resolve(e)})}catch(i){r.reject(i)}return r.promise},call:function(t,l){var u=e.defer();var c=n.create({className:"info",content:"Loading: <b>"+t+"</b>"});s.call(t,l,function(e,s){var l;for(var d=0;d<n.messages.length;d++){if(c===n.messages[d].id){l=n.messages[d];break}}if(e&&(e.type==="notLoggedinError"||e.type==="loginError")){n.dismiss();var f=o("sm")||o("xs");i.show({controller:"LoginModalCtrl",templateUrl:"loginModal/loginModal.html",parent:angular.element(document.body),fullscreen:f,escapeToClose:false});return}if(e){if(l){l.className="danger";l.content="Error loading <b>"+t+"</b>"}else{n.create({className:"danger",content:"Error loading <b>"+t+"</b>"})}u.reject(e.type==="programNotFound"&&"You have not been granted permission to perform this action, or the STP is missing."||e.message||"Unknown error occurred. Please check your internet connection and try again.")}else{if(l){l.className="success";l.content="Loaded: <b>"+t+"</b>"}else{n.create({className:"success",content:"Loaded: <b>"+t+"</b>"})}if(s.usermessage!=="blank"){a.show(a.simple().textContent(s.usermessage).position("bottom right").hideDelay(1e4).action("OK"))}u.resolve(s)}r(function(){if(l){n.dismiss(l.id)}},1500)});return u.promise},createTable:function(e,t){return new h54s.Tables(e,t)},toggleDebugMode:function(){if(!s.debug){s.setDebugMode();t.debugMode=true;localStorage.setItem("h54sDebug",true)}else{s.unsetDebugMode();t.debugMode=false;localStorage.setItem("h54sDebug",false)}},getDebugData:function(){return s.getDebugData()},getApplicationLogs:function(){return s.getApplicationLogs()},getSasErrors:function(){return s.getSasErrors()},getFailedRequests:function(){return s.getFailedRequests()},setCredentials:function(e,t){return s.setCredentials(e,t)},clearApplicationLogs:function(){s.clearApplicationLogs()},clearDebugData:function(){s.clearDebugData()},clearSasErrors:function(){s.clearSasErrors()},clearFailedRequests:function(){s.clearFailedRequests()},isDebugMode:function(){return s.debug},onRemoteConfigUpdate:function(e){s.onRemoteConfigUpdate(e)}}}]);angular.module("dynamicHandsontable",["ngHandsontable"]).directive("htDynamic",["hotRegisterer","$timeout","$window",function(e,t,n){return{restrict:"E",scope:{spec:"=",data:"=",errorHandler:"=",onDataChange:"=",hotId:"@",width:"@",height:"@"},templateUrl:"dynamicHandsontable/template.html",controller:["$scope","$element",function(r,i){r.hotId="table-"+Math.random().toString(16).slice(2);var o=function(e){switch(e){case 2:return"text";case 1:return"numeric"}};angular.element(n).bind("resize",function(){var e=0;if(!r.spec){return}setTimeout(function(){if(r.width){e=r.width}else{var t=i.parent().parent()[0].clientWidth-32;r.spec.forEach(function(t){e+=parseInt(t.LENGTH)*15});e=Math.min(e,t)}s({width:e})},500)});r.$watch("spec",function(){if(r.spec&&r.data){var n=0;r.columns=r.spec.map(function(e){return{data:e.NAME.toUpperCase(),title:e.NAME}});if(!r.width){var l=i.parent().parent()[0].clientWidth-32;r.spec.forEach(function(e){n+=parseInt(e.LENGTH)*15});n=Math.min(n,l)}s({width:r.width||n});r.settings={autoWrapRow:true,stretchH:"all",width:r.width||n,beforeChange:function(t){if(t.length===0)return;var n=e.getInstance(r.hotId);for(var i=0;i<r.spec.length;i++){for(var a=0;a<t.length;a++){if(t[a][1]===r.spec[i].NAME.toUpperCase()){var s=r.columns.map(function(e){return e.data}).indexOf(t[a][1]);if(o(r.spec[i].TYPE)!=="numeric"){if(t[a][3]&&t[a][3].length>r.spec[i].LENGTH){if(r.spec[i].LENGTH.toString().slice(-1)==="1"){r.errorHandler("Max length of "+r.spec[i].LENGTH+" character exceeded")}else{r.errorHandler("Max length of "+r.spec[i].LENGTH+" characters exceeded")}n.setCellMeta(t[a][0],s,"valid",false)}else{n.setCellMeta(t[a][0],s,"valid",true)}}else{if(isNaN(t[a][3])){r.errorHandler("Only numeric values are accepted");n.setCellMeta(t[a][0],s,"valid",false)}else{n.setCellMeta(t[a][0],s,"valid",true);t[a][3]=t[a][3]&&parseFloat(t[a][3])}if(t[a][3]===""){t[a][3]=null}}}}}},afterChange:function(n,i){if(i==="loadData"){t(function(){a()},0);return}var o=e.getInstance(r.hotId);var s;for(var l=n.length-1;l>=0;l--){if(s===n[l][0]){continue}s=n[l][0];if(s===o.countRows()-1&&!o.isEmptyRow(o.countRows()-1)){a();break}else if(s!==o.countRows()-1&&o.isEmptyRow(n[l][0])){o.alter("remove_row",s)}}s=null;r.onDataChange(n,o)}}}else{r.columns=null}});function a(){var t=e.getInstance(r.hotId);t.alter("insert_row")}function s(t){var n=e.getInstance(r.hotId);if(n){setTimeout(function(){n.updateSettings(t)},0)}}}]}}]);(function(e,t,n){"use strict";function r(e){var n=[];l(n,t.noop).chars(e);return n.join("")}function i(e,n){var r={},i=e.split(","),o;for(o=0;o<i.length;o++)r[n?t.lowercase(i[o]):i[o]]=!0;return r}function o(e,n){function r(e,r,o,s){r=t.lowercase(r);if(E[r])for(;l.last()&&$[l.last()];)i("",l.last());C[r]&&l.last()==r&&i("",r);(s=y[r]||!!s)||l.push(r);var u={};o.replace(f,function(e,t,n,r,i){u[t]=a(n||r||i||"")});n.start&&n.start(r,u,s)}function i(e,r){var i=0,o;if(r=t.lowercase(r))for(i=l.length-1;0<=i&&l[i]!=r;i--);if(0<=i){for(o=l.length-1;o>=i;o--)n.end&&n.end(l[o]);l.length=i}}"string"!==typeof e&&(e=null===e||"undefined"===typeof e?"":""+e);var o,s,l=[],b=e,w;for(l.last=function(){return l[l.length-1]};e;){w="";s=!0;if(l.last()&&M[l.last()])e=e.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+l.last()+"[^>]*>","i"),function(e,t){t=t.replace(p,"$1").replace(g,"$1");n.chars&&n.chars(a(t));return""}),i("",l.last());else{if(0===e.indexOf("<!--"))o=e.indexOf("--",4),0<=o&&e.lastIndexOf("-->",o)===o&&(n.comment&&n.comment(e.substring(4,o)),e=e.substring(o+3),s=!1);else if(v.test(e)){if(o=e.match(v))e=e.replace(o[0],""),s=!1}else if(m.test(e)){if(o=e.match(d))e=e.substring(o[0].length),o[0].replace(d,i),s=!1}else h.test(e)&&((o=e.match(c))?(o[4]&&(e=e.substring(o[0].length),o[0].replace(c,r)),s=!1):(w+="<",e=e.substring(1)));s&&(o=e.indexOf("<"),w+=0>o?e:e.substring(0,o),e=0>o?"":e.substring(o),n.chars&&n.chars(a(w)))}if(e==b)throw u("badparse",e);b=e}i()}function a(e){if(!e)return"";k.innerHTML=e.replace(/</g,"<");return k.textContent}function s(e){return e.replace(/&/g,"&").replace(b,function(e){var t=e.charCodeAt(0);e=e.charCodeAt(1);return"&#"+(1024*(t-55296)+(e-56320)+65536)+";"}).replace(w,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function l(e,n){var r=!1,i=t.bind(e,e.push);return{start:function(e,o,a){e=t.lowercase(e);!r&&M[e]&&(r=e);r||!0!==T[e]||(i("<"),i(e),t.forEach(o,function(r,o){var a=t.lowercase(o),l="img"===e&&"src"===a||"background"===a;!0!==_[a]||!0===S[a]&&!n(r,l)||(i(" "),i(o),i('="'),i(s(r)),i('"'))}),i(a?"/>":">"))},end:function(e){e=t.lowercase(e);r||!0!==T[e]||(i("</"),i(e),i(">"));e==r&&(r=!1)},chars:function(e){r||i(s(e))}}}var u=t.$$minErr("$sanitize"),c=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,d=/^<\/\s*([\w:-]+)[^>]*>/,f=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,h=/^</,m=/^<\//,p=/\x3c!--(.*?)--\x3e/g,v=/<!DOCTYPE([^>]*?)>/i,g=/<!\[CDATA\[(.*?)]]\x3e/g,b=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,w=/([^\#-~| |!])/g,y=i("area,br,col,hr,img,wbr");e=i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr");n=i("rp,rt");var C=t.extend({},n,e),E=t.extend({},e,i("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),$=t.extend({},n,i("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var"));e=i("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use");var M=i("script,style"),T=t.extend({},y,E,$,C,e),S=i("background,cite,href,longdesc,src,usemap,xlink:href");e=i("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width");n=i("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0);var _=t.extend({},S,n,e),k=document.createElement("pre");t.module("ngSanitize",[]).provider("$sanitize",function(){this.$get=["$$sanitizeUri",function(e){return function(t){var n=[];o(t,l(n,function(t,n){return!/^unsafe/.test(e(t,n))}));return n.join("")}}]});t.module("ngSanitize").filter("linky",["$sanitize",function(e){var n=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,i=/^mailto:/i;return function(o,a){function s(e){e&&d.push(r(e))}function l(e,n){d.push("<a ");t.isDefined(a)&&d.push('target="',a,'" ');d.push('href="',e.replace(/"/g,"""),'">');s(n);d.push("</a>")}if(!o)return o;for(var u,c=o,d=[],f,h;u=c.match(n);)f=u[0],u[2]||u[4]||(f=(u[3]?"http://":"mailto:")+f),h=u.index,s(c.substr(0,h)),l(f,u[0].replace(i,"")),c=c.substring(h+u[0].length);s(c);return e(d.join(""))}}])})(window,window.angular);!function(e,t,n){"use strict";t.module("ngToast.provider",[]).provider("ngToast",[function(){function e(e){for(var r=Math.floor(1e3*Math.random());n.indexOf(r)>-1;)r=Math.floor(1e3*Math.random());this.id=r,this.count=0,this.animation=i.animation,this.className=i.className,this.additionalClasses=i.additionalClasses,this.dismissOnTimeout=i.dismissOnTimeout,this.timeout=i.timeout,this.dismissButton=i.dismissButton,this.dismissButtonHtml=i.dismissButtonHtml,this.dismissOnClick=i.dismissOnClick,this.onDismiss=i.onDismiss,this.compileContent=i.compileContent,t.extend(this,e)}var n=[],r=[],i={animation:!1,className:"success",additionalClasses:null,dismissOnTimeout:!0,timeout:4e3,dismissButton:!1,dismissButtonHtml:"×",dismissOnClick:!0,onDismiss:null,compileContent:!1,combineDuplications:!1,horizontalPosition:"right",verticalPosition:"top",maxNumber:0,newestOnTop:!0};this.configure=function(e){t.extend(i,e)},this.$get=[function(){var t=function(e,t){return t="object"==typeof t?t:{content:t},t.className=e,this.create(t)};return{settings:i,messages:n,dismiss:function(e){if(e){for(var t=n.length-1;t>=0;t--)if(n[t].id===e)return n.splice(t,1),void r.splice(r.indexOf(e),1)}else{for(;n.length>0;)n.pop();r=[]}},create:function(t){if(t="object"==typeof t?t:{content:t},i.combineDuplications)for(var o=r.length-1;o>=0;o--){var a=n[o],s=t.className||"success";if(a.content===t.content&&a.className===s)return void n[o].count++}i.maxNumber>0&&r.length>=i.maxNumber&&this.dismiss(r[0]);var l=new e(t);return n[i.newestOnTop?"unshift":"push"](l),r.push(l.id),l.id},success:function(e){return t.call(this,"success",e)},info:function(e){return t.call(this,"info",e)},warning:function(e){return t.call(this,"warning",e)},danger:function(e){return t.call(this,"danger",e)}}}]}])}(window,window.angular),function(e,t){"use strict";t.module("ngToast.directives",["ngToast.provider"]).run(["$templateCache",function(e){e.put("ngToast/toast.html",'<div class="ng-toast ng-toast--{{hPos}} ng-toast--{{vPos}} {{animation ? \'ng-toast--animate-\' + animation : \'\'}}"><ul class="ng-toast__list"><toast-message ng-repeat="message in messages" message="message" count="message.count"><span ng-bind-html="message.content"></span></toast-message></ul></div>'),e.put("ngToast/toastMessage.html",'<li class="ng-toast__message {{message.additionalClasses}}"ng-mouseenter="onMouseEnter()"ng-mouseleave="onMouseLeave()"><div class="alert alert-{{message.className}}" ng-class="{\'alert-dismissible\': message.dismissButton}"><button type="button" class="close" ng-if="message.dismissButton" ng-bind-html="message.dismissButtonHtml" ng-click="!message.dismissOnClick && dismiss()"></button><span ng-if="count" class="ng-toast__message__count">{{count + 1}}</span><span ng-if="!message.compileContent" ng-transclude></span></div></li>')}]).directive("toast",["ngToast","$templateCache","$log",function(e,t,n){return{replace:!0,restrict:"EA",templateUrl:"ngToast/toast.html",compile:function(r,i){if(i.template){var o=t.get(i.template);o?r.replaceWith(o):n.warn("ngToast: Provided template could not be loaded. Please be sure that it is populated before the <toast> element is represented.")}return function(t){t.hPos=e.settings.horizontalPosition,t.vPos=e.settings.verticalPosition,t.animation=e.settings.animation,t.messages=e.messages}}}}]).directive("toastMessage",["$timeout","$compile","ngToast",function(e,t,n){return{replace:!0,transclude:!0,restrict:"EA",scope:{message:"=",count:"="},controller:["$scope","ngToast",function(e,t){e.dismiss=function(){t.dismiss(e.message.id)}}],templateUrl:"ngToast/toastMessage.html",link:function(r,i,o,a,s){i.attr("data-message-id",r.message.id);var l,u=r.message.compileContent;if(r.cancelTimeout=function(){e.cancel(l)},r.startTimeout=function(){r.message.dismissOnTimeout&&(l=e(function(){n.dismiss(r.message.id)},r.message.timeout))},r.onMouseEnter=function(){r.cancelTimeout()},r.onMouseLeave=function(){r.startTimeout()},u){var c;s(r,function(e){c=e,i.children().append(c)}),e(function(){t(c.contents())("boolean"==typeof u?r.$parent:u,function(e){c.replaceWith(e)})},0)}r.startTimeout(),r.message.dismissOnClick&&i.bind("click",function(){n.dismiss(r.message.id),r.$apply()}),r.message.onDismiss&&r.$on("$destroy",r.message.onDismiss.bind(r.message))}}}])}(window,window.angular),function(e,t){"use strict";t.module("ngToast",["ngSanitize","ngToast.directives","ngToast.provider"])}(window,window.angular);angular.module("h54sDebugWindow",["sasAdapter"]).controller("debugWindowCtrl",["$scope","sasAdapter","$rootScope","$sce","$document",function(e,t,n,r,i){e.appLogs=t.getApplicationLogs();e.debugData=t.getDebugData().map(function(e){return{time:e.time,message:r.trustAsHtml(e.debugHtml.replace(/<style.+>(.|\n)+<\/style>/g,"").replace(/<link.+>/g,"")),sasProgram:e.sasProgram}});e.sasErrors=t.getSasErrors();e.failedRequests=t.getFailedRequests().map(function(e){return{time:e.time,message:r.trustAsHtml(e.responseHtml.replace(/<style.+>(.|\n)+<\/style>/g,"").replace(/<link.+>/g,"")),sasProgram:e.sasProgram}});e.closeDebugWindow=function(){n.showDebugWindow=false};e.clearSasErrors=function(){t.clearSasErrors()};e.clearDebugData=function(){t.clearDebugData();e.debugData.length=0};e.clearApplicationLogs=function(){t.clearApplicationLogs()};e.clearFailedRequests=function(){t.clearFailedRequests();e.failedRequests.length=0};function o(t){if(t.keyCode===27){n.showDebugWindow=false;e.$apply()}}n.$watch("showDebugWindow",function(){if(n.showDebugWindow){i.bind("keyup",o)}else{i.unbind("keyup",o)}})}]);angular.module("h54sLoginModal",["sasAdapter","ngMaterial"]).controller("LoginModalCtrl",["$scope","sasAdapter","$mdDialog","$interval",function(e,t,n,r){e.handleLogin=function(){e.loading=true;var i=e.user;var o=e.pass;e.msg="Please wait.";e.error=false;var a=r(function(){e.msg+="."},300);t.login(i,o).then(function(t){if(t===-1){e.msg="Wrong credentials";e.error=true}else if(t===200){e.error=false;n.hide()}else{e.msg="Failed request. Please try again later.";e.error=true}e.loading=false;r.cancel(a)},function(t){e.msg=t.message;e.error=true;e.loading=false;r.cancel(a)})};e.handleKeypress=function(t){if(t.keyCode===13&&!e.loading){e.handleLogin()}};e.$watch("user",function(){e.msg="";e.error=false});e.$watch("pass",function(){e.msg="";e.error=false})}]);angular.module("h54sNavbar",["sasAdapter","h54sDebugWindow"]).controller("NavbarCtrl",["$scope","sasAdapter","$rootScope","$sce","$mdSidenav","ngmTour",function(e,t,n,r,i,o){e.openDebugWindow=function(){n.showDebugWindow=true};e.toggleDebugging=function(){t.toggleDebugMode()};e.debug=t.isDebugMode();t.onRemoteConfigUpdate(function(){e.$apply(function(){e.debug=t.isDebugMode()})});e.openSideMenu=function(){i("left").toggle()};e.showTour=function(){o.start()}}]);angular.module("ngmTour",[]).factory("ngmTour",["$mdMedia","$document",function(e,t){var n,r,i,o,a,s,l,u;function c(){a.remove();u[0].style["transition-delay"]="0s";u[0].style["transition-duration"]="0s";u[0].style.opacity=0;angular.element(i).off("click",f);angular.element(document.querySelectorAll(".md-select-menu-container.md-active md-option")).off("click",h)}function d(){if(i.clientWidth===0&&i.clientHeight===0){l.triggerHandler("click")}var e=i.getBoundingClientRect();o.prepend('<div class="overlay"></div>');a=angular.element(document.querySelector("#tour .overlay"));var t=angular.element(i).attr("ngm-tour-color");if(t){var n=parseInt("0x"+t.substr(1,2)),r=parseInt("0x"+t.substr(3,2)),c=parseInt("0x"+t.substr(5,2));if(window.document.documentMode){a[0].style["box-shadow"]="0px 0px 0px 10000px rgba("+n+", "+r+", "+c+", 0.7)"}else{a[0].style["box-shadow"]="0px 0px 0px 100vmax rgba("+n+", "+r+", "+c+", 0.7)"}}else if(window.document.documentMode){a[0].style["box-shadow"]="0px 0px 0px 10000px rgba(20, 129, 184, 0.7)"}a[0].style.top=e.top+i.clientHeight/2+"px";a[0].style.left=e.left+i.clientWidth/2+"px";a[0].style.width=e.width+2+"px";a[0].style.height=e.height+2+"px";s[0].innerHTML=angular.element(i).attr("ngm-tour-msg");u[0].style.width="auto";if(!angular.element(i).attr("ngm-tour-float")){if(document.body.clientWidth-e.right>e.left){u[0].style.top="50%";u[0].style.left=null;u[0].style.right=(document.body.clientWidth-e.width-e.left-2)/2+"px";u[0].style.transform="translate(50%, -50%)";if(u[0].clientWidth>e.right){u[0].style.width=e.right+"px"}}else{u[0].style.top="50%";u[0].style.right=null;u[0].style.left=(document.body.clientWidth-e.width-(document.body.clientWidth-e.right)-2)/2+"px";u[0].style.transform="translate(-50%, -50%)";if(u[0].clientWidth>e.left){u[0].style.width=e.left+"px"}}u[0].style["transition-delay"]="0.25s";u[0].style["transition-duration"]="0.5s";u[0].style.opacity=1}angular.element(i).on("click",f)}function f(e){var t=e.target;while(t&&t.tagName!=="MD-SELECT"){t=t.parentNode}if(t){setTimeout(function(){var e=document.querySelector(".md-select-menu-container.md-active");var t=e.getBoundingClientRect();a[0].style.top=t.top+t.height/2+"px";a[0].style.left=t.left+t.width/2+"px";a[0].style.width=t.width+2+"px";a[0].style.height=t.height+2+"px";angular.element(document.querySelectorAll(".md-select-menu-container.md-active md-option")).on("click",h)},window.document.documentMode?1e3:100)}}function h(e){var t=i.getBoundingClientRect();a[0].style.top=t.top+i.clientHeight/2+"px";a[0].style.left=t.left+i.clientWidth/2+"px";a[0].style.width=t.width+2+"px";a[0].style.height=t.height+2+"px"}return{start:function(){if(!e("gt-sm")){return}n=Array.prototype.slice.call(document.querySelectorAll("[ngm-tour-step]")).sort(function(e,t){return angular.element(e).attr("ngm-tour-step")-angular.element(t).attr("ngm-tour-step")});r=0;i=n[0];angular.element(document.body).append('<div id="tour"></div>');o=angular.element(document.querySelector("#tour"));o.append('<div class="wrapper"><div class="message"></div><md-button class="md-button button ">Next</md-button></div>');u=angular.element(document.querySelector("#tour .wrapper"));s=angular.element(document.querySelector("#tour .message"));l=angular.element(document.querySelector("#tour .button"));l.on("click",function(){if(l[0].innerHTML==="Close"){o.remove();o=u=s=l=null;window.localStorage.setItem("tourDone",true);return}c();if(++r===n.length-1){l[0].innerHTML="Close"}i=n[r];d()});d()},isDone:function(){if(window.localStorage){return window.localStorage.getItem("tourDone")}else{alert("Your browser does not support Local Storage.\nPlease upgrade to a newer browser")}}}}]);angular.module("ngmTour").directive("ngmTour",["ngmTour",function(e){return{restrict:"A",link:function(){if(!e.isDone()){setTimeout(function(){e.start()},500)}}}}]);angular.module("sasHotEditor.main",["ngRoute","dynamicHandsontable"]).config(["$routeProvider",function(e){e.when("/",{templateUrl:"main/mainPage.html",controller:"MainCtrl"})}]).controller("SideCtrl",["$scope","sasAdapter","$mdDialog","ngmTour",function(e,t,n,r){var i={};e.libs=[];e.$watch("sideData.library",function(t){if(!e.sideData.library){return}setTimeout(function(){e.$parent.tables=i[t]},0);if(i[t]&&i[t].indexOf(e.sideData.table)===-1){e.sideData.table=undefined}});e.$watch("sideData.table",function(){if(!e.sideData.table){e.tableInfo={};return}var r=t.createTable([{libname:e.sideData.library,memname:e.sideData.table}],"memberDetails");t.call("getMemberDetails",r).then(function(t){e.tableInfo=t.memInfo[0]},function(t){n.show(n.alert().clickOutsideToClose(true).title("Error").textContent(t).ariaLabel("Unknown error").ok("OK"));e.loading=false})});t.call("startupService").then(function(t){if(!r.isDone()){r.start()}t.libsmems.forEach(function(t){if(e.libs.indexOf(t.LIBNAME)===-1){e.libs.push(t.LIBNAME)}if(!i[t.LIBNAME]){i[t.LIBNAME]=[]}if(i[t.LIBNAME].indexOf(t.MEMNAME)===-1){i[t.LIBNAME].push(t.MEMNAME)}})},function(e){n.show(n.alert().clickOutsideToClose(true).title("Error").textContent(e).ariaLabel("Unknown error").ok("OK"))})}]).controller("MainCtrl",["$scope","sasAdapter","$rootScope","$mdToast","$mdDialog",function(e,t,n,r,i){e.loading=false;e.tables=[];e.sideData={};var o;var a=r.build({hideDelay:1800,position:"bottom right"});e.onHandsontableError=function(e){a.template('<md-toast class="error"><div>'+e+"</div></md-toast>"); +r.show(a)};e.onHandsontableDataEdit=function(t,n){e.tableDataChanged=true;e.tableIsValid=true;n.getCellsMeta().forEach(function(t){if(t&&t.valid===false){e.tableIsValid=false}})};e.open=function(){e.loading=true;o=t.createTable([{libname:e.sideData.library,memname:e.sideData.table}],"data",10*1e3);t.call("getTable",o).then(function(t){e.loading=false;e.htDynamicSpec=t.columnspec;e.htData=t.tabledata;e.tableDataChanged=false},function(t){i.show(i.alert().clickOutsideToClose(true).title("Error").textContent(t).ariaLabel("Unknown error").ok("OK"));e.loading=false})};e.save=function(){if(e.tableIsValid===false){i.show(i.alert().clickOutsideToClose(true).title("Save Error").textContent("Your data is invalid and cannot be saved. Please check the table for red cells.").ariaLabel("Save Error - invalid table data").ok("OK"))}else{e.loading=true;o.add(e.htData,"tabledata");t.call("writeTable",o).then(function(t){e.loading=false;e.htDynamicSpec=t.columnspec;e.htData=t.tabledata;e.tableDataChanged=false},function(t){i.show(i.alert().clickOutsideToClose(true).title("Error").textContent(t).ariaLabel("Unknown error").ok("OK"));e.loading=false})}};e.saveAs=function(){if(!e.sideData.library){i.show(i.alert().clickOutsideToClose(true).title("Library not selected").textContent("Please select a target library first").ariaLabel("Library not selected").ok("OK"))}else{i.show({scope:e,preserveScope:true,controller:["$scope",function(e){e.local={};e.local.cancel=function(){delete e.local;i.hide()};e.local.save=function(){if(!e.local.table){return}e.loading=true;o=t.createTable([{libname:e.sideData.library,memname:e.local.table}],"data",10*1e3);o.add(e.htData,"tabledata");t.call("writeTable",o).then(function(t){e.tables.push(e.local.table);e.sideData.table=e.local.table.toUpperCase();delete e.local.table;e.loading=false;e.htDynamicSpec=t.columnspec;e.htData=t.tabledata;e.tableDataChanged=false;delete e.local},function(t){delete e.local;i.show(i.alert().clickOutsideToClose(true).title("Error").textContent(t).ariaLabel("Unknown error").ok("OK"));e.loading=false});i.hide()}}],templateUrl:"main/saveAsDialog.html"})}};e.delete=function(){var n=i.confirm().title("Delete").textContent("Are you sure you want to delete table "+e.sideData.table+"?").ariaLabel("Delete table").ok("Delete").cancel("Cancel");i.show(n).then(function(){o=t.createTable([{libname:e.sideData.library,memname:e.sideData.table}],"data");t.call("deleteTable",o).then(function(t){for(var n=0;n<e.tables.length;n++){if(e.sideData.table.toLowerCase()===e.tables[n].toLowerCase()){e.tables.splice(n,1);e.sideData.table=null;e.htData=null;e.htDynamicSpec=null;return}}})})};e.onUploadDone=function(t){e.htDynamicSpec=t.columnspec;e.htData=[];var n=false;for(var r=0;r<t.tabledata.length;r++){if(n)break;for(var o in t.tabledata[r]){try{var a=typeof t.tabledata[r][o]!=="string"?t.tabledata[r][o]:unescape(t.tabledata[r][o]).replace(/[^A-Za-z 0-9 \.,\?""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g,"");t.tabledata[r][o]=a}catch(s){console.err(s);i.show(i.alert().clickOutsideToClose(true).title("Error").textContent("The editor doesn't support special characters.").ariaLabel("Error").ok("OK"));n=true;break}}if(!n){e.htData.push(t.tabledata[r]);e.sideData.table=null}}e.loading=false;e.$apply()}}]);angular.module("sasHotEditor.main").directive("ngUpload",["$mdDialog","$compile",function(e,t){return{restrict:"A",templateUrl:"main/dropFile.html",replace:false,transclude:true,scope:{callback:"=ngUpload"},link:function(t,n){t.uploading=false;n.bind("dragenter",function(e){if(t.uploading)return;t.fileOver=true;t.$parent.$apply();e.preventDefault();e.stopPropagation();n[0].style.border="2px dashed #7e97bb";n[0].style.position="relative"});n.bind("dragleave",function(e){if(t.uploading)return;t.fileOver=false;t.$parent.$apply();r()});n.bind("dragover",function(e){e.preventDefault();e.dataTransfer.dropEffect="copy"});n.bind("drop",function(i){i.preventDefault();if(t.uploading)return;t.fileOver=true;t.$parent.$apply();t.uploading=true;i.stopPropagation();var o=new FormData;o.append("_program","/Apps/tableEditor/processUpload");o.append("file",i.dataTransfer.files[0]);r();n[0].style.position="relative";t.uploadProgress=0;var a;if(window.XDomainRequest&&!/MSIE 1/.test(navigator.userAgent)){a=new XDomainRequest("MSXML2.XMLHTTP.3.0")}else if(window.XMLHttpRequest){a=new XMLHttpRequest}a.upload.onprogress=function(e){t.uploadProgress=Math.ceil(e.loaded/e.total*100);t.$apply()};a.onload=function(e){t.uploadProgress=100;r();t.callback(JSON.parse(this.responseText.replace(/(\r\n|\r|\n)/g,"")));t.uploading=false;t.fileOver=false;t.$parent.$apply()};a.onerror=function(n){t.uploading=false;t.fileOver=false;t.$parent.$apply();e.show(e.alert().clickOutsideToClose(true).title("Error").textContent("An error occurred while transferring the file.").ariaLabel("Error").ok("OK"))};a.open("POST","/SASStoredProcess/do");a.send(o)});function r(){n[0].style.border="none";n[0].style.position="static"}}}}]); \ No newline at end of file