[Gtk-sharp-list] Problems drawing lines on Canvas

Juan González juan@iearobotics.com
24 Feb 2003 13:35:30 +0100


--=-8YJ469DirZH/VGLo2fvV
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi!

  I am trying to draw a line on the Canvas but i can't. I don't know
what am i doing wrong.

  Here you are the source code:

---------------------------------------------------

using System;
using System.Drawing;
using Gnome;
using Glade;
using Gtk;
using GtkSharp;
using Gdk;

public class GladeProgram : Program {

  private Canvas canvas;
  private double x=3D0;
  private double y=3D0;

  public static void Main (string[] args) {
    new GladeProgram (args).Run();
    Console.WriteLine("End");
  }

  /*-------------*/
  /* Constructor */
  /*-------------*/
  public GladeProgram (string[] args, params object[] props)=20
    : base ("Gvector","0.1", Modules.UI, args, props) {
   =20
    /*-- Signals connection --*/
    gxml =3D new Glade.XML (null, "gvector.glade","app1",null);
    gxml.Autoconnect(this);

    /*-- Create the Canvas --*/
    canvas =3D (Canvas)gxml.GetWidget("canvas1");
    Console.WriteLine("Canvas: {0}",canvas);
   =20

    /*-- Canvas configuration --*/
    canvas.SetScrollRegion(0.0, 0.0, 600.0, 600.0);
    Console.WriteLine("AA: {0}",canvas.Aa);
    canvas.CenterScrollRegion=3Dfalse;
    canvas.PixelsPerUnit=3D1.0;
    canvas.ScrollTo(0,0);
   =20
  }
=20
  /*----------------------------------------------*/
  /* XML object with the application interface n  */
  /*----------------------------------------------*/
  Glade.XML gxml;

  /*----------------------------*/
  /* Callback functions         */=20
  /*----------------------------*/
  /*  Destroy the Window  */
  public void on_app1_delete_event (object o, DeleteEventArgs args) {
    Quit();
    args.RetVal =3D true;
  }
 =20
  /* Quit */
  public void on_quit1_activate (object o, EventArgs e) {
    Quit ();
  }

  /* About */
  public void on_about1_activate (object o, EventArgs e) {
    Console.WriteLine ("implement me");
  }

  /* Add a new vector */
  public void on_button1_clicked (object o, EventArgs e) {
    Console.WriteLine ("Vector add");

    /*-- Crea a square (Test) --*/
    CanvasRE item =3D new CanvasRect (canvas.Root());
    item.X1 =3D x;
    item.Y1 =3D y;
    item.X2 =3D x+10;
    item.Y2 =3D y+10;
    item.FillColor =3D "white";
    item.OutlineColor =3D "black";
    item.WidthUnits =3D 1.0;
     =20
    x+=3D10;
    y+=3D10;

    /* Create a line */
    CanvasLine item2 =3D new CanvasLine(canvas.Root());
    double[] coords =3D {100,100,200,200};
    item2.Points =3D CanvasPoints.New(coords);
   =20
    item2.FillColor =3D "black";
    item2.WidthPixels=3D1;
    item2.WidthUnits =3D 1.0;
    item2.ArrowShapeA =3D 3.0;
    item2.ArrowShapeB =3D 5.0;
    item2.ArrowShapeC =3D 5.0;
    item2.LastArrowhead =3D true;
    item2.FirstArrowhead =3D false;
    item2.JoinStyle=3DGdk.JoinStyle.Miter;=20
    item2.LineStyle=3DGdk.LineStyle.Solid;
    item2.CapStyle=3DGdk.CapStyle.Butt;
    item2.Smooth=3Dfalse;

    //item2.FillColorGdk=3D
    //item2.FillColorRgba=3D =20
    //item2.FillStipple=3D3;
    //item2. SplineSteps
  }


  public void on_canvas1_draw_background (object o, EventArgs e) {
    Console.WriteLine ("CANVAS!!!");
  }

}
---------------------------

I've attached also the .glade file

This example draw a rectangle when you press the upper left button (just
for testing). I want it also to draw a line, but no line is displayed.

  I working on an application that display vectors on the screen and let
the user change the module and coordinates.

  Somebody knows what am i doing wrong??

