eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([A-HJ-Z]|[1-3]\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('A T;A 2L=1;A P=2010;A M=1972;A 1k;A 1P=1l;D K(a){B(1a a!=\'1e\'){K.1s=a}B(1a K.m==\'1e\'){K.m=0x100000000;K.a=1103515245;K.c=12345;B(1a K.1s==\'1e\'){K.1s=123}}D b(){K.1s=(K.a*K.1s+K.c)%K.m;F K.1s}F b()/(K.m-1)}D W(){B(1a W.1A==\'1e\'){W.1A=0;W.26=[\'-\',"\\\\",\'|\',\'/\']}A a="... ";W.1A=(W.1A+1)%W.26.C;a+=W.26[W.1A];F a}D 27(a,b){F 1f(a[1])<1f(b[1])}D 1B(a,b,c){A d=1+P-(M-1);A f=[];A i=1.28;A h=1.0;B(a.C!=b.C){1t("2M 1C equal. 2N n2n3th6. "+a.C+" "+b.C)}G(A g=1;g<d;g++){A j=0.0;A l=0.0;G(A k=0;k<a.C;k++){B(g===0){l=c[a[k]][3][g][1]-1.0}H{try{l=(c[a[k]][3][g][1]-c[a[k]][3][g-1][1])/c[a[k]][3][g-1][1]}catch(e){A m=""+k+" "+a+" "+e;29(m);}}l-=c[a[k]][2]/L.0;j+=l*b[k]/L.0}B(j<i){i=j;A o=(M-1)+g}h*=1.0+j;f[g-1]=[(M-1)+g,h]}F[h,f,i*L.0,o]}D N(a,b,c){F L.0*(Q.2a(b/a,1.0/c)-1.0)}D 2O(a,b,c,d){B(c<(b+10)){29("2P\'t 2Q 2R 2S 2b 2T to 2U of 1u.");}A f=1+c-(b-1);A i=1.28;G(A h=d;h<f-1;h++){A g;B(h===d){g=N(1.0,a[h][1],d)}H{g=N(a[h-d][1],a[h][1],d)}B(g<i){i=g}}F i}D 2W(a,b,c,d){B(c<(b+10)){29("2P\'t 2Q 2R 2S 2b 2T to 2U of 1u.");}A f=1+c-(b-1);A i=1.28;A h=[];G(A g=d;g<f-1;g++){A j;B(g===d){j=N(1.0,a[g][1],d)}H{j=N(a[g-d][1],a[g][1],d)}h.1g(j)}h=h.2d();F h[Q.1o(h.C/2)]}D 2e(a){A b=[];A c;G(c=0;c<a.1b.C;c++){A d=a.1b[c].2f;B(1a d!=\'1e\'){b.1g(a.1b[c].1D[d].S)}}A f=[];G(c=0;c<b.C;c++){B(-1!=b[c]){f.1g(b[c])}}F f}D 2g(a){A b=[];A c;G(c=0;c<a.1b.C;c++){A d=a.1b[c];B(d.1Q=="1R"){A f=a.1b[c+1];B(f.S!=-1){B(!isNaN(1f(d.S))){b.1g(1f(d.S))}H{b.1g(-1.0)}}}}F b}A 2h=[\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'a\',\'b\',\'c\',\'d\',\'e\',\'f\',\'g\',\'h\',\'i\',\'j\',\'k\',\'l\',\'m\',\'n\',\'o\',\'p\',\'q\',\'r\',\'s\',\'t\',\'u\',\'v\',\'w\',\'x\',\'y\',\'z\'];A 1S=36;D 1E(a){F a.split(\'\').1E().2X(\'\')}D 2i(a){A b="";a=1p(a,10);B(a<=0){F\'0\'}1F(a>0){b+=2h[a%1S];a=Q.1o(a/1S)}F 1E(b)}D 1G(a){B(a===\'\'){F 0}A b=0;G(A c=0;c<a.C;c++){A d=a.charAt(a.C-1-c);A f=2h.2X(\'\').1m(d);b+=f*Q.2a(1S,c)}F b}D 2Y(a,b){b=(2j*b/L).17(0);A c="";A d="";d+=2i(b);B(d.C==1){d="0"+d}c+=d;c+=2i(a);F c}D 2k(a){B(\'#\'==a.R(0,1)){a=a.R(1)}A b=a.R(0,1);a=a.R(1);B(a===\'\'){F}B(5!=1p(b,10)){A c="2Z 30 31 is 1C 33"+b;1t(c);F}A d=[];A f=[];A i=0;1F(a.C>0){A h=a.R(0,2);a=a.R(2);h=1G(h);h=L.0*h/2j;h=h.17(1);f[i]=h;A g=a.R(0,1);a=a.R(1);g=1G(g);d[i]=1p(g,10);i++}F d}D 2l(a){B(\'#\'==a.R(0,1)){a=a.R(1)}A b=a.R(0,1);a=a.R(1);B(a===\'\'){F}B(5!=1p(b,10)){A c="2Z 30 31 is 1C 33"+b;1t(c);F}A d=[];A f=[];A i=0;1F(a.C>0){A h=a.R(0,2);a=a.R(2);h=1G(h);h=L.0*h/2j;h=h.17(1);f[i]=h;A g=a.R(0,1);a=a.R(1);g=1G(g);d[i]=1p(g,10);i++}F f}D 1T(a,b){A c=2k(b);A d=2l(b);B(1a c!=\'1e\'){G(A f=0;f<c.C;f++){c[f]=[c[f],d[f]]}c=c.2d(27);A i=0;A h=0;G(f=0;f<a.1b.C;f++){A g=a.1b[f];B(g.1Q=="1R"){B(h<d.C){g.S=\'\'}H{g.S=\'\'}}H{B(i<c.C){g.1D[1+c[i++][0]].1U=U}H{g.1D[0].1U=U}}}}}D 1V(a){A b=2k(a);A c=2l(a);B(1a b!=\'1e\'){B(b.C>0){1H(b,c)}}}D 34(){B(1P===1l){A a=1h.Y.1I;a=a.R(1);B(1a 1k==\'1e\'){1k=a;1T(T,a);1V(1k)}B(1k!=a){1k=a;1T(T,a);1V(1k)}}}D 2m(){34();1h.1J(2m,300)}D 2n(a,b){A c="5";G(A d=0;d<b.C;d++){A f=b[d];f=1f(f);A i=a[d];i=1p(i,10);c+=2Y(i,f)}1P=U;1k=c;1h.Y.1I=c;1P=1l}D 35(a){A b=0.0;A c;G(c=0;c<a.C;c++){a[c]=1f(a[c]);B(a[c]>=0.0){b+=a[c]}}B(b>L.0){G(c=0;c<a.C;c++){B(a[c]>=0.0){a[c]=L.0*(a[c]/b)}}}b=0.0;A d=0;G(c=0;c<a.C;c++){B(a[c]>=0.0){b+=a[c]}H{d++}}G(c=0;c<a.C;c++){B(a[c]<0.0){a[c]=(L.0-b)/d}}F a}D 2o(){B((Y.1q.1m("1v://37.38.39")===0)||(Y.1q.1m("1v://38.39")===0)||(Y.1q.1m("1v://2p.2q")===0)||(Y.1q.1m("1v://37.2p.2q")===0)||(Y.1q.1m("1v://2p.appspot.2q")===0)||(Y.1q.1m("1v://localhost:8080")===0)||(Y.1q.1m("file:///home/macclary")===0)){F U}H{F 1l}}D 2r(a,b){F(Q.3a(a))/(Q.3a(b))}A 1W;A 1w=1l;D showKey(){B(1w==1l){1w=U;1X(1W)}}D hideKey(){B(1w==U){1w=1l;1X(1W)}}D 1X(a){1W=a;A b=$(\'linechart\');A c=1Y 2s.2t(b,a,{xaxis:{min:(M-1),max:P,tickSize:4},2u:{1K:1w,2v:"nw",2x:10},yaxis:{ticks:[[0.0,"0%"],[0.301,"L%"],[1.0414,"1,1Z%"],[2.00,"10,1Z%"],[3.00,"L,1Z%"],[4.00,"20,1Z%"]]}})}D 1H(a,b,c){saveIndices=a;saveWeights=b;B(!2o()){F}A d=[];A f;A i;A h;A g=(P-(M-1))+1;G(f=0;f<a.C;f++){h=V[a[f]][3];A j=[];G(i=0;i<g;i++){j[i]=[h[i][0],2r(h[i][1],10)]}d[f]={1u:j,21:V[a[f]][0]}}B(b.C!=a.C){1t("Error: weights.C != indices.C "+b.C+" "+a.C)}A l=1B(a,b,V);A k=l[1];A m="Worst year: "+l[3];m+=" "+l[2].17(2)+"% ";A o=E.J(\'3b\');o.1c.1d=m;m="";m+=" Compound F = "+N(1.0,l[0],P-M).17(2)+"%";o=E.J(\'3c\');o.1c.1d=m;3d(l[1],g);3e(l[1],g,10);3f(l[1],g,1);A n=[];n=a.1n();G(f=0;f<n.C;f++){n[f]=[n[f],b[f]]}n=n.2d(27);m="3g Allocation: ";m+=1f(n[0][1]).17(1)+"% ";m+=V[n[0][0]][0];G(f=1;f<n.C;f++){m+=" , "+1f(n[f][1]).17(1)+"% ";m+=V[n[f][0]][0]}o=E.J(\'3h\');o.1c.1d=m;k.1E();k.1g([(M-1),1.0]);k.1E();G(f=0;f<g;f++){k[f][1]=2r(k[f][1],10)}d.1g({1u:k,21:"My 3g",22:40,lines:{fill:U}});1X(d)}D 3d(a,b){A c="3i 1L [";G(A d=0;d<b-1;d++){A f;B(d===0){f=L.0*(a[d][1]-1.0)}H{f=L.0*(a[d][1]-a[d-1][1])/a[d-1][1]}c+="["+a[d][0]+", ";c+=f.17(2)+"],"}c+="]";A i=E.J(\'3j\');i.1c.1d=c}D 3e(a,b,c){A d=[];A f="2z 10y 1L";A i="3k "+c+" 3l 2z 1L [";G(A h=c;h<b-1;h++){A g;B(h===c){g=N(1.0,a[h][1],c)}H{g=N(a[h-c][1],a[h][1],c)}i+="["+a[h][0]+", ";i+=g.17(2)+"],";d.1g([a[h][0],g])}i+="]";A j=E.J(\'3m\');j.1c.1d=i;A l=[{1u:d,21:f,22:40,3n:{1K:U}}];A k=$(\'barchart\');A m=1Y 2s.2t(k,l,{2u:{1K:U,2v:"nw",2x:10}})}D 3f(a,b,c){A d=[];A f="3i 1L";A i="3k "+c+" 3l 2z 1L [";G(A h=c;h<b-1;h++){A g;B(h===c){g=N(1.0,a[h][1],c)}H{g=N(a[h-c][1],a[h][1],c)}i+="["+a[h][0]+", ";i+=g.17(2)+"],";d.1g([a[h][0],g])}i+="]";A j=[{1u:d,21:f,22:40,3n:{1K:U}}];A l=$(\'barchart_annual\');A k=1Y 2s.2t(l,j,{2u:{1K:U,2v:"nw",2x:10}})}D 2A(a,b){A c=2e(a);B(1a b==\'1e\'){b=[];b=2g(a)}b=35(b);2n(c,b);1H(c,b)}D 2B(a,b){A c=b.1n();A d;B(a.C!=b.C){1t("2M do 1C match. 2N: nth34nth")}A f=L.0;G(d=0;d<b.C;d++){B(b[d]>=0){f-=b[d]}}A i=0.0;G(d=0;d<b.C;d++){B(b[d]<0){c[d]=Q.24();i+=c[d]}}G(d=0;d<c.C;d++){B(b[d]<0){c[d]=f*(c[d]/i)}}F c}D 3o(a,b,c){A d;A f=a.1n();A i=Q.1o(Q.24()*(4));i=2;G(;i>0;i--){A h=L;do{d=Q.1o(Q.24()*f.C);B(h--<=0){X}}1F(b[d]>=0);f[d]+=(0.0-c)+Q.24()*2.0*c;B(f[d]<0.0){f[d]=0.0}}A g=0.0;G(A j=0;j<f.C;j++){B(b[j]<0){g+=f[j]}}A l=L.0;G(j=0;j<b.C;j++){B(b[j]>=0){l-=b[j]}}G(j=0;j<f.C;j++){B(b[j]<0){f[j]=l*f[j]/g}}F f}D perturb1(a,b,c){A d;A f=a.1n();A i=K()*(f.C-1);A h;B(i>0.5){A g=Q.1o(K()*(f.C-1));A j=Q.1o(K()*(f.C-1));A l=(1.0-c)+K()*2.0*c;A k=Q.2C(f[g]-(f[g]*l));f[g]-=k;f[j]+=k;F f}H{h=3}G(;h>0;h--){A m=L;do{d=Q.1o(K()*f.C);B(m--<=0){X}}1F(b[d]>=0);f[d]*=(1.0-c)+K()*2.0*c}A o=0.0;G(g=0;g<f.C;g++){B(b[g]<0){o+=f[g]}}A n=L.0;G(g=0;g<b.C;g++){B(b[g]>=0){n-=b[g]}}G(g=0;g<f.C;g++){B(b[g]<0){f[g]=n*f[g]/o}}F f}D 2D(){F 1f(E.J(\'3p\').S)}D 2E(){A a=E.J(\'3q\');A b=a.2f;F a.1D[b].S}D changeYear(){A a=E.J(\'3r\');A b=a.2f;P=1p(a.1D[b].S,10);1V(1h.Y.1I)}D 2F(a,b){A c;G(c=0;c<a.1b.C;c++){a.1b[c].25=b}E.J(\'3p\').25=b;E.J(\'3q\').25=b;E.J(\'3r\').25=b}D 1M(a){A b=a[2];A c=a[0];A d=2D();A f=2E();3s(f){18\'full_period\':A i=N(1.0,c,P-M);X;18\'decade_min\':i=2O(a[1],M,P,10);X;18\'decade_med\':i=2W(a[1],M,P,10);X;3t:i=N(1.0,c,P-M)}A h=0.0;B(i<d){h=-20.0*(Q.2C(d-i))}H{h=L.0+b}F h}D fitness_old(a){A b=a[2];A c=a[0];A d=2D();A f=0.0;B(b<d){f=-20.0*(Q.2C(d-b))}H{A i=2E();3s(i){18\'total0\':f=N(1.0,c,P-M)+4.0*b;X;18\'total1\':f=N(1.0,c,P-M)+b;X;18\'total2\':f=2*N(1.0,c,P-M)+b;X;18\'total4\':f=4*N(1.0,c,P-M)+b;X;18\'total8\':f=8*N(1.0,c,P-M)+b;X;18\'total12\':f=12*N(1.0,c,P-M)+b;X;18\'total16\':f=16*N(1.0,c,P-M)+b;X;18\'total\':f=N(1.0,c,P-M);X;3t:f=4*N(1.0,c,P-M)+b}}F f}A 1i;A 1x;A 1j;A 2G;A 1r;A 19;A Z;A 1N=110;D 2H(){A a;B(1j>1O){a=1j-1O}H{a=0}A b;A c;G(;a<1j;1j--){A d=1j/2G;A f=0.0;B(d>0.6){f=2.0}H B(d>0.3){f=0.5}H B(d>0.1){f=0.1}H{f=0.01}b=3o(1i,Z,f);c=1B(19,b,V);B(1M(c)>1M(1x)){1x=c.1n();1i=b.1n()}}1H(19,1i);A i="3u"+W()+" "+(L.0*(1.0-d)).17(0)+"%";A h=E.J(\'1y\');h.1c.1d=i;B(0>=1j){i="";h=E.J(\'1y\');h.1c.1d=i;2n(19,1i);2F(T,1l)}H{1J(2H,1N)}}D 2I(){A a;B(1r>1O){a=1O;1r-=1O}H{a=1r;1r=0}G(A b=0;b<a;b++){A c=2B(19,Z);A d=1B(19,c,V);B(1M(d)>1M(1x)){1x=d.1n();1i=c.1n()}}1H(19,1i);A f="3v"+W();A i=E.J(\'1y\');i.1c.1d=f;B(0===1r){f="3u"+W();i=E.J(\'1y\');i.1c.1d=f;1h.1J(2H,1N)}H{1h.1J(2I,1N)}}D 3w(){B(!2o()){F}Z=2g(T);A a;A b=0.0;G(a=0;a<Z.C;a++){B(Z[a]>=0.0){b+=Z[a]}}B(b>=L.0-0.6){G(a=0;a<Z.C;a++){Z[a]=-1}}b=0.0;G(a=0;a<Z.C;a++){B(Z[a]<0.0){b++}}B(b<2){1t("Problem: Please ensure 2b at least two asset classes do 1C have explicit percentages in the allocation 1R fields. I need some free variables to 3w! "+b);F}2F(T,U);K(2L);19=2e(T);1i=2B(19,Z);1x=1B(19,1i,V);1j=1100*Q.2a(19.C,1.2);1r=20;2G=1j;A c="3v"+W();A d=E.J(\'1y\');d.1c.1d=c;1h.1J(2I,1N)}D 3x(){A a=E.11("2J");A b=E.11("1z");A c=E.14("---");b.O(c);b.15("S",-1);a.O(b);G(A d=0;d<V.C;d++){b=E.11("1z");c=E.14(V[d][0]);b.O(c);b.15("S",d);a.O(b)}F a}D 3y(){A a=E.11("2J");A b=E.11("1z");A c=E.14("---");b.O(c);b.15("S",-1);a.O(b);G(A d=0;d<V.C;d++){b=E.11("1z");c=E.14(V[d][0]);b.O(c);b.15("S",d);B(d===13){b.1U=U}a.O(b)}F a}D 3z(){A a=E.11("2J");A b=E.11("1z");A c=E.14("---");b.O(c);b.15("S",-1);a.O(b);G(A d=0;d<V.C;d++){b=E.11("1z");c=E.14(V[d][0]);b.O(c);b.15("S",d);B(d===0){b.1U=U}a.O(b)}F a}D 3A(){A a=E.11("3B");a.15("1Q","1R");a.15("size","1");F a}D createCheckBox(){A a=E.11("3B");a.15("1Q","checkbox");F a}D 3C(){A a=E.J("entry_form");T=E.11("form");T.15("id","formID");A b=[];A c=[];A d=0;G(d=0;d<10;d++){B(0===d){b[d]=3z()}H B(1===d){b[d]=3y()}H{b[d]=3x()}c[d]=3A();A f=1Y Function("e","2A(T)");T.O(c[d]);T.O(b[d]);b[d].3D=f;c[d].3D=f;b[d].3E.22="#507cea";b[d].3E.fontWeight="bold";b[d].15("id","selectID"+d);c[d].15("id","textID"+d)}B(1a a!=null){a.O(T)}F T}D initPage(){A a=E.14("");E.J(\'3b\').O(a);a=E.14("");E.J(\'3c\').O(a);a=E.14("");E.J(\'1y\').O(a);a=E.14("");E.J(\'3h\').O(a);a=E.14("");E.J(\'3j\').O(a);a=E.14("");E.J(\'3m\').O(a);A b=3C();1T(b,1h.Y.1I);B(""==1h.Y.1I){2A(b)}2m()}',[],227,'||||||||||||||||||||||||||||||||||||var|if|length|function|document|return|for|else||getElementById|prng|100|periodStart|cagr|appendChild|periodEnd|Math|substring|value|myform|true|dataset|getDots|break|location|user_weights||createElement|||createTextNode|setAttribute||toFixed|case|asset_indices|typeof|elements|firstChild|nodeValue|undefined|parseFloat|push|window|best_weights|iterations|stored_hash|false|indexOf|slice|floor|parseInt|href|pre_iterations|state|alert|data|http|mouseIn|best_stats|optimizer_area|OPTION|count|computePortReturns|not|options|reverse|while|fromAlpha|buildChart|hash|setTimeout|show|Returns|fitness|timeOutTime|500|hash_guard|type|text|alphaBase|loadForm|selected|plotHash|saveChartData|chartIt|new|000|1000|label|color||random|disabled|spinner|sortHelper|0e9|throw|pow|that||sort|getAssetIndices|selectedIndex|getWeights|alphaList|toAlpha|1023|indicesFromHash|weightsFromHash|checkHashTimeout|updateHash|checkURL|riskcog|com|custLog|Proto|Chart|legend|position||margin||Rolling|formChart|genPortfolio|abs|getMin|getAlgo|disableForm|max_iterations|optimize1|preOptimize|select||seed|Lengths|Code|cagr_rolling_min|Can|compute|rolling|returns|close|start||cagr_rolling_med|join|encodeAsset|URL|plot|information||recognized|checkHash|allocateWeights||www|trsnet|net|log|drawdown_area|return_area|print_annual_results|print_rolling_results|print_rolling_results2|Portfolio|allocation_area|Annual|results_area|Annualized|Year|rolling_results_area|bars|perturb|min_return|algo_select|end_year|switch|default|Optimizing|PreOptimizing|optimize|createSelect|createSelect1|createSelect0|createTextBox|input|createForm|onchange|style'.split('|'),0,{}))



