Changeset 1163


Ignore:
Timestamp:
01/21/09 17:03:41 (12 years ago)
Author:
whackl
Message:

added new scheduling features (#468)

Location:
trunk/sources/HeuristicLab.Hive.Client.Console
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.Designer.cs

    r1145 r1163  
    4646    private void InitializeComponent() {
    4747      this.components = new System.ComponentModel.Container();
    48       Calendar.DrawTool drawTool5 = new Calendar.DrawTool();
     48      Calendar.DrawTool drawTool1 = new Calendar.DrawTool();
    4949      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HiveClientConsole));
    5050      this.dvOnline = new Calendar.DayView();
    5151      this.tcClientConsole = new System.Windows.Forms.TabControl();
    5252      this.tpConnection = new System.Windows.Forms.TabPage();
     53      this.groupBox2 = new System.Windows.Forms.GroupBox();
    5354      this.btn_clientShutdown = new System.Windows.Forms.Button();
    5455      this.gbServerConnection = new System.Windows.Forms.GroupBox();
     
    8889      this.pictureBox1 = new System.Windows.Forms.PictureBox();
    8990      this.groupBox1 = new System.Windows.Forms.GroupBox();
     91      this.chbade = new System.Windows.Forms.CheckBox();
     92      this.button1 = new System.Windows.Forms.Button();
    9093      this.txtTimeTo = new System.Windows.Forms.TextBox();
    91       this.label3 = new System.Windows.Forms.Label();
    9294      this.txttimeFrom = new System.Windows.Forms.TextBox();
    93       this.lblTimeFrame = new System.Windows.Forms.Label();
    9495      this.btbDelete = new System.Windows.Forms.Button();
    9596      this.txtTo = new System.Windows.Forms.TextBox();
     
    99100      this.btCreate = new System.Windows.Forms.Button();
    100101      this.mcOnline = new System.Windows.Forms.MonthCalendar();
    101       this.groupBox2 = new System.Windows.Forms.GroupBox();
    102102      this.tcClientConsole.SuspendLayout();
    103103      this.tpConnection.SuspendLayout();
     104      this.groupBox2.SuspendLayout();
    104105      this.gbServerConnection.SuspendLayout();
    105106      this.gbJobCommon.SuspendLayout();
     
    110111      ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
    111112      this.groupBox1.SuspendLayout();
    112       this.groupBox2.SuspendLayout();
    113113      this.SuspendLayout();
    114114      //
    115115      // dvOnline
    116116      //
    117       drawTool5.DayView = this.dvOnline;
    118       this.dvOnline.ActiveTool = drawTool5;
     117      drawTool1.DayView = this.dvOnline;
     118      this.dvOnline.ActiveTool = drawTool1;
    119119      this.dvOnline.AmPmDisplay = false;
    120120      this.dvOnline.AppointmentHeightMode = Calendar.AppHeightDrawMode.TrueHeightAll;
     
    135135      this.dvOnline.StartDate = new System.DateTime(((long)(0)));
    136136      this.dvOnline.TabIndex = 18;
     137      this.dvOnline.OnSelectionChanged += new System.EventHandler<System.EventArgs>(this.dvOnline_OnSelectionChanged);
    137138      //
    138139      // tcClientConsole
     
    163164      this.tpConnection.UseVisualStyleBackColor = true;
    164165      //
     166      // groupBox2
     167      //
     168      this.groupBox2.Controls.Add(this.btn_clientShutdown);
     169      this.groupBox2.Location = new System.Drawing.Point(746, 8);
     170      this.groupBox2.Name = "groupBox2";
     171      this.groupBox2.Size = new System.Drawing.Size(86, 131);
     172      this.groupBox2.TabIndex = 16;
     173      this.groupBox2.TabStop = false;
     174      this.groupBox2.Text = "Shutdown";
     175      //
    165176      // btn_clientShutdown
    166177      //
     
    214225      this.tbPort.Size = new System.Drawing.Size(229, 20);
    215226      this.tbPort.TabIndex = 3;
     227      this.tbPort.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Connection_KeyPress);
    216228      //
    217229      // tbIPAdress
     
    221233      this.tbIPAdress.Size = new System.Drawing.Size(229, 20);
    222234      this.tbIPAdress.TabIndex = 2;
     235      this.tbIPAdress.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Connection_KeyPress);
    223236      //
    224237      // lbServerIPCaption
     
    493506      //
    494507      this.pictureBox1.Image = global::HeuristicLab.Hive.Client.Console.Properties.Resources.schedule;
    495       this.pictureBox1.Location = new System.Drawing.Point(586, 12);
     508      this.pictureBox1.Location = new System.Drawing.Point(633, 12);
    496509      this.pictureBox1.Name = "pictureBox1";
    497       this.pictureBox1.Size = new System.Drawing.Size(246, 155);
     510      this.pictureBox1.Size = new System.Drawing.Size(199, 155);
    498511      this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
    499512      this.pictureBox1.TabIndex = 22;
     
    502515      // groupBox1
    503516      //
     517      this.groupBox1.Controls.Add(this.chbade);
     518      this.groupBox1.Controls.Add(this.button1);
    504519      this.groupBox1.Controls.Add(this.txtTimeTo);
    505       this.groupBox1.Controls.Add(this.label3);
    506520      this.groupBox1.Controls.Add(this.txttimeFrom);
    507       this.groupBox1.Controls.Add(this.lblTimeFrame);
    508521      this.groupBox1.Controls.Add(this.btbDelete);
    509522      this.groupBox1.Controls.Add(this.txtTo);
     
    512525      this.groupBox1.Controls.Add(this.label1);
    513526      this.groupBox1.Controls.Add(this.btCreate);
    514       this.groupBox1.Location = new System.Drawing.Point(354, 7);
     527      this.groupBox1.Location = new System.Drawing.Point(353, 7);
    515528      this.groupBox1.Name = "groupBox1";
    516       this.groupBox1.Size = new System.Drawing.Size(215, 161);
     529      this.groupBox1.Size = new System.Drawing.Size(274, 161);
    517530      this.groupBox1.TabIndex = 21;
    518531      this.groupBox1.TabStop = false;
    519       this.groupBox1.Text = "Create";
     532      //
     533      // chbade
     534      //
     535      this.chbade.AutoSize = true;
     536      this.chbade.Location = new System.Drawing.Point(105, 91);
     537      this.chbade.Name = "chbade";
     538      this.chbade.Size = new System.Drawing.Size(90, 17);
     539      this.chbade.TabIndex = 31;
     540      this.chbade.Text = "All Day Event";
     541      this.chbade.UseVisualStyleBackColor = true;
     542      this.chbade.CheckedChanged += new System.EventHandler(this.chbade_CheckedChanged);
     543      //
     544      // button1
     545      //
     546      this.button1.Location = new System.Drawing.Point(189, 129);
     547      this.button1.Name = "button1";
     548      this.button1.Size = new System.Drawing.Size(75, 26);
     549      this.button1.TabIndex = 30;
     550      this.button1.Text = "Recurrence";
     551      this.button1.UseVisualStyleBackColor = true;
    520552      //
    521553      // txtTimeTo
    522554      //
    523       this.txtTimeTo.Location = new System.Drawing.Point(166, 89);
     555      this.txtTimeTo.Location = new System.Drawing.Point(192, 65);
    524556      this.txtTimeTo.Name = "txtTimeTo";
    525       this.txtTimeTo.Size = new System.Drawing.Size(31, 20);
     557      this.txtTimeTo.Size = new System.Drawing.Size(41, 20);
    526558      this.txtTimeTo.TabIndex = 29;
    527559      //
    528       // label3
    529       //
    530       this.label3.AutoSize = true;
    531       this.label3.Location = new System.Drawing.Point(137, 92);
    532       this.label3.Name = "label3";
    533       this.label3.Size = new System.Drawing.Size(23, 13);
    534       this.label3.TabIndex = 28;
    535       this.label3.Text = "To:";
    536       //
    537560      // txttimeFrom
    538561      //
    539       this.txttimeFrom.Location = new System.Drawing.Point(90, 89);
     562      this.txttimeFrom.Location = new System.Drawing.Point(192, 31);
    540563      this.txttimeFrom.Name = "txttimeFrom";
    541       this.txttimeFrom.Size = new System.Drawing.Size(31, 20);
     564      this.txttimeFrom.Size = new System.Drawing.Size(41, 20);
    542565      this.txttimeFrom.TabIndex = 27;
    543566      //
    544       // lblTimeFrame
    545       //
    546       this.lblTimeFrame.AutoSize = true;
    547       this.lblTimeFrame.Location = new System.Drawing.Point(51, 92);
    548       this.lblTimeFrame.Name = "lblTimeFrame";
    549       this.lblTimeFrame.Size = new System.Drawing.Size(33, 13);
    550       this.lblTimeFrame.TabIndex = 26;
    551       this.lblTimeFrame.Text = "From:";
    552       //
    553567      // btbDelete
    554568      //
    555       this.btbDelete.Location = new System.Drawing.Point(132, 129);
     569      this.btbDelete.Location = new System.Drawing.Point(100, 129);
    556570      this.btbDelete.Name = "btbDelete";
    557       this.btbDelete.Size = new System.Drawing.Size(65, 26);
     571      this.btbDelete.Size = new System.Drawing.Size(75, 26);
    558572      this.btbDelete.TabIndex = 25;
    559573      this.btbDelete.Text = "Delete";
     
    563577      // txtTo
    564578      //
    565       this.txtTo.Location = new System.Drawing.Point(54, 54);
     579      this.txtTo.Location = new System.Drawing.Point(105, 62);
    566580      this.txtTo.Name = "txtTo";
    567       this.txtTo.Size = new System.Drawing.Size(143, 20);
     581      this.txtTo.Size = new System.Drawing.Size(66, 20);
    568582      this.txtTo.TabIndex = 24;
    569583      //
     
    571585      //
    572586      this.label2.AutoSize = true;
    573       this.label2.Location = new System.Drawing.Point(15, 57);
     587      this.label2.Location = new System.Drawing.Point(41, 65);
    574588      this.label2.Name = "label2";
    575       this.label2.Size = new System.Drawing.Size(23, 13);
     589      this.label2.Size = new System.Drawing.Size(55, 13);
    576590      this.label2.TabIndex = 23;
    577       this.label2.Text = "To:";
     591      this.label2.Text = "End Time:";
    578592      //
    579593      // txtFrom
    580594      //
    581       this.txtFrom.Location = new System.Drawing.Point(54, 23);
     595      this.txtFrom.Location = new System.Drawing.Point(105, 31);
    582596      this.txtFrom.Name = "txtFrom";
    583       this.txtFrom.Size = new System.Drawing.Size(143, 20);
     597      this.txtFrom.Size = new System.Drawing.Size(66, 20);
    584598      this.txtFrom.TabIndex = 22;
    585599      //
     
    587601      //
    588602      this.label1.AutoSize = true;
    589       this.label1.Location = new System.Drawing.Point(15, 26);
     603      this.label1.Location = new System.Drawing.Point(41, 34);
    590604      this.label1.Name = "label1";
    591       this.label1.Size = new System.Drawing.Size(33, 13);
     605      this.label1.Size = new System.Drawing.Size(58, 13);
    592606      this.label1.TabIndex = 21;
    593       this.label1.Text = "From:";
     607      this.label1.Text = "Start Time:";
    594608      //
    595609      // btCreate
    596610      //
    597       this.btCreate.Location = new System.Drawing.Point(54, 129);
     611      this.btCreate.Location = new System.Drawing.Point(11, 129);
    598612      this.btCreate.Name = "btCreate";
    599       this.btCreate.Size = new System.Drawing.Size(58, 26);
     613      this.btCreate.Size = new System.Drawing.Size(75, 26);
    600614      this.btCreate.TabIndex = 20;
    601615      this.btCreate.Text = "Save";
     
    610624      this.mcOnline.TabIndex = 19;
    611625      this.mcOnline.DateChanged += new System.Windows.Forms.DateRangeEventHandler(this.mcOnline_DateChanged);
    612       //
    613       // groupBox2
    614       //
    615       this.groupBox2.Controls.Add(this.btn_clientShutdown);
    616       this.groupBox2.Location = new System.Drawing.Point(746, 8);
    617       this.groupBox2.Name = "groupBox2";
    618       this.groupBox2.Size = new System.Drawing.Size(86, 131);
    619       this.groupBox2.TabIndex = 16;
    620       this.groupBox2.TabStop = false;
    621       this.groupBox2.Text = "Shutdown";
    622626      //
    623627      // HiveClientConsole
     
    634638      this.tcClientConsole.ResumeLayout(false);
    635639      this.tpConnection.ResumeLayout(false);
     640      this.groupBox2.ResumeLayout(false);
    636641      this.gbServerConnection.ResumeLayout(false);
    637642      this.gbServerConnection.PerformLayout();
     
    645650      this.groupBox1.ResumeLayout(false);
    646651      this.groupBox1.PerformLayout();
    647       this.groupBox2.ResumeLayout(false);
    648652      this.ResumeLayout(false);
    649653
     
    700704    private System.Windows.Forms.Button btbDelete;
    701705    private System.Windows.Forms.TextBox txttimeFrom;
    702     private System.Windows.Forms.Label lblTimeFrame;
    703706    private System.Windows.Forms.TextBox txtTimeTo;
    704     private System.Windows.Forms.Label label3;
    705707    private System.Windows.Forms.GroupBox groupBox2;
     708    private System.Windows.Forms.Button button1;
     709    private System.Windows.Forms.CheckBox chbade;
    706710  }
    707711}
  • trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.cs

    r1145 r1163  
    3535using System.Net;
    3636using Calendar;
     37using System.Globalization;
    3738
    3839namespace HeuristicLab.Hive.Client.Console {
     
    188189    }
    189190
    190     void DvOnline_OnResolveAppointments(object sender, ResolveAppointmentsEventArgs e) {
    191       List<Appointment> Apps = new List<Appointment>();
    192 
    193       foreach (Appointment m_App in onlineTimes)
    194         if ((m_App.StartDate >= e.StartDate) &&
    195             (m_App.StartDate <= e.EndDate))
    196           Apps.Add(m_App);
    197 
    198       e.Appointments = Apps;
    199     }
    200 
    201     void DvOnline_OnNewAppointment(object sender, NewAppointmentEventArgs e) {
    202       Appointment Appointment = new Appointment();
    203 
    204       Appointment.StartDate = e.StartDate;
    205       Appointment.EndDate = e.EndDate;
    206 
    207       onlineTimes.Add(Appointment);
     191    private Appointment CreateAppointment(DateTime startDate, DateTime endDate, bool allDay) {
     192      Appointment App = new Appointment();
     193      App.StartDate = startDate;
     194      App.EndDate = endDate;
     195      App.AllDayEvent = allDay;
     196      App.BorderColor = Color.Red;
     197      App.Locked = true;
     198      App.Subject = "Online";
     199      return App;
    208200    }
    209201
     
    356348    }
    357349
    358     #endregion
    359 
    360     private void mcOnline_DateChanged(object sender, DateRangeEventArgs e) {
    361       dvOnline.StartDate = mcOnline.SelectionStart;
    362     }
    363 
    364     private void btCreate_Click(object sender, EventArgs e) {
    365 
    366       if (string.IsNullOrEmpty(txtFrom.Text)) {
    367         Appointment App = new Appointment();
    368         App.StartDate = dvOnline.SelectionStart;
    369         App.EndDate = dvOnline.SelectionEnd;
    370         App.BorderColor = Color.Red;
    371         App.Locked = true;
    372         App.Subject = "Online";
    373         onlineTimes.Add(App);
    374       } else if (string.IsNullOrEmpty(txtTimeTo.Text)) {
    375         Appointment App = new Appointment();
    376         App.StartDate = DateTime.Parse(txtFrom.Text);
    377         App.EndDate = DateTime.Parse(txtTo.Text);
    378         App.BorderColor = Color.Red;
    379         App.Locked = true;
    380         App.Subject = "Online";
    381         onlineTimes.Add(App);
    382       } else {
    383         DateTime from = DateTime.Parse(txtFrom.Text);
    384         DateTime to = DateTime.Parse(txtTo.Text);
    385 
    386         while (from.Date != to.Date) {
    387           Appointment App = new Appointment();
    388           App.StartDate = new DateTime(from.Year, from.Month, from.Day, int.Parse(txttimeFrom.Text), 0,0);
    389           App.EndDate = new DateTime(from.Year, from.Month, from.Day, int.Parse(txtTimeTo.Text), 0, 0);
    390           App.BorderColor = Color.Red;
    391           App.Locked = true;
    392           App.Subject = "Online";
    393           onlineTimes.Add(App);
    394           from = from.AddDays(1);
    395         }
    396       }
    397      
    398       dvOnline.Invalidate();
    399     }
    400 
    401350    private void btbDelete_Click(object sender, EventArgs e) {
    402351      if (dvOnline.SelectedAppointment != null)
     
    405354    }
    406355
     356    private void chbade_CheckedChanged(object sender, EventArgs e) {
     357      if (chbade.Checked) {
     358        txttimeFrom.Visible = false;
     359        txtTimeTo.Visible = false;
     360      } else {
     361        txttimeFrom.Visible = true;
     362        txtTimeTo.Visible = true;
     363      }
     364    }
     365
     366    private void dvOnline_OnSelectionChanged(object sender, EventArgs e) {
     367      if (dvOnline.Selection == SelectionType.DateRange) {
     368        txtFrom.Text = dvOnline.SelectionStart.ToShortDateString();
     369        txtTo.Text = dvOnline.SelectionEnd.Date.ToShortDateString();
     370        txttimeFrom.Text = dvOnline.SelectionStart.ToShortTimeString();
     371        txtTimeTo.Text = dvOnline.SelectionEnd.ToShortTimeString();
     372      }
     373    }
     374
     375    private void Connection_KeyPress(object sender, KeyPressEventArgs e) {
     376      if (e.KeyChar == (char)Keys.Return)
     377        btConnect_Click(null, null);
     378    }
     379
     380    private void mcOnline_DateChanged(object sender, DateRangeEventArgs e) {
     381      dvOnline.StartDate = mcOnline.SelectionStart;
     382    }
     383
     384    private void btCreate_Click(object sender, EventArgs e) {
     385      DateTime from, to;
     386
     387      if (!string.IsNullOrEmpty(txtFrom.Text) && !string.IsNullOrEmpty(txtTo.Text)) {
     388        if (chbade.Checked) {
     389          //whole day appointment, only dates are visible
     390          if (DateTime.TryParse(txtFrom.Text + " " + txttimeFrom.Text, out from) && DateTime.TryParse(txtTo.Text + " " + txtTimeTo.Text, out to) && from < to)
     391            onlineTimes.Add(CreateAppointment(from, to.AddDays(1), true));
     392          else
     393            MessageBox.Show("Incorrect date format", "Schedule Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     394        } else if (!string.IsNullOrEmpty(txttimeFrom.Text) && !string.IsNullOrEmpty(txtTimeTo.Text)) {
     395          //Timeframe appointment
     396          if (DateTime.TryParse(txtFrom.Text + " " + txttimeFrom.Text, out from) && DateTime.TryParse(txtTo.Text + " " + txtTimeTo.Text, out to) && from < to) {
     397            if (from.Date == to.Date)
     398              onlineTimes.Add(CreateAppointment(from, to, false));
     399            else {
     400              //more than 1 day selected
     401              while (from.Date != to.Date) {
     402                onlineTimes.Add(CreateAppointment(from, new DateTime(from.Year, from.Month, from.Day, to.Hour, to.Minute, 0, 0), false));
     403                from = from.AddDays(1);
     404              }
     405              onlineTimes.Add(CreateAppointment(from, new DateTime(from.Year, from.Month, from.Day, to.Hour, to.Minute, 0, 0), false));
     406            }
     407          } else
     408            MessageBox.Show("Incorrect date format", "Schedule Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     409        }
     410        dvOnline.Invalidate();
     411      } else {
     412        MessageBox.Show("Error in create appointment, please fill out all textboxes!", "Schedule Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     413      }
     414    }
     415
     416    void DvOnline_OnResolveAppointments(object sender, ResolveAppointmentsEventArgs e) {
     417      List<Appointment> Apps = new List<Appointment>();
     418
     419      foreach (Appointment m_App in onlineTimes)
     420        if ((m_App.StartDate >= e.StartDate) &&
     421            (m_App.StartDate <= e.EndDate))
     422          Apps.Add(m_App);
     423
     424      e.Appointments = Apps;
     425    }
     426
     427    void DvOnline_OnNewAppointment(object sender, NewAppointmentEventArgs e) {
     428      Appointment Appointment = new Appointment();
     429
     430      Appointment.StartDate = e.StartDate;
     431      Appointment.EndDate = e.EndDate;
     432
     433      onlineTimes.Add(Appointment);
     434    }
     435
     436    #endregion
    407437  }
    408438}
  • trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.resx

    r1145 r1163  
    127127        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABS
    128128        CgAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
    129         AwABEAMAAQEBAAEgBgABECoAAUMCAQF0AVsCCQHxAxEB/wFiAgMB1AEgAgEBLCwAAUMCAQF0AVsCCQHx
    130         AxEB/wFiAgMB1AEgAgEBLKQAAVsCCgHyAZMBawERAf8BvwGBAREB/wG9AYEBEQH/AboBfgERAf8BuAF7
    131         AREB/wG2AXkBEQH/AUUBLgERAf8BPQIBAWUcAAFbAgoB8gIRAaQB/wIRAdYB/wIRAdQB/wIRAdIB/wIR
    132         AdAB/wIRAc4B/wIRAUwB/wE9AgEBZZgAARsBFwERAf8BxwGBAREB/wHDAYEBEQH/AbEBcwERAf8BsQFz
    133         AREB/wGxAXMBEQH/AbEBcwERAf8BswF1AREB/wG2AXkBEQH/AbQBdgERAf8BYgIFAeQUAAIRARwB/wIR
    134         AdwB/wIRAdkB/wIRAcoB/wIRAcoB/wIRAcoB/wIRAcoB/wIRAcsB/wIRAc4B/wIRAcwB/wFiAgUB5JAA
    135         AxEB/wHLAYEBEQH/AbsBfwERAf8BtgF5AREB/wG2AXkBEQH/Ae4B3AHEBf8BvgGBAS4B/wG2AXkBEQH/
    136         AbYBeQERAf8BtgF5AREB/wG0AXYBEQH/AUkCAgGGDAADEQH/AhEB4AH/AhEB0gH/AhEBzgH/Aj4B1gH/
    137         AhEBzgH/AhEBzgH/AhEBzgH/AhQBzgH/AhEBzgH/AhEBzgH/AhEBzAH/AUkCAgGGiAABLAIBAUIB0AGG
    138         AREB/wHHAYEBEQH/AboBfgERAf8BugF+AREB/wG6AX4BEQH/AdABnAFiBf8BugF+AREB/wG6AX4BEQH/
    139         AboBfgERAf8BugF+AREB/wG2AXkBEQH/AWUBQAERAf8IAAEsAgEBQgIRAeQB/wIRAdwB/wIRAdIB/wKf
    140         Ae0F/wJXAd4B/wIRAdIB/wL0Af0F/wIUAdIB/wIRAdIB/wIRAc4B/wIRAXAB/4gAAxEB/wHSAYkBEQH/
    141         Ab8BgQERAf8BvwGBAREB/wG/AYEBEQH/Ab8BgQERAf8B0wGfAWIF/wG/AYEBEQH/Ab8BgQERAf8BvwGB
    142         AREB/wG/AYEBEQH/Ab4BgQERAf8BtgF5AREB/wE2AgEBVwQAAxEB/wIRAeUB/wIRAdYB/wIRAdYN/wL1
    143         Af0J/wLiAfoB/wIRAdYB/wIRAdUB/wIRAc4B/wE2AgEBV4QAAVkBQQERAf8B1AGMAREB/wHEAYEBEQH/
    144         AcQBgQERAf8BxAGBAREB/wHEAYEBEQH/AdcBpAFjBf8BxAGBAREB/wHEAYEBEQH/AcQBgQERAf8BxAGB
    145         AREB/wHEAYEBEQH/AbgBewERAf8BYAIHAewEAAIRAV8B/wIRAegB/wIRAdoB/wIRAdoB/wIRAdoR/wLi
    146         AfoB/wIRAdoB/wIRAdoB/wIRAdoB/wIRAdAB/wFgAgcB7IQAAXkBVgERAf8B1wGOAREB/wHJAYEBEQH/
    147         AckBgQERAf8ByQGBAREB/wHJAYEBEQn/AckBgQERAf8ByQGBAREB/wHJAYEBEQH/AckBgQERAf8ByQGB
    148         AREB/wG6AX4BEQH/AxEB/wQAAhEBgQH/AhEB6QH/AhEB3gH/AhEB3gH/AhEB3gH/AvQB/Q3/AlcB5wH/
    149         AhEB3gH/AhEB3gH/AhEB3gH/AhEB0gH/AxEB/4QAAWkBRwERAf8B2QGRAREB/wHOAYMBEQH/Ac4BgwER
    150         Af8BzgGDAREB/wHOAYMBEQH/Ac4BgwERAf8B1wGcAUIB/wHOAYMBEQH/Ac4BgwERAf8BzgGDAREB/wHO
    151         AYMBEQH/Ac4BgwERAf8BvQGBAREB/wFAAhEB+QQAAREBFgFoAf8CEQHsAf8CEQHiAf8CEQHiAf8C9AH9
    152         Ff8CVwHqAf8CEQHiAf8CEQHiAf8CEQHUAf8BQAIRAfmEAAEUARIBEQH/AdsBlAERAf8B0gGJAREB/wHS
    153         AYkBEQH/AdIBiQERAf8B0gGJAREB/wHSAYkBEQH/AesBywGQAf8B0gGJAREB/wHSAYkBEQH/AdIBiQER
    154         Af8B0gGJAREB/wHEAYEBEQH/Ab8BgQERAf8BUQICAZsEAAIRARQB/wIRAe0B/wIRAeYB/wIRAeUB/wL9
    155         Af4F/wLiAfwB/wIRAeUJ/wKBAfEB/wIRAeUB/wIRAdoB/wIRAdYB/wFRAgIBm4QAAVgCAgGyAd4BmAER
    156         Af8B2wGUAREB/wHXAY4BEQH/AdcBjgERAf8B1wGOAREB/wH7AfYB6wX/AdcBjgERAf8B1wGOAREB/wHX
    157         AY4BEQH/AdYBjQERAf8BxAGBAREB/wGpAXIBEQH/CAABWAICAbIBEQEbAe8B/wIRAe0B/wIRAekB/wIR
    158         AekB/wLhAfwB/wIRAekB/wIRAekB/wIRAekB/wKBAfMB/wIRAekB/wIRAegB/wIRAdoB/wERARkBnQH/
    159         jAABSwEwAREB/wHdAZcBEQH/AdsBlAERAf8B2wGUAREB/wHbAZQBEQH/AdsBlAERAf8B3AGXARcB/wHb
    160         AZQBEQH/AdsBlAERAf8B1QGMAREB/wHJAYEBEQH/AdEBiAERAf8BLAIRAfwMAAIRAUUB/wIRAe8B/wIR
    161         Ae0B/wIRAe0B/wIRAe0B/wIRAe0B/wIRAe0B/wIRAe0B/wIRAe0B/wIRAegB/wIRAd4B/wERASQB4gH/
    162         ASwCEQH8jAABGQIBASEBkAFlAREB/wHfAZkBEQH/AdsBlAERAf8B2QGRAREB/wHYAZABEQH/AdgBkAER
    163         Af8B0wGKAREB/wHQAYYBEQH/Ac4BgwERAf8B2gGSAREB/wEcARcBEQH/EAABGQIBASECEQGHAf8BEQEX
    164         AfEB/wIRAe0B/wIRAewB/wIRAesB/wIRAesB/wIRAeYB/wIRAeQB/wIRAeIB/wERAS4B5gH/AhEBGwH/
    165         lAABEgIBARYBNgEoAREB/wHSAYkBEQH/AeIBnQERAf8B2QGRAREB/wHXAY4BEQH/AdUBjAERAf8B4QGb
    166         AREB/wHOAYQBEQH/ASICEQH+GAABEgIBARYCEQE1Af8BEQEXAdMB/wERASgB9AH/AhEB7AH/AhEB6QH/
    167         AREBEgHoAf8BEQEwAfAB/wIRAcwB/wEiAhEB/qAAAUYCAQF9AxEB/wFiAUkBEQH/AYEBYgERAf8BQwE0
    168         AREB/wEiAhEB/gEUAgEBGiQAAUYCAQF9AxEB/wIRAWUB/wIRAYEB/wIRAUUB/wEiAhEB/gEUAgEBGv8A
     129        AwABEAMAAQEBAAEgBgABECoAAUMCAQF0AWICCQHxAxUB/wFiAgMB1AEgAgEBLCwAAUMCAQF0AWICCQHx
     130        AxUB/wFiAgMB1AEgAgEBLKQAAV8CCgHyAZMBbwEVAf8BvwGBARUB/wG9AYEBFQH/AboBgQEVAf8BuAF/
     131        ARUB/wG2AX0BFQH/AUkBMgEVAf8BPQIBAWUcAAFfAgoB8gIVAaQB/wIVAdYB/wIVAdQB/wIVAdIB/wIV
     132        AdAB/wIVAc4B/wIVAVAB/wE9AgEBZZgAAR8BGwEVAf8BxwGBARUB/wHDAYEBFQH/AbEBdwEVAf8BsQF3
     133        ARUB/wGxAXcBFQH/AbEBdwEVAf8BswF5ARUB/wG2AX0BFQH/AbQBegEVAf8BZAIFAeQUAAIVASAB/wIV
     134        AdwB/wIVAdkB/wIVAcoB/wIVAcoB/wIVAcoB/wIVAcoB/wIVAcsB/wIVAc4B/wIVAcwB/wFkAgUB5JAA
     135        AxUB/wHLAYEBFQH/AbsBgQEVAf8BtgF9ARUB/wG2AX0BFQH/Ae4B3AHEBf8BvgGBATIB/wG2AX0BFQH/
     136        AbYBfQEVAf8BtgF9ARUB/wG0AXoBFQH/AUkCAgGGDAADFQH/AhUB4AH/AhUB0gH/AhUBzgH/AkIB1gH/
     137        AhUBzgH/AhUBzgH/AhUBzgH/AhgBzgH/AhUBzgH/AhUBzgH/AhUBzAH/AUkCAgGGiAABLAIBAUIB0AGG
     138        ARUB/wHHAYEBFQH/AboBgQEVAf8BugGBARUB/wG6AYEBFQH/AdABnAFmBf8BugGBARUB/wG6AYEBFQH/
     139        AboBgQEVAf8BugGBARUB/wG2AX0BFQH/AWkBRAEVAf8IAAEsAgEBQgIVAeQB/wIVAdwB/wIVAdIB/wKf
     140        Ae0F/wJbAd4B/wIVAdIB/wL0Af0F/wIYAdIB/wIVAdIB/wIVAc4B/wIVAXQB/4gAAxUB/wHSAYkBFQH/
     141        Ab8BgQEVAf8BvwGBARUB/wG/AYEBFQH/Ab8BgQEVAf8B0wGfAWYF/wG/AYEBFQH/Ab8BgQEVAf8BvwGB
     142        ARUB/wG/AYEBFQH/Ab4BgQEVAf8BtgF9ARUB/wE2AgEBVwQAAxUB/wIVAeUB/wIVAdYB/wIVAdYN/wL1
     143        Af0J/wLiAfoB/wIVAdYB/wIVAdUB/wIVAc4B/wE2AgEBV4QAAV0BRQEVAf8B1AGMARUB/wHEAYEBFQH/
     144        AcQBgQEVAf8BxAGBARUB/wHEAYEBFQH/AdcBpAFnBf8BxAGBARUB/wHEAYEBFQH/AcQBgQEVAf8BxAGB
     145        ARUB/wHEAYEBFQH/AbgBfwEVAf8BZQIHAewEAAIVAWMB/wIVAegB/wIVAdoB/wIVAdoB/wIVAdoR/wLi
     146        AfoB/wIVAdoB/wIVAdoB/wIVAdoB/wIVAdAB/wFlAgcB7IQAAX0BWgEVAf8B1wGOARUB/wHJAYEBFQH/
     147        AckBgQEVAf8ByQGBARUB/wHJAYEBFQn/AckBgQEVAf8ByQGBARUB/wHJAYEBFQH/AckBgQEVAf8ByQGB
     148        ARUB/wG6AYEBFQH/AxUB/wQAAhUBgQH/AhUB6QH/AhUB3gH/AhUB3gH/AhUB3gH/AvQB/Q3/AlsB5wH/
     149        AhUB3gH/AhUB3gH/AhUB3gH/AhUB0gH/AxUB/4QAAW0BSwEVAf8B2QGRARUB/wHOAYMBFQH/Ac4BgwEV
     150        Af8BzgGDARUB/wHOAYMBFQH/Ac4BgwEVAf8B1wGcAUYB/wHOAYMBFQH/Ac4BgwEVAf8BzgGDARUB/wHO
     151        AYMBFQH/Ac4BgwEVAf8BvQGBARUB/wFFAhMB+QQAARUBGgFsAf8CFQHsAf8CFQHiAf8CFQHiAf8C9AH9
     152        Ff8CWwHqAf8CFQHiAf8CFQHiAf8CFQHUAf8BRQITAfmEAAEYARYBFQH/AdsBlAEVAf8B0gGJARUB/wHS
     153        AYkBFQH/AdIBiQEVAf8B0gGJARUB/wHSAYkBFQH/AesBywGQAf8B0gGJARUB/wHSAYkBFQH/AdIBiQEV
     154        Af8B0gGJARUB/wHEAYEBFQH/Ab8BgQEVAf8BUQICAZsEAAIVARgB/wIVAe0B/wIVAeYB/wIVAeUB/wL9
     155        Af4F/wLiAfwB/wIVAeUJ/wKBAfEB/wIVAeUB/wIVAdoB/wIVAdYB/wFRAgIBm4QAAVgCAgGyAd4BmAEV
     156        Af8B2wGUARUB/wHXAY4BFQH/AdcBjgEVAf8B1wGOARUB/wH7AfYB6wX/AdcBjgEVAf8B1wGOARUB/wHX
     157        AY4BFQH/AdYBjQEVAf8BxAGBARUB/wGpAXYBFQH/CAABWAICAbIBFQEfAe8B/wIVAe0B/wIVAekB/wIV
     158        AekB/wLhAfwB/wIVAekB/wIVAekB/wIVAekB/wKBAfMB/wIVAekB/wIVAegB/wIVAdoB/wEVAR0BnQH/
     159        jAABTwE0ARUB/wHdAZcBFQH/AdsBlAEVAf8B2wGUARUB/wHbAZQBFQH/AdsBlAEVAf8B3AGXARsB/wHb
     160        AZQBFQH/AdsBlAEVAf8B1QGMARUB/wHJAYEBFQH/AdEBiAEVAf8BLAIVAfwMAAIVAUkB/wIVAe8B/wIV
     161        Ae0B/wIVAe0B/wIVAe0B/wIVAe0B/wIVAe0B/wIVAe0B/wIVAe0B/wIVAegB/wIVAd4B/wEVASgB4gH/
     162        ASwCFQH8jAABGQIBASEBkAFpARUB/wHfAZkBFQH/AdsBlAEVAf8B2QGRARUB/wHYAZABFQH/AdgBkAEV
     163        Af8B0wGKARUB/wHQAYYBFQH/Ac4BgwEVAf8B2gGSARUB/wEgARsBFQH/EAABGQIBASECFQGHAf8BFQEb
     164        AfEB/wIVAe0B/wIVAewB/wIVAesB/wIVAesB/wIVAeYB/wIVAeQB/wIVAeIB/wEVATIB5gH/AhUBHwH/
     165        lAABEgIBARYBOgEsARUB/wHSAYkBFQH/AeIBnQEVAf8B2QGRARUB/wHXAY4BFQH/AdUBjAEVAf8B4QGb
     166        ARUB/wHOAYQBFQH/ASoCFQH+GAABEgIBARYCFQE5Af8BFQEbAdMB/wEVASwB9AH/AhUB7AH/AhUB6QH/
     167        ARUBFgHoAf8BFQE0AfAB/wIVAcwB/wEqAhUB/qAAAUYCAQF9AxUB/wFmAU0BFQH/AYEBZgEVAf8BRwE4
     168        ARUB/wEqAhUB/gEUAgEBGiQAAUYCAQF9AxUB/wIVAWkB/wIVAYEB/wIVAUkB/wEqAhUB/gEUAgEBGv8A
    169169        kQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEAAfwBHwH8AR8EAAHwAQcB8AEH
    170170        BAAB4AEDAeABAwQAAcABAQHAAQEEAAGAAQEBgAEBBAABgAEAAYAFAAGAAQABgAUAAYABAAGABQABgAEA
Note: See TracChangeset for help on using the changeset viewer.