Regards,
Juan


--=20
Juan Gonzalez G=F3mez
juan@iearobotics.com
www.iearobotics.com

--=-8YJ469DirZH/VGLo2fvV
Content-Disposition: attachment; filename=gvector.glade
Content-Type: application/x-glade; name=gvector.glade
Content-Transfer-Encoding: base64

PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PiA8IS0tKi0gbW9kZTogeG1sIC0q
LS0+CjwhRE9DVFlQRSBnbGFkZS1pbnRlcmZhY2UgU1lTVEVNICJodHRwOi8vZ2xhZGUuZ25vbWUu
b3JnL2dsYWRlLTIuMC5kdGQiPgoKPGdsYWRlLWludGVyZmFjZT4KPHJlcXVpcmVzIGxpYj0iZ25v
bWUiLz4KPHJlcXVpcmVzIGxpYj0iY2FudmFzIi8+CjxyZXF1aXJlcyBsaWI9ImJvbm9ibyIvPgoK
PHdpZGdldCBjbGFzcz0iR25vbWVBcHAiIGlkPSJhcHAxIj4KICA8cHJvcGVydHkgbmFtZT0idmlz
aWJsZSI+VHJ1ZTwvcHJvcGVydHk+CiAgPHByb3BlcnR5IG5hbWU9InRpdGxlIiB0cmFuc2xhdGFi
bGU9InllcyI+R3ZlY3RvcjwvcHJvcGVydHk+CiAgPHByb3BlcnR5IG5hbWU9InR5cGUiPkdUS19X
SU5ET1dfVE9QTEVWRUw8L3Byb3BlcnR5PgogIDxwcm9wZXJ0eSBuYW1lPSJ3aW5kb3dfcG9zaXRp
b24iPkdUS19XSU5fUE9TX05PTkU8L3Byb3BlcnR5PgogIDxwcm9wZXJ0eSBuYW1lPSJtb2RhbCI+
RmFsc2U8L3Byb3BlcnR5PgogIDxwcm9wZXJ0eSBuYW1lPSJyZXNpemFibGUiPlRydWU8L3Byb3Bl
cnR5PgogIDxwcm9wZXJ0eSBuYW1lPSJkZXN0cm95X3dpdGhfcGFyZW50Ij5GYWxzZTwvcHJvcGVy
dHk+CiAgPHByb3BlcnR5IG5hbWU9ImVuYWJsZV9sYXlvdXRfY29uZmlnIj5UcnVlPC9wcm9wZXJ0
eT4KICA8c2lnbmFsIG5hbWU9ImRlbGV0ZV9ldmVudCIgaGFuZGxlcj0ib25fYXBwMV9kZWxldGVf
ZXZlbnQiIGxhc3RfbW9kaWZpY2F0aW9uX3RpbWU9IldlZCwgMjIgSmFuIDIwMDMgMTc6MTk6NDEg
R01UIi8+CgogIDxjaGlsZCBpbnRlcm5hbC1jaGlsZD0iZG9jayI+CiAgICA8d2lkZ2V0IGNsYXNz
PSJCb25vYm9Eb2NrIiBpZD0iYm9ub2JvZG9jazEiPgogICAgICA8cHJvcGVydHkgbmFtZT0idmlz
aWJsZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgIDxwcm9wZXJ0eSBuYW1lPSJhbGxvd19mbG9hdGlu
ZyI+VHJ1ZTwvcHJvcGVydHk+CgogICAgICA8Y2hpbGQ+Cgk8d2lkZ2V0IGNsYXNzPSJCb25vYm9E
b2NrSXRlbSIgaWQ9ImJvbm9ib2RvY2tpdGVtMSI+CgkgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxl
Ij5UcnVlPC9wcm9wZXJ0eT4KCSAgPHByb3BlcnR5IG5hbWU9InNoYWRvd190eXBlIj5HVEtfU0hB
RE9XX05PTkU8L3Byb3BlcnR5PgoKCSAgPGNoaWxkPgoJICAgIDx3aWRnZXQgY2xhc3M9Ikd0a01l
bnVCYXIiIGlkPSJtZW51YmFyMSI+CgkgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1
ZTwvcHJvcGVydHk+CgoJICAgICAgPGNoaWxkPgoJCTx3aWRnZXQgY2xhc3M9Ikd0a01lbnVJdGVt
IiBpZD0iZmlsZTEiPgoJCSAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5
PgoJCSAgPHByb3BlcnR5IG5hbWU9InN0b2NrX2l0ZW0iPkdOT01FVUlJTkZPX01FTlVfRklMRV9U
UkVFPC9wcm9wZXJ0eT4KCgkJICA8Y2hpbGQ+CgkJICAgIDx3aWRnZXQgY2xhc3M9Ikd0a01lbnUi
IGlkPSJmaWxlMV9tZW51Ij4KCgkJICAgICAgPGNoaWxkPgoJCQk8d2lkZ2V0IGNsYXNzPSJHdGtN
ZW51SXRlbSIgaWQ9InNlcGFyYXRvcjEiPgoJCQkgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5U
cnVlPC9wcm9wZXJ0eT4KCQkJPC93aWRnZXQ+CgkJICAgICAgPC9jaGlsZD4KCgkJICAgICAgPGNo
aWxkPgoJCQk8d2lkZ2V0IGNsYXNzPSJHdGtJbWFnZU1lbnVJdGVtIiBpZD0icXVpdDEiPgoJCQkg
IDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KCQkJICA8cHJvcGVydHkg
bmFtZT0ic3RvY2tfaXRlbSI+R05PTUVVSUlORk9fTUVOVV9FWElUX0lURU08L3Byb3BlcnR5PgoJ
CQkgIDxzaWduYWwgbmFtZT0iYWN0aXZhdGUiIGhhbmRsZXI9Im9uX3F1aXQxX2FjdGl2YXRlIiBs
YXN0X21vZGlmaWNhdGlvbl90aW1lPSJXZWQsIDIyIEphbiAyMDAzIDE3OjEyOjU0IEdNVCIvPgoJ
CQk8L3dpZGdldD4KCQkgICAgICA8L2NoaWxkPgoJCSAgICA8L3dpZGdldD4KCQkgIDwvY2hpbGQ+
CgkJPC93aWRnZXQ+CgkgICAgICA8L2NoaWxkPgoKCSAgICAgIDxjaGlsZD4KCQk8d2lkZ2V0IGNs
YXNzPSJHdGtNZW51SXRlbSIgaWQ9ImhlbHAxIj4KCQkgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxl
Ij5UcnVlPC9wcm9wZXJ0eT4KCQkgIDxwcm9wZXJ0eSBuYW1lPSJzdG9ja19pdGVtIj5HTk9NRVVJ
SU5GT19NRU5VX0hFTFBfVFJFRTwvcHJvcGVydHk+CgoJCSAgPGNoaWxkPgoJCSAgICA8d2lkZ2V0
IGNsYXNzPSJHdGtNZW51IiBpZD0iaGVscDFfbWVudSI+CgoJCSAgICAgIDxjaGlsZD4KCQkJPHdp
ZGdldCBjbGFzcz0iR3RrSW1hZ2VNZW51SXRlbSIgaWQ9ImFib3V0MSI+CgkJCSAgPHByb3BlcnR5
IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgoJCQkgIDxwcm9wZXJ0eSBuYW1lPSJzdG9j
a19pdGVtIj5HTk9NRVVJSU5GT19NRU5VX0FCT1VUX0lURU08L3Byb3BlcnR5PgoJCQkgIDxzaWdu
YWwgbmFtZT0iYWN0aXZhdGUiIGhhbmRsZXI9Im9uX2Fib3V0MV9hY3RpdmF0ZSIgbGFzdF9tb2Rp
ZmljYXRpb25fdGltZT0iV2VkLCAyMiBKYW4gMjAwMyAxNzoxMjo1NCBHTVQiLz4KCQkJPC93aWRn
ZXQ+CgkJICAgICAgPC9jaGlsZD4KCQkgICAgPC93aWRnZXQ+CgkJICA8L2NoaWxkPgoJCTwvd2lk
Z2V0PgoJICAgICAgPC9jaGlsZD4KCSAgICA8L3dpZGdldD4KCSAgPC9jaGlsZD4KCTwvd2lkZ2V0
PgoJPHBhY2tpbmc+CgkgIDxwcm9wZXJ0eSBuYW1lPSJwbGFjZW1lbnQiPkJPTk9CT19ET0NLX1RP
UDwvcHJvcGVydHk+CgkgIDxwcm9wZXJ0eSBuYW1lPSJiYW5kIj4wPC9wcm9wZXJ0eT4KCSAgPHBy
b3BlcnR5IG5hbWU9InBvc2l0aW9uIj4wPC9wcm9wZXJ0eT4KCSAgPHByb3BlcnR5IG5hbWU9Im9m
ZnNldCI+MDwvcHJvcGVydHk+CgkgIDxwcm9wZXJ0eSBuYW1lPSJiZWhhdmlvciI+Qk9OT0JPX0RP
Q0tfSVRFTV9CRUhfRVhDTFVTSVZFfEJPTk9CT19ET0NLX0lURU1fQkVIX05FVkVSX1ZFUlRJQ0FM
fEJPTk9CT19ET0NLX0lURU1fQkVIX0xPQ0tFRDwvcHJvcGVydHk+Cgk8L3BhY2tpbmc+CiAgICAg
IDwvY2hpbGQ+CgogICAgICA8Y2hpbGQ+Cgk8d2lkZ2V0IGNsYXNzPSJCb25vYm9Eb2NrSXRlbSIg
aWQ9ImJvbm9ib2RvY2tpdGVtMiI+CgkgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9w
cm9wZXJ0eT4KCSAgPHByb3BlcnR5IG5hbWU9InNoYWRvd190eXBlIj5HVEtfU0hBRE9XX09VVDwv
cHJvcGVydHk+CgoJICA8Y2hpbGQ+CgkgICAgPHdpZGdldCBjbGFzcz0iR3RrVG9vbGJhciIgaWQ9
InRvb2xiYXIxIj4KCSAgICAgIDxwcm9wZXJ0eSBuYW1lPSJib3JkZXJfd2lkdGgiPjE8L3Byb3Bl
cnR5PgoJICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgoJICAg
ICAgPHByb3BlcnR5IG5hbWU9Im9yaWVudGF0aW9uIj5HVEtfT1JJRU5UQVRJT05fSE9SSVpPTlRB
TDwvcHJvcGVydHk+CgkgICAgICA8cHJvcGVydHkgbmFtZT0idG9vbGJhcl9zdHlsZSI+R1RLX1RP
T0xCQVJfSUNPTlM8L3Byb3BlcnR5PgoJICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2x0aXBzIj5U
cnVlPC9wcm9wZXJ0eT4KCgkgICAgICA8Y2hpbGQ+CgkJPHdpZGdldCBjbGFzcz0iYnV0dG9uIiBp
ZD0iYnV0dG9uMSI+CgkJICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+
CgkJICA8cHJvcGVydHkgbmFtZT0idG9vbHRpcCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlBydWViYXM8
L3Byb3BlcnR5PgoJCSAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIj5ndGstZGlhbG9nLWluZm88L3By
b3BlcnR5PgoJCSAgPHByb3BlcnR5IG5hbWU9InVzZV9zdG9jayI+VHJ1ZTwvcHJvcGVydHk+CgkJ
ICA8c2lnbmFsIG5hbWU9ImNsaWNrZWQiIGhhbmRsZXI9Im9uX2J1dHRvbjFfY2xpY2tlZCIgbGFz
dF9tb2RpZmljYXRpb25fdGltZT0iV2VkLCAyMiBKYW4gMjAwMyAyMjo0MToxMiBHTVQiLz4KCQk8
L3dpZGdldD4KCSAgICAgIDwvY2hpbGQ+CgkgICAgPC93aWRnZXQ+CgkgIDwvY2hpbGQ+Cgk8L3dp
ZGdldD4KCTxwYWNraW5nPgoJICA8cHJvcGVydHkgbmFtZT0icGxhY2VtZW50Ij5CT05PQk9fRE9D
S19UT1A8L3Byb3BlcnR5PgoJICA8cHJvcGVydHkgbmFtZT0iYmFuZCI+MTwvcHJvcGVydHk+Cgkg
IDxwcm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+MDwvcHJvcGVydHk+CgkgIDxwcm9wZXJ0eSBuYW1l
PSJvZmZzZXQiPjA8L3Byb3BlcnR5PgoJICA8cHJvcGVydHkgbmFtZT0iYmVoYXZpb3IiPkJPTk9C
T19ET0NLX0lURU1fQkVIX0VYQ0xVU0lWRTwvcHJvcGVydHk+Cgk8L3BhY2tpbmc+CiAgICAgIDwv
Y2hpbGQ+CgogICAgICA8Y2hpbGQ+Cgk8d2lkZ2V0IGNsYXNzPSJHdGtGcmFtZSIgaWQ9ImZyYW1l
MSI+CgkgIDxwcm9wZXJ0eSBuYW1lPSJib3JkZXJfd2lkdGgiPjU8L3Byb3BlcnR5PgoJICA8cHJv
cGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CgkgIDxwcm9wZXJ0eSBuYW1lPSJs
YWJlbF94YWxpZ24iPjA8L3Byb3BlcnR5PgoJICA8cHJvcGVydHkgbmFtZT0ibGFiZWxfeWFsaWdu
Ij4wLjU8L3Byb3BlcnR5PgoJICA8cHJvcGVydHkgbmFtZT0ic2hhZG93X3R5cGUiPkdUS19TSEFE
T1dfRVRDSEVEX0lOPC9wcm9wZXJ0eT4KCgkgIDxjaGlsZD4KCSAgICA8d2lkZ2V0IGNsYXNzPSJH
dGtTY3JvbGxlZFdpbmRvdyIgaWQ9InNjcm9sbGVkd2luZG93MiI+CgkgICAgICA8cHJvcGVydHkg
bmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CgkgICAgICA8cHJvcGVydHkgbmFtZT0iY2Fu
X2ZvY3VzIj5UcnVlPC9wcm9wZXJ0eT4KCSAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoc2Nyb2xsYmFy
X3BvbGljeSI+R1RLX1BPTElDWV9BTFdBWVM8L3Byb3BlcnR5PgoJICAgICAgPHByb3BlcnR5IG5h
bWU9InZzY3JvbGxiYXJfcG9saWN5Ij5HVEtfUE9MSUNZX0FMV0FZUzwvcHJvcGVydHk+CgkgICAg
ICA8cHJvcGVydHkgbmFtZT0ic2hhZG93X3R5cGUiPkdUS19TSEFET1dfTk9ORTwvcHJvcGVydHk+
CgkgICAgICA8cHJvcGVydHkgbmFtZT0id2luZG93X3BsYWNlbWVudCI+R1RLX0NPUk5FUl9UT1Bf
TEVGVDwvcHJvcGVydHk+CgoJICAgICAgPGNoaWxkPgoJCTx3aWRnZXQgY2xhc3M9Ikdub21lQ2Fu
dmFzIiBpZD0iY2FudmFzMSI+CgkJICA8cHJvcGVydHkgbmFtZT0id2lkdGhfcmVxdWVzdCI+NDAw
PC9wcm9wZXJ0eT4KCQkgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHRfcmVxdWVzdCI+MjAwPC9wcm9w
ZXJ0eT4KCQkgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KCQkgIDxw
cm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3Byb3BlcnR5PgoJCSAgPHByb3BlcnR5IG5h
bWU9ImFudGlfYWxpYXNlZCI+VHJ1ZTwvcHJvcGVydHk+CgkJICA8cHJvcGVydHkgbmFtZT0ic2Ny
b2xsX3gxIj4wPC9wcm9wZXJ0eT4KCQkgIDxwcm9wZXJ0eSBuYW1lPSJzY3JvbGxfeTEiPjA8L3By
b3BlcnR5PgoJCSAgPHByb3BlcnR5IG5hbWU9InNjcm9sbF94MiI+MTAwPC9wcm9wZXJ0eT4KCQkg
IDxwcm9wZXJ0eSBuYW1lPSJzY3JvbGxfeTIiPjEwMDwvcHJvcGVydHk+CgkJICA8cHJvcGVydHkg
bmFtZT0icGl4ZWxzX3Blcl91bml0Ij4xPC9wcm9wZXJ0eT4KCQk8L3dpZGdldD4KCSAgICAgIDwv
Y2hpbGQ+CgkgICAgPC93aWRnZXQ+CgkgIDwvY2hpbGQ+CgoJICA8Y2hpbGQ+CgkgICAgPHdpZGdl
dCBjbGFzcz0iR3RrTGFiZWwiIGlkPSJsYWJlbDEiPgoJICAgICAgPHByb3BlcnR5IG5hbWU9InZp
c2libGUiPlRydWU8L3Byb3BlcnR5PgoJICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIiB0cmFu
c2xhdGFibGU9InllcyI+Q0FOVkFTPC9wcm9wZXJ0eT4KCSAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ1
c2VfdW5kZXJsaW5lIj5GYWxzZTwvcHJvcGVydHk+CgkgICAgICA8cHJvcGVydHkgbmFtZT0idXNl
X21hcmt1cCI+RmFsc2U8L3Byb3BlcnR5PgoJICAgICAgPHByb3BlcnR5IG5hbWU9Imp1c3RpZnki
PkdUS19KVVNUSUZZX0xFRlQ8L3Byb3BlcnR5PgoJICAgICAgPHByb3BlcnR5IG5hbWU9IndyYXAi
PkZhbHNlPC9wcm9wZXJ0eT4KCSAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzZWxlY3RhYmxlIj5GYWxz
ZTwvcHJvcGVydHk+CgkgICAgICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4wLjU8L3Byb3BlcnR5
PgoJICAgICAgPHByb3BlcnR5IG5hbWU9InlhbGlnbiI+MC41PC9wcm9wZXJ0eT4KCSAgICAgIDxw
cm9wZXJ0eSBuYW1lPSJ4cGFkIj4wPC9wcm9wZXJ0eT4KCSAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ5
cGFkIj4wPC9wcm9wZXJ0eT4KCSAgICA8L3dpZGdldD4KCSAgICA8cGFja2luZz4KCSAgICAgIDxw
cm9wZXJ0eSBuYW1lPSJ0eXBlIj5sYWJlbF9pdGVtPC9wcm9wZXJ0eT4KCSAgICA8L3BhY2tpbmc+
CgkgIDwvY2hpbGQ+Cgk8L3dpZGdldD4KICAgICAgPC9jaGlsZD4KICAgIDwvd2lkZ2V0PgogICAg
PHBhY2tpbmc+CiAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwYWRkaW5nIj4wPC9wcm9wZXJ0eT4KICAg
ICAgPHByb3BlcnR5IG5hbWU9ImV4cGFuZCI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgIDxwcm9wZXJ0
eSBuYW1lPSJmaWxsIj5UcnVlPC9wcm9wZXJ0eT4KICAgIDwvcGFja2luZz4KICA8L2NoaWxkPgoK
ICA8Y2hpbGQgaW50ZXJuYWwtY2hpbGQ9ImFwcGJhciI+CiAgICA8d2lkZ2V0IGNsYXNzPSJHbm9t
ZUFwcEJhciIgaWQ9ImFwcGJhcjEiPgogICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1
ZTwvcHJvcGVydHk+CiAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoYXNfcHJvZ3Jlc3MiPlRydWU8L3By
b3BlcnR5PgogICAgICA8cHJvcGVydHkgbmFtZT0iaGFzX3N0YXR1cyI+VHJ1ZTwvcHJvcGVydHk+
CiAgICA8L3dpZGdldD4KICAgIDxwYWNraW5nPgogICAgICA8cHJvcGVydHkgbmFtZT0icGFkZGlu
ZyI+MDwvcHJvcGVydHk+CiAgICAgIDxwcm9wZXJ0eSBuYW1lPSJleHBhbmQiPlRydWU8L3Byb3Bl
cnR5PgogICAgICA8cHJvcGVydHkgbmFtZT0iZmlsbCI+VHJ1ZTwvcHJvcGVydHk+CiAgICA8L3Bh
Y2tpbmc+CiAgPC9jaGlsZD4KPC93aWRnZXQ+Cgo8L2dsYWRlLWludGVyZmFjZT4K

--=-8YJ469DirZH/VGLo2fvV--