ListView 百分比進度條(delphi版)。本站提示廣大學習愛好者:(ListView 百分比進度條(delphi版))文章只能為提供參考,不一定能成為您想要的結果。以下是ListView 百分比進度條(delphi版)正文
在看代碼之前先給大家附上效果圖:
廢話不多說了,直接給大家貼代碼了。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ImgList; type TForm1 = class(TForm) btn1: TButton; lv1: TListView; trckbr1: TTrackBar; il1: TImageList; procedure lv1CustomDraw(Sender: TCustomListView; const ARect: TRect; var DefaultDraw: Boolean); procedure lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); procedure btn1Click(Sender: TObject); procedure trckbr1Change(Sender: TObject); private function ReDrawItem(HwndLV: HWND; ItemIndex: integer): boolean; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses CommCtrl; {$R *.dfm} //畫形態條 procedure DrawSubItem(LV: TListView; Item: TListItem; SubItem: Integer; Prosition: Single; Max, Style: Integer; IsShowProgress: Boolean; DrawColor: TColor = $00005B00; FrameColor: TColor = $00002F00); //獲取SubItem的區域 function GetItemRect(hWndLV: HWnd; iItem, iSubItem: Integer): TRect; var Rect: TRect; begin ListView_GetSubItemRect(hWndLV, iItem, iSubItem, iSubItem, @Rect); Result := Rect; end; var PaintRect, R: TRect; i, iWidth, x, y: Integer; S: string; begin with lv do begin PaintRect := GetItemRect(lv.Handle, Item.Index, SubItem); R := PaintRect; if Prosition >= Max then Prosition := 100 else begin if Prosition <= 0 then Prosition := 0 else Prosition := Round((Prosition / MAX) * 100); end; if (Prosition = 0) and (not IsShowProgress) then Canvas.FillRect(r) //假如是0 ,直接顯示空白 else begin //先填充背景 Canvas.FillRect(r); Canvas.Brush.Color := Color; //畫一個外框 InflateRect(R, -2, -2); Canvas.Brush.Color := FrameColor; Canvas.FrameRect(R); Canvas.Brush.Color := Color; InflateRect(R, -1, -1); //InflateRect(R,-1,-1); //依據百分比計算出要花的進度條內容概述 iWidth := R.Right - Round((R.Right - R.Left) * ((100 - Prosition) / 100)); case Style of 0: //實心 begin Canvas.Brush.Color := DrawColor; R.Right := iWidth; Canvas.FillRect(R); end; 1: //豎線填充 begin i := r.Left; while i < iWidth do begin Canvas.Pen.Color := Color; Canvas.MoveTo(i, R.Top); Canvas.Pen.Color := DrawColor; Canvas.LineTo(i, R.Bottom); Inc(i, 3); end; end; end; //case end //畫好進度條後,如今要做的就是顯示進度數字了 Canvas.Brush.Style := bsClear; if Prosition = Round(Prosition) then S := Format('%d%%', [Round(Prosition)]) else S := FormatFloat('#0.0', Prosition); with PaintRect do begin x := Left + (Right - Left + 1 - Canvas.TextWidth(S)) div 2; y := Top + (Bottom - Top + 1 - Canvas.TextHeight(S)) div 2; end; SetBkMode(Canvas.Handle, TRANSPARENT); Canvas.TextRect(PaintRect, x, y, S); end; //畫完恢復 Canvas.Brush.Color := Color; end; end; procedure TForm1.lv1CustomDraw(Sender: TCustomListView; const ARect: TRect; var DefaultDraw: Boolean); begin end; //下面是畫進度條的,如今要給TlistView處置Item重繪的音訊,事情是OnCustomDrawItem,需求闡明的是,假如想要為所欲為的自畫Item,那麼就要全部自己來完成,不再需求零碎來處置: procedure TForm1.lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); var BoundRect, Rect: TRect; i: integer; TextFormat: Word; LV: TListView; //這個子進程是用來畫CheckBox和ImageList的 procedure Draw_CheckBox_ImageList(r: TRect; aCanvas: TCanvas; Checked: Boolean); var R1: TRect; i: Integer; begin if Sender.Checkboxes then begin aCanvas.Pen.Color := clBlack; aCanvas.Pen.Width := 2; //畫CheckBox外框 aCanvas.Rectangle(R.Left + 2, R.Top + 2, R.Left + 14, R.Bottom - 2); if Checked then //畫CheckBox的鉤 begin aCanvas.MoveTo(R.Left + 4, R.Top + 6); aCanvas.LineTo(R.Left + 6, R.Top + 11); aCanvas.LineTo(R.Left + 11, R.Top + 5); end; aCanvas.Pen.Width := 1; end; //開端畫圖標 i := 2; //ImageIndex的值,可以恣意 if i > -1 then begin //獲取圖標的RECT if Boolean(ListView_GetSubItemRect(sender.Handle, item.Index, 0, LVIR_ICON, @R1)) then begin //ImageList_Stats.Draw(LV.Canvas, R1.Left, R1.Top, i); if item.ImageIndex > -1 then LV.SmallImages.Draw(LV.Canvas, R1.Right + 2, R1.Top, item.ImageIndex); end; end; end; begin LV := TListView(Sender); BoundRect := Item.DisplayRect(drBounds); InflateRect(BoundRect, -1, 0); //這個中央你可以依據自己的要求設置成想要的顏色,完成突出顯示 LV.Canvas.Font.Color := clBtnText; //檢查能否被選中 if Item.Selected then begin if cdsFocused in State then begin LV.Canvas.Brush.Color := $00ECCCB9; // //clHighlight; end else begin LV.Canvas.Brush.Color := $00F8ECE5; //clSilver; end; end else begin if (Item.Index mod 2) = 0 then LV.Canvas.Brush.Color := clWhite else LV.Canvas.Brush.Color := $00F2F2F2; end; LV.Canvas.FillRect(BoundRect); // 初始化背景 for i := 0 to LV.Columns.Count - 1 do begin //獲取SubItem的Rect ListView_GetSubItemRect(LV.Handle, Item.Index, i, LVIR_LABEL, @Rect); case LV.Columns[i].Alignment of taLeftJustify: TextFormat := DT_LEFT; taRightJustify: TextFormat := DT_RIGHT; taCenter: TextFormat := DT_CENTER; else TextFormat := DT_CENTER; end; case i of 0: //畫Caption,0表示Caption,不是Subitem begin //先畫選擇框和圖標 Draw_CheckBox_ImageList(BoundRect, LV.Canvas, Item.Checked); //再畫Caption的文字 InflateRect(Rect, -(5 + il1.Width), 0); //向後移3個像素,防止被前面畫線框時掩蓋 //InflateRect(Rect, -(5), 0); //向後移3個像素,防止被前面畫線框時掩蓋 DrawText(LV.Canvas.Handle, PAnsiChar(Item.Caption), Length(Item.Caption), Rect, DT_VCENTER or DT_SINGLELINE or DT_END_ELLIPSIS or TextFormat); end; 1..MaxInt: //畫SubItem[i] begin if (i - 1) = 1 then //顯示形態條,本示例是第三欄顯示,可以隨意定 begin DrawSubItem(LV, Item, i, StrToFloatDef(Item.SubItems[i - 1], 0), 100, 0, True); end else begin //畫SubItem的文字 InflateRect(Rect, -2, -2); if i - 1 <= Item.SubItems.Count - 1 then DrawText(LV.Canvas.Handle, PCHAR(Item.SubItems[i - 1]), Length(Item.SubItems[i - 1]), Rect, DT_VCENTER or DT_SINGLELINE or DT_END_ELLIPSIS or TextFormat); end; end; end; //end case end; //end for LV.Canvas.Brush.Color := clWhite; if Item.Selected then //畫選中條外框 begin if cdsFocused in State then//控件能否處於激活形態 LV.Canvas.Brush.Color := $00DAA07A // $00E2B598; //clHighlight; else LV.Canvas.Brush.Color := $00E2B598; //$00DAA07A // clHighlight; LV.Canvas.FrameRect(BoundRect); // end; DefaultDraw := False; //不讓零碎畫了 with Sender.Canvas do if Assigned(Font.OnChange) then Font.OnChange(Font); end; function TForm1.ReDrawItem(HwndLV: HWND; ItemIndex: integer): boolean; begin Result := ListView_RedrawItems(HwndLV, ItemIndex, ItemIndex); end; procedure TForm1.btn1Click(Sender: TObject); var Item: TListItem; begin //運用: item := LV1.Items[1]; if Item = nil then Exit; item.subitems[1] := '30'; //設置為30% //然後刷新這個item ReDrawItem(LV1.handle, Item.Index); end; procedure TForm1.trckbr1Change(Sender: TObject); var Item: TListItem; begin //運用: item := LV1.Items[0]; item.subitems[1] := IntToStr(trckbr1.Position); //然後刷新這個item ReDrawItem(LV1.handle, Item.Index); end; end. object Form1: TForm1 Left = 416 Top = 301 Width = 494 Height = 170 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object btn1: TButton Left = 272 Top = 96 Width = 75 Height = 25 Caption = 'btn1' TabOrder = 0 OnClick = btn1Click end object lv1: TListView Left = 16 Top = 8 Width = 457 Height = 81 Columns = < item Caption = '稱號' Width = 100 end item Caption = '分類' Width = 100 end item Caption = '進度' Width = 100 end item Caption = '資源' Width = 100 end> GridLines = True Items.Data = { 5B000000020000000200000000000000FFFFFFFF020000000000000006B4F3B8 BBCECC04D3CECFB70333354D01000000FFFFFFFFFFFFFFFF0200000000000000 08446F7461B4ABC6E604D3CECFB7043130304DFFFFFFFFFFFFFFFF} ShowWorkAreas = True SmallImages = il1 TabOrder = 1 ViewStyle = vsReport OnCustomDrawItem = lv1CustomDrawItem end object trckbr1: TTrackBar Left = 16 Top = 96 Width = 233 Height = 33 Max = 100 TabOrder = 2 OnChange = trckbr1Change end object il1: TImageList Left = 384 Top = 96 Bitmap = { 494C010103000F00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600004D4D 4D00000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600004D4D 4D00000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600004D4D 4D00000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600004D4D 4D00000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 00004D4D4D004D4D4D0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 00004D4D4D004D4D4D0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 00004D4D4D004D4D4D0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 00004D4D4D004D4D4D0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000D90 1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000D90 1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000D90 1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000D90 1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000066000014A0 270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000 00000000000000000000000000000000000000000000000000000066000014A0 270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000 00000000000000000000000000000000000000000000000000000066000014A0 270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000 00000000000000000000000000000000000000000000000000000066000014A0 270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000 00000000000000000000000000000000000000000000000000000066000019A5 32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000 00000000000000000000000000000000000000000000000000000066000019A5 32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000 00000000000000000000000000000000000000000000000000000066000019A5 32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000 00000000000000000000000000000000000000000000000000000066000019A5 32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000 0000000000000000000000000000000000000000000000000000006600001FAB 3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000 0000000000000000000000000000000000000000000000000000006600001FAB 3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000 0000000000000000000000000000000000000000000000000000006600001FAB 3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000 0000000000000000000000000000000000000000000000000000006600001FAB 3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000 00000000000000000000000000000000000000000000000000000066000023B0 460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D 4D004D4D4D0000000000000000000000000000000000000000000066000023B0 460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D 4D004D4D4D0000000000000000000000000000000000000000000066000023B0 460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D 4D004D4D4D0000000000000000000000000000000000000000000066000023B0 460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D 4D004D4D4D0000000000000000000000000000000000000000000066000026B3 4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271 030011610B004D4D4D00000000000000000000000000000000000066000026B3 4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271 030011610B004D4D4D00000000000000000000000000000000000066000026B3 4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271 030011610B004D4D4D00000000000000000000000000000000000066000026B3 4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271 030011610B004D4D4D00000000000000000000000000000000000066000027B3 4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D 0600066404004D4D4D00000000000000000000000000000000000066000027B3 4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D 0600066404004D4D4D00000000000000000000000000000000000066000027B3 4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D 0600066404004D4D4D00000000000000000000000000000000000066000027B3 4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D 0600066404004D4D4D0000000000000000000000000000000000006600002DB9 530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D 0E00000000000000000000000000000000000000000000000000006600002DB9 530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D 0E00000000000000000000000000000000000000000000000000006600002DB9 530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D 0E00000000000000000000000000000000000000000000000000006600002DB9 530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D 0E000000000000000000000000000000000000000000000000000066000032BE 58003CD56F0035CE680033CC660030C960001494280005630300000000000000 00000000000000000000000000000000000000000000000000000066000032BE 58003CD56F0035CE680033CC660030C960001494280005630300000000000000 00000000000000000000000000000000000000000000000000000066000032BE 58003CD56F0035CE680033CC660030C960001494280005630300000000000000 00000000000000000000000000000000000000000000000000000066000032BE 58003CD56F0035CE680033CC660030C960001494280005630300000000000000 00000000000000000000000000000000000000000000000000000066000036C2 5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000 00000000000000000000000000000000000000000000000000000066000036C2 5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000 00000000000000000000000000000000000000000000000000000066000036C2 5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000 00000000000000000000000000000000000000000000000000000066000036C2 5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000 0000000000000000000000000000000000000000000000000000006600003DC9 630049E27C0025A84200046D07002D581E000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600003DC9 630049E27C0025A84200046D07002D581E000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600003DC9 630049E27C0025A84200046D07002D581E000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600003DC9 630049E27C0025A84200046D07002D581E000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600003CC5 5F00158721000961050000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600003CC5 5F00158721000961050000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600003CC5 5F00158721000961050000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600003CC5 5F00158721000961050000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 0000245E19000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 0000245E19000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 0000245E19000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 0000245E19000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000660000245E 1900000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000660000245E 1900000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000660000245E 1900000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000660000245E 1900000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000BA877700CE7E6200D07E5D00D07E 5D00CE7E6200C396880000000000000000000000000000000000006600004D4D 4D00000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600004D4D 4D00000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000B7A5A2008D6F6A008D6F6A008D6F6A008D6F6A00A28A 8600BFAEAB000000000000000000000000000000000000000000000000000000 0000000000000000000000000000CF795600EDB18D00F3BC9900F1BA9600F0B7 9400F0B79400E5A07D00CA715200000000000000000000000000006600000066 00004D4D4D004D4D4D0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000066 00004D4D4D004D4D4D0000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000C5B6 B4009B817C0093757000B8979100DDB9B200C09E9800BD9E9800BD9D9700AA8B 850091746F008D6F6A0000000000000000000000000000000000000000000000 00000000000000000000CD795D00F1A77B00EFA47800EDA07400EB9B7000DA83 5D00DD886000E4906600DA835D00E4BAAC000000000000000000006600000D90 1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000006600000D90 1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000 00000000000000000000000000000000000000000000A9928E008D6F6A00AA8B 8500D1AEA700F0CAC200F0CAC200F0CAC200E9C7C100F3D3CC00F3D3CC00F0CA C200D6B3AC008D6F6A00000000000000000000000000000000005D9D5F003B9E 3500409F33003B9E3500C06F4400F4A17000F19C6C00ED956600E2875A00C56A 4D00D06E4700E2845600E2845600E1B3A50000000000000000000066000014A0 270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000 00000000000000000000000000000000000000000000000000000066000014A0 270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000 00000000000000000000000000000000000000000000997A7500EAC4BD00F0CA C200F0CAC200F0CAC200F0CAC200F0CAC200EBCBC600F4D7D100F3D3CC00F3D3 CC00D6B3AC008D6F6A000000000000000000000000002395240061B9510074C2 5F007AC9690080CF7200B47A4900F9AA7800F4A17000F19C6C00CA715200E7C7 C100CB6A4700E88D5E00DF805500E6C0B40000000000000000000066000019A5 32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000 00000000000000000000000000000000000000000000000000000066000019A5 32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000 00000000000000000000000000000000000000000000A6868000F0CAC200F0CA C200F0CAC200F0CAC200F0CAC200F0CAC200D6B3AC00C5ADA900CDB5B000D7BD B700BD9E98008D6F6A000000000000000000000000000B99170018AB29000B93 15001BA52A0033C850007A934700EC986A00F9AA7800D0734E00ECD0C800F4E7 E500CE7E6200ED956600D3734B00000000000000000000000000006600001FAB 3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000 0000000000000000000000000000000000000000000000000000006600001FAB 3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000 00000000000000000000000000000