// +------------------------------------------------------------------------------------------+ //
// | .-._______ XARD777 _______.-. | //
// |---( )_)______) Knowledge of the ancients (______(_( )---| //
// | ( ()___) \�/ (___() ) | //
// | ()__) (o o) (__() | //
// |--(___()_)__________________________oOOo___(_)___oOOo___________________________(_()___)--| //
// |______|______|______|______|______|______|______|______|______|______|______|______|______| //
// |___|______|_Cam__|______|______|______|______|______|______|______|Ismael|______|______|__| //
// |______|______|______|______|______|______|__Big_Joe____|______|______|______|______|______| //
// |___|______|______|______|_Mundu|______|______|______|______|______|______|______|______|__| //
// |______|__cja_|______|______|______|__Hendrik____|______|______|______|______|______|______| //
// |___|______|______|______|______|______|______|______|Tzuman|______|______|______|______|__| //
// |______|______|______|Hercs_|______|______|______|______|______|______|Joy22_|______|______| //
// |___|______|______|______|______|______|___Poruchik__|______|______|______|______|______|__| //
// |______|___Pava_the_Clown___|______|______|______|______|__Leledc_____|______|______|_Xard_| //
// | 2011 | //
// | File: !XPS v8 PANEL.mq4 | //
// | Programming language: MQL4 | //
// | Development platform: MetaTrader 4 | //
// | End product: THIS SOFTWARE IS FOR FOREX TRADERS | //
// | | //
// | | //
// | Online Resources: http://search4metatrader.com/index.php | //
// | www.2bgoogle.com/forex4.html | //
// | www.forex-tsd.com | //
// | www.forexstrategiesresources.com | //
// | www.traderszone.com | //
// | http://fxcoder.ru/indicators | //
// | www.worldwide-invest.org/ | //
// | http://indo-investasi.com | //
// | | //
// | [Xard777 Proprietory Software] | //
// +------------------------------------------------------------------------------------------+ //
#property indicator_chart_window
color color1 = LimeGreen;
color color2 = SlateGray;
color color3 = White;
color color4 = DodgerBlue;
color TextColor2 = C'192,192,192';
color TextColor3 = C'50,160,50';
color TextColor4 = SlateGray;
color BoxColor = C'13,13,63';
color BoxColor1 = C'30,20,40';
color PanelBgd1 = C'7,40,80';
extern color PanelBgd2 = C'42,62,82';//C'40,60,80';//C'40,80,120';
// ------------------------------------------------------------------------------------------ //
// E X T E R N A L V A R I A B L E S //
// ------------------------------------------------------------------------------------------ //
bool show.left.panel = false;
extern bool show.right.panel = true;
bool show.comment.box = false;
extern bool show.account = false;
extern string Note1 = "DST started on Sunday, 27 March 2011, 01:00 local standard time";
extern string Note2 = "DST ends on Sunday, 30 October 2011, 02:00 local daylight time";
extern string FiboStart = "01:00";
extern string FiboEnd = "01:00";
// ------------------------------------------------------------------------------------------ //
// I N T E R N A L V A R I A B L E S //
// ------------------------------------------------------------------------------------------ //
int OpenBar;
double LastHigh,
LastLow,
LastClose;
int WhatWindow = 0;
int WhatWindow1 = 1;
int WhatCorner0 = 0;
int WhatCorner1 = 1;
int WhatCorner2 = 2;
int WhatCorner3 = 3;
int Shift.up.down = 0;
int Shift.sideway = 14;
bool show.timer = true;
bool show.extra.digit = false;
int BidFontSize = 29;
string BidFontType = "Arial Bold";
int FontSize = 11;
string FontType = "Arial";
string FontType2 = "Arial Bold";
double DecNos;
double myPoint;
double fibo;
double AUTOSELECT;
double col = White;
double SetPoint()
{
double mPoint;
if (Digits < 4)
mPoint = 0.01;
else
mPoint = 0.0001;
return(mPoint);
}
// ------------------------------------------------------------------------------------------ //
// I N I T I A L I S A T I O N //
// ------------------------------------------------------------------------------------------ //
int init()
{
IndicatorShortName("Xard Panel");
myPoint = SetPoint();
// ------------------------------------------------------------------------------------------ //
switch ( Period() )
{
case 5: AUTOSELECT = PERIOD_D1;break;
case 15: AUTOSELECT = PERIOD_D1;break;
case 30: AUTOSELECT = PERIOD_D1;break;
case 60: AUTOSELECT = PERIOD_D1;break;
case 240: AUTOSELECT = PERIOD_W1;break;
case 1440: AUTOSELECT = PERIOD_MN1;break;
default : AUTOSELECT = PERIOD_D1;break;
}
return(0);
}
// ------------------------------------------------------------------------------------------ //
// D E - I N I T I A L I S A T I O N //
// ------------------------------------------------------------------------------------------ //
int deinit()
{
deleteObjects();
return(0);
}
// ------------------------------------------------------------------------------------------ //
// M A I N P R O C E D U R E //
// ------------------------------------------------------------------------------------------ //
int start()
{
if(show.extra.digit){int digit=1;int digitshift=-3;int digitshift1=-5;int digitshift2=3;int fontsize=4;int sprd=1;}
else{ digitshift=0;digitshift1=0;digitshift2=0;fontsize=0;sprd=0;}
// if (StringFind (Symbol(),"JPY", 0) != -1){ DecNos = 2+digit;}
// else { DecNos = 4+digit; }
if (StringFind (Symbol(), "JPY", 0) != -1){ DecNos = 2+digit;}
else if(Symbol()=="XAUUSD" || Symbol()=="XAGUSD"){ DecNos = 2+digit; }
else { DecNos = 4+digit; }
int counted_bars=IndicatorCounted();
// ------------------------------------------------------------------------------------------ //
if(show.left.panel){
Create.left.panel( "Panel001",5, 6);
ObjectSetText("Panel001", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel002",5,122);
ObjectSetText("Panel002", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel003",5,242);
ObjectSetText("Panel003", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel004",5,362);
ObjectSetText("Panel004", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel005",5,482);
ObjectSetText("Panel005", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel006",5,582);
ObjectSetText("Panel006", "g", 94, "Webdings", PanelBgd2);
// -------
Create.left.panel( "Panel007",5,6);
ObjectSetText("Panel007", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel008",5,122);
ObjectSetText("Panel008", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel009",5,242);
ObjectSetText("Panel009", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel010",5,362);
ObjectSetText("Panel010", "g", 94, "Webdings", PanelBgd2);
Create.left.panel( "Panel011",5,482);
ObjectSetText("Panel011", "g", 94, "Webdings", PanelBgd2);
}//End show.panel
// ------------------------------------------------------------------------------------------ //
// ------------------------------------------------------------------------------------------ //
if(show.right.panel){
Create.right.panel( "Panel012",5, 20);
ObjectSetText("Panel012", "g", 90, "Webdings", PanelBgd2);
Create.right.panel( "Panel013",5,122);
ObjectSetText("Panel013", "g", 90, "Webdings", PanelBgd2);
Create.right.panel( "Panel014",5,242);
ObjectSetText("Panel014", "g", 90, "Webdings", PanelBgd2);
Create.right.panel( "Panel015",5,362);
ObjectSetText("Panel015", "g", 90, "Webdings", PanelBgd2);
Create.right.panel( "Panel016",5,482);
ObjectSetText("Panel016", "g", 90, "Webdings", PanelBgd2);
/* Create.right.panel( "Panel017",5,602);
ObjectSetText("Panel017", "g", 90, "Webdings", PanelBgd2);
Create.right.panel( "Panel018",5,722);
ObjectSetText("Panel018", "g", 90, "Webdings", PanelBgd2);*/
// -------
Create.right.panelb( "Panel018",5,6);
ObjectSetText("Panel018", "g", 90, "Webdings", PanelBgd2);
Create.right.panelb( "Panel019",5,122);
ObjectSetText("Panel019", "g", 90, "Webdings", PanelBgd2);
Create.right.panelb( "Panel020",5,242);
ObjectSetText("Panel020", "g", 90, "Webdings", PanelBgd2);
Create.right.panelb( "Panel021",5,362);
ObjectSetText("Panel021", "g", 90, "Webdings", PanelBgd2);
}//End show.panel
// ------------------------------------------------------------------------------------------ //
if(show.comment.box){
CreateFX5_Labels( "Panel500",-130+134,30);
ObjectSetText("Panel500", "ggggggggggg", 25, "Webdings", C'225,225,225');
CreateFX5_Labels( "Panel500A",-130+155,30);
ObjectSetText("Panel500A", "ggggggggggg", 25, "Webdings", C'225,225,225');
CreateFX5_Labels( "Panel501",-130+136,32);
ObjectSetText("Panel501", "gggggggggggg", 22, "Webdings", PanelBgd2);//C'7,140,80');
CreateFX5_Labels( "Panel502",-130+168,32);
ObjectSetText("Panel502", "gggggggggggg", 22, "Webdings", PanelBgd2);//C'7,140,80');
}//end of show.trade.panel
// ------------------------------------------------------------------------------------------ //
// CreateFX1_Labels( "Panel012",12,2);
// ObjectSetText("Panel012", "FOREX", 22, "Arial Black", C'7,40,80');
// ------------------------------------------------------------------------------------------ //
double spread = (Ask-Bid)/myPoint;
if(spread>1 && spread<=10)
int sprdshift=4;
CreateFX3_Labels( "Panel023",12,10);
ObjectSetText("Panel023", "Spread: "+DoubleToStr(spread,1)+" pips", FontSize, "Arial", color3);
// ------------------------------------------------------------------------------------------ //
string symbol="";
if (Symbol()=="EURUSD" || Symbol()=="EURUSDm") {symbol="EURUSD";}
else if (Symbol()=="GBPUSD" || Symbol()=="GBPUSDm") {symbol="GBPUSD";}
else if (Symbol()=="USDCHF" || Symbol()=="USDCHFm") {symbol="USDCHF";}
else if (Symbol()=="USDJPY" || Symbol()=="USDJPYm") {symbol="USDJPY";}
else if (Symbol()=="EURJPY" || Symbol()=="EURJPYm") {symbol="EURJPY";}
else if (Symbol()=="EURCHF" || Symbol()=="EURCHFm") {symbol="EURCHF";}
else if (Symbol()=="EURGBP" || Symbol()=="EURGBPm") {symbol="EURGBP";}
else if (Symbol()=="USDCAD" || Symbol()=="USDCADm") {symbol="USDCAD";}
else if (Symbol()=="AUDUSD" || Symbol()=="AUDUSDm") {symbol="AUDUSD";}
else if (Symbol()=="GBPCHF" || Symbol()=="GBPCHFm") {symbol="GBPCHF";}
else if (Symbol()=="GBPJPY" || Symbol()=="GBPJPYm") {symbol="GBPJPY";}
else if (Symbol()=="CHFJPY" || Symbol()=="CHFJPYm") {symbol="CHFJPY";}
else if (Symbol()=="NZDUSD" || Symbol()=="NZDUSDm") {symbol="NZDUSD";}
else if (Symbol()=="EURCAD" || Symbol()=="EURCADm") {symbol="EURCAD";}
else if (Symbol()=="AUDJPY" || Symbol()=="AUDJPYm") {symbol="AUDJPY";}
else if (Symbol()=="EURAUD" || Symbol()=="EURAUDm") {symbol="EURAUD";}
else if (Symbol()=="AUDCAD" || Symbol()=="AUDCADm") {symbol="AUDCAD";}
else if (Symbol()=="AUDNZD" || Symbol()=="AUDNZDm") {symbol="AUDNZD";}
else if (Symbol()=="NZDJPY" || Symbol()=="NZDJPYm") {symbol="NZDJPY";}
else if (Symbol()=="CADJPY" || Symbol()=="CADJPYm") {symbol="CADJPY";}
else if (Symbol()=="XAUUSD" || Symbol()=="XAUUSDm") {symbol="XAUUSD";}
else if (Symbol()=="XAGUSD" || Symbol()=="XAGUSDm") {symbol="XAGUSD";}
else if (Symbol()=="GBPAUD" || Symbol()=="GBPAUDm") {symbol="GBPAUD";}
else if (Symbol()=="GBPCAD" || Symbol()=="GBPCADm") {symbol="GBPCAD";}
else if (Symbol()=="AUFCHF" || Symbol()=="AUFCHFm") {symbol="AUFCHF";}
else if (Symbol()=="CADCHF" || Symbol()=="CADCHFm") {symbol="CADCHF";}
else if (Symbol()=="NZDCHF" || Symbol()=="NZDCHFm") {symbol="NZDCHF";}
else if (Symbol()=="GBPNZD" || Symbol()=="GBPNZDm") {symbol="GBPNZD";}
else if (Symbol()=="AUDCHF" || Symbol()=="AUDCHFm") {symbol="AUDCHF";}
else if (Symbol()=="EURNZD" || Symbol()=="EURNZDm") {symbol="EURNZD";}
else{symbol=Symbol();int syblsize = 5;int syblshift=2;}
CreateFX3_Labels( "Panel024",6-syblshift+Shift.up.down,22);
ObjectSetText("Panel024", symbol , 21-syblsize, BidFontType, color4);
// ------------------------------------------------------------------------------------------ //
if(show.account){
CreateFX3_Labels( "Panel025",7,180);
ObjectSetText("Panel025", "gggg", 22, "Webdings", C'7,40,80');
CreateFX3_Labels( "Panel026",7,214);
ObjectSetText("Panel026", "gggg", 22, "Webdings", C'7,40,80');
CreateFX3_Labels( "Panel027",7,248);
ObjectSetText("Panel027", "gggg", 22, "Webdings", C'7,40,80');
CreateFX3_Labels( "Panel028",22+Shift.up.down,262);
ObjectSetText("Panel028", "Account Bal", FontSize, FontType2, DodgerBlue);
CreateFX3_Labels( "Panel029",12+Shift.up.down,248);
ObjectSetText("Panel029", DoubleToStr(AccountBalance(),2) , FontSize, FontType2, color3);
CreateFX3_Labels( "Panel030",13+Shift.up.down,228);
ObjectSetText("Panel030", "Account Equity", FontSize, FontType2, DodgerBlue);
CreateFX3_Labels( "Panel031",12+Shift.up.down,214);
ObjectSetText("Panel031", DoubleToStr(AccountEquity(),2) , FontSize, FontType2, col);
CreateFX3_Labels( "Panel032",16+Shift.up.down,194);
ObjectSetText("Panel032", "Account Profit", FontSize, FontType2, DodgerBlue);
if (AccountProfit() >0) col = Lime;
if (AccountProfit() <0) col = Red;
CreateFX3_Labels( "Panel033",12+Shift.up.down,180);
ObjectSetText("Panel033", DoubleToStr(AccountProfit(),2) , FontSize, FontType2, col);
}//End of show.account
// ------------------------------------------------------------------------------------------ //
CreateFX3_Labels( "Panel034",7+digitshift1+Shift.up.down,50+digitshift2);
ObjectSetText("Panel034", DoubleToStr(Bid, DecNos), BidFontSize-fontsize, BidFontType, color1);
// ------------------------------------------------------------------------------------------ //
int Bar.Hour = Time[0] + 60 * Period() - TimeCurrent();
double ld_0 = Bar.Hour / 60.0;
int Bar.Sec = Bar.Hour % 60;
Bar.Hour = (Bar.Hour - Bar.Hour % 60) / 60;
if(Bar.Sec<=9)string zero="0";
if(Bar.Hour>=1 && Bar.Hour<=9)int shift=-1;
else if(Bar.Hour>=10 && Bar.Hour<=99)shift=-6;
else if(Bar.Hour>=100 && Bar.Hour<=999)shift=-15;
else if(Bar.Hour>=1000 && Bar.Hour<=9999)shift=-16;
else if(Bar.Hour>=10000 && Bar.Hour<=99999)shift=-19;
CreateFX3_Labels( "Panel035",32+shift,94);
ObjectSetText("Panel035", "t-" + Bar.Hour + ":"+zero+"" + Bar.Sec, 13, "Verdana Bold", White);
// ------------------------------------------------------------------------------------------ //
/* AUTO FIB
{ string BarTime="", LastBarTime="";
string BarDay="", LastBarDay="";
int CloseBar;
for(int i=Bars; i>=0; i--)
{ if (Period() > 60) return(0);
BarTime = TimeToStr(Time[i], TIME_MINUTES);
LastBarTime = TimeToStr(Time[i+1], TIME_MINUTES);
BarDay = TimeToStr(Time[i],TIME_DATE);
LastBarDay = TimeToStr(Time[i+1],TIME_DATE);
if ((FiboEnd == "01:00" && BarTime>=FiboEnd && BarDay>LastBarDay) || (BarTime>=FiboEnd && LastBarTime<FiboEnd))
{ CloseBar = i + 1;
if (OpenBar>0)
{ calculatePivotRangeValues(OpenBar, CloseBar); } }
if ((FiboStart == "01:00" && BarTime>=FiboStart && BarDay>LastBarDay) || (BarTime>=FiboStart && LastBarTime<FiboStart))
{ OpenBar = i; }
}
CreateFX3_Labels( "Panel036",7,129);
ObjectSetText("Panel036", "gggg", 22, "Webdings", C'7,40,80');
CreateFX3_Labels( "Panel037",7,123);
ObjectSetText("Panel037", "gggg", 22, "Webdings", C'7,40,80');
CreateFX3_Labels( "Panel038",13+digitshift+Shift.up.down,142);
ObjectSetText("Panel038", "D a i l y F i b o", 10, "Verdana Bold", DodgerBlue);
fibo = 100*(Bid-LastLow)/(LastHigh-LastLow);
CreateFX3_Labels( "Panel039",16+digitshift+Shift.up.down,123);
ObjectSetText("Panel039", DoubleToStr(fibo,2)+"%", 14, "Verdana Bold", White);
CreateFX3_Labels( "Panel040",22+digitshift+Shift.up.down,104);
ObjectSetText("Panel040", "YHigh:"+DoubleToStr(LastHigh,DecNos), FontSize, FontType, Silver);
CreateFX3_Labels( "Panel041",24+digitshift+Shift.up.down,53);
ObjectSetText("Panel041", "YLow:"+DoubleToStr(LastLow,DecNos), FontSize, FontType, Silver);
// ------------------------------------------------------------------------------------------ //
// END OF AUTO FIB
} */
return(0);
}
/* int CreateFX1_Labels( string b, int x, int y ) {
ObjectCreate( b, OBJ_LABEL, WhatWindow, 0, 0 );
ObjectSet( b, OBJPROP_CORNER, WhatCorner1 );
ObjectSet( b, OBJPROP_XDISTANCE,x+Shift.up.down);
ObjectSet( b, OBJPROP_YDISTANCE,y+Shift.sideway);
ObjectSet( b, OBJPROP_BACK, false );
}*/
int CreateFX3_Labels( string c, int x2, int y2 ) {
ObjectCreate( c, OBJ_LABEL, WhatWindow, 0, 0 );
ObjectSet( c, OBJPROP_CORNER, WhatCorner3 );
ObjectSet( c, OBJPROP_XDISTANCE,x2+Shift.up.down);
ObjectSet( c, OBJPROP_YDISTANCE,y2+Shift.sideway);
ObjectSet( c, OBJPROP_BACK, false );
}
int Create.left.panel( string d, int x2, int y2 ) {
ObjectCreate( d, OBJ_LABEL, 0, 0, 0 );
ObjectSet( d, OBJPROP_CORNER, WhatCorner0 );
ObjectSet( d, OBJPROP_XDISTANCE,x2+Shift.up.down);
ObjectSet( d, OBJPROP_YDISTANCE,y2+Shift.sideway);
ObjectSet( d, OBJPROP_BACK, false );
}
int Create.right.panel( string e, int x3, int y3 ) {
ObjectCreate( e, OBJ_LABEL, WhatWindow, 0, 0 );
ObjectSet( e, OBJPROP_CORNER, WhatCorner1 );
ObjectSet( e, OBJPROP_XDISTANCE,x3);//+Shift.up.down);
ObjectSet( e, OBJPROP_YDISTANCE,y3);//+Shift.sideway);
ObjectSet( e, OBJPROP_BACK, false );
}
int Create.right.panelb( string g, int x3b, int y3b ) {
ObjectCreate( g, OBJ_LABEL, WhatWindow, 0, 0 );
ObjectSet( g, OBJPROP_CORNER, WhatCorner3 );
ObjectSet( g, OBJPROP_XDISTANCE,x3b);//+Shift.up.down);
ObjectSet( g, OBJPROP_YDISTANCE,y3b);//+Shift.sideway);
ObjectSet( g, OBJPROP_BACK, false );
}
int CreateFX5_Labels( string f, int x4, int y4 ) {
ObjectCreate( f, OBJ_LABEL, WhatWindow, 0, 0 );
ObjectSet( f, OBJPROP_CORNER, WhatCorner0 );
ObjectSet( f, OBJPROP_XDISTANCE,x4+Shift.up.down);
ObjectSet( f, OBJPROP_YDISTANCE,y4+Shift.sideway);
ObjectSet( f, OBJPROP_BACK, false );
}
void deleteObjects(){
ObjectDelete("Panel001");
ObjectDelete("Panel002");
ObjectDelete("Panel003");
ObjectDelete("Panel004");
ObjectDelete("Panel005");
ObjectDelete("Panel006");
ObjectDelete("Panel007");
ObjectDelete("Panel008");
ObjectDelete("Panel009");
ObjectDelete("Panel010");
ObjectDelete("Panel011");
ObjectDelete("Panel012");
ObjectDelete("Panel013");
ObjectDelete("Panel014");
ObjectDelete("Panel015");
ObjectDelete("Panel016");
ObjectDelete("Panel017");
ObjectDelete("Panel018");
ObjectDelete("Panel019");
ObjectDelete("Panel020");
ObjectDelete("Panel021");
ObjectDelete("Panel022");
ObjectDelete("Panel023");
ObjectDelete("Panel024");
ObjectDelete("Panel025");
ObjectDelete("Panel026");
ObjectDelete("Panel027");
ObjectDelete("Panel028");
ObjectDelete("Panel029");
ObjectDelete("Panel030");
ObjectDelete("Panel031");
ObjectDelete("Panel032");
ObjectDelete("Panel033");
ObjectDelete("Panel034");
ObjectDelete("Panel035");
ObjectDelete("Panel036");
ObjectDelete("Panel037");
ObjectDelete("Panel038");
ObjectDelete("Panel039");
ObjectDelete("Panel040");
ObjectDelete("Panel041");
ObjectDelete("Panel042");
ObjectDelete("Panel500");
ObjectDelete("Panel500A");
ObjectDelete("Panel501");
ObjectDelete("Panel502");
}
/* void calculatePivotRangeValues(int openBar, int closeBar)
{
LastHigh = High[Highest(NULL, 0, MODE_HIGH, (openBar - closeBar + 1), closeBar)];
LastLow = Low[Lowest(NULL, 0, MODE_LOW, (openBar - closeBar + 1), closeBar)];
LastClose = Close[closeBar];
} */
// ------------------------------------------------------------------------------------------ //
// E N D P R O G R A M //
// ------------------------------------------------------------------------------------------ //
/*
ud$$$**BILLION$bc.
u@**" PROJECT$$Nu
J ""#$$$$$$r
@ $$$$b
.F ^*3$$$
:% 4 J$$$N
$ :F :$$$$$
4F 9 J$$$$$$$
4$ k 4$$$$bed$$$$$$$$$
$$r 'F $$$$$$$$$$$$$$$$$r
$$$ b. $$$$$$$$$$$$$$$$$N
$$$$$k 3eeed$$b XARD777."$$$$$$$$$
.@$**N. $$$$$" $$$$$$F'L $$$$$$$$$$$ $$$$$$$
:$$L 'L $$$$$ 4$$$$$$ * $$$$$$$$$$F $$$$$$F edNc
@$$$$N ^k $$$$$ 3$$$$*% $F4$$$$$$$ $$$$$" d" z$N
$$$$$$ ^k '$$$" #$$$F .$ $$$$$c.u@$$$ J" @$$$$r
$$$$$$$b *u ^$L $$ $$$$$$$$$$$$u@ $$ d$$$$$$
^$$$$$$. "NL "N. z@* $$$ $$$$$$$$$$$$$P $P d$$$$$$$
^"*$$$$b '*L 9$E 4$$$ d$$$$$$$$$$$" d* J$$$$$r
^$$$$u '$. $$$L "#" d$$$$$$".@$$ .@$" z$$$$*"
^$$$$. ^$N.3$$$ 4u$$$$$$$ 4$$$ u$*" z$$$"
'*$$$$$$$$ *$b J$$$$$$$b u$$P $" d$$P
#$$$$$$ 4$ 3*$"$*$ $"$'c@@$$$$ .u@$$$P
"$$$$ ""F~$ $uNr$$$^&J$$$$F $$$$#
"$$ "$$$bd$.$W$$$$$$$$F $$"
?k ?$$$$$$$$$$$F'*
9$$bL z$$$$$$$$$$$F
$$$$ $$$$$$$$$$$$$
'#$$c '$$$$$$$$$"
.@"#$$$$$$$$$$$$b
z* $$$$$$$$$$$$N.
e" z$$" #$$$k '*$$.
.u* u@$P" '#$$c "$$c
u@$*""" d$$" "$$$u ^*$$b.
:$F J$P" ^$$$c '"$$$$$$bL
d$$ .. @$# #$$b '#$
9$$$$$$b 4$$ ^$$k '$
"$$6""$b u$$ '$ d$$$$$P
'$F $$$$$" ^b ^$$$$b$
'$W$$$$" 'b@$$$$"
^$$$*/