//Trans_OutputPanel.java
/* A Java class for
 * LossyWide.java
 * Electromagnetic Transmission Line Applet
 * Applet without Smith Chart - Prepared by Umberto Ravaioli 
 * for 6th edition of Fundamentals of Applied Electromagnetics Book
 * May 2009 - All Rights Reserved
 */ 
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.*;  

public class Trans_OutputPanel extends Panel implements ItemListener{
    //private static final Color bgcolor = new Color(180,147,112);
    //private static final Color bgcolor = Color.lightGray;
    private static final Color bgcolor = new Color(236,236,236);
    //private static final Font symbolfont=new Font("Serif",Font.PLAIN,12);
    //private static final Font titlefont=new Font("SanSerif",Font.BOLD,16);
    public static Font symbolfont;
    public static Font titlefont;
    public static Font normalfont;
    public static Font normalfontSerif;
    Label titlelabel;
    public Choice c1;
    public SpaceDependentCanvas canvas1;
    public SpaceIndependentCanvas canvas2;
    
    Trans_State state;
    public Trans_OutputPanel(Trans_State state){
	super();
	this.state = state;
	titlelabel = new Label("Output",Label.CENTER);
	setLayout(null);
	add(titlelabel);
	titlelabel.setFont(titlefont);
    
	setBackground(bgcolor);
	
	c1 = new Choice();
	c1.addItem("     Transmission Line Data 1");
	c1.addItem("     Transmission Line Data 2");
	//c1.addItem("Stub data");
	c1.setBackground(bgcolor.brighter());
	
	canvas1 = new SpaceDependentCanvas(state);
	canvas2 = new SpaceIndependentCanvas(state);
	//canvas3 = new StubOutputCanvas(state);
	
	
	add(titlelabel);
	add(c1);
	add(canvas1);
	add(canvas2);
	//add(canvas3);
	
	titlelabel.setBounds(10,5,60,19);
	//c1.setBounds(5,50,300,25);
	//c1.setBounds(5,22,300,25);
	//canvas1.setBounds(5,55,300,250);
	//canvas2.setBounds(5,55,300,250);
	//canvas3.setBounds(5,55,300,250);
	c1.setBounds(80,5,220,20);
	canvas1.setBounds(8,33,296,250);
	canvas2.setBounds(8,33,296,250);
	//canvas3.setBounds(6,56,298,230);
	
	//Listeners
	c1.addItemListener(this);
    }
    
    public void itemStateChanged(ItemEvent evt){
	ItemSelectable ie = evt.getItemSelectable();
	    if(evt.getSource()==c1){
		if(ie.getSelectedObjects()[0]=="     Transmission Line Data 1"){
		    canvas1.setVisible(true);
		    canvas2.setVisible(false);
		    //canvas3.setVisible(false);
		}
		else if(ie.getSelectedObjects()[0]=="     Transmission Line Data 2"){
		    canvas1.setVisible(false);
		    canvas2.setVisible(true);
		    //canvas3.setVisible(false);
		}
		/*else if(ie.getSelectedObjects()[0]=="Stub data"){
		    canvas1.setVisible(false);
		    canvas2.setVisible(false);
		    canvas3.setVisible(true);
		}*/
	    }
    }	
    
    /*public void paint(Graphics g){
	    g.setColor(Color.lightGray);
	    g.fill3DRect(0,0,getSize().width-1,getSize().height-1,true);
    }*/
    
    public void paint(Graphics g){
	    g.clearRect(0,0,getSize().width,getSize().height);
	    g.setColor(bgcolor.darker());
	    g.fillRect(0,getSize().height-2,getSize().width,2);
	    g.fillRect(getSize().width-2,0,2,getSize().height);
	    g.setColor(bgcolor.brighter());
	    g.fillRect(0,0,2,getSize().height-1);
	    g.fillRect(0,0,getSize().width-2,2);
	}
    
    
}

class SpaceDependentCanvas extends Canvas{
    //private static final Font normalfont = new Font("SanSerif",Font.PLAIN,11);
    //private static final Font normalfontSerif = new Font("Serif",Font.PLAIN,13);
    //private static final Font symbolfont=new Font("Serif",Font.PLAIN,12);
    public static final Font normalfont = Trans_OutputPanel.normalfont;
    public static final Font normalfontSerif = Trans_OutputPanel.normalfontSerif;
    public static final Font symbolfont = Trans_OutputPanel.symbolfont;
	Trans_State state;
	private Image im;
	private Graphics buf;

	public SpaceDependentCanvas(Trans_State state){
	    super();
	    this.state = state;
	}
	
	public void paint(Graphics g){
	    if(im == null){
		im = createImage(getSize().width,getSize().height);
		buf = im.getGraphics();
		drawGraph(buf);
	    }
	    else{
		drawGraph(buf);
	    }
	    g.drawImage(im,0,0,null);
	}
	
	//Addition to reduce flicker new routine
	public void update(Graphics g){		// added to avoid clearing
	    paint(g);
	}

	public void drawGraph(Graphics g){
	//public void paint(Graphics g){
	    int x, y, dx, dxx, dy, dyy, stepx;
            double tempR = 0.0; double tempX = 0.0;
            boolean Gamma_plusone, Gamma_minusone;
            //Font symbolfont=new Font("Serif",Font.PLAIN,12);
            Font symbolfont = Trans_OutputPanel.symbolfont;
            FontMetrics fm;
		
            
                Graphics2D g2d = (Graphics2D)g;
                g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
                
		String alpha, Ohm, lambda, infinity, Gamma, plusj, minusj, 
                       sign, plusr, minusr, signr;
		g.setFont(symbolfont);
		alpha="\u03b1";
		lambda="\u03bb";
		Ohm="\u03a9";
		infinity="\u221e";
		Gamma="\u0393";
                g.setFont(normalfont);
		plusj =" + j ";
		minusj=" - j ";
                plusr ="";
                minusr =" - ";
                
            Gamma_plusone = false;
            Gamma_minusone = false;
	    Complex tempc;
	    x = 10;
	    y = 20;
	    dx = 80;
	    dxx = 15;
	    
            
            
	    double temp, Tolerance;
	    
            Tolerance = 1.0E-10;
	    x = 10;
	    y = 15;
	    dx = 45;
	    g.setFont(normalfont);
	    fm = g.getFontMetrics();
	    dy = fm.getHeight();
	    dyy = dy + 5;
	    g.clearRect(0,0,getSize().width,getSize().height);
	    g.setColor(Color.blue);
	    g.drawString("Cursor",x,y);
	    
	    g.setColor(Color.black);
	    double testlength = state.xpos*state.wavelength;
	    int range = 7;
	    if(state.lineLength < 1.0){
		range = 7;
	    }
	    else if(state.lineLength >= 1.0 && state.lineLength < 10.0){
		range = 6;
	    }
	    else if(state.lineLength >= 10.0 && state.lineLength < 100.0){
		range = 5;
	    }
	    else if(state.lineLength >= 100.0 && state.lineLength < 1000.0){
		range = 4;
	    }
	    else if(state.lineLength >= 1000.0 && state.lineLength < 10000.0){
		range = 3;
	    }
	    else if(state.lineLength >= 10000.0 && state.lineLength < 100000.0){
		range = 2;
	    }
	    else if(state.lineLength >= 100000.0){
		range = 1;
	    }
	    
	    
          if(testlength == 0.0){
                g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength,6)+" m",x+dx,y);	
                g.setFont(normalfontSerif);
                g.drawString(""+lambda,x+dx+fm.stringWidth("    d   = "+MaestroA.rounder(state.xpos,range))+4,y);
          } 
          else{
            
            if(testlength < 1.0E-9 && testlength > 0.0){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength*1.0e9,8)+" nm",x+dx,y);	
	    }
	    else if(testlength < 1.0E-6 && testlength >= 1.0E-9){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength*1.0e9,4)+" nm",x+dx,y);	
	    }
	    else if(testlength < 1.0E-3 && testlength >= 1.0E-6){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength*1.0e6,4)+" \u00b5m",x+dx,y);	
	    }
	    else if(testlength < 1.0 && testlength >= 1.0E-3){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength*1000,4)+" mm",x+dx,y);	
	    }
	    else if((testlength < 1000.0 && testlength >= 1.0 )){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength,6)+" m",x+dx,y);	
	    }
	    else if(testlength >= 1000.0 && testlength < 1.0E6){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength/1000.0,4)+" km",x+dx,y);	
	    }
	    else if(testlength >= 1.0E6 && testlength < 1.0E9){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength/1.0E6,4)+" Mm",x+dx,y);	
	    }
	    else if(testlength >= 1.0E9){
		g.drawString("    d   = "+MaestroA.rounder(state.xpos,range)+"      = "+MaestroA.rounder(state.xpos*state.wavelength/1.0E9,4)+" Gm",x+dx,y);	
	    }
	    
	    g.setFont(normalfontSerif);
	    g.drawString(""+lambda,x+dx+fm.stringWidth("    d   = "+MaestroA.rounder(state.xpos,range))+4,y);
          }
            
            g.setFont(normalfont);
	    
	    g.setColor(Color.white);	
	    g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5);
	    
            dx = 25;
	    y += dyy;
            dx = 75;
            
            double testmag = Complex.Magnitude(state.Zin);
            Complex Zmag = state.Zin;

            double testmag2 = Complex.Magnitude(state.Yin);
            Complex Ymag = state.Yin;
            
                if(Complex.Real(state.Gammain) > 0.999999 && Math.abs(Complex.Imaginary(state.Gammain)) < 0.000001){
		    Gamma_plusone = true;
		    Gamma_minusone = false;
		}
		else if(Complex.Real(state.Gammain) < -0.999999 && Math.abs(Complex.Imaginary(state.Gammain)) < 0.000001){
		    Gamma_plusone = false;
		    Gamma_minusone = true;
		}
		else{
		    Gamma_plusone = false;
		    Gamma_minusone = false;
		}
	    
            g.setColor(Color.red);
            g.drawString("Impedance",x,y);
            //g.drawString("  [ "+Ohm+" ]",x,y+dy);  
            MaestroG.SansNosansSymb2("",""," [ "+Ohm+" ]",g,10,x,y+dy);

            g.setColor(Color.black); 
            	//System.out.println(state.Zin+"   "+Gamma_plusone+"   "+Gamma_minusone+"   "+state.Gammain);
                MaestroG.subscripter("Z","","(d)",g,11,x+dx,y);
                int xinit2, xinit3;
                xinit2 = x+dxx+90;
                    
                if((state.IsLoadOpen || state.IsLoadImaginary) && Gamma_plusone){
		    //MaestroG.subscripter("= "+infinity,"","",g,11,xinit2,y);
                    MaestroG.subscripterInfinityOne("= ","","","",g,11,xinit2,y);

                    g.drawString("=  (Open Circuit)  " ,xinit2,y+dy);
                    y+=dy;
		}
		else if((state.IsLoadOpen || state.IsLoadImaginary) && Gamma_minusone){
		    MaestroG.subscripter("= 0.0 + j 0.0","","",g,11,xinit2,y);
                    MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+0.0+" rad",g,11,xinit2,y+dy);
                    y+=dy;
		}
		else if((state.IsLoadShort || state.IsLoadImaginary) && Gamma_plusone){
		    //MaestroG.subscripter("= "+infinity,"","",g,11,xinit2,y);
                    MaestroG.subscripterInfinityOne("= ","","","",g,11,xinit2,y);

                    g.drawString("=  (Open Circuit)  " ,xinit2,y+dy);
                    y+=dy;
		}
		else if((state.IsLoadShort || state.IsLoadImaginary) && Gamma_minusone){
		    MaestroG.subscripter("= 0.0 + j 0.0","","",g,11,xinit2,y);
                    MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+0.0+" rad",g,11,xinit2,y+dy);
                    y+=dy;
		}
   
		else{
                    
                    tempR=0.0; tempX=0.0;
                    stepx = 0;
                    
		    if(Complex.Imaginary(state.Zin) >= 0.0){sign = plusj;}
		    else{sign = minusj;}
		    
		    if((state.IsLoadImaginary || state.IsLoadOpen || state.IsLoadShort)){
			if(state.IsLossLess){
                            tempR = 0.0;
                        }
                        else{
                            tempR = state.Zin.Real();
                        }
		    }
		    else if(state.IsLoadRegular){
			tempR = state.Zin.Real();
		    }
                    
                    if(state.IsLoadReal && state.xpos == 0.0){
                        tempX = 0.0;
                    }
                    else{
                        tempX = Math.abs(state.Zin.Imaginary());
                    }
		    
                    if(Math.abs(tempX) < (Math.abs(tempR)*Tolerance)){tempX = 0.0;}
                    
                    //System.out.println("tempR = "+tempR+"   lossless = "+state.IsLossLess);
                    
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR,6),"","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR,6));
		    }
		    else if(tempR == 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0 ");
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-3,2)+"x 10 3");
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-6,2)+"x 10 6");
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-9,2)+"x 10 9");
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-12,2)+"x 10 12");
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-15,2)+"x 10 15");
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-18,2)+"x 10 18");
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-21,2)+"x 10 21");
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-24,2)+"x 10 24");
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-27,2)+"x 10 27");
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-30,2)+"x 10 30");
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E6,2)+"x 10 -6");
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E9,2)+"x 10 -9");
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E12,2)+"x 10 -12");
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E15,2)+"x 10 -15");
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E18,2)+"x 10 -18");
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E21,2)+"x 10 -21");
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E24,2)+"x 10 -24");
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E27,2)+"x 10 -27");
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E30,2)+"x 10 -30");
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0");
		    }
		    
		    xinit3 = xinit2+stepx;
		    
		    if(tempX < 1.0E3 && tempX >= 1.0E-3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX,6),"","",g,11,xinit3,y);
		    }
		    else if(tempX == 0.0){
			MaestroG.superscripter(" + j 0.0","","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E6 && tempX >= 1.0E3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-3,2)+" x 10","3","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E9 && tempX >= 1.0E6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-6,2)+" x 10","6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E12 && tempX >= 1.0E9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-9,2)+" x 10","9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E15 && tempX >= 1.0E12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-12,2)+" x 10","12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E18 && tempX >= 1.0E15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-15,2)+" x 10","15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E21 && tempX >= 1.0E18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-18,2)+" x 10","18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E24 && tempX >= 1.0E21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-21,2)+" x 10","21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E27 && tempX >= 1.0E24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-24,2)+" x 10","24","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E30 && tempX >= 1.0E27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-27,2)+" x 10","27","",g,11,xinit3,y);
		    }
		    else if(tempX >= 1.0E30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-30,2)+" x 10","30","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-3 && tempX >= 1.0E-6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E6,2)+" x 10","-6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-6 && tempX >= 1.0E-9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E9,2)+" x 10","-9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-9 && tempX >= 1.0E-12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E12,2)+" x 10","-12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-12 && tempX >= 1.0E-15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E15,2)+" x 10","-15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-15 && tempX >= 1.0E-18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E18,2)+" x 10","-18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-18 && tempX >= 1.0E-21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E21,2)+" x 10","-21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-21 && tempX >= 1.0E-24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E24,2)+" x 10","-24","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-24 && tempX >= 1.0E-27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E27,2)+" x 10","-27","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-27 && tempX >= 1.0E-30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E30,2)+" x 10","-30","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-30 && tempX != 0.0){
			MaestroG.superscripter(sign+" 0.0","","",g,11,xinit3,y);
		    }
		//}
                
                ///-----------------------------------------------------------------------       
                
                y += dy;
           	    
		    tempR = Complex.Magnitude(state.Zin);
                    double dtmp2;
     
                    if(tempR == 0.0){dtmp2 = 0.0;}
                    else{dtmp2=MaestroA.rounder(state.Zin.Arg2(),4);}
                
                    		    
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
                        MaestroG.SansMiditalic("= "+MaestroA.rounder(tempR,6),"  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR == 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
                        MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
            }
  
            //-----------------------------------------------------------------
	    g.setColor(new Color(120,120,120));
	    g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5);
	    
	    y += dyy;
	    
	    g.setColor(Color.red);
	    g.drawString("Admittance",x,y);
	    g.drawString("  [ S ]",x,y+dy);
	    
	    g.setColor(Color.black);
	    
            MaestroG.subscripter("Y","","(d)",g,11,x+dx,y);
               
                xinit2 = x+dxx+90;
                    
                if((state.IsLoadOpen || state.IsLoadImaginary) && Gamma_plusone){
		    MaestroG.subscripter("= 0.0 + j 0.0","","",g,11,xinit2,y);
                    MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+0.0+" rad",g,11,xinit2,y+dy);
                    y+=dy;
		}
		else if((state.IsLoadOpen || state.IsLoadImaginary) && Gamma_minusone){
                    //MaestroG.subscripter("= "+infinity,"","",g,11,xinit2,y);
                    MaestroG.subscripterInfinityOne("= ","","","",g,11,xinit2,y);

                    g.drawString("=  (Short Circuit)  " ,xinit2,y+dy);
                    y+=dy;
		}
		else if((state.IsLoadShort || state.IsLoadImaginary) && Gamma_plusone){
		    MaestroG.subscripter("= 0.0 + j 0.0","","",g,11,xinit2,y);
                    MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+0.0+" rad",g,11,xinit2,y+dy);
                    y+=dy;
		}
		else if((state.IsLoadShort || state.IsLoadImaginary) && Gamma_minusone){
		    //MaestroG.subscripter("= "+infinity,"","",g,11,xinit2,y);
                    MaestroG.subscripterInfinityOne("= ","","","",g,11,xinit2,y);
                    g.drawString("=  (Short Circuit)  " ,xinit2,y+dy);
                    y+=dy;
		}
   
		else{
                
                    tempR=0.0; tempX=0.0;
                    stepx = 0;
                    
		    if(Complex.Imaginary(state.Yin) >= 0.0){sign = plusj;}
		    else{sign = minusj;}
		    
		    if(state.IsLoadImaginary || state.IsLoadOpen || state.IsLoadShort){
			if(state.IsLossLess){
                            tempR = 0.0;
                        }
                        else{
                            tempR = state.Yin.Real();
                        }
		    }
		    else if(state.IsLoadRegular){
			tempR = state.Yin.Real();
		    }
                    
                    if(state.IsLoadReal && state.xpos == 0.0){
                        tempX = 0.0;
                    }
                    else{
                        tempX = Math.abs(state.Yin.Imaginary());
                    }
                    
                    if(Math.abs(tempX) < (Math.abs(tempR)*Tolerance)){tempX = 0.0;}
                    		    
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR,6),"","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR,6));
		    }
		    else if(tempR == 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0 ");
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-3,2)+"x 10 3");
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-6,2)+"x 10 6");
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-9,2)+"x 10 9");
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-12,2)+"x 10 12");
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-15,2)+"x 10 15");
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-18,2)+"x 10 18");
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-21,2)+"x 10 21");
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-24,2)+"x 10 24");
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-27,2)+"x 10 27");
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E-30,2)+"x 10 30");
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E6,2)+"x 10 -6");
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E9,2)+"x 10 -9");
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E12,2)+"x 10 -12");
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E15,2)+"x 10 -15");
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E18,2)+"x 10 -18");
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E21,2)+"x 10 -21");
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E24,2)+"x 10 -24");
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E27,2)+"x 10 -27");
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.superscripter("= "+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+MaestroA.rounder(tempR*1.0E30,2)+"x 10 -30");
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0");
		    }
		    
		    xinit3 = xinit2+stepx;
		    
		    if(tempX < 1.0E3 && tempX >= 1.0E-3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX,6),"","",g,11,xinit3,y);
		    }
		    else if(tempX == 0.0){
			MaestroG.superscripter(" + j 0.0","","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E6 && tempX >= 1.0E3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-3,2)+" x 10","3","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E9 && tempX >= 1.0E6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-6,2)+" x 10","6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E12 && tempX >= 1.0E9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-9,2)+" x 10","9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E15 && tempX >= 1.0E12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-12,2)+" x 10","12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E18 && tempX >= 1.0E15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-15,2)+" x 10","15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E21 && tempX >= 1.0E18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-18,2)+" x 10","18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E24 && tempX >= 1.0E21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-21,2)+" x 10","21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E27 && tempX >= 1.0E24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-24,2)+" x 10","24","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E30 && tempX >= 1.0E27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-27,2)+" x 10","27","",g,11,xinit3,y);
		    }
		    else if(tempX >= 1.0E30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-30,2)+" x 10","30","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-3 && tempX >= 1.0E-6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E6,2)+" x 10","-6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-6 && tempX >= 1.0E-9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E9,2)+" x 10","-9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-9 && tempX >= 1.0E-12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E12,2)+" x 10","-12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-12 && tempX >= 1.0E-15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E15,2)+" x 10","-15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-15 && tempX >= 1.0E-18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E18,2)+" x 10","-18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-18 && tempX >= 1.0E-21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E21,2)+" x 10","-21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-21 && tempX >= 1.0E-24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E24,2)+" x 10","-24","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-24 && tempX >= 1.0E-27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E27,2)+" x 10","-27","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-27 && tempX >= 1.0E-30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E30,2)+" x 10","-30","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-30 && tempX != 0.0){
			MaestroG.superscripter(sign+" 0.0","","",g,11,xinit3,y);
		    }
		//}
                
                ///-----------------------------------------------------------------------       
                
                y += dy;
           	    
		    tempR = Complex.Magnitude(state.Yin);
                    double dtmp2;
     
                    if(tempR == 0.0){dtmp2 = 0.0;}
                    else{dtmp2=MaestroA.rounder(state.Yin.Arg2(),4);}
                
                    		    
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
                        MaestroG.SansMiditalic("= "+MaestroA.rounder(tempR,6),"  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR == 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
                        MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
            }
            
            //-----------------------------------------------------------------
	    g.setColor(Color.white);	
            g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5);
	    y += dyy;
	    
	    g.setColor(Color.red);	    	    
	    g.drawString("Reflection",x,y);
            g.drawString("Coefficient",x,y+dy);
	    	    
	    g.setColor(Color.black);
	                
            MaestroG.subscripterSS3("  "+Gamma,"d","",g,11,x+dx,y);
	    g.drawString("= "+state.Gammain.toString(Complex.CARTESIAN,8,false),xinit2,y);
	    y += dy;
	    
	    /*
            g.drawString("         = "+state.Gammain.toString(Complex.CARTESIAN,6,false),x+dx,y);
	    y += dy;
	    
	    g.drawString("         = "+state.Gammain.toString(Complex.POLAR_RADIAN,6,5),x+dx,y);
	    y += dy;
	    g.drawString("         = "+state.Gammain.toString(Complex.POLAR_DEGREE,6,5),x+dx,y);    
            */
            
            double gtmp1, gtmp2, gtmp3;
            gtmp1=MaestroA.rounder(state.Gammain.Magnitude(),8);
            if(gtmp1 == 0.0){gtmp2 = 0.0; gtmp3 = 0.0;}
            else{
                   gtmp2=MaestroA.rounder(state.Gammain.Arg2(),6);
                   gtmp3=MaestroA.rounder(state.Gammain.Arg2()*180/Math.PI,6);
             }
             MaestroG.SansMiditalic("= "+gtmp1,"  \u2220 ",""+gtmp2+" rad",g,11,xinit2,y);
	    
	     y += dy;
             MaestroG.SansMiditalic("= "+gtmp1,"  \u2220 ",""+gtmp3+" \u00ba",g,11,xinit2,y);
	    
    
                
	    g.setColor(new Color(120,120,120));
	    g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5);    
	    y += dyy;
	    
	    
            
            g.setColor(Color.red);
	    g.drawString("Voltage",x,y);
            g.drawString("  [ V ]",x,y+dy); 
            g.setColor(Color.black);
            
            MaestroG.subscripterWavy("V","","(d)",g,11,x+dx,y);
            tempR=0.0; tempX=0.0;
            stepx = 0;
                    
                    if(Complex.Real(state.Vin) >= 0.0){signr = plusr;}
		    else{signr = minusr;}
		    if(Complex.Imaginary(state.Vin) >= 0.0){sign = plusj;}
		    else{sign = minusj;}
		    
		    //if(state.IsLoadImaginary || state.IsLoadOpen || state.IsLoadShort){
			//tempR = 0.0;
		    //}
		    //else if(state.IsLoadRegular){
			tempR = Math.abs(state.Vin.Real());
		    //}
		    tempX = Math.abs(state.Vin.Imaginary());
		    
                    if(Math.abs(tempX) < (Math.abs(tempR)*Tolerance)){tempX = 0.0;}
                    if(Math.abs(tempR) < (Math.abs(tempX)*Tolerance)){tempR = 0.0;}
                    
                        
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR,6),"","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR,6));
		    }
		    else if(tempR == 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0 ");
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-3,2)+"x 10 3");
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-6,2)+"x 10 6");
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-9,2)+"x 10 9");
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-12,2)+"x 10 12");
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-15,2)+"x 10 15");
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-18,2)+"x 10 18");
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-21,2)+"x 10 21");
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-24,2)+"x 10 24");
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-27,2)+"x 10 27");
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-30,2)+"x 10 30");
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E6,2)+"x 10 -6");
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E9,2)+"x 10 -9");
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E12,2)+"x 10 -12");
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E15,2)+"x 10 -15");
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E18,2)+"x 10 -18");
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E21,2)+"x 10 -21");
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E24,2)+"x 10 -24");
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E27,2)+"x 10 -27");
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E30,2)+"x 10 -30");
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0");
		    }
		    
		    xinit3 = xinit2+stepx;
		    
		    if(tempX < 1.0E3 && tempX >= 1.0E-3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX,6),"","",g,11,xinit3,y);
		    }
		    else if(tempX == 0.0){
			MaestroG.superscripter(" + j 0.0","","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E6 && tempX >= 1.0E3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-3,2)+" x 10","3","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E9 && tempX >= 1.0E6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-6,2)+" x 10","6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E12 && tempX >= 1.0E9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-9,2)+" x 10","9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E15 && tempX >= 1.0E12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-12,2)+" x 10","12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E18 && tempX >= 1.0E15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-15,2)+" x 10","15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E21 && tempX >= 1.0E18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-18,2)+" x 10","18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E24 && tempX >= 1.0E21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-21,2)+" x 10","21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E27 && tempX >= 1.0E24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-24,2)+" x 10","24","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E30 && tempX >= 1.0E27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-27,2)+" x 10","27","",g,11,xinit3,y);
		    }
		    else if(tempX >= 1.0E30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-30,2)+" x 10","30","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-3 && tempX >= 1.0E-6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E6,2)+" x 10","-6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-6 && tempX >= 1.0E-9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E9,2)+" x 10","-9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-9 && tempX >= 1.0E-12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E12,2)+" x 10","-12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-12 && tempX >= 1.0E-15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E15,2)+" x 10","-15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-15 && tempX >= 1.0E-18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E18,2)+" x 10","-18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-18 && tempX >= 1.0E-21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E21,2)+" x 10","-21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-21 && tempX >= 1.0E-24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E24,2)+" x 10","-24","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-24 && tempX >= 1.0E-27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E27,2)+" x 10","-27","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-27 && tempX >= 1.0E-30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E30,2)+" x 10","-30","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-30 && tempX != 0.0){
			MaestroG.superscripter(sign+" 0.0","","",g,11,xinit3,y);
		    }
		//}
                
                ///-----------------------------------------------------------------------       
                
                y += dy;
           	    
		    tempR = Complex.Magnitude(state.Vin);
                    double dtmp2;
     
                    if(tempR == 0.0){dtmp2 = 0.0;}
                    else{dtmp2=MaestroA.rounder(state.Vin.Arg2(),4);}
                
       
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
                        MaestroG.SansMiditalic("= "+MaestroA.rounder(tempR,6),"  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR == 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
                        MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
                    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    //--------------------------------------------------------------------------------------------------------------------------
            
	    g.setColor(Color.white);	
	    g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5);    
	    y += dyy;
	    //-----------------------------------------------------------------
               
            g.setColor(Color.red);
	    g.drawString("Current",x,y);
            g.drawString("  [ A ]",x,y+dy); 
            g.setColor(Color.black);
            
            MaestroG.subscripterSSWavyC("I","","(d)",g,11,x+dx,y);
            
            tempR=0.0; tempX=0.0;
            stepx = 0;
                    
                    if(Complex.Real(state.Iin) >= 0.0){signr = plusr;}
		    else{signr = minusr;}
		    if(Complex.Imaginary(state.Iin) >= 0.0){sign = plusj;}
		    else{sign = minusj;}
		    
		    //if(state.IsLoadImaginary || state.IsLoadOpen || state.IsLoadShort){
			//tempR = 0.0;
		    //}
		    //else if(state.IsLoadRegular){
			tempR = Math.abs(state.Iin.Real());
		    //}
		    
                    tempX = Math.abs(state.Iin.Imaginary());
		        
                    if(Math.abs(tempX) < (Math.abs(tempR)*Tolerance)){tempX = 0.0;}
                    if(Math.abs(tempR) < (Math.abs(tempX)*Tolerance)){tempR = 0.0;}
                                            
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR,6),"","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR,6));
		    }
		    else if(tempR == 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0 ");
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-3,2)+"x 10 3");
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-6,2)+"x 10 6");
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-9,2)+"x 10 9");
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-12,2)+"x 10 12");
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-15,2)+"x 10 15");
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-18,2)+"x 10 18");
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-21,2)+"x 10 21");
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-24,2)+"x 10 24");
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-27,2)+"x 10 27");
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-30,2)+"x 10 30");
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E6,2)+"x 10 -6");
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E9,2)+"x 10 -9");
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E12,2)+"x 10 -12");
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E15,2)+"x 10 -15");
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E18,2)+"x 10 -18");
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E21,2)+"x 10 -21");
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E24,2)+"x 10 -24");
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E27,2)+"x 10 -27");
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E30,2)+"x 10 -30");
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0");
		    }
		    
		    xinit3 = xinit2+stepx;
		    
		    if(tempX < 1.0E3 && tempX >= 1.0E-3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX,6),"","",g,11,xinit3,y);
		    }
		    else if(tempX == 0.0){
			MaestroG.superscripter(" + j 0.0","","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E6 && tempX >= 1.0E3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-3,2)+" x 10","3","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E9 && tempX >= 1.0E6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-6,2)+" x 10","6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E12 && tempX >= 1.0E9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-9,2)+" x 10","9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E15 && tempX >= 1.0E12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-12,2)+" x 10","12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E18 && tempX >= 1.0E15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-15,2)+" x 10","15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E21 && tempX >= 1.0E18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-18,2)+" x 10","18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E24 && tempX >= 1.0E21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-21,2)+" x 10","21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E27 && tempX >= 1.0E24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-24,2)+" x 10","24","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E30 && tempX >= 1.0E27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-27,2)+" x 10","27","",g,11,xinit3,y);
		    }
		    else if(tempX >= 1.0E30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-30,2)+" x 10","30","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-3 && tempX >= 1.0E-6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E6,2)+" x 10","-6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-6 && tempX >= 1.0E-9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E9,2)+" x 10","-9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-9 && tempX >= 1.0E-12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E12,2)+" x 10","-12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-12 && tempX >= 1.0E-15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E15,2)+" x 10","-15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-15 && tempX >= 1.0E-18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E18,2)+" x 10","-18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-18 && tempX >= 1.0E-21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E21,2)+" x 10","-21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-21 && tempX >= 1.0E-24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E24,2)+" x 10","-24","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-24 && tempX >= 1.0E-27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E27,2)+" x 10","-27","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-27 && tempX >= 1.0E-30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E30,2)+" x 10","-30","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-30 && tempX != 0.0){
			MaestroG.superscripter(sign+" 0.0","","",g,11,xinit3,y);
		    }
		//}
                
                ///-----------------------------------------------------------------------       
                
                y += dy;
           	    
		    tempR = Complex.Magnitude(state.Iin);
                        
                    if(tempR == 0.0){dtmp2 = 0.0;}
                    else{dtmp2=MaestroA.rounder(state.Iin.Arg2(),4);}
                
                    		    
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
                        MaestroG.SansMiditalic("= "+MaestroA.rounder(tempR,6),"  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR == 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
                        MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
            
            
            
	    g.setColor(new Color(120,120,120));
	    g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5);
	    y += dyy;
	    
            g.setColor(Color.black);
            //g.drawString("<P(d)>",x+dx-8,y-1);
            MaestroG.subscripter("P","av","",g,11,x+dx,y-1);
	    g.setColor(Color.red);
	    g.drawString("Power Flow",x,y-1);

	    if(state.Power_flow<=1.0E-30){
		g.drawString("  [ W ]",x,y+dy-3);
		g.setColor(Color.black);
		g.drawString("= "+MaestroA.rounder(state.Power_flow,6)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow>=1.0 && state.Power_flow <1.0E3 ){
		g.drawString("  [ W ]",x,y+dy-3);
		g.setColor(Color.black);
		g.drawString("= "+MaestroA.rounder(state.Power_flow,6)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow<1.0E6 && state.Power_flow>=1.0E3){
		g.drawString("  [ k W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E-3;
		g.drawString("= "+MaestroA.rounder(temp,4)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow>=1.0E6){
		g.drawString("  [ M W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E-6;
		g.drawString("= "+MaestroA.rounder(temp,2)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow<1.0 && state.Power_flow>=0.001){
		g.drawString("  [ m W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E3;
		g.drawString("= "+MaestroA.rounder(temp,6)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow<1.0E-3 && state.Power_flow>=1.0E-6){
		g.drawString("  [ \u00b5 W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E6;
		g.drawString("= "+MaestroA.rounder(temp,6)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow<1.0E-6 && state.Power_flow>=1.0E-9){
		g.drawString("  [ n W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E9;
		g.drawString("= "+MaestroA.rounder(temp,6)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow<1.0E-9 && state.Power_flow>=1.0E-12){
		g.drawString("  [ p W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E12;
		g.drawString("= "+MaestroA.rounder(temp,6)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow<1.0E-12 && state.Power_flow>=1.0E-15){
		g.drawString("  [ f W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E15;
		g.drawString("= "+MaestroA.rounder(temp,6)+"",xinit2,y-1);
	    }
	    else if(state.Power_flow<1.0E-15){
		g.drawString("  [ a W ]",x,y+dy-3);
		g.setColor(Color.black);
		temp = state.Power_flow*1.0E18;
		g.drawString("= "+MaestroA.rounder(temp,6)+"",xinit2,y-1);
	    }
	    
	}
}

class SpaceIndependentCanvas extends Canvas{
    //private static final Font normalfont = new Font("SanSerif",Font.PLAIN,11);
    //private static final Font symbolfont = new Font("Serif",Font.PLAIN,12);
    public static final Font normalfont = Trans_OutputPanel.normalfont;
    public static final Font symbolfont = Trans_OutputPanel.symbolfont;
	Trans_State state;
        private Image im;
	private Graphics buf;
        
	public SpaceIndependentCanvas(Trans_State state){
	    super();
	    this.state = state;
	}
        
	public void paint(Graphics g){
	    if(im == null){
		im = createImage(getSize().width,getSize().height);
		buf = im.getGraphics();
		drawGraph(buf);
	    }
	    else{
		drawGraph(buf);
	    }
	    g.drawImage(im,0,0,null);
	}
	
	//Addition to reduce flicker new routine
	public void update(Graphics g){		// added to avoid clearing
	    paint(g);
	}

	public void drawGraph(Graphics g){
	    int x, y, dx, dxx, dxxx, dy, dyy;
	    double temp, temp2;
	    Complex tempc;
	    FontMetrics fm;
            
            String alpha, Ohm, lambda, infinity, Gamma, plusj, minusj, 
                       sign, plusr, minusr, signr;
		g.setFont(symbolfont);
		alpha="\u03b1";
		lambda="\u03bb";
		Ohm="\u03a9";
		infinity="\u221e";
		Gamma="\u0393";
                g.setFont(normalfont);
		plusj =" + j ";
		minusj=" - j ";
                plusr ="";
                minusr =" - ";

	    
		float dmax, dmin;
		if(state.ZL.Imaginary()>0.0f){
		    dmax=(float)((state.GammaL.Arg2())/(4.0*Math.PI));
		    dmin=dmax+0.25f;
		}
		else{
		    dmax=(float)((state.GammaL.Arg2())/(4.0*Math.PI))+0.5f;
		    dmin=(float)((state.GammaL.Arg2())/(4.0*Math.PI))+0.25f;
		}

		while(dmax>0.5f) dmax=dmax-0.5f;
		while(dmin>0.5f) dmin=dmin-0.5f; 
	    
                g.clearRect(0,0,getSize().width-1,getSize().height-1);
                Graphics2D g2d = (Graphics2D)g;
                g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
                
	    x = 10;
	    y = 15;
	    dx = 80;
	    dxx = 15;
            dxxx = 80;
	    g.setFont(normalfont);
	    fm = g.getFontMetrics();
	    dy = fm.getHeight();
	    //dyy = dy+3;    JAN
	    dyy = dy+8;
            
	    g.setColor(Color.red);
	    //g.drawString("SWR",x+dxx,y); JAN
            g.drawString("SWR",x+dxx,y+15); // JAN
	    //g.drawString("SWR(d)",x+dxx,y+15);  JAN
	    g.setColor(Color.black);
	    if(state.VSWR >= 1.0){
		if(state.VSWR > 1.0e16){
		    
                    MaestroG.subscripterInfinityTwo("= ","","","","            (load)",g,11,x+dx,y+15);
		}
		else if(state.VSWR >=100.0 && state.VSWR <= 1.0e16){
		    g.drawString("= "+MaestroA.rounder(state.VSWR,2)+"  (load)",x+dx,y+15);
		}
		else{	
		    g.drawString("= "+MaestroA.rounder(state.VSWR,4)+"  (load)",x+dx,y+15);
		}
	    }
	    else{
		MaestroG.subscripterSymMiddle("= undefined   | ", "", "",Gamma, " | > 1.0",g,11,x+dx,y+15);
                g.setFont(normalfont);
	    }
	    
	    double VSWRin = (1.0+Complex.Magnitude(state.Gammain))/(1-Complex.Magnitude(state.Gammain));
	    
            /*   JAN
	    if(VSWRin >= 1.0){
		if(VSWRin > 1.0e16){
		    MaestroG.subscripterInfinityTwo("= ","","","","            (cursor)",g,11,x+dx,y+15);
		}
		else if(VSWRin >=100.0 && VSWRin <= 1.0e16){
		    g.drawString("= "+MaestroA.rounder(VSWRin,2)+"  (cursor)",x+dx,y+15);
		}
		else{	
		    g.drawString("= "+MaestroA.rounder(VSWRin,4)+"  (cursor)",x+dx,y+15);
		}
	    }
	    else{
                    MaestroG.subscripterSymMiddle("= undefined   | ", "", "",Gamma, " | > 1.0",g,11,x+dx,y+15);
                    g.setFont(normalfont);
	    }
            */
	    	    
	    g.setColor(Color.white);
            y += 3;  // JAN (added)
	    g.drawLine(5,y+dyy/4+15,getSize().width-5,y+dyy/4+15); 
	    
	    y += dyy+15;
	    //-----------------------------------------------------------------
            g.setColor(Color.red);
	    g.drawString("Amplitude of Incident Voltage Wave  [ V ]",x,y);
	    g.setColor(Color.black);
	    
	    y+= dy;
            
            //-------------------------------------------------------------------------------
            
            MaestroG.subscripterSpecialSubSup("V","o","+","",g,11,x+60,y);
            
            
            double tempR=0.0; double tempX=0.0; double Tolerance = 1.0E-10;
            int stepx = 0;
            int xinit2 = x+dxxx;
            
                    if(Complex.Real(state.VPlus) >= 0.0){signr = plusr;}
		    else{signr = minusr;}
		    if(Complex.Imaginary(state.VPlus) >= 0.0){sign = plusj;}
		    else{sign = minusj;}
		    
		    //if(state.IsLoadImaginary || state.IsLoadOpen || state.IsLoadShort){
			//tempR = 0.0;
		    //}
		    //else if(state.IsLoadRegular){
			tempR = Math.abs(state.VPlus.Real());
		    //}
		    tempX = Math.abs(state.VPlus.Imaginary());
		    
                    if(Math.abs(tempX) < (Math.abs(tempR)*Tolerance)){tempX = 0.0;}
                    if(Math.abs(tempR) < (Math.abs(tempX)*Tolerance)){tempR = 0.0;} 
                     
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR,6),"","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR,6));
		    }
		    else if(tempR == 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0 ");
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-3,2)+"x 10 3");
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-6,2)+"x 10 6");
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-9,2)+"x 10 9");
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-12,2)+"x 10 12");
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-15,2)+"x 10 15");
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-18,2)+"x 10 18");
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-21,2)+"x 10 21");
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-24,2)+"x 10 24");
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-27,2)+"x 10 27");
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E-30,2)+"x 10 30");
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E6,2)+"x 10 -6");
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E9,2)+"x 10 -9");
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E12,2)+"x 10 -12");
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E15,2)+"x 10 -15");
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E18,2)+"x 10 -18");
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E21,2)+"x 10 -21");
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E24,2)+"x 10 -24");
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E27,2)+"x 10 -27");
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.superscripter("= "+signr+""+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","",g,11,xinit2,y);
			stepx = fm.stringWidth("= "+signr+""+MaestroA.rounder(tempR*1.0E30,2)+"x 10 -30");
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.superscripter("= 0.0","","",g,11,xinit2,y);
			stepx = fm.stringWidth("= 0.0");
		    }
		    
		    int xinit3 = xinit2+stepx;
		    
		    if(tempX < 1.0E3 && tempX >= 1.0E-3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX,6),"","",g,11,xinit3,y);
		    }
		    else if(tempX == 0.0){
			MaestroG.superscripter(" + j 0.0","","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E6 && tempX >= 1.0E3){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-3,2)+" x 10","3","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E9 && tempX >= 1.0E6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-6,2)+" x 10","6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E12 && tempX >= 1.0E9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-9,2)+" x 10","9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E15 && tempX >= 1.0E12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-12,2)+" x 10","12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E18 && tempX >= 1.0E15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-15,2)+" x 10","15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E21 && tempX >= 1.0E18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-18,2)+" x 10","18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E24 && tempX >= 1.0E21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-21,2)+" x 10","21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E27 && tempX >= 1.0E24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-24,2)+" x 10","24","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E30 && tempX >= 1.0E27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-27,2)+" x 10","27","",g,11,xinit3,y);
		    }
		    else if(tempX >= 1.0E30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E-30,2)+" x 10","30","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-3 && tempX >= 1.0E-6){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E6,2)+" x 10","-6","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-6 && tempX >= 1.0E-9){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E9,2)+" x 10","-9","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-9 && tempX >= 1.0E-12){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E12,2)+" x 10","-12","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-12 && tempX >= 1.0E-15){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E15,2)+" x 10","-15","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-15 && tempX >= 1.0E-18){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E18,2)+" x 10","-18","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-18 && tempX >= 1.0E-21){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E21,2)+" x 10","-21","",g,11,xinit3,y);
		    }
		    else if(tempX < 1.0E-21 && tempX >= 1.0E-24){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E24,2)+" x 10","-24","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-24 && tempX >= 1.0E-27){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E27,2)+" x 10","-27","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-27 && tempX >= 1.0E-30){
			MaestroG.superscripter(sign+""+MaestroA.rounder(tempX*1.0E30,2)+" x 10","-30","",g,11,xinit3,y);
		    }
                    else if(tempX < 1.0E-30 && tempX != 0.0){
			MaestroG.superscripter(sign+" 0.0","","",g,11,xinit3,y);
		    }
		//}
                
                ///-----------------------------------------------------------------------       
                
                y += dy;
           	    
		    tempR = Complex.Magnitude(state.VPlus);
                    double dtmp2;
     
                    if(tempR == 0.0){dtmp2 = 0.0;}
                    else{dtmp2=MaestroA.rounder(state.VPlus.Arg2(),4);}
                
                    		    
		    if(tempR < 1.0E3 && tempR >= 1.0E-3){
                        MaestroG.SansMiditalic("= "+MaestroA.rounder(tempR,6),"  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR == 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E6 && tempR >= 1.0E3){
                        MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-3,2)+" x 10","3","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E9 && tempR >= 1.0E6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-6,2)+" x 10","6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E12 && tempR >= 1.0E9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-9,2)+" x 10","9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E15 && tempR >= 1.0E12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-12,2)+" x 10","12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E18 && tempR >= 1.0E15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-15,2)+" x 10","15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E21 && tempR >= 1.0E18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-18,2)+" x 10","18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E24 && tempR >= 1.0E21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-21,2)+" x 10","21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E27 && tempR >= 1.0E24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-24,2)+" x 10","24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E30 && tempR >= 1.0E27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-27,2)+" x 10","27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR >= 1.0E30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E-30,2)+" x 10","30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-3 && tempR >= 1.0E-6){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E6,2)+" x 10","-6","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-6 && tempR >= 1.0E-9){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E9,2)+" x 10","-9","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-9 && tempR >= 1.0E-12){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E12,2)+" x 10","-12","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-12 && tempR >= 1.0E-15){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E15,2)+" x 10","-15","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-15 && tempR >= 1.0E-18){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E18,2)+" x 10","-18","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-18 && tempR >= 1.0E-21){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E21,2)+" x 10","-21","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
		    else if(tempR < 1.0E-21 && tempR >= 1.0E-24){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E24,2)+" x 10","-24","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-24 && tempR >= 1.0E-27){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E27,2)+" x 10","-27","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-27 && tempR >= 1.0E-30){
			MaestroG.SansMiditalicSuper("= "+MaestroA.rounder(tempR*1.0E30,2)+" x 10","-30","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }
                    else if(tempR < 1.0E-30 && tempR != 0.0){
			MaestroG.SansMiditalic("= 0.0","  \u2220 ",""+dtmp2+" rad",g,11,xinit2,y);
		    }        
      
            y+=3;  // JAN
	    g.setColor(new Color(120,120,120));
	    g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5);  
	    y+= dyy;
	    
	    g.setColor(Color.red);
	    g.drawString("Location of First Voltage Maximum & Minimum",x,y);
	    y+= dy;
	    
            
            g.setColor(Color.black);
            
            // print dmax and dmin in wavelength units
            
            g.drawString("d (max)",x+dxx+25,y);
            MaestroG.SansNosansSymb2("= "+MaestroA.rounder(dmax,5)+" ","",""+lambda,g,11,xinit2,y);
	    y+=dy;
	    
	    g.drawString("d (min)",x+dxx+25,y);
            MaestroG.SansNosansSymb2("= "+MaestroA.rounder(dmin,5)+" ","",""+lambda,g,11,xinit2,y);
	    
            // print zmax and zmin in meter units
            int xmax, xmin, xgood;
            
            xmax = fm.stringWidth("d(max) = "+MaestroA.rounder(dmax,5));
            xmin = fm.stringWidth("d(min) = "+MaestroA.rounder(dmin,5));
            xgood = Math.max(xmax,xmin);
                  
            double testmax = dmax * state.wavelength;
            double testmin = dmin * state.wavelength;
            int rangemax = 7;
            int rangemin = 7;
            int dxmax = xgood -5; int dystep = 20;
                        
            if(testmax < 1.0E-9 && testmax > 0.0){
		g.drawString("= "+MaestroA.rounder(testmax*1.0e9,8)+" nm",xinit2+dxmax,y-dy);	
	    }
	    else if(testmax < 1.0E-6 && testmax >= 1.0E-9){
		g.drawString("= "+MaestroA.rounder(testmax*1.0e9,4)+" nm",xinit2+dxmax,y-dy);	
	    }
	    else if(testmax < 1.0E-3 && testmax >= 1.0E-6){
		g.drawString("= "+MaestroA.rounder(testmax*1.0e6,4)+" \u00b5m",xinit2+dxmax,y-dy);	
	    }
	    else if(testmax <= 1.0 && testmax >= 1.0E-3){
		g.drawString("= "+MaestroA.rounder(testmax*1000,4)+" mm",xinit2+dxmax,y-dy);	
	    }
            else if((testmax < 1000.0 && testmax >= 1.0 ) || testmax == 0.0){
		g.drawString("= "+MaestroA.rounder(testmax,6)+" m",xinit2+dxmax,y-dy);	
	    }
	    else if(testmax >= 1000.0 && testmax < 1.0E6){
		g.drawString("= "+MaestroA.rounder(testmax/1000.0,4)+" km",xinit2+dxmax,y-dy);	
	    }
	    else if(testmax >= 1.0E6 && testmax < 1.0E9){
		//g.drawString("= "+MaestroA.rounder(testmax/1.0E6,4)+" Mm",xinit2+dxmax,y-dy);
                MaestroG.superscripter("= "+MaestroA.rounder(testmax/1.0E6,4)+" x 10","3"," km",g,11,xinit2+dxmax,y-dy);
	    }
	    else if(testmax >= 1.0E9){
		//g.drawString("= "+MaestroA.rounder(testmax/1.0E9,4)+" Gm",xinit2+dxmax,y);
                MaestroG.superscripter("= "+MaestroA.rounder(testmax/1.0E9,4)+" x 10","6"," km",g,11,xinit2+dxmax,y-dy);
	    }
            
            if(testmin < 1.0E-9 && testmin > 0.0){
		g.drawString("= "+MaestroA.rounder(testmin*1.0e9,8)+" nm",xinit2+dxmax,y);	
	    }
	    else if(testmin < 1.0E-6 && testmin >= 1.0E-9){
		g.drawString("= "+MaestroA.rounder(testmin*1.0e9,4)+" nm",xinit2+dxmax,y);	
	    }
	    else if(testmin < 1.0E-3 && testmin >= 1.0E-6){
		g.drawString("= "+MaestroA.rounder(testmin*1.0e6,4)+" \u00b5m",xinit2+dxmax,y);	
	    }
	    else if(testmin <= 1.0 && testmin >= 1.0E-3){
		g.drawString("= "+MaestroA.rounder(testmin*1000,4)+" mm",xinit2+dxmax,y);	
	    }
            else if((testmin < 1000.0 && testmin >= 1.0 ) || testmin == 0.0){
		g.drawString("= "+MaestroA.rounder(testmin,6)+" m",xinit2+dxmax,y);	
	    }
	    else if(testmin >= 1000.0 && testmin < 1.0E6){
		g.drawString("= "+MaestroA.rounder(testmin/1000.0,4)+" km",xinit2+dxmax,y);	
	    }
	    else if(testmin >= 1.0E6 && testmin < 1.0E9){
		//g.drawString("= "+MaestroA.rounder(testmin/1.0E6,4)+" Mm",xinit2+dxmax,y);
                MaestroG.superscripter("= "+MaestroA.rounder(testmin/1.0E6,4)+" x 10","3"," km",g,11,xinit2+dxmax,y);
	    }
	    else if(testmin >= 1.0E9){
		//g.drawString("= "+MaestroA.rounder(testmin/1.0E9,4)+" Gm",xinit2+dxmax,y);
                MaestroG.superscripter("= "+MaestroA.rounder(testmin/1.0E9,4)+" x 10","6"," km",g,11,xinit2+dxmax,y);
	    }
            
            
	    g.setColor(Color.white);	
            y += 3;  // JAN (added)
    	    g.drawLine(5,y+dyy/5,getSize().width-5,y+dyy/5); 
	    
	    g.setColor(Color.red);
	    y += dyy+1;
	    g.drawString("TIME-AVERAGE POWER", x, y);
            
            int dx1 = 40;

            /* JAN
	    y+= dy;

	    g.setColor(Color.blue);
	    g.drawString("Absorbed by input",x+dx+dx+17,y);
	    g.setColor(Color.black);
            
            g.drawString("P( in )",x,y);
	    if(state.Power_input>=1.0 && state.Power_input<=1.0E3 || state.Power_input==0.0){
		g.drawString("= "+MaestroA.rounder(state.Power_input,6)+" [ W ]",x+dx1,y);
	    }
	    else if(state.Power_input<1.0E6 && state.Power_input>=1.0E3){
		temp = state.Power_input*1.0E-3;
		g.drawString("= "+MaestroA.rounder(temp,4)+" [ k W ]",x+dx1,y);
	    }
	    else if(state.Power_input>=1.0E6){
		temp = state.Power_input*1.0E-6;
		g.drawString("= "+MaestroA.rounder(temp,2)+" [ M W ]",x+dx1,y);
	    }
	    else if(state.Power_input<1.0 && state.Power_input>=0.001){
		temp = state.Power_input*1000;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ m W ]",x+dx1,y);
	    }
	    else if(state.Power_input<0.001 && state.Power_input>=1.0E-6){
		temp = state.Power_input*1.0E6;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ \u00b5 W ]",x+dx1,y);
	    }
	    else if(state.Power_input<1.0E-6 && state.Power_input>=1.0E-9){
		temp = state.Power_input*1.0E9;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ n W ]",x+dx1,y);
	    }
	    else if(state.Power_input<1.0E-9 && state.Power_input>=1.0E-12){
		temp = state.Power_input*1.0E12;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ p W ]",x+dx1,y);
	    }
	    else if(state.Power_input<1.0E-12 && state.Power_input>=1.0E-15){
		temp = state.Power_input*1.0E15;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ f W ]",x+dx1,y);
	    }
	    else if(state.Power_input<1.0E-15 && state.Power_input>=1.0E-18){
		temp = state.Power_input*1.0E18;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ a W ]",x+dx1,y);
	    }
	    else if(state.Power_input<1.0E-18){
		temp = 0.0;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ W ]",x+dx1,y);
	    }
            */
            
	    g.setColor(Color.blue);
	    y += dy;
	    g.drawString("Absorbed by load",x+dx+dx+17,y);
	
	    g.setColor(Color.black);
            
            g.drawString("P( abs )",x,y);
	    if((state.Power_load>=1.0 && state.Power_load<=1.0E3) || state.Power_load==0.0){
		g.drawString("= "+MaestroA.rounder(state.Power_load,6)+" [ W ]",x+dx1,y);
	    }
	    else if(state.Power_load<1.0E6 && state.Power_load>=1.0E3){
		temp = state.Power_load*1.0E-3;
		g.drawString("= "+MaestroA.rounder(temp,4)+" [ k W ]",x+dx1,y);
	    }
	    else if(state.Power_load>=1.0E6){
		temp = state.Power_load*1.0E-6;
		g.drawString("= "+MaestroA.rounder(temp,2)+" [ M W ]",x+dx1,y);
	    }
	    else if(state.Power_load<1.0 && state.Power_load>=0.001){
		temp = state.Power_load*1000;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ m W ]",x+dx1,y);
	    }
	    else if(state.Power_load<0.001 && state.Power_load>=1.0E-6){
		temp = state.Power_load*1.0E6;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ \u00b5 W ]",x+dx1,y);
	    }
	    else if(state.Power_load<1.0E-6 && state.Power_load>=1.0E-9){
		temp = state.Power_load*1.0E9;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ n W ]",x+dx1,y);
	    }
	    else if(state.Power_load<1.0E-9 && state.Power_load>=1.0E-12){
		temp = state.Power_load*1.0E12;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ p W ]",x+dx1,y);
	    }
	    else if(state.Power_load<1.0E-12 && state.Power_load>=1.0E-15){
		temp = state.Power_load*1.0E15;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ f W ]",x+dx1,y);
	    }
	    else if(state.Power_load<1.0E-15 && state.Power_load>=1.0E-18){
		temp = state.Power_load*1.0E18;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ a W ]",x+dx1,y);
	    }
	    else if(state.Power_load<1.0E-18){
		temp = 0.0;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ W ]",x+dx1,y);
	    }
            
	    /* JAN

	    y += dy;
	    g.setColor(Color.blue);
	    g.drawString("Absorbed by Line",x+dx+dx+17,y);
	    if(state.alpha==0.0){
		temp2 =0;
	    }
	    else{
		temp2 = state.Power_input - state.Power_load;
	    }
	    g.setColor(Color.black);
            
            g.drawString("P( line )",x,y);
	    if((temp2>=1.0 && temp2 <1.0E3) || temp2<=1.0E-30){
		g.drawString("= "+MaestroA.rounder(temp2,6)+" [ W ]",x+dx1,y);
	    }
	    else if(temp2<1.0E6 && temp2>=1.0E3){
		temp = temp2*1.0E-3;
		g.drawString("= "+MaestroA.rounder(temp,4)+" [ k W ]",x+dx1,y);
	    }
	    else if(temp2>=1.0E6){
		temp = temp2*1.0E-6;
		g.drawString("= "+MaestroA.rounder(temp,2)+" [ M W ]",x+dx1,y);
	    }
	    else if(temp2<1.0 && temp2>=0.001){
		temp = temp2*1000;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ m W ]",x+dx1,y);
	    }
	    else if(temp2<0.001 && temp2>=1.0E-6){
		temp = temp2*1.0E6;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ \u00b5 W ]",x+dx1,y);
	    }
	    else if(temp2<1.0E-6 && temp2>=1.0E-9){
		temp = temp2*1.0E9;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ n W ]",x+dx1,y);
	    }
	    else if(temp2<1.0E-9 && temp2>=1.0E-12){
		temp = temp2*1.0E12;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ p W ]",x+dx1,y);
	    }
	    else if(temp2<1.0E-12 && temp2>=1.0E-15){
		temp = temp2*1.0E15;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ f W ]",x+dx1,y);
	    }
	    else if(temp2<1.0E-15){
		temp = temp2*1.0E18;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ a W ]",x+dx1,y);
	    }

            */
    	   
	    y += dy;
	    g.setColor(Color.blue);
	    g.drawString("Absorbed by Zg",x+dx+dx+17,y);
	    
	    
	    g.setColor(Color.black);
            g.drawString("P( Zg )",x,y);
            
	    if((state.Power_Zg>=1.0 && state.Power_Zg<1.0E3) || state.Power_Zg<=1.0E-30){
		g.drawString("= "+MaestroA.rounder(state.Power_Zg,6)+" [ W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg<1.0E6 && state.Power_Zg>=1.0E3){
		temp = state.Power_Zg*1.0E-3;
		g.drawString("= "+MaestroA.rounder(temp,4)+" [ k W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg>=1.0E6){
		temp = state.Power_Zg*1.0E-6;
		g.drawString("= "+MaestroA.rounder(temp,2)+" [ M W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg<1.0 && state.Power_Zg>=0.001){
		temp = state.Power_Zg*1000;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ m W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg<0.001 && state.Power_Zg>=1.0E-6){
		temp = state.Power_Zg*1.0E6;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ \u00b5 W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg<1.0E-6 && state.Power_Zg>=1.0E-9){
		temp = state.Power_Zg*1.0E9;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ n W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg<1.0E-9 && state.Power_Zg>=1.0E-12){
		temp = state.Power_Zg*1.0E12;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ p W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg<1.0E-12 && state.Power_Zg>=1.0E-15){
		temp = state.Power_Zg*1.0E15;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ f W ]",x+dx1,y);
	    }
	    else if(state.Power_Zg<1.0E-15){
		temp = state.Power_Zg*1.0E18;
		g.drawString("= "+MaestroA.rounder(temp,6)+" [ a W ]",x+dx1,y);
	    }
	    
	    /* JAN
	    y += dyy;
	    g.setColor(Color.red);
	    g.drawString("Total time-average power from the generator",x,y);
	    y += dy;
	    g.setColor(Color.black);
	    if((state.Power_generator>=1.0 && state.Power_generator<1.0E3)|| state.Power_generator<=1.0E-30){
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(state.Power_generator,6)+" [ W ]",x+dxx,y);
	    }
	    else if(state.Power_generator<1.0E6 && state.Power_generator>=1.0E3){
		temp = state.Power_generator*1.0E-3;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,4)+" [ k W ]",x+dxx,y);
	    }
	    else if(state.Power_generator>=1.0E6){
		temp = state.Power_generator*1.0E-6;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,2)+" [ M W ]",x+dxx,y);
	    }
	    else if(state.Power_generator<1.0 && state.Power_generator>=0.001){
		temp = state.Power_generator*1000;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,6)+" [ m W ]",x+dxx,y);
	    }
	    else if(state.Power_generator<0.001 && state.Power_generator >=1.0E-6){
		temp = state.Power_generator*1.0E6;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,6)+" [ \u00b5 W ]",x+dxx,y);
	    }
	    else if(state.Power_generator<1.0E-6 && state.Power_generator >=1.0E-9){
		temp = state.Power_generator*1.0E9;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,6)+" [ n W ]",x+dxx,y);
	    }
	    else if(state.Power_generator<1.0E-9 && state.Power_generator >=1.0E-12){
		temp = state.Power_generator*1.0E12;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,6)+" [ p W ]",x+dxx,y);
	    }
	    else if(state.Power_generator<1.0E-12 && state.Power_generator>=1.0E-15){
		temp = state.Power_generator*1.0E15;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,6)+" [ f W ]",x+dxx,y);
	    }
	    else if(state.Power_generator<1.0E-15){
		temp = state.Power_generator*1.0E18;
		g.drawString("P( tot ) = P( in ) + P( Zg ) = "+MaestroA.rounder(temp,6)+" [ a W ]",x+dxx,y);
	    }
            */
	}
}

