diff --git a/programs/cmm/browser/HTMLv.c b/programs/cmm/browser/HTMLv.c index 59106339c0..6544822faf 100644 --- a/programs/cmm/browser/HTMLv.c +++ b/programs/cmm/browser/HTMLv.c @@ -4,6 +4,7 @@ //home icon - rachel fu, GPL licence //libraries +#define MEMSIZE 0x100000 #include "..\lib\kolibri.h" #include "..\lib\strings.h" #include "..\lib\figures.h" @@ -42,7 +43,7 @@ proc_info Form; #define WIN_H 480 -dword stak[100]; // +char stak[100]; // mouse m; #include "TWB.h" @@ -234,13 +235,13 @@ void Draw_Window() if (Form.width<280) MoveSize(OLD,OLD,280,OLD); PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal); - if (GetProcessSlot(downloader_id)<>0) PutImage(#stop_btn,24,24,88,10); + if (GetProcessSlot(downloader_id)<>0) _PutImage(88,10, 24,24, #stop_btn); DrawBar(200,0,onLeft(200,9),43,0xE4DFE1); // DrawBar(0,42,onLeft(5,4),1,0xE2DBDC); // DrawBar(0,43,onLeft(5,4),1,0xD2CED0); // for (j=0; j<5; j++) DefineButton(j*37+11, 7, 29, 29, 300+j+BT_HIDE, 0xE4DFE1); - PutImage(#URLgoto,40,19,onLeft(57,0),14); + _PutImage(onLeft(57,0),14, 40,19, #URLgoto); DefineButton(onLeft(37,0),15, 18, 16, GOTOURL+BT_HIDE, 0xE4DFE1); DefineButton(onLeft(56,0),15, 17, 16, SEARCHWEB+BT_HIDE, 0xE4DFE1); DrawRectangle(205,14,onLeft(58,205),18,0x94AECE); // diff --git a/programs/cmm/browser/TWB.h b/programs/cmm/browser/TWB.h index 76d7a53584..d5215b5ee7 100644 --- a/programs/cmm/browser/TWB.h +++ b/programs/cmm/browser/TWB.h @@ -475,7 +475,7 @@ void TWebBrowser::ParseHTML(dword bword){ if (line[strlen(#line)-1]==' ') break; // 2 if (!stolbec) && (!line) break; // } - if (strlen(#line) lines.column_max) { @@ -828,65 +828,64 @@ void Images(int left1, top1, width1) char img_path[4096], alt[4096]; int w=0, h=0, img_lines_first=0, cur_pic=0; - if (GetFileInfo(libimg)<>0) return; // - do{ - if (!strcmp(#parametr,"src=")) // GetNewUrl() + do{ + if (!strcmp(#parametr,"src=")) // GetNewUrl() + { + if (downloader_id) strcpy(#img_path, #history_list[history_current-1].Item); + else strcpy(#img_path, BrowserHistory.CurrentUrl()); // + + if (strcmpn(#img_path, "http:", 5)!=0) || (strcmpn(#options, "http:", 5)!=0) { - if (downloader_id) strcpy(#img_path, #history_list[history_current-1].Item); - else strcpy(#img_path, BrowserHistory.CurrentUrl()); // + img_path[strrchr(#img_path, '/')] = '\0'; // / + strcat(#img_path, #options); - if (strcmpn(#img_path, "http:", 5)!=0) || (strcmpn(#options, "http:", 5)!=0) + cur_pic=GetOrSetPicNum(#img_path); + if (!pics[cur_pic].path) { - img_path[strrchr(#img_path, '/')] = '\0'; // / - strcat(#img_path, #options); - - cur_pic=GetOrSetPicNum(#img_path); - if (!pics[cur_pic].path) - { - pics[cur_pic].image=load_image(#img_path); - strcpy(#pics[cur_pic].path, #img_path); - } + pics[cur_pic].image=load_image(#img_path); + strcpy(#pics[cur_pic].path, #img_path); } } - if (!strcmp(#parametr,"alt=")) - { - strcpy(#alt, "["); - strcat(#alt, #options); - strcat(#alt, "]"); - } + } + if (!strcmp(#parametr,"alt=")) + { + strcpy(#alt, "["); + strcat(#alt, #options); + strcat(#alt, "]"); + } - } while(GetNextParam()); - - if (!pics[cur_pic].image) - { - if (alt) && (link) strcat(#line, #alt); - return; - } - - w=DSWORD[pics[cur_pic].image+4]; - h=DSWORD[pics[cur_pic].image+8]; - if (w>width1) w=width1; - - if (stroka==0) DrawBar(WB1.left, WB1.top, WB1.width-15, 15, bg_color); // - stroka+=h/10; - if (top1+hWB1.top+WB1.height-10) return; // Ѩ - if (top1WB1.top+WB1.height-h-15) // - { - h=WB1.top+WB1.height-top1-15; - } - if (h<=0) return; - if (anchor) return; - - img_draw stdcall (pics[cur_pic].image,left1-5,top1+10,w, h,0,img_lines_first); - DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, bg_color); - IF (link) DefineButton(left1 - 5, top1+10, w, h, blink + BT_HIDE, 0xB5BFC9); + } while(GetNextParam()); + + if (!pics[cur_pic].image) + { + if (alt) && (link) strcat(#line, #alt); + return; + } + + w=DSWORD[pics[cur_pic].image+4]; + h=DSWORD[pics[cur_pic].image+8]; + if (w>width1) w=width1; + + if (stroka==0) DrawBar(WB1.left, WB1.top, WB1.width-15, 15, bg_color); // + stroka+=h/10; + if (top1+hWB1.top+WB1.height-10) return; // Ѩ + if (top1WB1.top+WB1.height-h-15) // + { + h=WB1.top+WB1.height-top1-15; + } + if (h<=0) return; + if (anchor) return; + + img_draw stdcall (pics[cur_pic].image,left1-5,top1+10,w, h,0,img_lines_first); + DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, bg_color); + IF (link) DefineButton(left1 - 5, top1+10, w, h, blink + BT_HIDE, 0xB5BFC9); } diff --git a/programs/cmm/browser/compile.bat b/programs/cmm/browser/compile.bat index 7f8a5a3696..79f0e3d1a9 100644 --- a/programs/cmm/browser/compile.bat +++ b/programs/cmm/browser/compile.bat @@ -1,6 +1,5 @@ ..\C--\c-- HTMLv.c /lst -del HTMLv -rename HTMLv.com HTMLv -rem ..\C--\kpack HTMLv -del warning.txt -pause \ No newline at end of file +@del HTMLv +@rename HTMLv.com HTMLv +@del warning.txt +@pause \ No newline at end of file diff --git a/programs/cmm/browser/include/some_code.h b/programs/cmm/browser/include/some_code.h index 8fd6afc0a6..d679e067f1 100644 --- a/programs/cmm/browser/include/some_code.h +++ b/programs/cmm/browser/include/some_code.h @@ -62,7 +62,7 @@ inline void Skew(dword x,y,w,h) CopyScreen(italic_buf, x+Form.left+2, y+Form.top+skin_height, w, h); FOR (i=0;i*tile_height cur_dict - -#include "..\lib\kolibri.h" -#include "..\lib\strings.h" -#include "..\lib\file_system.h" -#include "..\lib\mem.h" -#include "..\lib\dll.h" -#include "..\lib\edit_box_lib.h" - -unsigned char title[]= "Dictionary v1.0"; -unsigned char direction[] = "Translate direction:"; -unsigned char translate_caption[] = "Translate"; -unsigned char dict_not_found[] = "Dictionary not found"; -unsigned char dict_opened[] = "Dictionary loaded"; -unsigned char empty_word[] = "Type a word to translate"; -//char direction[] = " :"w; - - -int mouse_dd; -edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b}; - -system_colors sc; -proc_info Form; - -unsigned char edword[4096], translate_result[4096], search_word[4096], cur_dict[4096]; -#define DEFAULT_DICT_DIRECROTY "dictionaries/" -#define DEFAULT_DICT "eng - rus.dict"; -dword files_buf; -dword buff, fsize; - - -void main() -{ - int id; - word key; - - mem_Init(); - load_dll2(boxlib, #edit_box_draw,0); - - - program_path[strrchr(#program_path, '/')] = 0; // / - strcpy(#program_path+strlen(#program_path), DEFAULT_DICT_DIRECROTY); - SetCurDir(#program_path); - - strcpy(#cur_dict, DEFAULT_DICT); - OpenDictionary(#cur_dict); - - if (param) - { - strcpy(#edword, #param); - edit1.size=edit1.pos=strlen(#edword); - Translate(); - } - - SetEventMask(0x27); - loop() - { - switch(WaitEvent()) - { - case evMouse: - edit_box_mouse stdcall (#edit1); - break; - - case evButton: - id=GetButtonID(); - if (id==1) ExitProcess(); - if (id==10) - { - Translate(); - DrawTranslation(); - } - - if (id==11) - { - ShowDictList(); - break; - } - if (id==12) - { - Draw_Window(); - break; - } - - if (id>=20) - { - strcpy(#cur_dict, id-20*304+files_buf+72); - OpenDictionary(#cur_dict); - } - break; - - case evKey: - key = GetKey(); - IF (key==013) //Enter - { - Translate(); - DrawTranslation(); - } - - EAX=key<<8; - edit_box_key stdcall(#edit1); - - //LiveSearch(); - break; - - case evReDraw: - Draw_Window(); - break; - } - } -} - -/*void LiveSearch() -{ - dword bj, i; - byte IsNativeWord=1; - unsigned char native[256]; - unsigned char bukovka; - - for (bj=0; bjnative[i]) goto __NE_RAVNO; - debug(#native); - __NE_RAVNO: - native = '\0'; - IsNativeWord = 0; - } - if (IsNativeWord==1) native[strlen(#native)] = bukovka; - } -}*/ - - -void Translate() -{ - dword tj; - char w_native[100], w_translation[100], bukva[1]; - - byte InfType; - #define NATIVE_WORD 0 - #define TRANSLATION 1 - #define IGNORE 2 - - if (!fsize) return; - - translate_result = 0; - strcpy(#search_word, #edword); - strupr(#search_word); - - if (!edword) - { - strcpy(#translate_result, #empty_word); - return; - } - - for (tj=0; tjsearch_word) InfType = IGNORE; // - } - if (InfType==TRANSLATION) strcat(#w_translation, #bukva); - } - } - if (!translate_result) strcpy(#translate_result, "Word is'nt found in the dictionary"); -} - - -void OpenDictionary(dword dict_path) -{ - dword j, words_count=0; - - mem_Free(buff); - buff = mem_Alloc(3500576); - ReadFile(0, 3500576, buff, dict_path); - IF (EAX<>6) - { - fsize=0; - strcpy(#translate_result, #dict_not_found); - Draw_Window(); - return; - } - fsize=EBX; - - strcpy(#search_word, dict_path); - strcpy(#translate_result, #dict_opened); - Draw_Window(); -} - - -void ShowDictList() -{ - int j, fcount=10; - - mem_Free(files_buf); - files_buf= mem_Alloc(32); - ReadDir(0, files_buf, #program_path); - fcount=ESDWORD[files_buf+8]; - mem_Free(files_buf); - files_buf = mem_Alloc(fcount+1*304+32); - - ReadDir(fcount, files_buf, #program_path); - - fcount-=2; - mem_Move(files_buf,files_buf+608,fcount*304); - - - DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button); - for (j=0; jstrlen(#draw_buf)) - { - WriteText(10, y_pos+21, 0x80, 0, #draw_buf, 0); - return; - } - while (draw_buf[text_break]<>' ') && (text_break>0) text_break--; - strcpy(#tt, #draw_buf+text_break+1); - draw_buf[text_break]=0x0; - WriteText(10, y_pos+21, 0x80, 0, #draw_buf, 0); - strcpy(#draw_buf, #tt); - y_pos+=12; - if (y_pos+24+skin_height+12>Form.height) return; // - } -} - - -void Draw_Window() -{ - sc.get(); - DefineAndDrawWindow(215,120,400,250,0x73,sc.work,#title); - GetProcessInfo(#Form, SelfInfo); - if (Form.status_window>2) return; // , - if (Form.height<140) MoveSize(OLD,OLD,OLD,140); - if (Form.width<400) MoveSize(OLD,OLD,400,OLD); - - DrawBar(0, 0, Form.width-9, 69, sc.work); - edit1.focus_border_color=sc.work_graph; - edit1.width=Form.width-edit1.left-edit1.left-9; - edit_box_draw stdcall(#edit1); // - DefineButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button); - WriteText(edit1.left+edit1.width-80+14,35+7,0x80,sc.work_button_text,#translate_caption, 0); - DrawBar(0, 69, Form.width-9, 1, sc.work_graph); - - WriteText(edit1.left,35+7,0x80,sc.work_text,#direction, 0); - DefineButton(edit1.left+130,35, 120,20, 11, sc.work_button); - WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19", 0); - DrawBar(edit1.left+130+1,36, 107,19, 0xFFFFFF); - WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict, 0); - - DrawTranslation(); -} - - -stop: diff --git a/programs/cmm/dicty/compile.bat b/programs/cmm/dicty/compile.bat new file mode 100644 index 0000000000..6a11c79741 --- /dev/null +++ b/programs/cmm/dicty/compile.bat @@ -0,0 +1,5 @@ +..\C--\C-- dicty +@del dicty +@rename dicty.com dicty +@del warning.txt +@pause \ No newline at end of file diff --git a/programs/cmm/dict/dicty.c b/programs/cmm/dicty/dicty.c similarity index 50% rename from programs/cmm/dict/dicty.c rename to programs/cmm/dicty/dicty.c index 541d47cf9b..ec4b9f355e 100644 --- a/programs/cmm/dict/dicty.c +++ b/programs/cmm/dicty/dicty.c @@ -1,53 +1,54 @@ +#define MEMSIZE 0x8000 #include "..\lib\kolibri.h" -#include "..\lib\strings.h" -#include "..\lib\file_system.h" +#include "..\lib\strings.h" #include "..\lib\mem.h" +#include "..\lib\file_system.h" +#include "..\lib\figures.h" #include "..\lib\dll.h" #include "..\lib\edit_box_lib.h" -char title[]= "Dictionary v1.0"; + +unsigned char speaker[23*40*3]= FROM "speaker.raw"; +char title[]= "Dictionary v1.3"; char direction[] = "Translate direction:"; char translate_caption[] = "Translate"; char dict_not_found[] = "Dictionary not found"; char dict_opened[] = "Dictionary loaded"; char empty_word[] = "Type a word to translate"; -//char direction[] = " :"w; -int mouse_dd; -edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b}; - system_colors sc; proc_info Form; -char edword[4096], translate_result[4096], search_word[4096], cur_dict[4096]; -#define DEFAULT_DICT_DIRECROTY "dictionaries/" -#define DEFAULT_DICT "eng - rus.dict"; -dword files_buf; -dword buff, fsize; +char edword[256], search_word[256], translate_result[4096], dict_folder[4096], cur_dict[256]; +#define DICT_DIRECROTY "dictionaries" +#define PRONOUNCED_FILE "/tmp9/1/dicty/pronounced.txt" +#define SPEECH_PATH "/tmp9/1/media/speech/speech" +dword dir_buf, file_buf, fsize; + +int mouse_dd, speaker_id; +edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b}; void main() { - int id; - word key; - + int id, key; mem_Init(); load_dll2(boxlib, #edit_box_draw,0); - - program_path[strrchr(#program_path, '/')] = 0; // / - strcpy(#program_path+strlen(#program_path), DEFAULT_DICT_DIRECROTY); - SetCurDir(#program_path); - - strcpy(#cur_dict, DEFAULT_DICT); - OpenDictionary(#cur_dict); + program_path[strrchr(#program_path, '/')] = 0; + strcpy(#dict_folder, #program_path); + strcat(#dict_folder, DICT_DIRECROTY); + SetCurDir(#dict_folder); + OpenDictionary(0); if (param) { strcpy(#edword, #param); edit1.size=edit1.pos=strlen(#edword); Translate(); + DrawTranslation(); + edit_box_draw stdcall(#edit1); } SetEventMask(0x27); @@ -62,28 +63,25 @@ void main() case evButton: id=GetButtonID(); if (id==1) ExitProcess(); - if (id==10) + if (id==10) { Translate(); DrawTranslation(); } + if (id==11) ShowDictList(); + if (id==12) DrawWindowContent(); + if (id==15) { - Translate(); - DrawTranslation(); - } - - if (id==11) - { - ShowDictList(); - break; - } - if (id==12) - { - Draw_Window(); - break; - } - - if (id>=20) - { - strcpy(#cur_dict, id-20*304+files_buf+72); - OpenDictionary(#cur_dict); + if (GetProcessSlot(speaker_id)!=0)) + { + KillProcess(speaker_id); + pause(50); + } + else + { + if (WriteFile(strlen(#translate_result)+1, #translate_result, PRONOUNCED_FILE)!=0) break; + pause(50); + speaker_id = RunProgram(SPEECH_PATH, PRONOUNCED_FILE); + } + SpeakerDraw(Form.cwidth-38, Form.cheight-32); } + if (id>=20) OpenDictionary(id - 20); break; case evKey: @@ -93,91 +91,51 @@ void main() Translate(); DrawTranslation(); } - + EAX=key<<8; edit_box_key stdcall(#edit1); + + //LiveSearch(); break; case evReDraw: - Draw_Window(); + DrawWindowContent(); break; } } } -void Draw_Window() +void DrawWindowContent() { sc.get(); DefineAndDrawWindow(215,120,400,250,0x73,sc.work,#title); GetProcessInfo(#Form, SelfInfo); - if (Form.status_window>2) return; // , + if (Form.status_window>2) return; if (Form.height<140) MoveSize(OLD,OLD,OLD,140); if (Form.width<400) MoveSize(OLD,OLD,400,OLD); - - DrawBar(0, 0, Form.width-9, 69, sc.work); edit1.focus_border_color=sc.work_graph; edit1.width=Form.width-edit1.left-edit1.left-9; - edit_box_draw stdcall(#edit1); // - DefineButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button); - WriteText(edit1.left+edit1.width-80+14,35+7,0x80,sc.work_button_text,#translate_caption); + + DrawBar(0, 0, Form.width-9, 69, sc.work); + edit_box_draw stdcall(#edit1); + DrawCaptButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button, sc.work_button_text,#translate_caption); DrawBar(0, 69, Form.width-9, 1, sc.work_graph); - + WriteText(edit1.left,35+7,0x80,sc.work_text,#direction); DefineButton(edit1.left+130,35, 120,20, 11, sc.work_button); - WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19"); DrawBar(edit1.left+130+1,36, 107,19, 0xFFFFFF); - WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict); - + WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19"); + WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict); DrawTranslation(); } - -void OpenDictionary(dword dict_path) +void SpeakerDraw(dword x, y) { - dword j, words_count=0; - - mem_Free(buff); - buff = mem_Alloc(3500576); - ReadFile(0, 3500576, buff, dict_path); - IF (EAX<>6) - { - fsize=0; - strcpy(#translate_result, #dict_not_found); - Draw_Window(); - return; - } - fsize=EBX; - - strcpy(#search_word, dict_path); - strcpy(#translate_result, #dict_opened); - Draw_Window(); -} - -void ShowDictList() -{ - int j, fcount=10; - - mem_Free(files_buf); - files_buf= mem_Alloc(32); - ReadDir(0, files_buf, #program_path); - fcount=ESDWORD[files_buf+8]; - mem_Free(files_buf); - files_buf = mem_Alloc(fcount+1*304+32); - - ReadDir(fcount, files_buf, #program_path); - - fcount-=2; - memmov(files_buf,files_buf+608,fcount*304); - - - DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button); - for (j=0; jsearch_word) InfType = IGNORE; // } - if (InfType==TRANSLATION) strcat(#w_translation, #bukva); + if (InfType==TRANSLATION) chrcat(#w_translation, bukva); } } if (!translate_result) strcpy(#translate_result, "Word is'nt found in the dictionary"); } +void OpenDictionary(dword fileid) +{ + if (!dir_buf) ShowDictList(); + if (!dir_buf) strcpy(#cur_dict, "none"); + else strcpy(#cur_dict, fileid*304+dir_buf+72); + fsize = ESDWORD[fileid*304 + dir_buf+64]; + + free(file_buf); + file_buf = malloc(fsize); + ReadFile(0, fsize, file_buf, #cur_dict); + IF (EAX<>0) + { + fsize = 0; + strcpy(#search_word, "Error #"); + strcat(#search_word, itoa(EAX)); + strcpy(#translate_result, #dict_not_found); + DrawWindowContent(); + return; + } + strcpy(#search_word, #cur_dict); + strcpy(#translate_result, #dict_opened); + DrawWindowContent(); +} + + +void ShowDictList() +{ + int j, fcount, error; + + free(dir_buf); + error = GetDir(#dir_buf, #fcount, #dict_folder); + if (!error) + { + DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button); + for (j=0; jstrlen(#draw_buf)) { WriteText(10, y_pos+21, 0x80, 0, #draw_buf); - return; + break; } while (draw_buf[text_break]<>' ') && (text_break>0) text_break--; strcpy(#tt, #draw_buf+text_break+1); @@ -266,8 +267,9 @@ void DrawTranslation() WriteText(10, y_pos+21, 0x80, 0, #draw_buf); strcpy(#draw_buf, #tt); y_pos+=12; - if (y_pos+24+skin_height+12>Form.height) return; // + if (y_pos+24+8>Form.cheight) break; // } + SpeakerDraw(Form.cwidth-38, Form.cheight-32); } diff --git a/programs/cmm/dicty/speaker.ico b/programs/cmm/dicty/speaker.ico new file mode 100644 index 0000000000..23415bdbf0 Binary files /dev/null and b/programs/cmm/dicty/speaker.ico differ diff --git a/programs/cmm/dicty/speaker.raw b/programs/cmm/dicty/speaker.raw new file mode 100644 index 0000000000..b5ff4e707d --- /dev/null +++ b/programs/cmm/dicty/speaker.raw @@ -0,0 +1 @@ +D;AmgkC;AC;ASJPEDF>DF>DF>DᰬH?EH?EH?EH?EH?EH?EIAG{tygafIAGIAGIAGIAGIAGIAG󘑕KBH{c\aKBHKBHKBHKBHKBHKBH쑎LDJ_X^LDJLDJLDJLDJLDJLDJ䕐NEKbZ_NEKNEKNEKNEKNEKNEK䛖OFL|hafOFLOFLOFLOFLOFLOFL쥠QHN{~pinQHNQHNQHNQHNQHNQHNTKQRIORIORIORIORIOd\aSKQSKQSKQSKQy}ULRULRULRWOUVNTІ@8>D=CD;AG>DB9?mgkC;AC;ATLRC;AJBHRJPDDF>DF>DF>DF>DF>DF>DVNTᯬG?EG?EG?EG?EG?EG?Ey~G?ESLQG?EG?E󜗙I@F{sxg_dI@FI@FI@FI@FI@FI@FI@FI@FI@FI@F֖JBH{c\aJBHJBHJBHJBHJBHJBHJBHJBHKCIJBHLCI_W]LCILCILCILCILCILCIULRLCI`X]LCIMEKbZ_MEKMEKMEKMEKMEKMEKVNTMEKbZ_MEKOFL|hafOFLOFLOFLOFLOFLOFLOFLOFLPGMOFLPHN{~oinPHNPHNPHNPHNPHNPHNPHNPHNPHNPHNTKQRIORIORIORIORIORIO]U[RIORIOd[`SJPSJPSJPSJPSJPSJPSJPbY_y}ULRULRULRULRbZ_XOUULRWNTVMSZQWVMS\SYЄ\TZWOUYPV]TZ \ No newline at end of file diff --git a/programs/cmm/end/compile.bat b/programs/cmm/end/compile.bat new file mode 100644 index 0000000000..2909fc8046 --- /dev/null +++ b/programs/cmm/end/compile.bat @@ -0,0 +1,5 @@ +..\C--\C-- end.c +@del end +@rename end.com end +@del warning.txt +@pause diff --git a/programs/cmm/new_end/end.c b/programs/cmm/end/end.c similarity index 63% rename from programs/cmm/new_end/end.c rename to programs/cmm/end/end.c index a320a266e0..10085df1e6 100644 --- a/programs/cmm/new_end/end.c +++ b/programs/cmm/end/end.c @@ -1,3 +1,4 @@ +#define MEMSIZE 0x3E80 #include "..\lib\kolibri.h" #include "..\lib\figures.h" #include "..\lib\strings.h" @@ -38,19 +39,45 @@ dword stars_col[4]={0xD2CF19, 0x716900, 0x002041}; //0x005BFF - +:void ShadowScreen(dword img, w, h) +{ + dword to = w*h*3 + img; + for ( ; img < to; img+=4) { ESDWORD[img] >>= 1; $and ESDWORD[img], 7F7F7F7Fh } + //for ( ; img < to; img+=4) { ESDWORD[img] >>= 2; $and ESDWORD[img], 3F3F3F3Fh } +} + void main() { int key; - - pause(10); - + dword s1,s2, s3, s4, sides_w; + + mem_Init(); WIN_SIZE_X=GetScreenWidth()+1; WIN_SIZE_Y=GetScreenHeight()+1; - PANEL_X=WIN_SIZE_X-PANEL_SIZE_X/2; PANEL_Y=WIN_SIZE_Y-PANEL_SIZE_Y/2; - + + sides_w = WIN_SIZE_X-PANEL_SIZE_X/2; + s1 = mem_Alloc(WIN_SIZE_X*PANEL_Y*3); + s2 = mem_Alloc(sides_w*PANEL_Y*3); + s3 = mem_Alloc(sides_w*PANEL_Y*3); + s4 = mem_Alloc(WIN_SIZE_X*PANEL_Y*3); + + CopyScreen(s1, 0, 0, WIN_SIZE_X, PANEL_Y); + ShadowScreen(s1, WIN_SIZE_X, PANEL_Y); + + CopyScreen(s2, 0, PANEL_Y, sides_w, PANEL_SIZE_Y+1); + ShadowScreen(s2, sides_w, PANEL_SIZE_Y+1); + + CopyScreen(s3, sides_w+PANEL_SIZE_X+1, PANEL_Y, sides_w-1, PANEL_SIZE_Y+1); + ShadowScreen(s3, sides_w, PANEL_SIZE_Y+1); + + CopyScreen(s4, 0, PANEL_Y+PANEL_SIZE_Y+1, WIN_SIZE_X, PANEL_Y-1); + ShadowScreen(s4, WIN_SIZE_X, PANEL_Y-1); + + + goto _DRAW; loop() { WaitEventTimeout(130); @@ -76,39 +103,22 @@ void main() break; case evReDraw: - draw_window(); + sc.get(); + DefineAndDrawWindow(0,0,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF); + //_PutImage(0,0,WIN_SIZE_X,WIN_SIZE_Y,shadow_buf); + _PutImage(0,0,WIN_SIZE_X, PANEL_Y,s1); + draw_main_area(PANEL_X, PANEL_Y, PANEL_SIZE_X, PANEL_SIZE_Y); + _PutImage(0,PANEL_Y,sides_w, PANEL_SIZE_Y+1,s2); + _PutImage(sides_w+PANEL_SIZE_X+1,PANEL_Y,sides_w-1, PANEL_SIZE_Y+1,s3); + _PutImage(0,PANEL_Y+PANEL_SIZE_Y+1,WIN_SIZE_X, PANEL_Y-1,s4); break; - default: + default: _DRAW: draw_stars(); } } } - -void draw_window() -{ - int x, y; - sc.get(); - - DefineAndDrawWindow(0,0,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF); - - draw_main_area(PANEL_X, PANEL_Y, PANEL_SIZE_X, PANEL_SIZE_Y); - - //draw grid - for (y=0; yPANEL_Y) && (y0) strcat(#path, "/"); // , + "/" + } + else + strcpy(#path, "/rd/1/"); + + Open_Dir(#path,ONLY_OPEN); + loop() switch(WaitEvent()) + { + case evMouse: + IF (del_active) break; + + id=GetProcessSlot(Form.ID); + IF (id<>GetActiveProcess()) break; // + + IF (rename_active) edit_box_mouse stdcall(#edit2); + + m.get(); + + /*if (m.pkm) && (m.x > 192) && (m.y > 57) can_show = 1; + if (!m.pkm) && (can_show) + { + SwitchToAnotherThread(); + CreateThread(#FileMenu,#stak2); + can_show = 0; + }*/ + + if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>40) && (m.y<57) + { + IF (m.lkm==1) DrawRectangle3D(onLeft(26,0),41,14,14,0xC7C7C7,0xFFFFFF); + WHILE (m.lkm==1) && (za_kadrom>0) + { + pause(10); + za_kadrom--; + List_ReDraw(); + m.get(); + } + DrawRectangle3D(onLeft(26,0),41,14,14,0xFFFFFF,0xC7C7C7); + } + + if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>onTop(22,0)+1) && (m.y0) + { + if (za_kadrom>0) za_kadrom--; + if (curbtn0) za_kadrom--; + if (curbtn0) curbtn--; + List_ReDraw(); + if (za_kadrom0) curbtn--; + List_ReDraw(); + } + // + if (!m.lkm) && (scroll_used) { scroll_used=NULL; TVScroll(); } + if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) && (m.ym.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; // + id=za_kadrom; // + j= scroll_size/2; + za_kadrom = m.y -j -57 * count; + za_kadrom /= onTop(22,57); + IF (f_visible+za_kadrom>count) za_kadrom=count-f_visible; + IF (id<>za_kadrom) List_ReDraw(); // + } + break; +//Button pressed----------------------------------------------------------------------------- + case evButton: + id=GetButtonID(); + IF (id==1) ExitProcess(); + + IF (del_active) + { + IF (id==301) || (id==302) Del_File(302-id); + break; + } + switch(id) + { + case 21: //Back + GoBack(); + break; + case 22: //Forward + if (HistoryPath(GO_FORWARD)) + { + za_kadrom=curbtn=NULL; // + Open_Dir(#path,WITH_REDRAW); + } + break; + case 23: //up! + Dir_Up(); + break; + case 24: //cut + key=24; + case 25: //copy + goto CTRLC_MARK; + case 26: //paste + Paste(); + break; + case 31...33: //sort + IF(sort_num==1) DrawFilledBar(onLeft(192,168)/2+210,42,6,10); + IF(sort_num==2) DrawFilledBar(onLeft(115,0),42,6,10); + IF(sort_num==3) DrawFilledBar(onLeft(44,0),42,6,10); + sort_num=id-30; + Open_Dir(#path,1); + break; + case 30: //about + SwitchToAnotherThread(); + CreateThread(#about_dialog,#stak1); + break; + case 77: + IF (show_actions==1) show_actions=0; ELSE show_actions=1; + DrawLeftPanel(); + break; + case 78: //rescan devices + Tip(56, "Devices", 78, "-"); + pause(10); + GetIni(1); + GetSystemDiscs(); + Open_Dir(#path,WITH_REDRAW); + DrawLeftPanel(); + break; + case 80: //rename + goto REN_MARK; + case 81: //Delete file + Del_Form(); + break; + case 82: //create folder + NEW_FOLDER_MARK: + strcpy(#temp, #path); + strcat(#temp, "New folder"); + CreateDir(#temp); + IF (!EAX){ + SelectFile("New folder"); + goto REN_MARK; + } + ELSE + { + Write_Error(EAX); + ShowMessage("Folder can not be created."); + } + break; + case 100...120: + DEVICE_MARK: + DrawRectangle3D(17,id-100*16+74,159,16, 0, 0); // + strcpy(#path, #disk_list[id-100].Item); + za_kadrom=curbtn=0; + Open_Dir(#path,1); + pause(5); + DrawRectangle3D(17,id-100*16+74,159,16, 0xFFFFFF, 0xFFFFFF); + break; + case 130...160: + tmp_disk_del_param[1]=disk_list[id-130].Item[4]; + RunProgram("/sys/tmpdisk", #tmp_disk_del_param); + pause(10); + GetSystemDiscs(); + Open_Dir(#path,WITH_REDRAW); + DrawLeftPanel(); + break; + default: + if (id<200) break; // + if (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} + else + { + OPEN_MARK: + if (!isdir) + { + GetIni(0); + } + else + { + if (!strcmp(#file_name,"..")) { Dir_Up(); break; } + OPEN_DEV: + strcpy(#path, #file_path); + IF (strcmp(#path+strlen(#path)-1,"/")<>0) strcat(#path,"/"); // , + "/" + za_kadrom=curbtn=0; + Open_Dir(#path,1); + } + } + } + break; +//Key pressed----------------------------------------------------------------------------- + case evKey: + key = GetKey(); + if (Form.status_window>2) break; + IF (del_active) + { + IF (key==013) Del_File(true); + IF (key==027) Del_File(false); + break; + } + IF (edit2.flags<>64) && (key<>13) && (key<>27) + { + EAX=key<<8; + edit_box_key stdcall (#edit2); + break; + } + switch (key) + { + case 209...217: + id=key-110; + IF (id-100>=disc_num) break; + GOTO DEVICE_MARK; + case 8: // + //GoBack(); + Dir_Up(); + break; + case 004: //Ctrl+D + strcpy(#temp, "\\S__"); + strcat(#temp, #file_path); + RunProgram("/sys/media/kiv", #temp); + break; + case 014: //Ctrl+N + IF (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD); + RunProgram("/sys/File Managers/Eolite", #path); + break; + case 024: //Ctrl+X + case 003: //Ctrl+C + CTRLC_MARK: + IF (isdir) break; // + strcpy(#copy_file, #file_path); // + IF (key==24) cut_active=1; ELSE cut_active=0; + break; + case 022: //Ctrl+V + Paste(); + break; + case 027: //Esc + IF (rename_active==1) ReName(false); + break; + case 013: //Enter + IF (rename_active==1) {ReName(true); break;} + GOTO OPEN_MARK; + break; + case 55: //F6 - new folder + goto NEW_FOLDER_MARK; + case 56: //IF (rename_active==1) break;//up + case 178: //up + FileList_ReDraw(-1); + break; + case 177: //down + FileList_ReDraw(1); + break; + case 180: //home + za_kadrom=0; + curbtn=0; + List_ReDraw(); + break; + case 181: //end + za_kadrom=count-f_visible; + curbtn=f_visible-1; + List_ReDraw(); + break; + case 183: //Page Down + FileList_ReDraw(f_visible-1); + break; + case 184: //Page Up + FileList_ReDraw(-f_visible+1); + break; + case 051: // F2 + REN_MARK: + if (!count) break; + DeleteButton(curbtn+201); // + edit2.flags=66; // + edit2.width=onLeft(24,217); + edit2.top=curbtn*BUTTON_HEIGHT+59; + edit2.size=edit2.pos=strlen(#file_name); + edit_box_draw stdcall (#edit2); + DrawBar(213,curbtn*BUTTON_HEIGHT+58,edit2.width+1,1,0xFFFFCC); // + rename_active=1; + break; + case 052: // F3 + IF (!isdir) RunProgram("/sys/tinypad", #file_path); + break; + case 053: // F4 + IF (!isdir) RunProgram("/sys/develop/heed", #file_path); + break; + case 054: //F5 + Open_Dir(#path,1); + break; + case 182: //delete file + Del_Form(); + break; + default: + for (i=curbtn+za_kadrom+1; i2) break; + min_win_h = disc_num*16+195; + if (Form.height < min_win_h) MoveSize(OLD,OLD,OLD,min_win_h); + if (Form.width<480) MoveSize(OLD,OLD,480,OLD); + draw_window(); + } +} + + +inline fastcall void draw_window() +{ + //toolbar buttons + PutPaletteImage(#toolbar,246,34,0,0,8,#toolbar_pal); + for (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,col_work); + for (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,col_work); + // + DrawBar(246,0,onLeft(246,60),12, col_work); // + DrawBar(246,29,onLeft(246,60),5,col_work); // + DrawRectangle3D(246,12,onLeft(66,246),16,col_border,col_border); // + DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,col_work); //about + PutPaletteImage(#goto_about,56,34,Form.width-65,0,8,#goto_about_pal); + // + DrawRectangle3D(1,40,Form.cwidth-3,onTop(46,0),col_border,col_border); // + DrawRectangle3D(0,39,Form.cwidth-1,onTop(44,0),col_palette[4],col_palette[4]); // + for (i=0; i<5; i++) DrawBar(0, 34+i, Form.cwidth, 1, col_palette[8-i]); + DrawLeftPanel(); + //SortButtons + DrawFlatButton(192,40,onLeft(192,168),16,31,col_work,"File"); + DrawFlatButton(onLeft(168,0),40,73,16,32,col_work,"Type"); + DrawFlatButton(onLeft(95,0),40,68,16,33,col_work,"Size"); + // + Open_Dir(#path,ONLY_SHOW); + // + DrawBar(onLeft(27,0),57,1,onTop(22,57),col_border); // + DrawFlatButton(onLeft(27,0),40,16,16,0,col_work,"\x18"); // + DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,col_work,"\x19");// + if (del_active) Del_Form(); + DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,col_work); //about +} + + +void KEdit() +{ + PathShow.area_size_x = Form.cwidth-306; + DrawBar(PathShow.start_x-3, PathShow.start_y-4, PathShow.area_size_x+2, 15, 0xFFFfff); + PathShow_prepare stdcall(#PathShow); + PathShow_draw stdcall(#PathShow); +} + + +void FileList_ReDraw(int curbtn_) +{ + if (curbtn_<=0) // + { + IF (za_kadrom==0) && (curbtn<=0) return; + IF (-curbtn_-1curbtn_) + { + Line_ReDraw(0xFFFFFF, curbtn); // + curbtn+=curbtn_; + Line_ReDraw(col_selec, curbtn); // + return; + } + else + { + IF(za_kadrom+curbtn+curbtn_>=count) + { + za_kadrom=count-f_visible; + curbtn=curbtn_-za_kadrom+curbtn; + } + ELSE + { + za_kadrom+=curbtn_+curbtn-f_visible+1; + curbtn=f_visible-1; + } + + IF (curbtn<0) || (curbtn>f_visible) + { + curbtn=f_visible-1; + } + List_ReDraw(); + } + } +} + + + + +void List_ReDraw() +{ + int paint_x=f_visible*BUTTON_HEIGHT+57; + IF (count-za_kadromf_visible-1) // + { za_kadrom=count-f_visible; curbtn=f_visible-1; } // + + FOR (j=0; jj) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(col_selec, curbtn); + DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); // + DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),col_work); // 1 + DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),col_work); // 2 + TVScroll(); +} + +void Line_ReDraw(dword color, filenum){ + dword text_col=0, name_len=0, y=filenum*BUTTON_HEIGHT+57; // Y + IF (rename_active==1) ReName(false); + DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); // + //, , + DrawBar(192,y,3,BUTTON_HEIGHT,color); + DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color); + if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color); + if (BUTTON_HEIGHT>15) DrawBar(195,y,16,BUTTON_HEIGHT-15,color); + + off=file_mas[filenum+za_kadrom]*304 + buf+72; + + if (!TestBit(ESDWORD[off-40], 4)) // ? + { + strcpy(#temp, off); + Put_icon(#temp+_strrchr(#temp,'.'), BUTTON_HEIGHT/2-7+y, color); + WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8])); //size + } + else + if (!strcmp("..",off)) + Put_icon("..", BUTTON_HEIGHT/2-7+y, color); + else + Put_icon("", BUTTON_HEIGHT/2-7+y, color); + + if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; // ? + if (color<>0xFFFfff) + { + isdir=TestBit(ESDWORD[off-40], 4); + strcpy(#file_name, off); + strcpy(#file_path, #path); + strcat(#file_path, #file_name); // + if (text_col==0xA6A6B7) text_col=0xFFFFFF; + } + FileShow.font_color = text_col; + FileShow.area_size_x = Form.width - 380; + FileShow.text_pointer = off; + FileShow.start_y = BUTTON_HEIGHT/2-3+y; + PathShow_prepare stdcall(#FileShow); + PathShow_draw stdcall(#FileShow); + + DrawBar(onLeft(168,0),y,1,BUTTON_HEIGHT,col_work); // 1 + DrawBar(onLeft(95,0),y,1,BUTTON_HEIGHT,col_work); // 2 +} + + +void Open_Dir(dword temp_, redraw){ + int errornum, max_count; + char path_[4096], + somelen=strlen(temp_)-1; + + if (redraw<>ONLY_SHOW) + { + strcpy(#path_, temp_); + if (somelen) path_[somelen]=NULL; + + if (buf) free(buf); + buf = malloc(32); + errornum=ReadDir(0, buf, #path_); + if (errornum<>0) // + { + HistoryPath(ADD_NEW_PATH); + GoBack(); + Write_Error(errornum); + return; + } + count = ESDWORD[buf+8]; + buf = realloc(buf, count * 304 + 32); + ReadDir(count, buf, #path_); + count=EBX; + max_count = sizeof(file_mas)/sizeof(dword)-1; + if (count>max_count) count=max_count; + + } + if (count<>-1) + { + KEdit(); + HistoryPath(ADD_NEW_PATH); + IF (!strcmp(".",buf+72)) {count--; memmov(buf,buf+304,count*304);} // "." + FOR (j=0;jONLY_SHOW) Sorting(); // + IF (redraw<>ONLY_OPEN) List_ReDraw(); + } + IF (count==-1) && (redraw<>ONLY_OPEN) {f_visible=count=0; List_ReDraw();} +} + + + +inline Sorting() +{ + dword k=0, l=1; + int i; + if (!strcmp(#path,"/")) // "/" + { + FOR(k=1;k=0; j--, off-=304;) // , + { + strttl(off+40); + if (TestBit(ESDWORD[off],4)) //? + { + file_mas[k]=j; + k++; + } + else + { + file_mas[count-l]=j; + l++; + } + } + // : , + Sort_by_Name(0,k-1); + IF (sort_num==1) Sort_by_Name(k,count-1); + IF (sort_num==2) Sort_by_Type(k,count-1); + IF (sort_num==3) Sort_by_Size(k,count-1); + // ".." , + IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]>0) + { + Write_Error(del_file_rez); + IF ( isdir) ShowMessage("Error. Folder isn't empty."); + IF (!isdir) ShowMessage("Error. Filesystem read-only."); + } + } + del_active=0; + DeleteButton(301); DeleteButton(302); // Yes/No + Open_Dir(#path,1); +} + +void Paste() +{ + char new_copy_path[4096]; + int copy_rezult; + + IF (!copy_file) return; //, + strcpy(#new_copy_path, #path); + strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/')); + if (!strcmp(#copy_file,#new_copy_path)) // + { + strcpy(#new_copy_path, #path); + strcat(#new_copy_path, "new_"); + strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/')); + } + copy_rezult=CopyFile(#copy_file,#new_copy_path); + IF (copy_rezult<>0) // + { + Write_Error(copy_rezult); + DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here."); + pause(150); + } + IF (cut_active) // + { + strcpy(#file_path, #copy_file); + Del_File(true); + copy_file=NULL; + cut_active=false; + } + SelectFile(#new_copy_path+strrchr(#new_copy_path,'/')); +} + + +void ReName(byte rename) +{ + int del_file_rez; + char edit_name[256]; + rename_active=0; + edit2.flags=64; + DefineButton(192,curbtn*BUTTON_HEIGHT+57,onLeft(27,192),BUTTON_HEIGHT,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF); + if (rename==true) + { + strcpy(#temp, #path); + strcpy(#edit_name, #file_name); // , , + strcat(#temp, #file_name); + if (strcmp(#file_path,#temp)<>0) && (file_name) + IF (isdir) + { + del_file_rez = DeleteFile(#file_path); + IF (del_file_rez<>0) + { + Write_Error(del_file_rez); + ShowMessage("Error. Folder isn't empty."); + return; + } + ELSE CreateDir(#temp); + Open_Dir(#path,1); + } + ELSE + { + CopyFile(#file_path,#temp); + Del_File(true); + } + SelectFile(#edit_name); + } + Line_ReDraw(col_selec,curbtn); +} + + +void SelectFile(dword that_file) +{ + za_kadrom=curbtn=0; // + Open_Dir(#path,ONLY_OPEN); + strttl(that_file); + for (i=count-1; i>=0; i--;) + if (!strcmp(file_mas[i]*304+buf+72,that_file)) break; + FileList_ReDraw(i); + List_ReDraw(); +} + + +void Dir_Up() +{ + char cur_folder[4096]; + i=strlen(#path)-1; + if (i==0) return; + path[i]=0x00; + i = strrchr(#path, '/'); + strcpy(#cur_folder, #path+i); + path[i]=0x00; + SelectFile(#cur_folder); +} + + +inline fastcall void GoBack() // , , +{ + char cur_folder[4096]; + strcpy(#cur_folder, GetCurrentFolder()); + if (HistoryPath(GO_BACK)) SelectFile(#cur_folder); +} + +stop: + +char stak1[100]; +char stak2[100]; \ No newline at end of file diff --git a/programs/cmm/eolite/compile.bat b/programs/cmm/eolite/compile.bat new file mode 100644 index 0000000000..6cfad3bd3a --- /dev/null +++ b/programs/cmm/eolite/compile.bat @@ -0,0 +1,5 @@ +@del Eolite +..\C--\c-- Eolite.c /lst +@rename Eolite.com Eolite +@del warning.txt +@pause \ No newline at end of file diff --git a/programs/cmm/eolite/imgs/actions.raw b/programs/cmm/eolite/imgs/actions.raw new file mode 100644 index 0000000000..7b958bb240 Binary files /dev/null and b/programs/cmm/eolite/imgs/actions.raw differ diff --git a/programs/cmm/eolite/imgs/blue_hl8.raw b/programs/cmm/eolite/imgs/blue_hl8.raw new file mode 100644 index 0000000000..c0f0d8aaba Binary files /dev/null and b/programs/cmm/eolite/imgs/blue_hl8.raw differ diff --git a/programs/cmm/eolite/imgs/dev.raw b/programs/cmm/eolite/imgs/dev.raw new file mode 100644 index 0000000000..05192415d0 Binary files /dev/null and b/programs/cmm/eolite/imgs/dev.raw differ diff --git a/programs/cmm/eolite/imgs/goto_about.raw b/programs/cmm/eolite/imgs/goto_about.raw new file mode 100644 index 0000000000..5a6b23e435 Binary files /dev/null and b/programs/cmm/eolite/imgs/goto_about.raw differ diff --git a/programs/cmm/eolite/imgs/icons.raw b/programs/cmm/eolite/imgs/icons.raw new file mode 100644 index 0000000000..e17c8710bb Binary files /dev/null and b/programs/cmm/eolite/imgs/icons.raw differ diff --git a/programs/cmm/eolite/imgs/icons.txt b/programs/cmm/eolite/imgs/icons.txt new file mode 100644 index 0000000000..bc007e3e67 --- /dev/null +++ b/programs/cmm/eolite/imgs/icons.txt @@ -0,0 +1,7 @@ +///////////////////////// +// // +///////////////////////// + +dword ficons_pal[] = {0x00FFFFFF,0x00606078,0x00D0D0D8,0x008888A8,0x00F8F8F8,0x009098B0,0x00E0E0E0,0x00A0A0B8,0x00F0F0F8,0x00A8A8C0,0x007880A0,0x00E8E8F0,0x00C8C8D0,0x00C8C8C8,0x00F0F8FF,0x00E0E0E8,0x00D8D8E0,0x00F8F8FF,0x00C8C8D8,0x00FFB898,0x008080A0,0x00C0C0C8,0x00FFA078,0x00586080,0x005878A8,0x006880A0,0x00D0D8E0,0x0080A0C0,0x00586078,0x00E0E8F0,0x008898B8,0x00B8C0D8,0x00D8E8F0,0x00D8F0FF,0x007088A8,0x00A8B0C0,0x007890B0,0x00C8E8F8,0x00F8F8F0,0x00E0E8E8,0x00D0D8D8,0x00C0C8E0,0x0080A0E0,0x007098C8,0x006090C8,0x005888C0,0x00A8B0C8,0x00A87868,0x00604840,0x00786038,0x00705028,0x00685048,0x00FFF8B8,0x00B89848,0x00F8E070,0x00C0A850,0x00F8D858,0x00A09880,0x00F8C050,0x00F0B848,0x00E0A850,0x00986860,0x00583830,0x00707898,0x0068C0D8,0x00B0E0F8,0x0070B8E0,0x00F8FFFF,0x00A0C8F0,0x00000000,0x00F84050,0x0048D040,0x000078B8,0x00F8C048,0x00A06858,0x00FFE898,0x00989070,0x00F8B840,0x00FFF8F0,0x00C0B8A8,0x00D8B040,0x00788088,0x00E8F0F0,0x00C08830,0x00584840,0x00A85800,0x00FFE8A8,0x00A86818,0x00F0F0D8,0x00F8C830,0x00F0B828,0x00381010,0x00D8A028,0x00B0C8E0,0x0078A0D0,0x0098B8E8,0x0088A8D0,0x0098B8E0,0x003070B8,0x00A0C8E8,0x005090C8,0x004888C0,0x003078C0,0x00B8D0E8,0x002068A8,0x0088B0E0,0x0080B0D8,0x0090B8E0,0x002068B0,0x00B8D0F0,0x002060A8,0x0070A0C8,0x002868B0,0x002870B0,0x002868A8,0x00687088,0x00E89090,0x00D09898,0x00909088,0x00C88080,0x00B87820,0x00B86818,0x00E8C068,0x00885810,0x00D09850,0x00B07028,0x00F0D8B0,0x00A87028,0x00B05800,0x00885028,0x00C89048,0x00C89038,0x00985000,0x00E8D8B0,0x00C89810,0x00FFF8D8,0x00FFFFC8,0x00F8E8A8,0x00F8E098,0x00FFE8C0,0x00F8D888,0x00F8D880,0x00F0D078,0x00D8A020,0x0088E068,0x00209018,0x00A87800,0x00188000,0x00A0D868,0x00309018,0x00C8F8A0,0x00289018,0x00608818,0x0050A830,0x0030A028,0x00A8F068,0x00808000,0x0088C840,0x0070C848,0x00D8C070,0x0080C840,0x00C0B850,0x00F8E0A0,0x00F8E090,0x00D8E0F8,0x0098D0D0,0x0038A878,0x0058A890,0x00309068,0x00308880,0x00105870,0x002890B8,0x00186880,0x00105058,0x0048A8C8,0x001098D8,0x0078B8E0,0x002098C8,0x002898C8,0x0058C8FF,0x002088B8,0x0030A0D8,0x00C84048,0x002078B0,0x0030A8D8,0x00808080,0x00407888,0x0040A060,0x0080B820,0x00A02828,0x00F86068,0x00E02040,0x00E01828,0x00A8A8A8,0x00B8B8C0,0x00787878,0x00407828,0x00406040,0x007898C8,0x00E85878,0x00E04870,0x000098E0,0x0008A8F8,0x00D85868,0x00E86080,0x00E88098,0x00E888A0,0x00888888,0x00E8E8E8,0x00A0A0A0,0x00F0E0B8,0x00FFD850,0x00B8B8C8,0x00606080,0x00FFC818,0x00505870,0x00D8D0D8,0x0098C8F0,0x00606880,0x00405068,0x00303840,0x00FF0000,0x00F8C8C8}; + +unsigned char ficons[6240] = FROM "imgs\icons.raw"; \ No newline at end of file diff --git a/programs/cmm/eolite/imgs/left_p.txt b/programs/cmm/eolite/imgs/left_p.txt new file mode 100644 index 0000000000..ddd99f3ff6 --- /dev/null +++ b/programs/cmm/eolite/imgs/left_p.txt @@ -0,0 +1,59 @@ +unsigned char blue_hl[190*268]= FROM "imgs\blue_hl8.raw"; + +dword blue_hl_pal[]= {0x0001699C,0x0000699C,0x00026A9C,0x0002699C, +0x00036A9C,0x00046B9C,0x00046A9C,0x00056B9D,0x00046B9D,0x00066C9D, +0x00066C9E,0x00056C9D,0x00076D9E,0x00086E9F,0x00066D9E,0x00086D9E, +0x00096E9F,0x00076C9E,0x000A6FA0,0x000B6FA0,0x000A6E9F,0x000B70A1, +0x00096F9F,0x000A6F9F,0x000C70A1,0x000B70A0,0x000D71A1,0x000C71A1, +0x000D71A2,0x000E71A2,0x00086D9F,0x000F72A2,0x000E72A2,0x001072A2, +0x001172A2,0x000C70A0,0x001273A2,0x001373A2,0x001374A2,0x001474A3, +0x001475A3,0x001474A2,0x001272A2,0x001575A3,0x001676A4,0x001576A3, +0x001576A4,0x001777A4,0x001777A5,0x001878A5,0x001877A5,0x001776A4, +0x001675A3,0x001978A6,0x001978A5,0x001A78A6,0x001B78A6,0x001676A3, +0x000D70A1,0x001A77A6,0x001977A5,0x001977A6,0x001876A4,0x001876A5, +0x001776A5,0x001675A4,0x001775A4,0x001574A3,0x001574A2,0x001473A2, +0x000E71A1,0x001775A3,0x001674A3,0x001A79A6,0x001B79A7,0x001B79A6, +0x001A78A5,0x001C7AA7,0x001C79A7,0x001A77A5,0x001D7AA8,0x001D7AA7, +0x001173A2,0x001E7BA8,0x001D7BA8,0x001977A4,0x001F7CA8,0x001F7BA8, +0x001E7AA8,0x001C79A6,0x001575A4,0x00207CA8,0x001E7AA7,0x001D79A7, +0x001976A4,0x00217CA8,0x00227CA8,0x00207BA8,0x001976A5,0x001473A3,0}; + +unsigned char devices[14*78]= FROM "imgs\dev.raw"; + +unsigned char factions[16*44] = FROM "imgs\actions.raw"; + +unsigned char logo[7225] = FROM "imgs\logo8b.raw"; + +dword logo_pal[]= {0x8096C0,0x7D93BC,0x7D76B0,0x8094BE,0x7C83B3,0x7D0C82, +0x7B73AC,0x7B90B7,0x7D7AB0,0x8C1B8C,0x74378B,0x7488AE,0x7C8EB8,0x846BAB, +0xAF63B0,0x821C89,0x697A9C,0x768AB1,0x8B66A9,0xBF80BF,0x993399,0x6B5C90, +0x975EA9,0xC48BC4,0xA955A9,0x72438B,0x7083A7,0x798DB5,0xA45CAA,0xC993C9, +0xB164B1,0x793A8C,0x8185B5,0xB46CB5,0xC791C7,0xB873B8,0x84328F,0x7D54A0, +0x840B84,0x82238B,0x7C539D,0x8A4C9F,0x8C3B95,0x637393,0x824399,0x9D409D, +0x942B94,0x83288E,0x7B599E,0x833C94,0xA043A0,0x8B4194,0xA264AA,0xAC5BAC, +0x9C3B9C,0x7982AE,0x861588,0xBC7BBC,0x7E4C90,0xAC6AB0,0xC083C0,0x7F4199, +0xA650A6,0x68628B,0x7D73A6,0xB670B7,0x95449A,0x7D6BAA,0x953195,0x8B5C9B, +0x60708E,0x8E519F,0x835598,0x7E65A9,0x7E2D91,0x7D5AA2,0x64648A,0xAD61AE, +0x8B3594,0x8D218E,0x796BA5,0x902390,0x735B90,0x7384AA,0x756294,0xA752A8, +0x76669F,0x8C2A91,0x965DA1,0x5D6C89,0x6C7EA2,0x8175AF,0x7474A5,0xB773B8, +0x6E80A4,0x9254A2,0x814D9B,0x6B6B98,0x832F91,0x9F60A7,0x8D419A,0x6B6992, +0x933A9A,0x8089B6,0x9C52A3,0x696492,0xA44AA4,0x606A8B,0x666690,0x75689F, +0x79498E,0x7D3492,0x8C2791,0x795390,0x71709C,0x964E9D,0x7E1E89,0x7B2A8B, +0x95539E,0x9C4A9B,0x645B88,0x7C4C9C,0x8E5FA8,0x891489,0x7D238B,0x824D95, +0x963398,0x6B5A8A,0x774B94,0x810481,0x7A7CAE,0x7C2386,0x814494,0x753B89, +0x861186,0x6F3C85,0x7C3D94,0x782D86,0x5C6B87,0x7C63A5,0x685187,0x6B5089, +0xA4499B,0xB9656E,0xC77647,0xD08131,0xD1842C,0x8060A3,0xAB528D,0xCA7937, +0xDE9408,0xE19808,0xE3A01C,0xE6AB36,0xE4A426,0xE29D14,0x655785,0x745A9A, +0xBC6655,0xE6AE42,0x705593,0x717AA4,0x843291,0x7B308E,0xA34285,0x694B86, +0x7F0280,0x7667A0,0x743484,0x615A85,0x7478A8,0x676892,0x703C86,0x9A3290, +0x862186,0x6E5491,0x6F3E89,0xAD5066,0x764F98,0xC06947,0xCE8031,0x6F75A1, +0xE3DEE0,0xE1DCDE,0xDAD5D7,0xC0ABBD,0x7F027F,0xBF6948,0x914490,0xCAC5C8, +0xB38CB1,0xAA4964,0xE8B247,0xA887A6,0xD4CDD1,0xB089AE,0x8E1C84,0xE09F26, +0xEAB855,0x8B328B,0xB7A9B5,0xD1CBCE,0xA677A5,0x8C2C8B,0x942577,0xC6BAC4, +0xC1BABE,0xB09BAD,0x966695,0x883387,0x978495,0x987997,0x8D458D,0x985A97, +0xB88AB6,0xAD6EAB,0x9D5C9C,0xCC8048,0x90468F,0xBAB5B7,0x851B85,0xA86AA6, +0xC09EBE,0x943A94,0x882387,0x9E519D,0xBB96B9,0x8D3B8C,0x924C91,0x9A327D, +0xC77C59,0xB0AAAD,0x872887,0xA599A3,0xB682B4,0xA0869E,0x935292,0x922488, +0xB1576D,0xD49256,0x8F558E,0xAAA5A7,0xC39BC1,0xC6A8C4,0xA763A5,0xB47CB3, +0x925A91,0x90578F,0xA09B9D,0xA06F9F,0x9E949C,0xB077AE,0xA66EA5,0xA75FA5, +0xB98EB8}; \ No newline at end of file diff --git a/programs/cmm/eolite/imgs/logo8b.raw b/programs/cmm/eolite/imgs/logo8b.raw new file mode 100644 index 0000000000..00b6c9667a Binary files /dev/null and b/programs/cmm/eolite/imgs/logo8b.raw differ diff --git a/programs/cmm/eolite/imgs/png/Eolite-Sun.png b/programs/cmm/eolite/imgs/png/Eolite-Sun.png new file mode 100644 index 0000000000..395ef93abc Binary files /dev/null and b/programs/cmm/eolite/imgs/png/Eolite-Sun.png differ diff --git a/programs/cmm/eolite/imgs/png/blue_hl81.png b/programs/cmm/eolite/imgs/png/blue_hl81.png new file mode 100644 index 0000000000..e1751b7cbb Binary files /dev/null and b/programs/cmm/eolite/imgs/png/blue_hl81.png differ diff --git a/programs/cmm/eolite/imgs/png/dev.png b/programs/cmm/eolite/imgs/png/dev.png new file mode 100644 index 0000000000..6553f4c80b Binary files /dev/null and b/programs/cmm/eolite/imgs/png/dev.png differ diff --git a/programs/cmm/eolite/imgs/png/file_actions.png b/programs/cmm/eolite/imgs/png/file_actions.png new file mode 100644 index 0000000000..d3c20f2421 Binary files /dev/null and b/programs/cmm/eolite/imgs/png/file_actions.png differ diff --git a/programs/cmm/eolite/imgs/png/icons.png b/programs/cmm/eolite/imgs/png/icons.png new file mode 100644 index 0000000000..b0d42b1d91 Binary files /dev/null and b/programs/cmm/eolite/imgs/png/icons.png differ diff --git a/programs/cmm/eolite/imgs/png/rb.png b/programs/cmm/eolite/imgs/png/rb.png new file mode 100644 index 0000000000..1619cd6db3 Binary files /dev/null and b/programs/cmm/eolite/imgs/png/rb.png differ diff --git a/programs/cmm/eolite/imgs/png/toolbar.png b/programs/cmm/eolite/imgs/png/toolbar.png new file mode 100644 index 0000000000..8352ad2173 Binary files /dev/null and b/programs/cmm/eolite/imgs/png/toolbar.png differ diff --git a/programs/cmm/eolite/imgs/toolbar.txt b/programs/cmm/eolite/imgs/toolbar.txt new file mode 100644 index 0000000000..c93e11a6ad --- /dev/null +++ b/programs/cmm/eolite/imgs/toolbar.txt @@ -0,0 +1,537 @@ +// + +// , , , , , . + + +dword toolbar_pal [] = {0xE4DFE0,0xDFE0E6,0x7EA4B6,0xD9DBD8,0x78A446,0x6E6C6E,0x898989,0xBDD0D9,0xFBFCFC,0xFDFDFD,0xCECEC4,0xF9FFF9,0xFFFFFF,0xCCD1D7,0xD2D2D3,0xDED8DA,0x78684B,0x73561E,0x83611E,0xF6F8F5,0x5C90A3,0xC3C9CB,0x8E9A9F,0x8E9CA0,0x909EA3,0x94A2A7,0x96A4A9,0x98A6AB,0x99A9AD,0x9CABB0,0x9CACB0,0x93A1A6,0x688935,0x9B9B89,0x9CA489,0x9CA494,0xA7A997,0xA3AB9B,0xABB49C,0x9AB4C8,0xEEEBEE,0x777577,0xBB9447,0xF8EEC1,0xEEF1F2,0xF0F3E7,0xF8F8F0,0x8F8C8D,0xE5E5E5,0x8A888A,0xF8F7D7,0xF8EBB8,0xE6EBEE,0xE6ECEF,0x888587,0xEDEDED,0xADABAD,0x9F9D9F,0xF7F2CD,0x5A5A5A,0xF1DDB5,0x8098A2,0xDCE4E7,0xE0E7EA,0x7F97A1,0x93A381,0xEBEFE0,0xAAA7A8,0x878686,0xF0DBAE,0x74929D,0xC4D3D8,0xD1DBE0,0xD2DDE2,0xD3DFE4,0xD1DBDE,0xD0D5D9,0x879973,0xE2E7D3,0xE6F0E6,0xD0CFD0,0xEFD7A6,0x78878F,0xCAD7DC,0xCBD8DE,0xCCD8DE,0xC2D2D8,0x9AB7C3,0x76868E,0xC8CED2,0xCAD0D3,0x819C79,0xDBE3C9,0x69892D,0xF8E5A9,0xEED198,0x3A768D,0xBBCCD2,0x91B0BD,0x34718A,0xCCD7B5,0xF8E09B,0x3B788F,0x96B6C4,0x97B8C6,0x98B9C6,0x97BAC8,0x8AACBA,0xB6CDD6,0x9CB6C0,0x96B6C2,0xB6C694,0xB4C49C,0xECCB87,0x89AEBC,0x89B0BE,0x8BB1C0,0x6C9BAE,0x718935,0xABBC89,0xACC48B,0xD7DFC5,0xF9D993,0x286580,0x7BA5B5,0x7EA8B9,0x6295A9,0x6192A5,0x26637D,0x578124,0xA3B47A,0xA3BE7A,0xD8E4CB,0xF8D586,0xE9C375,0x1C556D,0x6F9CAE,0x709EB1,0xB4C8D0,0x447992,0x476813,0x91A868,0x9AB470,0x9F9F9F,0xF8D17C,0x846320,0x568FA4,0x5690A7,0x306E85,0x95B3BE,0x2C7691,0x568DA3,0x88A350,0xEBEBEB,0xF7CE72,0xE6BD69,0x1C5670,0x458295,0x458398,0x4987A0,0x2A647B,0x427B91,0x3A6E85,0x457114,0x78953E,0x729B42,0xE3DEE0,0x7C8A9D,0x627B97,0x5A7796,0xC4C4C4,0x999999,0xF7C965,0xE4B558,0x417C8F,0x286379,0x327087,0x2C637D,0xC5D7B5,0x88BBEE,0x77AADD,0x2C7290,0x266882,0x2C697E,0x1E5D79,0x1C5A75,0x618425,0x648622,0x5380AE,0x406994,0x3E6791,0x6699CC,0x2D7A96,0x2D7994,0x276C85,0x256780,0x25647D,0x2A6C89,0x608224,0x5F8124,0x748397,0x84B7EA,0x507EAC,0x9097A2,0x2A6F8C,0x307D9B,0x29738F,0x266B84,0x2E7695,0x2D7492,0x2F7D98,0x546D8D,0x81B4E7,0x3F6892,0xF6C45C,0x286883,0x7CAFE2,0x456388,0x296C88,0x30809C,0x2F7998,0x608A24,0x688A24,0xF0F0E6,0x286985,0x6B8E24,0x78ABDE,0x70A1D5,0x5F92C5,0x1B546C,0x6C9ED1,0xDFB154,0x21566E,0x46701C,0xBE9134,0xBAC1C6,0x225870,0x205F7A,0x20617E,0x225770,0xC5C5BD,0x50771C,0x507114,0x4F7A13,0x57791C,0x58793D}; + +unsigned char toolbar[8364] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, + 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x0A, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0B, 0x0A, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x10, 0x11, + 0x12, 0x12, 0x06, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x06, 0x12, 0x12, 0x11, + 0x10, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1D, 0x1C, 0x1C, 0x1B, + 0x1A, 0x1F, 0x18, 0x17, 0x16, 0x15, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x08, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, + 0x1E, 0x1D, 0x1C, 0x1C, 0x1B, 0x1A, 0x1F, 0x18, 0x17, 0x16, 0x15, 0x08, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0B, 0x0A, 0x21, 0x22, 0x23, 0x24, 0x24, 0x25, 0x25, + 0x24, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x24, 0x25, 0x25, 0x24, 0x24, 0x23, 0x22, + 0x21, 0x0A, 0x0B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x29, + 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x2A, 0x2B, 0x2B, 0x06, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, + 0x13, 0x13, 0x13, 0x06, 0x2B, 0x2B, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x09, 0x16, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x16, 0x09, 0x14, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x16, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, + 0x16, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x21, 0x2D, + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2D, 0x21, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x2F, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2B, 0x32, 0x06, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x06, 0x32, 0x33, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x17, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, + 0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, + 0x35, 0x17, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x17, 0x35, 0x35, + 0x35, 0x35, 0x34, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, + 0x35, 0x35, 0x35, 0x34, 0x34, 0x34, 0x17, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x0C, 0x22, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x22, 0x0C, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x36, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x39, 0x31, 0x29, 0x05, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, + 0x2B, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, + 0x3B, 0x3A, 0x3C, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x3D, 0x3E, + 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x40, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x14, 0x09, 0x40, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, + 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3D, 0x09, 0x14, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x41, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x04, 0x04, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x41, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x2F, + 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, + 0x44, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E, 0x05, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, + 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x45, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x09, 0x46, 0x47, 0x48, 0x49, 0x49, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, + 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x49, 0x49, 0x48, 0x4B, 0x47, 0x46, 0x09, 0x14, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x46, 0x4C, 0x4B, 0x48, 0x49, 0x49, 0x4A, + 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x49, 0x49, + 0x48, 0x4C, 0x46, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, + 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x04, 0x4F, 0x4F, 0x04, 0x4E, + 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4D, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x29, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x2B, 0x33, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x51, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x52, 0x47, 0x47, 0x47, 0x53, 0x54, + 0x55, 0x54, 0x54, 0x56, 0x57, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x55, 0x55, 0x54, 0x53, 0x53, + 0x47, 0x47, 0x47, 0x58, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x58, + 0x59, 0x5A, 0x53, 0x53, 0x53, 0x54, 0x55, 0x55, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x57, 0x56, + 0x54, 0x54, 0x55, 0x54, 0x53, 0x5A, 0x5A, 0x59, 0x52, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x5B, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, + 0x5D, 0x4F, 0x0C, 0x0C, 0x4F, 0x5D, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5B, + 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x28, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, + 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, + 0x5E, 0x5E, 0x5E, 0x5E, 0x5F, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, + 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x62, 0x63, 0x63, 0x61, 0x61, 0x61, 0x61, 0x61, + 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x60, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x09, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, + 0x61, 0x61, 0x61, 0x61, 0x63, 0x63, 0x62, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x60, 0x09, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x20, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x5D, 0x4F, 0x0C, 0x0C, 0x0C, 0x0C, 0x4F, 0x5D, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x50, + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, + 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x39, 0x31, 0x29, 0x05, + 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E, + 0x05, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x65, 0x5F, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x66, 0x67, 0x68, 0x68, 0x69, 0x6A, 0x6A, 0x6B, 0x63, 0x6C, + 0x63, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x67, 0x6E, 0x60, + 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x60, 0x6E, 0x67, 0x6D, 0x6D, + 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x63, 0x6C, 0x63, 0x6B, 0x6A, 0x6A, + 0x69, 0x68, 0x68, 0x67, 0x66, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x0C, 0x20, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x5D, 0x4F, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x4F, 0x5D, 0x70, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x20, 0x0C, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x29, 0x28, 0x0E, 0x05, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, + 0x71, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x66, 0x72, 0x73, 0x74, + 0x74, 0x74, 0x75, 0x63, 0x6C, 0x09, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, + 0x63, 0x63, 0x6D, 0x72, 0x72, 0x60, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x09, 0x60, 0x72, 0x72, 0x6D, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, + 0x63, 0x09, 0x6C, 0x63, 0x75, 0x74, 0x74, 0x74, 0x73, 0x72, 0x66, 0x09, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x76, 0x77, 0x77, 0x78, 0x78, 0x78, 0x78, 0x5D, + 0x79, 0x79, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x79, 0x79, 0x5D, 0x78, 0x78, 0x78, 0x78, 0x77, + 0x77, 0x76, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, + 0x28, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x0E, 0x05, 0x7A, + 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x71, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x09, 0x7B, 0x7C, 0x02, 0x7D, 0x7D, 0x7E, 0x63, 0x6C, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x49, 0x63, 0x7F, 0x7C, 0x7C, 0x80, 0x09, 0x14, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x80, 0x7C, 0x7C, 0x7F, 0x63, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x6C, 0x63, 0x7E, 0x7D, 0x7D, 0x02, 0x7C, + 0x7B, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x81, 0x82, + 0x82, 0x83, 0x83, 0x83, 0x83, 0x04, 0x5D, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x5D, + 0x04, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x81, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x05, 0x37, 0x50, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, + 0x39, 0x31, 0x29, 0x05, 0x05, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x86, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x88, 0x89, 0x89, 0x14, 0x63, 0x6C, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x8A, 0x63, 0x8B, 0x88, + 0x88, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x88, 0x88, + 0x8B, 0x63, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x6C, 0x63, 0x14, 0x89, 0x89, 0x88, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x0C, 0x8C, 0x8D, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x5D, 0x84, 0x0C, + 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8D, 0x8C, 0x0C, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, + 0x50, 0x37, 0x8F, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x90, 0x90, 0x90, 0x90, 0x90, + 0x90, 0x90, 0x86, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x7E, + 0x92, 0x93, 0x94, 0x95, 0x49, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x8A, 0x63, 0x96, 0x97, 0x7F, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x14, 0x09, 0x87, 0x7F, 0x97, 0x96, 0x63, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x49, 0x95, 0x94, 0x93, 0x92, 0x7E, 0x87, 0x09, 0x14, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0x8D, 0x98, 0x98, 0x98, 0x98, + 0x98, 0x98, 0x98, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x98, 0x98, 0x98, 0x98, 0x98, + 0x98, 0x98, 0x8D, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x99, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38, + 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, + 0x05, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9B, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x09, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0x8A, 0x34, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x8A, 0xA2, 0x96, 0x8B, 0x8B, 0x87, 0x09, 0x14, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x8B, 0x8B, 0x96, 0xA2, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x34, 0x8A, 0xA1, 0xA0, 0x9F, + 0x9E, 0x9D, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, + 0xA3, 0xA4, 0xA4, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84, + 0x5D, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xA7, 0xA8, 0xA9, 0xA9, 0xA9, 0xA9, 0xAA, 0xAB, 0x37, 0x0E, + 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA7, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAD, 0x91, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0xAE, 0xAE, 0xAE, 0x7B, 0xAF, + 0xB0, 0x8A, 0x34, 0x09, 0x49, 0x49, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0xB1, + 0x96, 0x8B, 0x96, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, + 0x96, 0x8B, 0x96, 0xB1, 0x09, 0x49, 0x49, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x09, + 0x34, 0x8A, 0xB0, 0xAF, 0x7B, 0xAE, 0xAE, 0xAE, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x81, + 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0xA3, + 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xA9, 0xB3, 0xB3, 0xB3, 0xB3, + 0xB3, 0xB3, 0xB4, 0x05, 0x05, 0xB4, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xA9, 0x00, 0xA6, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, + 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0xAC, 0xAC, 0x9A, + 0x85, 0x85, 0x7A, 0x85, 0x9B, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, + 0x9C, 0x63, 0x96, 0x96, 0xB5, 0xB6, 0xA0, 0xB7, 0x8A, 0x49, 0xB8, 0xB8, 0xB9, 0xB9, 0xB9, 0xB9, + 0xB9, 0xB8, 0xB9, 0xB9, 0xB9, 0xB9, 0x96, 0x96, 0x96, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x96, 0x96, 0x96, 0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB9, 0xB9, + 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0x49, 0x8A, 0xB7, 0xA0, 0xB6, 0xB5, 0x96, 0x96, 0x63, 0x9C, 0x09, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0xBA, 0xBA, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBB, 0xBB, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA9, 0xB3, 0xBC, 0xBD, 0xBE, 0xBC, 0xBF, 0xB3, 0xBE, 0x0E, 0x0E, 0xBE, 0xB3, 0xBF, 0xBC, 0xBE, + 0xBD, 0xBC, 0xB3, 0xA9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, + 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x28, 0x0E, 0x05, 0x85, 0x90, 0x7A, 0x90, 0x7A, 0x7A, 0x90, 0xAD, 0x91, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0x63, 0x96, 0xC0, 0xC1, 0x96, 0xC2, 0x80, 0xB7, 0x8A, + 0xB8, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xC3, 0xC3, 0xC3, 0xC4, 0xC5, 0x96, 0x96, 0x96, 0x87, + 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x96, 0x96, 0x96, 0xC5, + 0xC4, 0xC3, 0xC3, 0xC3, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0x8A, 0xB7, 0x80, 0xC2, 0xC1, + 0xC1, 0xC0, 0x96, 0x63, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x0C, 0xA3, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, + 0x0C, 0xB2, 0xC7, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xA3, 0x0C, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xC9, 0xCA, 0xCB, 0x00, 0x00, 0xCB, 0xBC, 0xB3, 0xBE, 0x00, + 0x00, 0xBE, 0xB3, 0xBC, 0xCB, 0x00, 0x00, 0xCB, 0xCA, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x7A, 0x7A, 0x9A, 0x85, 0x7A, 0x7A, 0xAC, + 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0xCC, 0x96, 0xCD, + 0xCD, 0xC1, 0x96, 0xCE, 0xC3, 0xA0, 0xCF, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, + 0xC1, 0xCD, 0xD0, 0xD1, 0xCC, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x09, 0x87, 0xCC, 0xD1, 0xD0, 0xCD, 0xC1, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, + 0xCF, 0xA0, 0xC3, 0xCE, 0xC1, 0xD2, 0xD2, 0xD2, 0x96, 0xCC, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x81, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, + 0xBA, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, + 0xC7, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xD4, 0xD5, 0x00, 0x00, + 0x00, 0x00, 0xBE, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xD4, + 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, + 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x7A, + 0x7A, 0x90, 0x7A, 0x7A, 0x85, 0xD6, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x09, 0x9C, 0xCC, 0xD1, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0x96, 0xD7, 0xC5, 0xCD, 0xCD, 0xCD, + 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xCC, 0x87, 0x09, 0x14, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xCC, 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xCD, 0xCD, + 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xC5, 0xD7, 0x96, 0xC1, 0xCD, 0xCD, 0xCD, 0xCD, 0xD1, 0xCC, + 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x81, + 0xBA, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0x81, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xBE, 0xD8, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xD5, + 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x0E, 0x05, 0x85, 0x7A, 0x7A, 0x7A, 0x7A, 0x85, 0xAC, 0xAD, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xDA, 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xD2, + 0xD2, 0x96, 0x96, 0xD2, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD2, 0xD2, 0xDC, 0xD0, 0xD1, + 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xDA, 0xD1, + 0xD0, 0xDC, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD2, 0x96, 0x96, 0xC1, 0xD2, + 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xBA, 0xDD, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 0x81, 0xB2, 0xDF, + 0xDF, 0xDF, 0xDF, 0xB2, 0x81, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xB3, + 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xD9, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x7A, 0x85, 0xAC, 0xAC, 0x7A, + 0x7A, 0x90, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, + 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xDC, 0xDC, + 0xDC, 0xDC, 0xDC, 0xDC, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD0, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xD2, 0xD2, 0xD2, + 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xBA, 0xDD, 0xDE, 0xE1, + 0xE1, 0xE1, 0xE1, 0x81, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0x81, 0xE1, 0xE1, 0xE1, 0xE1, 0xDD, + 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xE2, 0xBC, + 0xCB, 0x00, 0x00, 0xCB, 0xCA, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xC9, 0xCA, 0xCB, 0x00, 0x00, 0xCB, + 0xBC, 0xE2, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x0E, + 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, + 0x05, 0x85, 0x85, 0xAC, 0xAC, 0x7A, 0x7A, 0x85, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD1, 0xD1, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, + 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD1, 0xE0, 0x87, 0x09, 0x14, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD0, 0xD0, 0xD0, 0xD0, + 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD1, 0xD1, + 0xD1, 0xE0, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, + 0x8C, 0xC7, 0xBA, 0xBB, 0xBB, 0xDE, 0xE1, 0xE1, 0xE1, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, + 0xA3, 0xE1, 0xE1, 0xE1, 0xDE, 0xDD, 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xBE, 0xE3, 0xE4, 0xBC, 0xBD, 0xBD, 0xBC, 0xB3, 0xBE, 0x00, 0x00, 0x00, 0x00, + 0xBE, 0xB3, 0xBC, 0xBD, 0xBD, 0xBC, 0xE4, 0xE3, 0xBE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x0E, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0xAC, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x9A, 0xAD, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xE0, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xE0, 0xE0, 0xE5, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0xE5, + 0xE0, 0xE0, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xE0, 0xE0, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xC7, 0xBA, 0xBB, 0xBB, 0xDE, 0xDE, 0xDE, 0x5D, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x5D, 0xDE, 0xDE, 0xDE, 0xBB, 0xBB, 0xBB, 0xBA, 0xC7, 0x8C, + 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBE, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, + 0xBE, 0x00, 0xA6, 0x00, 0x00, 0xA6, 0x00, 0xBE, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0xBE, 0xC8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0xD6, 0xAC, 0x90, + 0x85, 0x85, 0x9A, 0xD6, 0xE7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, + 0xE8, 0x87, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x87, 0xE8, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x09, 0xE8, 0x87, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x87, 0xE8, 0x09, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xE9, 0x8C, 0xC7, 0xC7, + 0xBA, 0xBA, 0xBB, 0xBB, 0xDE, 0xDE, 0xDE, 0x5D, 0x5D, 0x5D, 0x5D, 0xDE, 0xDE, 0xDE, 0xDE, 0xBB, + 0xBB, 0xBA, 0xC7, 0xC7, 0x8C, 0xE9, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC8, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xBE, 0xBE, + 0xBE, 0xBE, 0xBE, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x38, 0x38, 0x38, 0x38, + 0x28, 0x0E, 0x05, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xE7, 0xEA, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0xEB, 0xEC, 0x9C, 0xB9, 0xB9, 0xB8, 0xB8, 0xED, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xED, 0xB8, 0xB8, 0xB9, 0xB9, 0x9C, 0xEF, 0xEB, + 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0xEB, 0xEF, 0x9C, 0xB9, 0xB9, + 0xB8, 0xB8, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xED, 0xB8, 0xB8, + 0xB9, 0xB9, 0x9C, 0xEC, 0xEB, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x0B, 0xF0, 0xF1, 0xA3, 0xF2, 0xF2, 0xF3, 0xF3, 0xF1, 0xF1, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, + 0xF4, 0xF4, 0xF4, 0xF1, 0xF3, 0xF3, 0xF3, 0xF2, 0xF2, 0xA3, 0xF1, 0xF0, 0x0B, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, + 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x91, 0x91, 0x91, 0x91, 0x91, 0x12, 0x11, + 0x10, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x07, 0x08, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x5B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0B, 0x5B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, + 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x14, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, + 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x14, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x14, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, + 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, + 0x96, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF5, 0xE9, 0x8C, + 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, + 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0xE9, 0xF5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +dword goto_about_pal [] = {0x00E4DFE1,0x00C4CBDD,0x00C5CCDF,0x00CAD1E0,0x00C2CADC,0x00E7E1E3,0x00E3DFE2,0x00C1C9DB,0x00E4E9F1,0x00E4E9F0,0x00DAD6DD,0x00BEC5D8,0x00CAD2E2,0x00CBD2E2,0x00CBD3E2,0x00CBD2E3,0x00C9D1E0,0x00C8D1DF,0x00BBC2D6,0x00AFB9D2,0x00B5BED5,0x00B7C1D6,0x00B7C2D6,0x00B6BFD5,0x00B3BCD2,0x00ADB6CD,0x00E2DDE1,0x00819FC5,0x00C1CCDE,0x00DCDADF,0x00ADB6D1,0x00ACB5D0,0x00AEBAD1,0x00AFBAD2,0x00ADB9D0,0x00AAB4CC,0x00A8B3CB,0x00E4E0E2,0x00FBFBFB,0x00FFFFFF,0x00F3F3F3,0x00E6E3E4,0x00C5CBDF,0x00AEB9D0,0x00B6BFD4,0x00B9C3D6,0x00BFC6D8,0x00E3DFE1,0x00C8C9C9,0x00B4BED5,0x00B4BED4,0x00B4BED3,0x00B2BBD3,0x00E5E0E2,0x00D8D7D8,0x00CBD0E1,0x00B9C2D6,0x00C8CDE0,0x00E4DFE2,0x00BFC5DA,0x00C8D0DF,0x00CBD2E1,0x00BDC5D6,0x00E0DAE0,0x007DB835,0x00DCDDE9,0x00B3BDD4,0x00F2F4F9,0x00BAC4D8,0x00D5D6E4,0x00B3DA82,0x0076AD32,0x00A5B2CD,0x00DBE0EC,0x00DCE1EC,0x00DCE1EB,0x00DBE0E9,0x00A7B4CD,0x00CBD0E2,0x00AAB4D0,0x00C8CEE1,0x00CAD1E2,0x00C8CEDD,0x00C5CDDD,0x00ACB6CE,0x00C3CADD,0x00A0D162,0x00B7C2DB,0x00AAB5CE,0x00B9C2D8,0x00B6BFD3,0x00A6B2CA,0x00B2BCD6,0x0097CD53,0x00A4AFCB,0x00ABB4CE,0x00AEB9D1,0x00ADB7D0,0x00A8B4CB,0x009FABC5,0x00B4BDD6,0x00E2DEE0,0x00D3D3D3,0x00E5DDDA,0x00F5CFA3,0x00F7C888,0x00F8CC8E,0x00F7C787,0x00F5CC9D,0x00E5DBD7,0x00A3AFCB,0x00B1BBD2,0x00B4BFD4,0x00B5BED3,0x00AFB9D0,0x00A3AEC9,0x00E1DDDE,0x0090C947,0x00DFDCDD,0x00F7C279,0x00FCDBAF,0x00FCE4C2,0x00F9D6A2,0x00F7C177,0x00E6D9D1,0x00A6B3D0,0x00AEBAD0,0x00BDC5D8,0x00BDC6D8,0x00A5B1CC,0x00E5E0E3,0x00DDDBDC,0x00F7C17A,0x00FBD197,0x00FCD7A2,0x00FBD6A3,0x00FCD4A2,0x00FBC885,0x00F7BE74,0x00E4DDDA,0x00DDDDEA,0x00AAB6D1,0x00BBC3D8,0x00BBC4D8,0x00ABB6D0,0x00D9DAE5,0x00D7D6D7,0x00F5DFC8,0x00F6B965,0x00F8C782,0x00F9C986,0x00F9C887,0x00F9C885,0x00F7C276,0x00F5B661,0x00F4D8BA,0x00C1C8DA,0x00B9C2D5,0x00BFC5D8,0x00E1DDE1,0x00F7D2A4,0x00F7BB6B,0x00F7BD6F,0x00F7BF6F,0x00F7BC6B,0x00F7B962,0x00F7B359,0x00F6CC95,0x00EFECEE,0x00DCDADB,0x00F7CD94,0x00F7B45B,0x00F7B459,0x00F7B65C,0x00F7B662,0x00F5B75F,0x00F7B254,0x00F7B454,0x00F6C689,0x00F7B967,0x00F7BC6F,0x00F7BC6A,0x00F7B964,0x00F7B55B,0x00F7B85C,0x00F6CF9A,0x00F8BD6B,0x00F7BC6D,0x00F8C072,0x00F7C076,0x00F8BA65,0x00F5DBC3,0x00F7CA91,0x00F8BB69,0x00F7C072,0x00F7BA68,0x00F7BA65,0x00F6CA8C,0x00F7C991,0x00F8BC6D,0x00F7CB8F,0x00F7D2A6}; + +unsigned char goto_about[1904] = FROM "imgs\goto_about.raw"; \ No newline at end of file diff --git a/programs/cmm/eolite/include/about_dialog.h b/programs/cmm/eolite/include/about_dialog.h new file mode 100644 index 0000000000..5ebe125719 --- /dev/null +++ b/programs/cmm/eolite/include/about_dialog.h @@ -0,0 +1,40 @@ +//Leency - 2008-2013 + +#define EDITOR_PATH "/sys/tinypad" +#define BROWSER_PATH "/sys/htmlv" +#define BROWSER_LINK "http://kolibri-n.org/index.php" + + +void about_dialog() +{ + byte id; + loop() switch(WaitEvent()) + { + case evButton: + id=GetButtonID(); + IF (id==1) || (id==10) ExitProcess(); + IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK); + IF (id==33) RunProgram(EDITOR_PATH, #program_path); + break; + + case evKey: + IF (GetKey()==27) ExitProcess(); + break; + + case evReDraw: + DefineAndDrawWindow(600,150,181,232+GetSkinHeight(),0x34,col_work,"About Eolite"); + DrawBar(0,0,172,50,0x8494C4); + PutPaletteImage(#logo,85,85,43,7,8,#logo_pal); + WriteTextB(46,100,0x90,0xBF40BF,"Eolite v1.62"); + WriteText(55,120,0x80,0,"Developers:"); + WriteText(39,130,0x80,0,"Leency & Veliant"); + WriteText(45,140,0x80,0,"KolibriOS Team"); + WriteText(61,150,0x80,0,"2008-2013"); + WriteText(29,170,0x80,0,"Visit"); + DrawLink(66,170,0x80,23, "kolibri-n.org"); + DrawFlatButton(85,190,70,22,10,0xE4DFE1, "Close"); + DefineButton(20-1,195-1, 16+1,15+1, 33+BT_HIDE, 0); + PutPaletteImage(8*16*15+#ficons,16,15,20,195,8,#ficons_pal); + DrawFilledBar(0, 216, 172, 12); + } +} \ No newline at end of file diff --git a/programs/cmm/eolite/include/history.h b/programs/cmm/eolite/include/history.h new file mode 100644 index 0000000000..d69f7a8c87 --- /dev/null +++ b/programs/cmm/eolite/include/history.h @@ -0,0 +1,57 @@ +//06.04.2012 + +path_string history_list[40]; +int history_num; +int history_current; + +#define ADD_NEW_PATH 1 +#define GO_BACK 2 +#define GO_FORWARD 3 + +dword GetCurrentFolder() +{ + char cur_fol[4096]; + strcpy(#cur_fol, #path); + cur_fol[strlen(#cur_fol)-1]=0x00; // / + strcpy(#cur_fol, #cur_fol+strrchr(#cur_fol,'/')); + return #cur_fol; +} + +int HistoryPath(byte action) +{ + int MAX_HISTORY_NUM; + + if (action==ADD_NEW_PATH) + { + if (history_num>0) && (!strcmp(#path,#history_list[history_current].Item)) return; + + MAX_HISTORY_NUM = sizeof(history_list)/sizeof(path_string); + if (history_current>=MAX_HISTORY_NUM-1) + { + history_current/=2; + for (i=0; i",16, +"txt", 1, +"doc", 1, +"rtf", 1, +"odt", 1, +"log", 1, +"docx",1, +"htm", 2, +"html",2, +"mht", 2, +"ini", 3, +"js", 3, +"conf",3, +"inf", 3, +"xlt", 4, +"xls", 4, +"ods", 4, +"xlsx",4, +"cmd", 5, +"bat", 5, +"py", 5, +"sh", 5, +"ksh", 5, +"com", 5, +"kex", 6, +"lua", 6, +"exe", 7, +"msi", 7, +"sys", 8, +"ocx", 8, +"drv", 8, +"so", 8, +"inc", 9, +"chr", 10, +"mt", 10, +"ttf", 10, +"fon", 10, +"asm", 11, +"skn", 13, +"djvu",15, +"pdf", 15, +"fb2", 15, +"nes", 18, +"smc", 18, +"img", 21, +"ima", 21, +"dll", 22, +"obj", 22, +"dict",22, +"iso", 24, +"cue", 24, +"nrg", 24, +"mdf", 24, +"gif", 19, +"bmp", 19, +"tga", 19, +"pcx", 19, +"png", 19, +"pnm", 19, +"jpg", 19, +"xcf", 19, +"ai", 19, +"jpeg",19, +"raw", 19, +"psd", 19, +"wbmp",19, +"tiff",19, +"tif", 19, +"3ds", 20, +"ico", 20, +"cur", 20, +"ani", 20, +"vox", 20, +"rar", 23, +"zip", 23, +"cab", 23, +"tar", 23, +"ajr", 23, +"jar", 23, +"7z", 23, +"gz", 23, +"mp3", 12, +"wav", 12, +"mid", 12, +"midi",12, +"ogg", 12, +"wma", 12, +"flac",12, +"avi", 14, +"flv", 14, +"mpg", 14, +"wmv", 14, +"mov", 14, +"mkv", 14, +"mp4", 14, +"vob", 14, +"grf", 25, +0,0}; + + +#include "imgs\icons.txt" + + +void Put_icon(dword extension, yy, fairing_color) +{ + int icon_n=0, i; + + for (i=0; ext[i]<>0; i+=2;) + if (!strcmp(extension, ext[i])) + { + icon_n = ext[i+1]; + break; + } + + PutPaletteImage(icon_n*16*15+#ficons,16,15,195,yy,8,#ficons_pal); + if (icon_n<>17) && (strlen(extension)<9) WriteText(-strlen(extension)*3+onLeft(168,0)+36,yy+4,0x80,0,extension); + if (fairing_color<>0xFFFfff) IconFairing(icon_n, yy, fairing_color); // +} + + + +void IconFairing(dword filenum, y, color) +{ + switch(filenum) + { + case 0...1: // + DrawBar(195,y,2,15,color); + RIGHT_PAINT: + DrawBar(209,y,2,15,color); + DrawBar(205,y,4,1,color); + DrawBar(206,y+1,3,1,color); + DrawBar(207,y+2,2,1,color); + PutPixel(208,y+3,color); + return; + case 2: //html + DrawBar(195,y,1,7,color); + DrawBar(196,y,1,6,color); + DrawBar(195,y+10,1,5,color); + DrawBar(196,y+11,1,4,color); + GOTO RIGHT_PAINT; + case 3: // + DrawBar(195,y,2,7,color); + DrawBar(195,y+7,1,2,color); + DrawBar(195,y+12,1,3,color); + PutPixel(196,y+14,color); + GOTO RIGHT_PAINT; + case 9: //inc + DrawBar(195,y,1,12,color); + DrawBar(196,y,1,11,color); + DrawBar(197,y,1,10,color); + DrawBar(198,y,1,5,color); + DrawBar(199,y,1,4,color); + DrawBar(200,y,1,3,color); + DrawBar(201,y,1,2,color); + DrawBar(202,y,1,3,color); + DrawBar(203,y,1,2,color); + PutPixel(204,y,color); + PutPixel(205,y+4,color); + PutPixel(206,y+3,color); + PutPixel(207,y,color); + PutPixel(207,y+2,color); + DrawBar(208,y,1,3,color); + DrawBar(209,y,2,4,color); + DrawBar(210,y,1,15,color); + PutPixel(198,y+14,color); + DrawBar(199,y+13,1,2,color); + DrawBar(200,y+12,10,3,color); + PutPixel(205,y+11,color); + DrawBar(206,y+10,1,2,color); + DrawBar(207,y+9,1,3,color); + PutPixel(207,y+7,color); + DrawBar(208,y+6,2,7,color); + PutPixel(209,y+5,color); + return; + case 10: //font + DrawRectangle3D(195,y,15,14,color,color); + DrawBar(196,y+1,1,13,color); + DrawBar(197,y+1,1,11,color); + DrawBar(198,y+1,1,10,color); + DrawBar(199,y+1,1,9,color); + DrawBar(200,y+1,1,7,color); + DrawBar(201,y+1,1,5,color); + DrawBar(202,y+1,1,4,color); + DrawBar(203,y+1,1,2,color); + DrawBar(209,y+1,1,13,color); + DrawBar(208,y+1,1,11,color); + PutPixel(204,y+6,color); + DrawBar(203,y+10,2,1,color); + DrawBar(202,y+11,2,3,color); + return; + case 11: //asm + DrawBar(195,y,1,15,color); + return; + case 12: //audio + DrawBar(195,y,16,1,color); + DrawBar(195,y,1,15,color); + DrawBar(196,y+1,4,8,color); + DrawBar(196,y+9,1,2,color); + PutPixel(197,y+9,color); + PutPixel(196,y+14,color); + DrawBar(210,y+1,1,14,color); + DrawBar(202,y+4,6,4,color); + DrawBar(202,y+8,4,1,color); + DrawBar(202,y+9,3,1,color); + DrawBar(202,y+10,2,3,color); + DrawBar(201,y+13,4,1,color); + DrawBar(200,y+14,14,1,color); + DrawBar(209,y+12,1,2,color); + PutPixel(208,y+13,color); + return; + case 13: //skin + PutPixel(210,y,color); + return; + case 14...15: //video, book + DrawBar(195,y,1,15,color); + DrawBar(210,y,1,15,color); + return; + case 16...17: // + DrawBar(195,y,1,15,color); + DrawBar(203,y,8,2,color); + IF (filenum==17) PutPixel(206,y+1,0x1A7B17); // + DrawBar(196,y+13,15,2,color); + PutPixel(196,y,color); //. + PutPixel(202,y,color); + PutPixel(210,y+2,color); + PutPixel(196,y+12,color); + PutPixel(210,y+12,color); + return; + case 18: // + DrawBar(195,y,16,2,color); + DrawBar(195,y+11,1,2,color); + DrawBar(210,y+11,1,2,color); + DrawBar(195,y+13,16,2,color); + return; + case 19: // + case 20: // + DrawBar(195,y+14,16,1,color); + return; + case 21: // + PutPixel(195,y,color); + PutPixel(210,y,color); + return; + case 22: // + DrawBar(195,y,16,1,color); // + DrawBar(195,y+1,3,1,color); + DrawBar(195,y+2,2,1,color); + PutPixel(195,y+3,color); + PutPixel(210,y+11,color); // + DrawBar(209,y+12,2,1,color); + DrawBar(208,y+13,3,1,color); + DrawBar(207,y+14,4,1,color); + return; + case 23: // + PutPixel(195,y+3,color); + PutPixel(195,y+11,color); + PutPixel(210,y+3,color); + PutPixel(210,y+11,color); + + DrawBar(195,y,7,1,color); + DrawBar(204,y,7,1,color); + DrawBar(195,y+14,7,1,color); + DrawBar(204,y+14,7,1,color); + + DrawBar(195,y+1,5,1,color); + DrawBar(206,y+1,5,1,color); + DrawBar(195,y+13,5,1,color); + DrawBar(206,y+13,5,1,color); + + DrawBar(195,y+2,3,1,color); + DrawBar(208,y+2,3,1,color); + DrawBar(195,y+12,3,1,color); + DrawBar(208,y+12,3,1,color); + return; + case 24: // + DrawBar(195,y,6,1,color); + DrawBar(195,y+1,4,1,color); + DrawBar(195,y+2,3,1,color); + DrawBar(195,y+3,2,2,color); + + DrawBar(195,y+5,1,5,color); + + DrawBar(195,y+10,2,2,color); + DrawBar(195,y+12,3,1,color); + DrawBar(195,y+13,4,1,color); + DrawBar(195,y+14,6,1,color); + + DrawBar(195+11,y,5,1,color); + DrawBar(195+13,y+1,3,1,color); + DrawBar(195+14,y+2,2,1,color); + DrawBar(195+15,y+3,1,2,color); + + DrawBar(195+15,y+10,1,2,color); + DrawBar(195+14,y+12,2,1,color); + DrawBar(195+13,y+13,3,1,color); + DrawBar(195+11,y+14,5,1,color); + + return; + } +} diff --git a/programs/cmm/eolite/include/ini.h b/programs/cmm/eolite/include/ini.h new file mode 100644 index 0000000000..6ed046e807 --- /dev/null +++ b/programs/cmm/eolite/include/ini.h @@ -0,0 +1,134 @@ +//INI parser in C--, GPL licence. +//Leency - 2012 + +#define COMMENT 0 +#define SECTION 1 +#define PARAM 2 +#define OPTION 3 + +unsigned char *ERROR_TEXT[]={ +"Code #0 - No error", +"Error #1 - Base or partition of a hard disk is not defined", +"Error #2 - Function isn't supported for this file system", +"Error #3 - Unknown file system", +"Error #4 - Reserved, is never returned", +"Error #5 - File or folder not found", +"Error #6 - End of file, EOF", +"Error #7 - Pointer lies outside of application memory", +"Error #8 - FAT table is destroyed", +"Error #9 - FAT table is destroyed", +"Error #10 - Access denied", +"Error #11 - Device error", +0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, +"Error #30 - Not enough memory", +"Error #31 - File is not executable", +"Error #32 - Too many processes", +0}; + +void GetIni(byte onload) +{ + byte section[32], parametr[32], option[256], InfType=0; + char bukva[2]; + int errornum, tj; + static dword buff, fsize; + // + if (onload==1) + { + free(buff); + buff = malloc(12000); + program_path[strrchr(#program_path, '/')] = NULL; + strcat(#program_path, "Eolite.ini"); + ReadFile(0, 12000, buff, #program_path); + fsize=EBX; + IF (EAX<>6) ReadFile(0, 12000, buff, "/sys/File managers/Eolite.ini"); + IF (EAX<>6) notify("Eolite.ini not found. Defaults will be used."); + } + // + for (tj=0; tj=0) Line_ReDraw(0xFF0000, curbtn); + pause(5); + notify(#error); +} + + +dword StrToCol(char* htmlcolor) +{ + dword j, color=0; + char ch=0x00; + + FOR (j=0; j<6; j++) + { + ch=ESBYTE[htmlcolor+j]; + IF ((ch>='0') && (ch<='9')) ch -= '0'; + IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; + IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; + color = color*0x10 + ch; + } + return color; +} \ No newline at end of file diff --git a/programs/cmm/eolite/include/left_panel.h b/programs/cmm/eolite/include/left_panel.h new file mode 100644 index 0000000000..3295c316af --- /dev/null +++ b/programs/cmm/eolite/include/left_panel.h @@ -0,0 +1,192 @@ +void Tip(int y, dword caption, id, arrow) +{ + int i; + DrawBar(17,y,160,1,0xEFEDEE); + DrawFilledBar(17, y+1, 160, 16); + WriteText(25,y+5,0x80,0,caption); + IF (id<>0) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0xE4DFE1); // + WriteText(165,y+5,0x80,0,arrow); // + DrawBar(17,y+17,160,1,0x94AECE); // +} + + +path_string disk_list[20]; +int disc_num; +dword devbuf; + +void GetSystemDiscs() +{ + unsigned char dev_name[10], sys_discs[10]; + unsigned int i1, j1, dev_num, dev_disc_num; + + disc_num=0; + if (devbuf) free(devbuf); + devbuf = malloc(3112); // - 10 + ReadDir(19, devbuf, "/"); + dev_num = EBX; + for (i1=0; i1=1073741824) strcpy(#size_nm, " Gb"); + else if (bytes>=1048576) strcpy(#size_nm, " Mb"); + else if (bytes>=1024) strcpy(#size_nm, " Kb"); + else strcpy(#size_nm, " b "); + while (bytes>1023) bytes/=1024; + strcpy(#size_prefix, itoa(bytes)); + strcat(#size_prefix, #size_nm); + return #size_prefix; +} + + +dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB, +0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1}; + +inline fastcall void TVScroll() { // + dword on_y, i; + if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,col_work,""); return;} + on_y = za_kadrom * onTop(22,57) / count +57; + scroll_size=onTop(22,57) * f_visible - f_visible / count; + if (scroll_size<20) scroll_size = 20; // + if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); // + DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,-1,"");// + if (!scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[13-i]); + if (scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[i]); + // + if (on_y>58) DrawBar(onLeft(26,0),57,15,1, 0xC7C9C9); + DrawBar(onLeft(26,0),58,1, on_y-58,0xC7C9C9); + DrawBar(onLeft(25,0),58,14,on_y-58,0xCED0D0); + // + if (onTop(22,57)-scroll_size+55>on_y) DrawBar(onLeft(26,0),on_y+scroll_size+1,15,1,0xC7C9C9); + DrawBar(onLeft(26,0),on_y+scroll_size+2,1,onTop(22,57)-scroll_size-on_y+55,0xC7C9C9); + DrawBar(onLeft(25,0),on_y+scroll_size+2,14,onTop(22,57)-scroll_size-on_y+55,0xCED0D0); +} + +void DrawFlatButton(dword x,y,width,height,id,color,text) +{ + int fill_h; + DrawRectangle(x,y,width,height,col_border); + DrawRectangle3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding); + PutPixel(x+width-1, y+1, col_work); + if (color!=-1) DrawFilledBar(x+2, y+2, width-3, height-3); + IF (id<>0) DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF); + WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text); +} + +void DrawFilledBar(dword x, y, w, h) +{ + int i, fill_h; + if (h <= 14) fill_h = h; else fill_h = 14; + for (i=0; i - 1 +{ + int iss = a; + IF (a >= b) return; + FOR (j = a; j <= b; j++) + IF (ESDWORD[file_mas[j]*304 + buf+64] <= ESDWORD[file_mas[b]*304 + buf+64]) { file_mas[iss] >< file_mas[j]; iss++;} + Sort_by_Size (a, iss-2); + Sort_by_Size (iss, b); +} + + +void Sort_by_Name(int a, b) // : a = 0, b = < > - 1 +{ + int isn = a; + IF (a >= b) return; + FOR (j = a; j <= b; j++) + IF (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[isn] >< file_mas[j]; isn++;} + Sort_by_Name(a, isn-2); + Sort_by_Name(isn, b); +} + + +void Sort_by_Type(int a, b) // : a = 0, b = < > - 1 +{ + dword filename1, filename2, ext1, ext2; + int n, isn = a; + IF (a >= b) return; + for (j = a; j <= b; j++) + { + filename1 = file_mas[j]*304 + buf+72; + filename2 = file_mas[b]*304 + buf+72; + + n=strlen(filename1)-1; + WHILE (n>0) && (ESBYTE[filename1+n]<>'.') n--; + IF (n) ext1 = filename1+n+1; else ext1=0; + n=strlen(filename2)-1; + WHILE (n>0) && (ESBYTE[filename2+n]<>'.') n--; + IF (n) ext2 = filename2+n+1; else ext2=0; + + n=strcmp(ext1, ext2); + IF (n<0) { file_mas[isn] >< file_mas[j]; isn++;} + IF (n==0) && (strcmp(filename1, filename2)<=0) { file_mas[isn] >< file_mas[j]; isn++;} + } + Sort_by_Type(a, isn-2); + Sort_by_Type(isn, b); +} + + + diff --git a/programs/cmm/eolite/txt/History.txt b/programs/cmm/eolite/txt/History.txt new file mode 100644 index 0000000000..9fad014cfd --- /dev/null +++ b/programs/cmm/eolite/txt/History.txt @@ -0,0 +1,569 @@ +xx.xx.13 -- v1.61 +- ( s1n). + ; +- PathShow; +- USB flash ; +- . + + +10.01.13 -- v1.55 +- ; +- , + . + +17.12.12 -- v1.5 + GUI: , . + +16.11.12 -- v1.43 +- ; +- ; +- /tmpX/1; +- ; +- . + +15.11.12 -- v1.36 +- ; +- ( SoUrcerer + , ); +- 10 20; +- . + +12.11.12 -- v1.35 +- ; +- ; +- 100% ; +- , . + +10.07.12 -- v1.30 +- "/"; +- *.grf; +- About Eolite.ini; +- . + + +23.06.12 -- v1.28 +- (+ ) + (+ ini ); +- ""; +- , . + +21.06.12 -- v1.25 +- ; +- ; +- . + +14.06.12 -- v1.23 +- , ; +- . + +13.05.12 -- v1.22 --16,5 +- ; +- ini- . + +05.04.12 -- v1.2 --16,5 +- "", ; +- . + +05.04.12 -- v1.1 --16,2 +- , ; +- ; +- ; +- +- . + +26.03.12 -- v1.0 --16,2 + . + + + + + + + +27.08.11 -- v0.99.8 RC3 -- 16.2 +- , ; +- 90% ; +- ; +- , ( Mario); +- ( Fugue icons); +- ( - ); +- ; +- ; +- . + + +22.08.11 -- v0.99 RC2 -- 16.2 +- Ctrl+N; +- /rd/1/; +- Ctrl+D . ( Ultimate Ficha KFM); +- ; +- ; +- . + + +18.08.11 -- v0.98.9b RC2 -- 15.9 +- , . + , - /rd/1/File managers/Eolite.ini + (for Chaos Constructions-2011, thanks Albom). + + +30.07.11 -- v0.98.9 RC2 -- 15.9 +- (Eolite.ini) , + @notify; +- , ; +- ; +- kolibrios.org " " ( htmlv + ); +- F4 - hex ( heed + ...). + + +20.07.11 -- v0.98.8 RC2 -- 15.9 +- @notify. + , ; +- , + 4 . , + Gluk', Zeroconf + ".conf"; +- Rock_maniak_forever 9 , , + ; +- , , + , ( turbanoff); +- , ; +- (Actions); +- . + + + + +30.01.10 -- v0.98.7a RC2 -- 14.8 +- : 4096 . + + +23.10.09 -- v0.98.7 RC2 -- 14.7 (Izabella edition) +- Ctrl+F1...F12 + : -, -, -, + . + + +19.10.09 -- v0.98.6 RC2 -- 14.7 ( , -!) +- Lrz: box_lib.obj. + + +29.12.08 -- v0.98.5 RC2 -- 14.7 +- ini-, + ; +- Nable' ( DOS-); +- Preview; +- . +- - ; +- , , ; +- ".." - + , , ; +- . + + +20.12.08 -- v0.98.3 RC2 -- 14.6 +- ; +- , 0 6898 ; +- : , "" ; +- ; +- ; +- , ""; +- ; +- + ; +- - ; +- - , + ; +- ; +- . + + +16.12.08 -- v0.98.1 RC1 -- 14.7 +- ".." ; +- / ; +- ( s1n). + + +15.12.08 -- v0.98 RC1 -- 14.5 +- bd- NTFS; +- - ; +- ; +- "." ( diamond' ). + + +30.11.08 -- v0.97.2 beta7 -- 14.4 +- /bd/ ( ); +- ; +- ( ). + + +26.11.08 -- v0.97.1 beta7 -- 14.3 +- , ; +- ; +- Veliant' + 256- . + 2 kpack'; +- ; +- . + + +20.11.08 -- v0.97 beta7 -- 14.9 +- : + ; +- , . + + +17.11.08 -- v0.96.9 beta7 -- 14.9 +- .dll (.obj) .img. + + +14.11.08 -- v0.96.8 beta7 -- 14.6 +- , ; +- .cpp .nes. + + +31.10.08 -- v0.96.7 beta7 -- 14.4 +- , , ; +- - , \ + , , ; +- - ; +- " ", + ; ; +- . + + +24.10.08 -- v0.96.3 beta7 -- 14.4 +- Symbian; +- ; +- , , !,& + , ".."; +- , . + + +23.10.08 -- v0.96 beta6 -- 14.1 +- + ( !)). + 8 , 5 , 30%; +- : , , + , . , + , ; +- ; +- 3 ; +- . + + +17.10.08 -- v0.95.7 beta6 -- 14.3 +- 2 ; +- . + +15.10.08 -- v0.95.4 beta6 -- 14.0 +- : \ (). + +03.10.08 -- v0.95.3 beta6 -- 14.1 +- ""; +- , , + . +- ; +- . + + +17.09.08 -- v0.95.2 beta6 -- 14.1 +- , , Serge'. + ( + 91000 ), 6898 ; +- Ctrl+N ; +- . + + +14.09.08 -- v0.95 beta6 -- 14.0 +- , ; +- EditBox'ax 1 9 ( :); +- BackSpace ; +- IntToStr() diamond'y, + 158 ; +- Nable' ; +- Albom'a , + - , + ; +- , . + + +02.08.08 -- v0.94.4 beta5 -- 14.0 +- , . + + +28.07.08 -- v0.94.3 beta5 -- 14.1 +- Ctrl+<>; +- ; +- ""; +- . + + +04.07.08 -- v0.94 beta5 -- 13.9 +- , + , . + + +04.07.08 -- v0.93.9 beta5 -- 13.9 +- "" :) +- - "." ".." + + +29.06.08 -- v0.93.8 beta5 -- 13.8 +- + + +22.06.08 -- v0.93.6 beta5 -- 13.7 +- , ( + :), 2 . + + +18.06.08 -- v0.93.5 beta5 -- 13.7 +- - "Eolite /hd1/1/" + /hd1/1/ . ; +- " ", + ( ); +- ".cvs"; +- . + + +15.06.08 -- v0.93.4 beta5 -- 13.4 +- /rd/1/; +- rd, fd, hd1 .. ; +- "Up" ( ). + + +14.06.08 -- v0.93.3 beta5 -- 13.4 +- , , + - , + ( 79 ); +- ; +- F3 - ; +- . + + +14.06.08 -- v0.93 beta5 -- 13.6 +- ( diamond' ); +- ; +- ; +- , ; +- , +- ; +- kolibri.h--. + + +08.06.08 -- v0.92.1 beta5 -- 14.0 +- , ; +- . + + +08.06.08 -- v0.92 beta5 -- 14.0 +- , 0.88. + , , + ; +- , 1 1 . + + +07.06.08 -- v0.91.5 beta4 -- 14.0 +- 03.03.08 (v0.83) ; +- , + , :) +- , ; +- c diamond' + copystr() ; +- , ; +- , ; +- ( ) - + , ; +- , , + ; +- lowcase() upcase(); +- , - ; +- NTFS- , , + , - ; +- ; +- - + , ; +- ; +- . + + +02.06.08 -- v0.90.4 beta4 -- 14.1 +- ( .. Maxis ). + + +01.06.08 -- v0.90 beta4 -- 14.1 +- , ! diamond + . + + +01.06.08 -- v0.88.5 beta3 -- 14.1 +- + , . : + , 2? + . . +- , + .. : , + . + + +30.05.08 -- v0.88.2 beta3 -- 14.1 +- , F2 Home. + + +27.04.08 -- v0.88 beta3 -- 14.1 +- ; +- , +- . + + +08.04.08 -- v0.87 beta3 -- 14.0 +- ; +- ; +- (RM-, ..) + , "/" + - ; +- , + , ; +- , ; +- . + + +27.03.08 -- v0.86 beta3 -- 14.4 +- ; +- ; +- ; +- ; +- Ctrl+ Ctrl+X; +- , + : toolbar icons, file icons, device icons; +- ; +- - ! + + +09.03.08 -- v0.84 beta2 -- 16.1 +- c " " ( kpack- 2.5 ) +- ; +- , , + ; +- . + + +07.03.08 -- v0.83.3 beta2 -- 13.0 +- , . + + +07.03.08 -- v0.83.2 beta2 -- 13.0 +- + . + + +07.03.08 -- v0.83.1 beta2 -- 13.0 +- ; +- . + + +03.03.08 -- v0.83 beta2 -- 13.0 +- ; +- : , ; +- ! +- Ctrl+C (Ctrl+Ins), Ctrl+X, Ctrl+V. + Shift- ; +- ; +- , ; +- , ; + , ; +- , ; +- . + + +27.02.08 -- v0.81 beta -- 12.8 +- ; +- ; +- . + + +25.02.08 -- v0.80 beta -- 12.6 +- ! +- . + + +25.02.08 -- v0.77 beta -- 12.5 +- ; + + +23.02.08 -- v0.75 beta -- 12.1 +- ; +- eolite_copy.obj ; +- ( ); +- ; +- . + + +23.02.08 -- v0.71 beta -- 12.1 +- ; +- ReadMe. + + +23.02.08 -- v0.7 beta -- 12.1 +- ; +- "." . + + +22.02.08 -- v0.65 beta -- 12.3 +- , ; +- ; +- . , Enter + , - , + ; +- , , + :( +- Insert, ; + + +18.02.08 -- v0.6 beta -- 11.7 +- ; +- , + ; +- ; +- F5 ; +- ; +- ; +- ; +- , . + + +09.02.08 -- v0.5 beta -- 10 +- Preview; +- ; +- - 1615; +- , "/" - ; +- ; +- ; +- ; +- , - ; +- . + + +04.02.08 -- v0.35 beta -- 9.17 +- "" ( #path, #edit_path); +- ; +- ; +- ; +- . + + +03.02.08 -- v0.33 beta -- 8.91 (.) + . : +1. Leency . +2. Veliant /rd/1/, Leency + . +3. Veliant . Leency . +4. Veliant , Leency . +5. Veliant Leency . +6. . + +22.02.08 -- v0.0 -- 0 +. \ No newline at end of file diff --git a/programs/cmm/eolite/txt/ReadMe_en.txt b/programs/cmm/eolite/txt/ReadMe_en.txt new file mode 100644 index 0000000000..884424ae41 --- /dev/null +++ b/programs/cmm/eolite/txt/ReadMe_en.txt @@ -0,0 +1,32 @@ +Eolite File Manager + +==About this program== +Eolite is a simple in using and pretty looks file manager. +It written in C--. Development has started at 20.01.08. +You can find more information here: +http://board.kolibrios.org/viewtopic.php?f=9&t=973 + + +==Install== +Put box_lib.obj into "/sys/lib/" directory. +Put Eolite.ini into programs directory or in "/sys/File Managers/". +Eolite can be opened from anywhere. + + +==Authors== +Leency - programming and design. +Veliant - programming and support. Inactive now. + +==Thanks== +diamond + +Nable +Mario79 +Rock_maniak_forever +turbanoff +Sorcerer +Gluk +lev + + +KolibriOS Forever! \ No newline at end of file diff --git a/programs/cmm/eolite/txt/ReadMe_ru.txt b/programs/cmm/eolite/txt/ReadMe_ru.txt new file mode 100644 index 0000000000..3833e3d13a --- /dev/null +++ b/programs/cmm/eolite/txt/ReadMe_ru.txt @@ -0,0 +1,31 @@ +Eolite File Manager + +== == + , + . + C--, +. 20.01.08. + : +http://board.kolibrios.org/viewtopic.php?f=9&t=973 + + +==== + box_lib.obj. Eolite.ini + "/sys/File Managers/". + + +==== +Leency - , . +Veliant - , . + +==== +diamond - , . + - EditBox . +Nable - , IPC. +Mario79 - . +S1n - lib_ini ( ). +Rock_maniak_forever, turbanoff, Sorcerer, Gluk, Albom - . +lev - . + + + ! ! KolibriOS Forever! \ No newline at end of file diff --git a/programs/cmm/example/compile.bat b/programs/cmm/example/compile.bat index b5d2b2ae15..f6ce60cb56 100644 --- a/programs/cmm/example/compile.bat +++ b/programs/cmm/example/compile.bat @@ -1,6 +1,5 @@ ..\C--\C-- example.c -del example -rename example.com example -..\C--\kpack example -pause -del warning.txt +@del example +@rename example.com example +@pause +@del warning.txt diff --git a/programs/cmm/example/example.c b/programs/cmm/example/example.c index 81d4bed079..0d52ebf9de 100644 --- a/programs/cmm/example/example.c +++ b/programs/cmm/example/example.c @@ -1,4 +1,6 @@ +#define MEMSIZE 0x3E80 #include "..\lib\kolibri.h" +#include "..\lib\strings.h" #include "..\lib\file_system.h" @@ -32,9 +34,10 @@ void main() void draw_window() { + proc_info Form; DefineAndDrawWindow(215,100,250,200,0x34,0xFFFFFF,"Window header"); + GetProcessInfo(#Form, SelfInfo); WriteText(50,80,0x80,0,"Press Enter"); - } diff --git a/programs/cmm/installer/compile.bat b/programs/cmm/installer/compile.bat new file mode 100644 index 0000000000..aea335ad91 --- /dev/null +++ b/programs/cmm/installer/compile.bat @@ -0,0 +1,5 @@ +..\C--\C-- main.c /lst +@del installer.kex +@rename main.com installer.kex +@pause +@del warning.txt diff --git a/programs/cmm/installer/copyf.c b/programs/cmm/installer/copyf.c new file mode 100644 index 0000000000..bc7acb329f --- /dev/null +++ b/programs/cmm/installer/copyf.c @@ -0,0 +1,173 @@ +// универсальность добавления / +// относительный путь относительно программы + +void copyf(dword params) +{ + //copyf /sys/lib|/sys/lib2 + char from[4096], to[4096]; + BDVK from_atr; + int border; + mem_Init(); + if (!params) { notify("Error: no copyf params!"); return; } + program_path[strrchr(#program_path, '/')] = 0x0; + border = strchr(params, '|'); + if (!border) border = strchr(params, ' '); + + if (ESBYTE[params]<>'/') + { + strcpy(#from, #program_path); + strcat(#from, params); + from[border+strlen(#program_path)-1]=NULL; + } + else + { + strcat(#from, params); + from[border-1]=NULL; + } + strcpy(#to, params+border); + + GetFileInfo(#from, #from_atr); + if (TestBit(from_atr.attr, 4)==1) + { + CopyFolder(#from, #to); + } + else + { + CopyFile(#from, #to); + } +} + + +void CopyFolder(dword from, to) +{ + dword dirbuf, fcount, filename; + int i, error, isdir; + char copy_from[4096], copy_in[4096]; + char from2[4096], to2[4096]; + + error = GetDir(#dirbuf, #fcount, from); + if (error) debug_error(from, error); + + if ((strcmp(to, "/sys")!=0) && (strcmp(to, "/tmp9/1")!=0)) + { + error = CreateDir(to); + if (error) debug_error(to, error); + } + chrcat(to, '/'); + chrcat(from, '/'); + + for (i=0; i100) InstallationLoop(); + else notify("You do not have enought free RAM for installation!"); +} \ No newline at end of file diff --git a/programs/cmm/installer/img/logo.ico b/programs/cmm/installer/img/logo.ico new file mode 100644 index 0000000000..ce29b7da59 Binary files /dev/null and b/programs/cmm/installer/img/logo.ico differ diff --git a/programs/cmm/installer/img/logo.raw b/programs/cmm/installer/img/logo.raw new file mode 100644 index 0000000000..66ba96cb8e Binary files /dev/null and b/programs/cmm/installer/img/logo.raw differ diff --git a/programs/cmm/installer/installation.c b/programs/cmm/installer/installation.c new file mode 100644 index 0000000000..bab32e5121 --- /dev/null +++ b/programs/cmm/installer/installation.c @@ -0,0 +1,102 @@ + +void InstallationLoop() +{ + byte id, key, started=false; + goto _INSTALL_DRAW; + + loop() switch(WaitEvent()) + { + case evButton: + id=GetButtonID(); + if(id == 1) ExitProcess(); + if (id == 11) RunProgram("/sys/htmlv", "http://kolibri-n.org/donate.php"); + if (id == 10) HalloLoop(); + break; + case evKey: + key = GetKey(); + break; + + case evReDraw: _INSTALL_DRAW: + if !(DefineWindow("Installation Started", "Stop")) break; + if (started) break; + started = true; + Install(); + } +} + + +char iclock[3]={1,2}; +void ShowProgress(dword text1) +{ + iclock[0]>2) return 0; //rolled_up + + DrawBar(0, 0, Form.cwidth, BLACK_H, 0); + DrawBar(0, BLACK_H, Form.cwidth, Form.cheight-BLACK_H, 0xFFFfff); + _PutImage(BLACK_H-LOGOW/2, BLACK_H-LOGOH/2, LOGOW,LOGOH, #logo); + WriteTextB(BLACK_H-LOGOW + LOGOW, BLACK_H-6/2, 0x90, 0xFFFfff, wtitle); + DrawCaptButton(Form.cwidth-107, Form.cheight-40, 90, 24, 10, sc.work_button, sc.work_button_text,wbutton); + return 1; +} + +#include "copyf.c" +#include "tmp_add.c" +#include "hallo.c"; +#include "installation.c"; + +void main() +{ + mem_Init(); + if (load_dll2(boxlib, #box_lib_init,0)!=0) notify("Error while loading library /rd/1/lib/box_lib.obj"); + SetEventMask(0x27); + program_path[strrchr(#program_path, '/')] = 0x0; + HalloLoop(); +} + + +stop: \ No newline at end of file diff --git a/programs/cmm/installer/main.lst b/programs/cmm/installer/main.lst new file mode 100644 index 0000000000..0488fef23a --- /dev/null +++ b/programs/cmm/installer/main.lst @@ -0,0 +1,4363 @@ +SPHINX/SHEKER C-- One Pass Disassembler. Version 0.239c b26 Apr 27 2007 + +..\lib\kolibri.h 6: char os_name[8] = {'M','E','N','U','E','T','0','1'}; +00000000 4D454E5545543031 db 4Dh,45h,4Eh,55h,45h,54h,30h,31h + +..\lib\kolibri.h 7: dword os_version = 0x00000001; +00000008 01000000 dd 1 + +..\lib\kolibri.h 8: dword start_addr = #main; +0000000C 80250000 dd 2580h + +..\lib\kolibri.h 9: dword final_addr = #stop+32; +00000010 1E260000 dd 261Eh + +..\lib\kolibri.h 10: dword alloc_mem = MEMSIZE; +00000014 00100A00 dd 0A1000h + +..\lib\kolibri.h 11: dword x86esp_reg = MEMSIZE; +00000018 00100A00 dd 0A1000h + +..\lib\kolibri.h 12: dword I_Param = #param; +0000001C 3E2C0000 dd 2C3Eh + +..\lib\kolibri.h 13: dword I_Path = #program_path; +00000020 3E3C0000 dd 3C3Eh + +..\lib\kolibri.h 41: void mouse::get() +00000024 55 push ebp +00000025 89E5 mov ebp,esp + +..\lib\kolibri.h 43: EAX = 37; +00000027 6A25 push 25h +00000029 58 pop eax + +..\lib\kolibri.h 44: EBX = 1; +0000002A 31DB xor ebx,ebx +0000002C 43 inc ebx + +..\lib\kolibri.h 45: $int 0x40 +0000002D CD40 int 40h + +..\lib\kolibri.h 46: $mov ebx, eax +0000002F 89C3 mov ebx,eax + +..\lib\kolibri.h 47: $shr eax, 16 +00000031 C1E810 shr eax,10h + +..\lib\kolibri.h 48: $and ebx,0x0000FFFF +00000034 81E3FFFF0000 and ebx,0FFFFh + +..\lib\kolibri.h 49: x = EAX; +0000003A 8B7508 mov esi,[ebp+8] +0000003D 8906 mov [esi],eax + +..\lib\kolibri.h 50: y = EBX; +0000003F 895E04 mov [esi+4],ebx + +..\lib\kolibri.h 51: EAX = 37; +00000042 6A25 push 25h +00000044 58 pop eax + +..\lib\kolibri.h 52: EBX = 2; +00000045 6A02 push 2 +00000047 5B pop ebx + +..\lib\kolibri.h 53: $int 0x40 +00000048 CD40 int 40h + +..\lib\kolibri.h 54: $mov ebx, eax +0000004A 89C3 mov ebx,eax + +..\lib\kolibri.h 55: $and eax, 0x00000001 +0000004C 83E001 and eax,1 + +..\lib\kolibri.h 56: $shr ebx, 1 +0000004F D1EB shr ebx,1 + +..\lib\kolibri.h 57: $and ebx, 0x00000001 +00000051 83E301 and ebx,1 + +..\lib\kolibri.h 58: lkm = EAX; +00000054 8B7508 mov esi,[ebp+8] +00000057 894608 mov [esi+8],eax + +..\lib\kolibri.h 59: pkm = EBX; +0000005A 895E0C mov [esi+0Ch],ebx + +..\lib\kolibri.h 60: EAX = 37; //஫ +0000005D 6A25 push 25h +0000005F 58 pop eax + +..\lib\kolibri.h 61: EBX = 7; +00000060 6A07 push 7 +00000062 5B pop ebx + +..\lib\kolibri.h 62: $int 0x40 +00000063 CD40 int 40h + +..\lib\kolibri.h 63: $mov ebx, eax +00000065 89C3 mov ebx,eax + +..\lib\kolibri.h 64: $shr eax, 16 +00000067 C1E810 shr eax,10h + +..\lib\kolibri.h 65: $and ebx,0x0000FFFF +0000006A 81E3FFFF0000 and ebx,0FFFFh + +..\lib\kolibri.h 67: vert = EBX; +00000070 8B7508 mov esi,[ebp+8] +00000073 895E14 mov [esi+14h],ebx +00000076 5D pop ebp +00000077 C20400 ret 4 + +..\lib\kolibri.h 78: void system_colors::get() +0000007A 55 push ebp +0000007B 89E5 mov ebp,esp + +..\lib\kolibri.h 80: EAX = 48; +0000007D 6A30 push 30h +0000007F 58 pop eax + +..\lib\kolibri.h 81: EBX = 3; +00000080 6A03 push 3 +00000082 5B pop ebx + +..\lib\kolibri.h 82: ECX = #frame; +00000083 8B4D08 mov ecx,[ebp+8] + +..\lib\kolibri.h 83: EDX = 40; +00000086 6A28 push 28h +00000088 5A pop edx + +..\lib\kolibri.h 84: $int 0x40 +00000089 CD40 int 40h +0000008B 5D pop ebp +0000008C C20400 ret 4 + +..\lib\kolibri.h 362: void DefineAndDrawWindow(dword x,y, sizeX,sizeY, byte WindowType,dword WindowAreaColor, EDI, ESI) +0000008F 55 push ebp +00000090 89E5 mov ebp,esp + +..\lib\kolibri.h 364: EAX = 12; // function 12:tell os about windowdraw +00000092 6A0C push 0Ch +00000094 58 pop eax + +..\lib\kolibri.h 365: EBX = 1; +00000095 31DB xor ebx,ebx +00000097 43 inc ebx + +..\lib\kolibri.h 366: $int 0x40 +00000098 CD40 int 40h + +..\lib\kolibri.h 368: EAX = 0; +0000009A 31C0 xor eax,eax + +..\lib\kolibri.h 369: EBX = x << 16 + sizeX; +0000009C 8B5D1C mov ebx,[ebp+1Ch] +0000009F C1E310 shl ebx,10h +000000A2 035D14 add ebx,[ebp+14h] + +..\lib\kolibri.h 370: ECX = y << 16 + sizeY; +000000A5 8B4D18 mov ecx,[ebp+18h] +000000A8 C1E110 shl ecx,10h +000000AB 034D10 add ecx,[ebp+10h] + +..\lib\kolibri.h 371: EDX = WindowType << 24 | WindowAreaColor; +000000AE 0FB6550C movzx edx,[ebp+0Ch] +000000B2 C1E218 shl edx,18h +000000B5 0B5508 or edx,[ebp+8] + +..\lib\kolibri.h 372: $int 0x40 +000000B8 CD40 int 40h + +..\lib\kolibri.h 374: EAX = 12; // function 12:tell os about windowdraw +000000BA 6A0C push 0Ch +000000BC 58 pop eax + +..\lib\kolibri.h 375: EBX = 2; +000000BD 6A02 push 2 +000000BF 5B pop ebx + +..\lib\kolibri.h 376: $int 0x40 +000000C0 CD40 int 40h +000000C2 5D pop ebp +000000C3 C21800 ret 18h + +..\lib\kolibri.h 392: void WriteTextB(dword x,y,byte fontType, dword color, EDX) +000000C6 55 push ebp +000000C7 89E5 mov ebp,esp + +..\lib\kolibri.h 394: EAX = 4; +000000C9 6A04 push 4 +000000CB 58 pop eax + +..\lib\kolibri.h 395: EBX = x<<16+y; +000000CC 8B5D14 mov ebx,[ebp+14h] +000000CF C1E310 shl ebx,10h +000000D2 035D10 add ebx,[ebp+10h] + +..\lib\kolibri.h 396: ECX = fontType<<24+color; +000000D5 0FB64D0C movzx ecx,[ebp+0Ch] +000000D9 C1E118 shl ecx,18h +000000DC 034D08 add ecx,[ebp+8] + +..\lib\kolibri.h 397: ESI = 0; +000000DF 31F6 xor esi,esi + +..\lib\kolibri.h 398: $int 0x40; +000000E1 CD40 int 40h + +..\lib\kolibri.h 399: $add ebx, 1<<16 +000000E3 81C300000100 add ebx,10000h + +..\lib\kolibri.h 400: $int 0x40 +000000E9 CD40 int 40h +000000EB 5D pop ebp +000000EC C21000 ret 10h + +..\lib\kolibri.h 403: void WriteText(dword x,y,byte fontType, dword color, EDX) +000000EF 55 push ebp +000000F0 89E5 mov ebp,esp + +..\lib\kolibri.h 405: EAX = 4; +000000F2 6A04 push 4 +000000F4 58 pop eax + +..\lib\kolibri.h 406: EBX = x<<16+y; +000000F5 8B5D14 mov ebx,[ebp+14h] +000000F8 C1E310 shl ebx,10h +000000FB 035D10 add ebx,[ebp+10h] + +..\lib\kolibri.h 407: ECX = fontType<<24+color; +000000FE 0FB64D0C movzx ecx,[ebp+0Ch] +00000102 C1E118 shl ecx,18h +00000105 034D08 add ecx,[ebp+8] + +..\lib\kolibri.h 408: ESI = 0; +00000108 31F6 xor esi,esi + +..\lib\kolibri.h 409: $int 0x40; +0000010A CD40 int 40h +0000010C 5D pop ebp +0000010D C21000 ret 10h + +..\lib\kolibri.h 412: void WriteNumber(dword x,y,byte fontType, dword color, count, ECX) +00000110 55 push ebp +00000111 89E5 mov ebp,esp + +..\lib\kolibri.h 414: EAX = 47; +00000113 6A2F push 2Fh +00000115 58 pop eax + +..\lib\kolibri.h 415: EBX = count<<16; +00000116 8B5D08 mov ebx,[ebp+8] +00000119 C1E310 shl ebx,10h + +..\lib\kolibri.h 416: EDX = x<<16+y; +0000011C 8B5518 mov edx,[ebp+18h] +0000011F C1E210 shl edx,10h +00000122 035514 add edx,[ebp+14h] + +..\lib\kolibri.h 417: ESI = fontType<<24+color; +00000125 0FB67510 movzx esi,[ebp+10h] +00000129 C1E618 shl esi,18h +0000012C 03750C add esi,[ebp+0Ch] + +..\lib\kolibri.h 418: $int 0x40; +0000012F CD40 int 40h +00000131 5D pop ebp +00000132 C21400 ret 14h + +..\lib\kolibri.h 421: void CopyScreen(dword EBX, x, y, w, h) +00000135 55 push ebp +00000136 89E5 mov ebp,esp + +..\lib\kolibri.h 423: EAX = 36; +00000138 6A24 push 24h +0000013A 58 pop eax + +..\lib\kolibri.h 424: ECX = w << 16 + h; +0000013B 8B4D0C mov ecx,[ebp+0Ch] +0000013E C1E110 shl ecx,10h +00000141 034D08 add ecx,[ebp+8] + +..\lib\kolibri.h 425: EDX = x << 16 + y; +00000144 8B5514 mov edx,[ebp+14h] +00000147 C1E210 shl edx,10h +0000014A 035510 add edx,[ebp+10h] + +..\lib\kolibri.h 426: $int 0x40; +0000014D CD40 int 40h +0000014F 5D pop ebp +00000150 C21000 ret 10h + +..\lib\kolibri.h 429: dword GetPixelColor(dword x, x_size, y) +00000153 55 push ebp +00000154 89E5 mov ebp,esp + +..\lib\kolibri.h 431: $mov eax, 35 +00000156 B823000000 mov eax,23h + +..\lib\kolibri.h 432: EBX= y*x_size+x; +0000015B 8B5D08 mov ebx,[ebp+8] +0000015E 0FAF5D0C imul ebx,[ebp+0Ch] +00000162 035D10 add ebx,[ebp+10h] + +..\lib\kolibri.h 433: $int 0x40 +00000165 CD40 int 40h +00000167 5D pop ebp +00000168 C20C00 ret 0Ch + +..\lib\kolibri.h 437: void _PutImage(dword x,y, w,h, EBX) +0000016B 55 push ebp +0000016C 89E5 mov ebp,esp + +..\lib\kolibri.h 439: EAX = 7; +0000016E 6A07 push 7 +00000170 58 pop eax + +..\lib\kolibri.h 440: ECX = w<<16+h; +00000171 8B4D0C mov ecx,[ebp+0Ch] +00000174 C1E110 shl ecx,10h +00000177 034D08 add ecx,[ebp+8] + +..\lib\kolibri.h 441: EDX = x<<16+y; +0000017A 8B5514 mov edx,[ebp+14h] +0000017D C1E210 shl edx,10h +00000180 035510 add edx,[ebp+10h] + +..\lib\kolibri.h 442: $int 0x40 +00000183 CD40 int 40h +00000185 5D pop ebp +00000186 C21000 ret 10h + +..\lib\kolibri.h 445: void PutPaletteImage(dword EBX,w,h,x,y,ESI,EDI) +00000189 55 push ebp +0000018A 89E5 mov ebp,esp + +..\lib\kolibri.h 447: EAX = 65; +0000018C 6A41 push 41h +0000018E 58 pop eax + +..\lib\kolibri.h 448: ECX = w<<16+h; +0000018F 8B4D14 mov ecx,[ebp+14h] +00000192 C1E110 shl ecx,10h +00000195 034D10 add ecx,[ebp+10h] + +..\lib\kolibri.h 449: EDX = x<<16+y; +00000198 8B550C mov edx,[ebp+0Ch] +0000019B C1E210 shl edx,10h +0000019E 035508 add edx,[ebp+8] + +..\lib\kolibri.h 450: EBP = 0; +000001A1 31ED xor ebp,ebp + +..\lib\kolibri.h 451: $int 0x40 +000001A3 CD40 int 40h +000001A5 5D pop ebp +000001A6 C21000 ret 10h + +..\lib\kolibri.h 460: void DrawBar(dword x,y,w,h,EDX) +000001A9 55 push ebp +000001AA 89E5 mov ebp,esp + +..\lib\kolibri.h 462: if (h<=0) || (h>60000) || (w<=0) || (w>60000) return; //bad boy :) +000001AC 837D0800 cmp dword ptr [ebp+8],0 +000001B0 7618 jbe 1CAh +000001B2 817D0860EA0000 cmp dword ptr [ebp+8],0EA60h +000001B9 770F ja 1CAh +000001BB 837D0C00 cmp dword ptr [ebp+0Ch],0 +000001BF 7609 jbe 1CAh +000001C1 817D0C60EA0000 cmp dword ptr [ebp+0Ch],0EA60h +000001C8 7605 jbe 1CFh +000001CA E917000000 jmp 1E6h + +..\lib\kolibri.h 463: EAX = 13; +000001CF 6A0D push 0Dh +000001D1 58 pop eax + +..\lib\kolibri.h 464: EBX = x<<16+w; +000001D2 8B5D14 mov ebx,[ebp+14h] +000001D5 C1E310 shl ebx,10h +000001D8 035D0C add ebx,[ebp+0Ch] + +..\lib\kolibri.h 465: ECX = y<<16+h; +000001DB 8B4D10 mov ecx,[ebp+10h] +000001DE C1E110 shl ecx,10h +000001E1 034D08 add ecx,[ebp+8] + +..\lib\kolibri.h 466: $int 0x40 +000001E4 CD40 int 40h +000001E6 5D pop ebp +000001E7 C21000 ret 10h + +..\lib\kolibri.h 469: void DefineButton(dword x,y,w,h,EDX,ESI) +000001EA 55 push ebp +000001EB 89E5 mov ebp,esp + +..\lib\kolibri.h 471: EAX = 8; +000001ED 6A08 push 8 +000001EF 58 pop eax + +..\lib\kolibri.h 472: $push edx +000001F0 52 push edx + +..\lib\kolibri.h 473: EDX += BT_DEL; +000001F1 8D9200000080 lea edx,[edx-80000000h] + +..\lib\kolibri.h 474: $int 0x40; +000001F7 CD40 int 40h + +..\lib\kolibri.h 475: $pop edx +000001F9 5A pop edx + +..\lib\kolibri.h 476: EBX = x<<16+w; +000001FA 8B5D14 mov ebx,[ebp+14h] +000001FD C1E310 shl ebx,10h +00000200 035D0C add ebx,[ebp+0Ch] + +..\lib\kolibri.h 477: ECX = y<<16+h; +00000203 8B4D10 mov ecx,[ebp+10h] +00000206 C1E110 shl ecx,10h +00000209 034D08 add ecx,[ebp+8] + +..\lib\kolibri.h 478: $int 0x40 +0000020C CD40 int 40h +0000020E 5D pop ebp +0000020F C21000 ret 10h + +..\lib\kolibri.h 481: void UnsafeDefineButton(dword x,y,w,h,EDX,ESI) +00000212 55 push ebp +00000213 89E5 mov ebp,esp + +..\lib\kolibri.h 483: EAX = 8; +00000215 6A08 push 8 +00000217 58 pop eax + +..\lib\kolibri.h 484: EBX = x<<16+w; +00000218 8B5D14 mov ebx,[ebp+14h] +0000021B C1E310 shl ebx,10h +0000021E 035D0C add ebx,[ebp+0Ch] + +..\lib\kolibri.h 485: ECX = y<<16+h; +00000221 8B4D10 mov ecx,[ebp+10h] +00000224 C1E110 shl ecx,10h +00000227 034D08 add ecx,[ebp+8] + +..\lib\kolibri.h 486: $int 0x40 +0000022A CD40 int 40h +0000022C 5D pop ebp +0000022D C21000 ret 10h + +..\lib\strings.h 149: int chrnum(dword searchin, char symbol) +00000230 55 push ebp +00000231 89E5 mov ebp,esp +00000233 6A00 push 0 + +..\lib\strings.h 152: while(DSBYTE[searchin]) +00000235 E914000000 jmp 24Eh + +..\lib\strings.h 154: if (DSBYTE[searchin] == symbol) num++; +0000023A 8A4508 mov al,[ebp+8] +0000023D 8B750C mov esi,[ebp+0Ch] +00000240 3806 cmp [esi],al +00000242 0F8503000000 jnz 24Bh +00000248 FF45FC inc dword ptr [ebp-4] + +..\lib\strings.h 155: searchin++; +0000024B FF450C inc dword ptr [ebp+0Ch] + +..\lib\strings.h 152: while(DSBYTE[searchin]) +0000024E 8B750C mov esi,[ebp+0Ch] +00000251 803E00 cmp byte ptr [esi],0 +00000254 75E4 jne 23Ah + +..\lib\strings.h 157: return num; +00000256 8B45FC mov eax,[ebp-4] +00000259 C9 leave +0000025A C20800 ret 8 + +..\lib\strings.h 201: dword strstri(dword searchin, usestr_s) +0000025D 55 push ebp +0000025E 89E5 mov ebp,esp +00000260 FF7508 push dword ptr [ebp+8] +00000263 51 push ecx +00000264 51 push ecx + +..\lib\strings.h 206: while(DSBYTE[searchin]) +00000265 E96D000000 jmp 2D7h + +..\lib\strings.h 208: si = DSBYTE[searchin]; +0000026A 8B750C mov esi,[ebp+0Ch] +0000026D 8A06 mov al,[esi] +0000026F 8845F8 mov [ebp-8],al + +..\lib\strings.h 209: ue = DSBYTE[usestr_e]; +00000272 8B75FC mov esi,[ebp-4] +00000275 8A06 mov al,[esi] +00000277 8845F4 mov [ebp-0Ch],al + +..\lib\strings.h 210: if (si>='A') && (si<='Z') si +=32; +0000027A 807DF841 cmp byte ptr [ebp-8],41h +0000027E 0F8C0E000000 jl 292h +00000284 807DF85A cmp byte ptr [ebp-8],5Ah +00000288 0F8F04000000 jg 292h +0000028E 8045F820 add byte ptr [ebp-8],20h + +..\lib\strings.h 211: if (ue>='A') && (ue<='Z') ue +=32; +00000292 3C41 cmp al,41h +00000294 0F8C0C000000 jl 2A6h +0000029A 3C5A cmp al,5Ah +0000029C 0F8F04000000 jg 2A6h +000002A2 8045F420 add byte ptr [ebp-0Ch],20h + +..\lib\strings.h 212: if (si == ue) usestr_e++; else usestr_e = usestr_s; +000002A6 8A45F4 mov al,[ebp-0Ch] +000002A9 3845F8 cmp [ebp-8],al +000002AC 0F8508000000 jnz 2BAh +000002B2 FF45FC inc dword ptr [ebp-4] +000002B5 E906000000 jmp 2C0h +000002BA 8B4508 mov eax,[ebp+8] +000002BD 8945FC mov [ebp-4],eax + +..\lib\strings.h 213: searchin++; +000002C0 FF450C inc dword ptr [ebp+0Ch] + +..\lib\strings.h 214: if (DSBYTE[usestr_e]=='\0') return searchin; +000002C3 8B75FC mov esi,[ebp-4] +000002C6 803E00 cmp byte ptr [esi],0 +000002C9 0F8508000000 jnz 2D7h +000002CF 8B450C mov eax,[ebp+0Ch] +000002D2 E90A000000 jmp 2E1h + +..\lib\strings.h 206: while(DSBYTE[searchin]) +000002D7 8B750C mov esi,[ebp+0Ch] +000002DA 803E00 cmp byte ptr [esi],0 +000002DD 758B jne 26Ah + +..\lib\strings.h 216: return 0; +000002DF 31C0 xor eax,eax +000002E1 C9 leave +000002E2 C20800 ret 8 + +..\lib\strings.h 220: void strcpyb(dword search_in, copyin, startstr, endstr) +000002E5 C8080000 enter 8,0 + +..\lib\strings.h 223: startp = strstr(search_in, startstr) + strlen(startstr); +000002E9 8B5D14 mov ebx,[ebp+14h] +000002EC 8B550C mov edx,[ebp+0Ch] +000002EF E849230000 call 263Dh +000002F4 50 push eax +000002F5 8B7D0C mov edi,[ebp+0Ch] +000002F8 E822240000 call 271Fh +000002FD 5A pop edx +000002FE 01D0 add eax,edx +00000300 8945FC mov [ebp-4],eax + +..\lib\strings.h 224: endp = strstri(startp, endstr); +00000303 50 push eax +00000304 FF7508 push dword ptr [ebp+8] +00000307 E851FFFFFF call 25Dh +0000030C 8945F8 mov [ebp-8],eax + +..\lib\strings.h 225: if (startp==endp) return; +0000030F 3945FC cmp [ebp-4],eax +00000312 0F841E000000 jz 336h + +..\lib\strings.h 228: DSBYTE[copyin] = DSBYTE[startp]; +00000318 8B75FC mov esi,[ebp-4] +0000031B 8A06 mov al,[esi] +0000031D 8B7510 mov esi,[ebp+10h] +00000320 8806 mov [esi],al + +..\lib\strings.h 229: copyin++; +00000322 FF4510 inc dword ptr [ebp+10h] + +..\lib\strings.h 230: startp++; +00000325 FF45FC inc dword ptr [ebp-4] + +..\lib\strings.h 232: while (startp='0') && (ch<='9')) ch -= '0'; +0000052E 807DF430 cmp byte ptr [ebp-0Ch],30h +00000532 7C0A jl 53Eh +00000534 807DF439 cmp byte ptr [ebp-0Ch],39h +00000538 7F04 jg 53Eh +0000053A 806DF430 sub byte ptr [ebp-0Ch],30h + +..\lib\encoding.h 167: IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; +0000053E 807DF441 cmp byte ptr [ebp-0Ch],41h +00000542 7C0A jl 54Eh +00000544 807DF446 cmp byte ptr [ebp-0Ch],46h +00000548 7F04 jg 54Eh +0000054A 806DF437 sub byte ptr [ebp-0Ch],37h + +..\lib\encoding.h 168: IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; +0000054E 807DF461 cmp byte ptr [ebp-0Ch],61h +00000552 7C0A jl 55Eh +00000554 807DF466 cmp byte ptr [ebp-0Ch],66h +00000558 7F04 jg 55Eh +0000055A 806DF457 sub byte ptr [ebp-0Ch],57h + +..\lib\encoding.h 169: symbol = symbol*0x10 + ch; +0000055E 8B45F8 mov eax,[ebp-8] +00000561 C1E004 shl eax,4 +00000564 0FBE4DF4 movsx ecx,[ebp-0Ch] +00000568 01C8 add eax,ecx +0000056A 8945F8 mov [ebp-8],eax + +..\lib\encoding.h 162: j++; +0000056D FF45FC inc dword ptr [ebp-4] +00000570 EB9E jmp short 510h + +..\lib\encoding.h 171: wintodos(#symbol); +00000572 8D75F8 lea esi,[ebp-8] +00000575 E800210000 call 267Ah + +..\lib\encoding.h 172: AL=symbol; +0000057A 8A45F8 mov al,[ebp-8] +0000057D C9 leave +0000057E C20400 ret 4 + +..\lib\file_system.h 31: signed int RunProgram(dword run_path, run_param) +00000581 55 push ebp +00000582 89E5 mov ebp,esp + +..\lib\file_system.h 33: run_file_70.func = 7; +00000584 6A07 push 7 +00000586 8F053E4C0000 pop dword ptr [4C3Eh] + +..\lib\file_system.h 34: run_file_70.param1 = +0000058C 31C0 xor eax,eax +0000058E A2524C0000 mov [4C52h],al +00000593 A34E4C0000 mov [4C4Eh],eax +00000598 A34A4C0000 mov [4C4Ah],eax +0000059D A3424C0000 mov [4C42h],eax + +..\lib\file_system.h 38: run_file_70.param2 = run_param; +000005A2 8B4508 mov eax,[ebp+8] +000005A5 A3464C0000 mov [4C46h],eax + +..\lib\file_system.h 39: run_file_70.name = run_path; +000005AA 8B450C mov eax,[ebp+0Ch] +000005AD A3534C0000 mov [4C53h],eax + +..\lib\file_system.h 40: $mov eax,70 +000005B2 B846000000 mov eax,46h + +..\lib\file_system.h 41: $mov ebx,#run_file_70.func +000005B7 BB3E4C0000 mov ebx,4C3Eh + +..\lib\file_system.h 42: $int 0x40 +000005BC CD40 int 40h +000005BE 5D pop ebp +000005BF C20800 ret 8 + +..\lib\file_system.h 226: void notify(dword notify_param) +000005C2 55 push ebp +000005C3 89E5 mov ebp,esp + +..\lib\file_system.h 228: RunProgram("@notify", notify_param); +000005C5 68D6050000 push 5D6h +000005CA FF7508 push dword ptr [ebp+8] +000005CD E8AFFFFFFF call 581h +000005D2 5D pop ebp +000005D3 C20400 ret 4 + +000005D6 406E6F7469667900 db '@notify',0 + +..\lib\mem.h 4: $push ebx +000005DE 53 push ebx + +..\lib\mem.h 5: $mov eax, 68 +000005DF B844000000 mov eax,44h + +..\lib\mem.h 6: $mov ebx, 11 +000005E4 BB0B000000 mov ebx,0Bh + +..\lib\mem.h 7: $int 0x40 +000005E9 CD40 int 40h + +..\lib\mem.h 9: $pop ebx +000005EB 5B pop ebx + +..\lib\mem.h 10: return EAX; +000005EC C3 ret + +..\lib\mem.h 13: dword malloc(dword size) +000005ED 55 push ebp +000005EE 89E5 mov ebp,esp + +..\lib\mem.h 15: $push ebx +000005F0 53 push ebx + +..\lib\mem.h 16: $push ecx +000005F1 51 push ecx + +..\lib\mem.h 17: $mov eax, 68 +000005F2 B844000000 mov eax,44h + +..\lib\mem.h 18: $mov ebx, 12 +000005F7 BB0C000000 mov ebx,0Ch + +..\lib\mem.h 19: $mov ecx, size +000005FC 8B4D08 mov ecx,[ebp+8] + +..\lib\mem.h 20: $int 0x40 +000005FF CD40 int 40h + +..\lib\mem.h 22: $pop ecx +00000601 59 pop ecx + +..\lib\mem.h 23: $pop ebx +00000602 5B pop ebx + +..\lib\mem.h 24: return EAX; +00000603 5D pop ebp +00000604 C20400 ret 4 + +..\lib\mem.h 27: stdcall dword realloc(dword mptr, size) +00000607 55 push ebp +00000608 89E5 mov ebp,esp + +..\lib\mem.h 29: $push ebx +0000060A 53 push ebx + +..\lib\mem.h 30: $push ecx +0000060B 51 push ecx + +..\lib\mem.h 31: $push edx +0000060C 52 push edx + +..\lib\mem.h 32: $mov eax, 68 +0000060D B844000000 mov eax,44h + +..\lib\mem.h 33: $mov ebx, 20 +00000612 BB14000000 mov ebx,14h + +..\lib\mem.h 34: $mov ecx, size +00000617 8B4D0C mov ecx,[ebp+0Ch] + +..\lib\mem.h 35: $mov edx, mptr +0000061A 8B5508 mov edx,[ebp+8] + +..\lib\mem.h 36: $int 0x40 +0000061D CD40 int 40h + +..\lib\mem.h 38: $pop edx +0000061F 5A pop edx + +..\lib\mem.h 39: $pop ecx +00000620 59 pop ecx + +..\lib\mem.h 40: $pop ebx +00000621 5B pop ebx + +..\lib\mem.h 41: return EAX; +00000622 5D pop ebp +00000623 C20800 ret 8 + +..\lib\mem.h 44: dword free(dword mptr) +00000626 55 push ebp +00000627 89E5 mov ebp,esp + +..\lib\mem.h 46: $push eax +00000629 50 push eax + +..\lib\mem.h 47: $push ebx +0000062A 53 push ebx + +..\lib\mem.h 48: $push ecx +0000062B 51 push ecx + +..\lib\mem.h 49: $mov eax, 68 +0000062C B844000000 mov eax,44h + +..\lib\mem.h 50: $mov ebx, 13 +00000631 BB0D000000 mov ebx,0Dh + +..\lib\mem.h 51: $mov ecx, mptr +00000636 8B4D08 mov ecx,[ebp+8] + +..\lib\mem.h 52: $test ecx, ecx +00000639 85C9 test ecx,ecx + +..\lib\mem.h 53: $jz end0 +0000063B 7402 je 63Fh + +..\lib\mem.h 54: $int 0x40 +0000063D CD40 int 40h + +..\lib\mem.h 56: $pop ecx +0000063F 59 pop ecx + +..\lib\mem.h 57: $pop ebx +00000640 5B pop ebx + +..\lib\mem.h 58: $pop eax +00000641 58 pop eax + +..\lib\mem.h 59: return 0; +00000642 31C0 xor eax,eax +00000644 5D pop ebp +00000645 C20400 ret 4 + +..\lib\dll.h 2: char a_libdir[43] = "/sys/lib/\0"; +00000648 2F7379732F6C69622F000000 db '/sys/lib/',0,0,0 +00000654 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0 +00000660 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0 +0000066C 00000000000000 db 0,0,0,0,0,0,0 + +..\lib\dll.h 6: int dll_Load(dword import_table) +00000673 55 push ebp +00000674 89E5 mov ebp,esp + +..\lib\dll.h 8: $mov esi, import_table +00000676 8B7508 mov esi,[ebp+8] + +..\lib\dll.h 9: @next_lib: $mov edx, DSDWORD[esi] +00000679 8B16 mov edx,[esi] + +..\lib\dll.h 10: $or edx,edx +0000067B 0BD2 or edx,edx + +..\lib\dll.h 11: $jz exit_ +0000067D 744B je 6CAh + +..\lib\dll.h 12: $push esi +0000067F 56 push esi + +..\lib\dll.h 13: $mov esi,DSDWORD[esi+4] +00000680 8B7604 mov esi,[esi+4] + +..\lib\dll.h 14: $mov edi,#a_libdir +00000683 BF48060000 mov edi,648h + +..\lib\dll.h 16: $push edi +00000688 57 push edi + +..\lib\dll.h 17: $push esi +00000689 56 push esi + +..\lib\dll.h 18: EAX=strlen(#a_libdir); +0000068A BF48060000 mov edi,648h +0000068F E88B200000 call 271Fh + +..\lib\dll.h 19: $pop esi +00000694 5E pop esi + +..\lib\dll.h 20: $pop edi +00000695 5F pop edi + +..\lib\dll.h 21: $add edi, eax //9 +00000696 03F8 add edi,eax + +..\lib\dll.h 23: @loc01: $lodsb +00000698 AC lodsb + +..\lib\dll.h 24: $stosb +00000699 AA stosb + +..\lib\dll.h 25: $or al,al +0000069A 0AC0 or al,al + +..\lib\dll.h 26: $jnz loc01 +0000069C 75FA jne 698h + +..\lib\dll.h 33: $mov eax, 68 +0000069E B844000000 mov eax,44h + +..\lib\dll.h 34: $mov ebx, 19 +000006A3 BB13000000 mov ebx,13h + +..\lib\dll.h 35: $mov ecx,#a_libdir +000006A8 B948060000 mov ecx,648h + +..\lib\dll.h 36: $int 0x40 +000006AD CD40 int 40h + +..\lib\dll.h 38: $or eax,eax +000006AF 0BC0 or eax,eax + +..\lib\dll.h 39: $jz fail +000006B1 741F je 6D2h + +..\lib\dll.h 41: dll_Link(EAX, EDX); +000006B3 50 push eax +000006B4 52 push edx +000006B5 E825000000 call 6DFh + +..\lib\dll.h 42: $push eax +000006BA 50 push eax + +..\lib\dll.h 43: $mov eax, DSDWORD [eax] +000006BB 8B00 mov eax,[eax] + +..\lib\dll.h 44: $cmp DSDWORD [eax], 'lib_' +000006BD 81385F62696C cmp dword ptr [eax],6C69625Fh + +..\lib\dll.h 45: $pop eax +000006C3 58 pop eax + +..\lib\dll.h 54: $pop esi +000006C4 5E pop esi + +..\lib\dll.h 55: $add esi,8 +000006C5 83C608 add esi,8 + +..\lib\dll.h 56: $jmp next_lib +000006C8 EBAF jmp short 679h + +..\lib\dll.h 57: @exit_: $xor eax,eax +000006CA 33C0 xor eax,eax + +..\lib\dll.h 58: return 0; +000006CC 31C0 xor eax,eax +000006CE 5D pop ebp +000006CF C20400 ret 4 + +..\lib\dll.h 59: @fail: $add esp,4 +000006D2 83C404 add esp,4 + +..\lib\dll.h 60: $xor eax,eax +000006D5 33C0 xor eax,eax + +..\lib\dll.h 61: $inc eax +000006D7 40 inc eax + +..\lib\dll.h 62: return -1; +000006D8 83C8FF or eax,0FFFFFFFFh +000006DB 5D pop ebp +000006DC C20400 ret 4 + +..\lib\dll.h 66: void dll_Link(dword exp, imp) +000006DF 55 push ebp +000006E0 89E5 mov ebp,esp + +..\lib\dll.h 68: $push eax +000006E2 50 push eax + +..\lib\dll.h 69: $mov esi, imp +000006E3 8B7508 mov esi,[ebp+8] + +..\lib\dll.h 70: $test esi, esi +000006E6 85F6 test esi,esi + +..\lib\dll.h 71: $jz done +000006E8 741F je 709h + +..\lib\dll.h 72: @next: $lodsd +000006EA AD lodsd + +..\lib\dll.h 73: $test eax,eax +000006EB 85C0 test eax,eax + +..\lib\dll.h 74: $jz done +000006ED 741A je 709h + +..\lib\dll.h 77: dll_GetProcAddress(exp,EAX); +000006EF FF750C push dword ptr [ebp+0Ch] +000006F2 50 push eax +000006F3 E839000000 call 731h + +..\lib\dll.h 78: $or eax,eax +000006F8 0BC0 or eax,eax + +..\lib\dll.h 79: $jz loc03 +000006FA 7405 je 701h + +..\lib\dll.h 81: $mov DSDWORD[esi-4],eax +000006FC 8946FC mov [esi-4],eax + +..\lib\dll.h 82: $jmp next +000006FF EBE9 jmp short 6EAh + +..\lib\dll.h 84: $mov DSDWORD[esp],0 +00000701 3EC7042400000000 mov dword ptr ds:[esp],0 + +..\lib\dll.h 85: @done: $pop eax +00000709 58 pop eax +0000070A 5D pop ebp +0000070B C20800 ret 8 + +..\lib\dll.h 89: void dll_Init(dword dllentry) +0000070E 55 push ebp +0000070F 89E5 mov ebp,esp + +..\lib\dll.h 91: $pushad +00000711 60 pushad + +..\lib\dll.h 92: EAX=#mem_Alloc; +00000712 B8ED050000 mov eax,5EDh + +..\lib\dll.h 93: EBX=#mem_Free; +00000717 BB26060000 mov ebx,626h + +..\lib\dll.h 94: ECX=#mem_ReAlloc; +0000071C B907060000 mov ecx,607h + +..\lib\dll.h 95: EDX=#dll_Load; +00000721 BA73060000 mov edx,673h + +..\lib\dll.h 96: DSDWORD [dllentry+4] stdcall (); +00000726 8B7508 mov esi,[ebp+8] +00000729 FF5604 call dword ptr [esi+4] + +..\lib\dll.h 97: $popad +0000072C 61 popad +0000072D 5D pop ebp +0000072E C20400 ret 4 + +..\lib\dll.h 101: dword dll_GetProcAddress(dword exp, sz_name) +00000731 55 push ebp +00000732 89E5 mov ebp,esp + +..\lib\dll.h 103: $push esi +00000734 56 push esi + +..\lib\dll.h 104: $mov edx, exp +00000735 8B550C mov edx,[ebp+0Ch] + +..\lib\dll.h 105: $xor eax,eax +00000738 33C0 xor eax,eax + +..\lib\dll.h 106: @next: $or edx,edx +0000073A 0BD2 or edx,edx + +..\lib\dll.h 107: $jz end_ +0000073C 741B je 759h + +..\lib\dll.h 108: $cmp edx,0 +0000073E 83FA00 cmp edx,0 + +..\lib\dll.h 109: $jz end_ +00000741 7416 je 759h + +..\lib\dll.h 110: strcmp(DSDWORD[EDX],sz_name); +00000743 8B32 mov esi,[edx] +00000745 8B7D08 mov edi,[ebp+8] +00000748 E8B11E0000 call 25FEh + +..\lib\dll.h 111: $test eax,eax +0000074D 85C0 test eax,eax + +..\lib\dll.h 112: $jz ok +0000074F 7405 je 756h + +..\lib\dll.h 113: $add edx,8 +00000751 83C208 add edx,8 + +..\lib\dll.h 114: $jmp next +00000754 EBE4 jmp short 73Ah + +..\lib\dll.h 116: $mov eax, DSDWORD[edx+4] +00000756 8B4204 mov eax,[edx+4] + +..\lib\dll.h 118: $pop esi +00000759 5E pop esi + +..\lib\dll.h 119: return EAX; +0000075A 5D pop ebp +0000075B C20800 ret 8 + +..\lib\dll.h 123: int load_dll2(dword dllname, import_table, byte need_init) +0000075E 55 push ebp +0000075F 89E5 mov ebp,esp + +..\lib\dll.h 127: $mov eax, 68 +00000761 B844000000 mov eax,44h + +..\lib\dll.h 128: $mov ebx, 19 +00000766 BB13000000 mov ebx,13h + +..\lib\dll.h 129: ECX=dllname; +0000076B 8B4D10 mov ecx,[ebp+10h] + +..\lib\dll.h 130: $int 0x40 +0000076E CD40 int 40h + +..\lib\dll.h 131: $test eax, eax +00000770 85C0 test eax,eax + +..\lib\dll.h 132: $jz exit01 +00000772 7442 je 7B6h + +..\lib\dll.h 135: $mov edx,eax +00000774 89C2 mov edx,eax + +..\lib\dll.h 136: ESI=import_table; +00000776 8B750C mov esi,[ebp+0Ch] + +..\lib\dll.h 139: $lodsd +00000779 AD lodsd + +..\lib\dll.h 140: $test eax,eax +0000077A 85C0 test eax,eax + +..\lib\dll.h 141: $jz import_done01 +0000077C 7426 je 7A4h + +..\lib\dll.h 142: $push edx +0000077E 52 push edx + +..\lib\dll.h 144: $mov ebx,DSDWORD[EDX] +0000077F 8B1A mov ebx,[edx] + +..\lib\dll.h 145: $test ebx, ebx +00000781 85DB test ebx,ebx + +..\lib\dll.h 146: $jz exit01 +00000783 7431 je 7B6h + +..\lib\dll.h 147: $push eax +00000785 50 push eax + +..\lib\dll.h 149: $mov cl,DSBYTE[EAX]; +00000786 8A08 mov cl,[eax] + +..\lib\dll.h 150: $cmp cl,DSBYTE[EBX]; +00000788 3A0B cmp cl,[ebx] + +..\lib\dll.h 151: $jnz import_find_next01 +0000078A 7508 jne 794h + +..\lib\dll.h 152: $test cl,cl +0000078C 84C9 test cl,cl + +..\lib\dll.h 153: $jz import_found01 +0000078E 740A je 79Ah + +..\lib\dll.h 154: $inc eax +00000790 40 inc eax + +..\lib\dll.h 155: $inc ebx +00000791 43 inc ebx + +..\lib\dll.h 156: $jmp nex101 +00000792 EBF2 jmp short 786h + +..\lib\dll.h 158: $pop eax +00000794 58 pop eax + +..\lib\dll.h 159: $add edx, 8 +00000795 83C208 add edx,8 + +..\lib\dll.h 160: $jmp import_find01 +00000798 EBE5 jmp short 77Fh + +..\lib\dll.h 162: $pop eax +0000079A 58 pop eax + +..\lib\dll.h 163: $mov eax,DSDWORD[edx+4] +0000079B 8B4204 mov eax,[edx+4] + +..\lib\dll.h 164: $mov DSDWORD[esi-4],eax +0000079E 8946FC mov [esi-4],eax + +..\lib\dll.h 165: $pop edx +000007A1 5A pop edx + +..\lib\dll.h 167: $jmp import_loop01 +000007A2 EBD5 jmp short 779h + +..\lib\dll.h 169: IF (need_init) dll_Init(EDX); +000007A4 807D0800 cmp byte ptr [ebp+8],0 +000007A8 7406 je 7B0h +000007AA 52 push edx +000007AB E85EFFFFFF call 70Eh + +..\lib\dll.h 170: return 0; +000007B0 31C0 xor eax,eax +000007B2 5D pop ebp +000007B3 C20C00 ret 0Ch + +..\lib\dll.h 172: return -1; +000007B6 83C8FF or eax,0FFFFFFFFh +000007B9 5D pop ebp +000007BA C20C00 ret 0Ch +000007BD 0000 add [eax],al +000007BF 00C4 add ah,al + +..\lib\lib.obj\box_lib.h 2: dword boxlib = #aEdit_box_lib; +000007C0 C4070000 dd 7C4h + +..\lib\lib.obj\box_lib.h 3: char aEdit_box_lib[22]="/sys/lib/box_lib.obj\0"; +000007C4 2F7379732F6C69622F626F78 db '/sys/lib/box' +000007D0 5F6C69622E6F626A00000000 db '_lib.obj',0,0,0,0 + +..\lib\lib.obj\box_lib.h 5: dword box_lib_init = #aboxlib_init; +000007DC 48080000 dd 848h + +..\lib\lib.obj\box_lib.h 7: dword edit_box_draw = #aEdit_box_draw; +000007E0 14080000 dd 814h + +..\lib\lib.obj\box_lib.h 8: dword edit_box_key = #aEdit_box_key; +000007E4 1E080000 dd 81Eh + +..\lib\lib.obj\box_lib.h 9: dword edit_box_mouse = #aEdit_box_mouse; +000007E8 2C080000 dd 82Ch + +..\lib\lib.obj\box_lib.h 10: dword version_ed = #aVersion_ed; +000007EC 3C080000 dd 83Ch + +..\lib\lib.obj\box_lib.h 12: dword scrollbar_v_draw = #aScrollbar_v_draw; +000007F0 52080000 dd 852h + +..\lib\lib.obj\box_lib.h 13: dword scrollbar_v_mouse = #aScrollbar_v_mouse; +000007F4 64080000 dd 864h + +..\lib\lib.obj\box_lib.h 14: dword scrollbar_h_draw = #aScrollbar_h_draw; +000007F8 77080000 dd 877h + +..\lib\lib.obj\box_lib.h 15: dword scrollbar_h_mouse = #aScrollbar_h_mouse; +000007FC 89080000 dd 889h + +..\lib\lib.obj\box_lib.h 16: dword version_scrollbar = #aVersion_scrollbar; +00000800 9C080000 dd 89Ch + +..\lib\lib.obj\box_lib.h 18: dword PathShow_prepare = #aPathShow_prepare; +00000804 0B090000 dd 90Bh + +..\lib\lib.obj\box_lib.h 19: dword PathShow_draw = #aPathShow_draw; +00000808 1D090000 dd 91Dh + +..\lib\lib.obj\box_lib.h 21: dword am__ = 0x0; +0000080C 00000000 dd 0 + +..\lib\lib.obj\box_lib.h 22: dword bm__ = 0x0; +00000810 00000000 dd 0 + +..\lib\lib.obj\box_lib.h 24: char aEdit_box_draw [9] = "edit_box\0"; +00000814 656469745F626F780000 db 'edit_box',0,0 + +..\lib\lib.obj\box_lib.h 25: char aEdit_box_key [13] = "edit_box_key\0"; +0000081E 656469745F626F785F6B6579 db 'edit_box_key' +0000082A 0000 db 0,0 + +..\lib\lib.obj\box_lib.h 26: char aEdit_box_mouse[15] = "edit_box_mouse\0"; +0000082C 656469745F626F785F6D6F75 db 'edit_box_mou' +00000838 73650000 db 'se',0,0 + +..\lib\lib.obj\box_lib.h 27: char aVersion_ed [11] = "version_ed\0"; +0000083C 76657273696F6E5F65640000 db 'version_ed',0,0 + +..\lib\lib.obj\box_lib.h 29: char aboxlib_init[9] = "lib_init\0"; +00000848 6C69625F696E69740000 db 'lib_init',0,0 + +..\lib\lib.obj\box_lib.h 30: char aScrollbar_v_draw [17] = "scrollbar_v_draw\0"; +00000852 7363726F6C6C6261725F765F db 'scrollbar_v_' +0000085E 647261770000 db 'draw',0,0 + +..\lib\lib.obj\box_lib.h 31: char aScrollbar_v_mouse[18] = "scrollbar_v_mouse\0"; +00000864 7363726F6C6C6261725F765F db 'scrollbar_v_' +00000870 6D6F7573650000 db 'mouse',0,0 + +..\lib\lib.obj\box_lib.h 32: char aScrollbar_h_draw [17] = "scrollbar_h_draw\0"; +00000877 7363726F6C6C6261725F685F db 'scrollbar_h_' +00000883 647261770000 db 'draw',0,0 + +..\lib\lib.obj\box_lib.h 33: char aScrollbar_h_mouse[18] = "scrollbar_h_mouse\0"; +00000889 7363726F6C6C6261725F685F db 'scrollbar_h_' +00000895 6D6F7573650000 db 'mouse',0,0 + +..\lib\lib.obj\box_lib.h 34: char aVersion_scrollbar[18] = "version_scrollbar\0"; +0000089C 76657273696F6E5F7363726F db 'version_scro' +000008A8 6C6C6261720000 db 'llbar',0,0 + +..\lib\lib.obj\box_lib.h 36: char aCheck_box_draw [15] = "check_box_draw\0"; +000008AF 636865636B5F626F785F6472 db 'check_box_dr' +000008BB 61770000 db 'aw',0,0 + +..\lib\lib.obj\box_lib.h 37: char aCheck_box_mouse [16] = "check_box_mouse\0"; +000008BF 636865636B5F626F785F6D6F db 'check_box_mo' +000008CB 7573650000 db 'use',0,0 + +..\lib\lib.obj\box_lib.h 38: char aVersion_ch [11] = "version_ch\0"; +000008D0 76657273696F6E5F63680000 db 'version_ch',0,0 + +..\lib\lib.obj\box_lib.h 40: char aOption_box_draw [16] = "option_box_draw\0"; +000008DC 6F7074696F6E5F626F785F64 db 'option_box_d' +000008E8 7261770000 db 'raw',0,0 + +..\lib\lib.obj\box_lib.h 41: char aOption_box_mouse [17] = "option_box_mouse\0"; +000008ED 6F7074696F6E5F626F785F6D db 'option_box_m' +000008F9 6F7573650000 db 'ouse',0,0 + +..\lib\lib.obj\box_lib.h 42: char aVersion_op [11] = "version_op\0" ; +000008FF 76657273696F6E5F6F700000 db 'version_op',0,0 + +..\lib\lib.obj\box_lib.h 44: char aPathShow_prepare [17] = "PathShow_prepare\0"; +0000090B 5061746853686F775F707265 db 'PathShow_pre' +00000917 706172650000 db 'pare',0,0 + +..\lib\lib.obj\box_lib.h 45: char aPathShow_draw [14] = "PathShow_draw\0"; +0000091D 5061746853686F775F647261 db 'PathShow_dra' +00000929 770000 db 'w',0,0 + +..\lib\lib.obj\libio_lib.h 4: dword libio = #alibio; +0000092C 30090000 dd 930h + +..\lib\lib.obj\libio_lib.h 5: char alibio[21] = "/sys/lib/libio.obj\0"; //"libio.obj\0"; +00000930 2F7379732F6C69622F6C6962 db '/sys/lib/lib' +0000093C 696F2E6F626A000000000000 db 'io.obj',0,0,0,0,0,0 + +..\lib\lib.obj\libio_lib.h 7: dword libio_init = #alibio_init; +00000948 64090000 dd 964h + +..\lib\lib.obj\libio_lib.h 8: dword file_size = #afile_size; +0000094C 6E090000 dd 96Eh + +..\lib\lib.obj\libio_lib.h 9: dword file_open = #afile_open; +00000950 79090000 dd 979h + +..\lib\lib.obj\libio_lib.h 10: dword file_read = #afile_read; +00000954 85090000 dd 985h + +..\lib\lib.obj\libio_lib.h 11: dword file_close = #afile_close; +00000958 90090000 dd 990h + +..\lib\lib.obj\libio_lib.h 13: dword am2__ = 0x0; +0000095C 00000000 dd 0 + +..\lib\lib.obj\libio_lib.h 14: dword bm2__ = 0x0; +00000960 00000000 dd 0 + +..\lib\lib.obj\libio_lib.h 18: char alibio_init[9] = "lib_init\0"; +00000964 6C69625F696E69740000 db 'lib_init',0,0 + +..\lib\lib.obj\libio_lib.h 19: char afile_size[11] = "file_size\0"; +0000096E 66696C655F73697A650000 db 'file_size',0,0 + +..\lib\lib.obj\libio_lib.h 20: char afile_open[12] = "file_open\0"; +00000979 66696C655F6F70656E000000 db 'file_open',0,0,0 + +..\lib\lib.obj\libio_lib.h 21: char afile_read[11] = "file_read\0"; +00000985 66696C655F726561640000 db 'file_read',0,0 + +..\lib\lib.obj\libio_lib.h 22: char afile_close[12] = "file_close\0"; +00000990 66696C655F636C6F73650000 db 'file_close',0,0 + +..\lib\lib.obj\libimg_lib.h 4: dword libimg = #alibimg; +0000099C A0090000 dd 9A0h + +..\lib\lib.obj\libimg_lib.h 5: char alibimg[21] = "/sys/lib/libimg.obj\0"; +000009A0 2F7379732F6C69622F6C6962 db '/sys/lib/lib' +000009AC 696D672E6F626A0000000000 db 'img.obj',0,0,0,0,0 + +..\lib\lib.obj\libimg_lib.h 7: dword libimg_init = #alibimg_init; +000009B8 D8090000 dd 9D8h + +..\lib\lib.obj\libimg_lib.h 8: dword img_is_img = #aimg_is_img; +000009BC E2090000 dd 9E2h + +..\lib\lib.obj\libimg_lib.h 9: dword img_to_rgb2 = #aimg_to_rgb2; +000009C0 EE090000 dd 9EEh + +..\lib\lib.obj\libimg_lib.h 10: dword img_decode = #aimg_decode; +000009C4 FB090000 dd 9FBh + +..\lib\lib.obj\libimg_lib.h 11: dword img_destroy = #aimg_destroy; +000009C8 070A0000 dd 0A07h + +..\lib\lib.obj\libimg_lib.h 12: dword img_draw = #aimg_draw; +000009CC 140A0000 dd 0A14h + +..\lib\lib.obj\libimg_lib.h 16: dword am1__ = 0x0; +000009D0 00000000 dd 0 + +..\lib\lib.obj\libimg_lib.h 17: dword bm1__ = 0x0; +000009D4 00000000 dd 0 + +..\lib\lib.obj\libimg_lib.h 20: char alibimg_init[9] = "lib_init\0"; +000009D8 6C69625F696E69740000 db 'lib_init',0,0 + +..\lib\lib.obj\libimg_lib.h 21: char aimg_is_img[11] = "img_is_img\0"; +000009E2 696D675F69735F696D670000 db 'img_is_img',0,0 + +..\lib\lib.obj\libimg_lib.h 22: char aimg_to_rgb2[12] = "img_to_rgb2\0"; +000009EE 696D675F746F5F7267623200 db 'img_to_rgb2',0 +000009FA 00 db 0 + +..\lib\lib.obj\libimg_lib.h 23: char aimg_decode[11] = "img_decode\0"; +000009FB 696D675F6465636F64650000 db 'img_decode',0,0 + +..\lib\lib.obj\libimg_lib.h 24: char aimg_destroy[12] = "img_destroy\0"; +00000A07 696D675F64657374726F7900 db 'img_destroy',0 +00000A13 00 db 0 + +..\lib\lib.obj\libimg_lib.h 25: char aimg_draw[9] = "img_draw\0"; +00000A14 696D675F647261770000 db 'img_draw',0,0 + +..\lib\lib.obj\libimg_lib.h 31: dword load_image(dword filename) +00000A1E 55 push ebp +00000A1F 89E5 mov ebp,esp +00000A21 6A00 push 0 +00000A23 6A00 push 0 +00000A25 6A00 push 0 +00000A27 6A00 push 0 +00000A29 83EC28 sub esp,28h + +..\lib\lib.obj\libimg_lib.h 40: $and img_data, 0 +00000A2C 8365FC00 and dword ptr [ebp-4],0 + +..\lib\lib.obj\libimg_lib.h 44: file_open stdcall (filename, O_READ); +00000A30 6A01 push 1 +00000A32 FF7508 push dword ptr [ebp+8] +00000A35 FF1550090000 call dword ptr [950h] + +..\lib\lib.obj\libimg_lib.h 45: $or eax, eax +00000A3B 0BC0 or eax,eax + +..\lib\lib.obj\libimg_lib.h 46: $jnz loc05 +00000A3D 7507 jne 0A46h + +..\lib\lib.obj\libimg_lib.h 47: $stc +00000A3F F9 stc + +..\lib\lib.obj\libimg_lib.h 48: return 0; +00000A40 31C0 xor eax,eax +00000A42 C9 leave +00000A43 C20400 ret 4 + +..\lib\lib.obj\libimg_lib.h 50: $mov fh, eax +00000A46 8945F4 mov [ebp-0Ch],eax + +..\lib\lib.obj\libimg_lib.h 52: file_size stdcall (filename); +00000A49 FF7508 push dword ptr [ebp+8] +00000A4C FF154C090000 call dword ptr [94Ch] + +..\lib\lib.obj\libimg_lib.h 53: $mov img_data_len, ebx +00000A52 895DF8 mov [ebp-8],ebx + +..\lib\lib.obj\libimg_lib.h 55: mem_Alloc(EBX); +00000A55 53 push ebx +00000A56 E892FBFFFF call 5EDh + +..\lib\lib.obj\libimg_lib.h 57: $test eax, eax +00000A5B 85C0 test eax,eax + +..\lib\lib.obj\libimg_lib.h 58: $jz error_close +00000A5D 7468 je 0AC7h + +..\lib\lib.obj\libimg_lib.h 59: $mov img_data, eax +00000A5F 8945FC mov [ebp-4],eax + +..\lib\lib.obj\libimg_lib.h 61: file_read stdcall (fh, EAX, img_data_len); +00000A62 FF75F8 push dword ptr [ebp-8] +00000A65 50 push eax +00000A66 FF75F4 push dword ptr [ebp-0Ch] +00000A69 FF1554090000 call dword ptr [954h] + +..\lib\lib.obj\libimg_lib.h 62: $cmp eax, -1 +00000A6F 83F8FF cmp eax,0FFFFFFFFh + +..\lib\lib.obj\libimg_lib.h 63: $jz error_close +00000A72 7453 je 0AC7h + +..\lib\lib.obj\libimg_lib.h 64: $cmp eax, img_data_len +00000A74 3B45F8 cmp eax,[ebp-8] + +..\lib\lib.obj\libimg_lib.h 65: $jnz error_close +00000A77 754E jne 0AC7h + +..\lib\lib.obj\libimg_lib.h 67: file_close stdcall (fh); +00000A79 FF75F4 push dword ptr [ebp-0Ch] +00000A7C FF1558090000 call dword ptr [958h] + +..\lib\lib.obj\libimg_lib.h 68: $inc eax +00000A82 40 inc eax + +..\lib\lib.obj\libimg_lib.h 69: $jz error_ +00000A83 744B je 0AD0h + +..\lib\lib.obj\libimg_lib.h 75: EAX=img_data; +00000A85 8B45FC mov eax,[ebp-4] + +..\lib\lib.obj\libimg_lib.h 76: img_decode stdcall (EAX, img_data_len,0); +00000A88 6A00 push 0 +00000A8A FF75F8 push dword ptr [ebp-8] +00000A8D 50 push eax +00000A8E FF15C4090000 call dword ptr [9C4h] + +..\lib\lib.obj\libimg_lib.h 77: $or eax, eax +00000A94 0BC0 or eax,eax + +..\lib\lib.obj\libimg_lib.h 78: $jz error_ +00000A96 7438 je 0AD0h + +..\lib\lib.obj\libimg_lib.h 79: $cmp image, 0 +00000A98 837DF000 cmp dword ptr [ebp-10h],0 + +..\lib\lib.obj\libimg_lib.h 80: $pushf +00000A9C 669C pushf + +..\lib\lib.obj\libimg_lib.h 81: $mov image, eax +00000A9E 8945F0 mov [ebp-10h],eax + +..\lib\lib.obj\libimg_lib.h 83: $popf +00000AA1 669D popf + +..\lib\lib.obj\libimg_lib.h 85: mem_Free(img_data);//free_img_data(img_data); +00000AA3 FF75FC push dword ptr [ebp-4] +00000AA6 E87BFBFFFF call 626h + +..\lib\lib.obj\libimg_lib.h 86: $clc +00000AAB F8 clc + +..\lib\lib.obj\libimg_lib.h 87: return image; +00000AAC 8B45F0 mov eax,[ebp-10h] +00000AAF C9 leave +00000AB0 C20400 ret 4 + +..\lib\lib.obj\libimg_lib.h 91: img_destroy stdcall (image); +00000AB3 FF75F0 push dword ptr [ebp-10h] +00000AB6 FF15C8090000 call dword ptr [9C8h] + +..\lib\lib.obj\libimg_lib.h 92: $jmp error_ +00000ABC E90F000000 jmp 0AD0h + +..\lib\lib.obj\libimg_lib.h 95: $pop eax +00000AC1 58 pop eax + +..\lib\lib.obj\libimg_lib.h 96: $jmp error_ +00000AC2 E909000000 jmp 0AD0h + +..\lib\lib.obj\libimg_lib.h 99: file_close stdcall (fh); +00000AC7 FF75F4 push dword ptr [ebp-0Ch] +00000ACA FF1558090000 call dword ptr [958h] + +..\lib\lib.obj\libimg_lib.h 101: mem_Free(img_data); +00000AD0 FF75FC push dword ptr [ebp-4] +00000AD3 E84EFBFFFF call 626h + +..\lib\lib.obj\libimg_lib.h 102: $stc +00000AD8 F9 stc + +..\lib\lib.obj\libimg_lib.h 103: return 0; +00000AD9 31C0 xor eax,eax +00000ADB C9 leave +00000ADC C20400 ret 4 +00000ADF 00E4 add ah,ah + +..\lib\lib.obj\truetype.h 5: dword libtruetype = #att; +00000AE0 E40A0000 dd 0AE4h + +..\lib\lib.obj\truetype.h 7: char att[] = "/sys/lib/truetype.obj"; //"truetype.obj\0"; +00000AE4 2F7379732F6C69622F747275 db '/sys/lib/tru' +00000AF0 65747970652E6F626A000000 db 'etype.obj',0,0,0 + +..\lib\lib.obj\truetype.h 9: dword truetype = #att_truetype; +00000AFC 180B0000 dd 0B18h + +..\lib\lib.obj\truetype.h 10: dword get_length = #att_get_length; +00000B00 210B0000 dd 0B21h + +..\lib\lib.obj\truetype.h 11: dword get_width = #att_get_width; +00000B04 2C0B0000 dd 0B2Ch + +..\lib\lib.obj\truetype.h 12: dword text_out = #att_text_out; +00000B08 360B0000 dd 0B36h + +..\lib\lib.obj\truetype.h 13: dword init_font = #att_init_font; +00000B0C 3F0B0000 dd 0B3Fh + +..\lib\lib.obj\truetype.h 15: dword am3__ = 0x0; +00000B10 00000000 dd 0 + +..\lib\lib.obj\truetype.h 16: dword bm3__ = 0x0; +00000B14 00000000 dd 0 + +..\lib\lib.obj\truetype.h 20: char att_truetype[] = "truetype"; +00000B18 747275657479706500 db 'truetype',0 + +..\lib\lib.obj\truetype.h 21: char att_get_length[] = "get_length"; +00000B21 6765745F6C656E67746800 db 'get_length',0 + +..\lib\lib.obj\truetype.h 22: char att_get_width[] = "get_width"; +00000B2C 6765745F776964746800 db 'get_width',0 + +..\lib\lib.obj\truetype.h 23: char att_text_out[] = "text_out"; +00000B36 746578745F6F757400 db 'text_out',0 + +..\lib\lib.obj\truetype.h 24: char att_init_font[] = "init_font"; +00000B3F 696E69745F666F6E7400 db 'init_font',0 + +main.c 23: unsigned char logo[LOGOW*LOGOH*3]= FROM "img\logo.raw"; +00000B49 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0 +00000B55 0200003D1700792C00933200 db 2,0,0,3Dh,17h,0,79h,2Ch,0,93h,32h,0 +00000B61 933200792A003D1600020000 db 93h,32h,0,79h,2Ah,0,3Dh,16h,0,2,0,0 +00000B6D 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0 +00000B79 000000000000000000391600 db 0,0,0,0,0,0,0,0,0,39h,16h,0 +00000B85 B44300D44C00DE6E23EAA070 db 0B4h,43h,0,0D4h,4Ch,0,0DEh,6Eh,23h,0EAh,0A0h,70h +00000B91 ECAA7EE3884ED75A03B34000 db 0ECh,0AAh,7Eh,0E3h,88h,4Eh,0D7h,5Ah,3,0B3h,40h,0 +00000B9D 391500000000000000000000 db 39h,15h,0,0,0,0,0,0,0,0,0,0 +00000BA9 000000000000532100CE5000 db 0,0,0,0,0,0,53h,21h,0,0CEh,50h,0 +00000BB5 D75200E68C52EEA87AEDA270 db 0D7h,52h,0,0E6h,8Ch,52h,0EEh,0A8h,7Ah,0EDh,0A2h,70h +00000BC1 EC9F6CEEA676EBA173DB671C db 0ECh,9Fh,6Ch,0EEh,0A6h,76h,0EBh,0A1h,73h,0DBh,67h,1Ch +00000BCD CE4E00542100000000000000 db 0CEh,4Eh,0,54h,21h,0,0,0,0,0,0,0 +00000BD9 000000391700D05403D2530E db 0,0,0,39h,17h,0,0D0h,54h,3,0D2h,53h,0Eh +00000BE5 D05D11D47432E77D38EB8A4B db 0D0h,5Dh,11h,0D4h,74h,32h,0E7h,7Dh,38h,0EBh,8Ah,4Bh +00000BF1 DF7D3CDF732CDF7025DE7936 db 0DFh,7Dh,3Ch,0DFh,73h,2Ch,0DFh,70h,25h,0DEh,79h,36h +00000BFD D04C08D154033A1700000000 db 0D0h,4Ch,8,0D1h,54h,3,3Ah,17h,0,0,0,0 +00000C09 020000B64B06D95A08D54E0E db 2,0,0,0B6h,4Bh,6,0D9h,5Ah,8,0D5h,4Eh,0Eh +00000C15 E5FFFFECFFFFDF8850E87120 db 0E5h,0FFh,0FFh,0ECh,0FFh,0FFh,0DFh,88h,50h,0E8h,71h,20h +00000C21 E0691AEDF8FFEBFFFFE8FBFF db 0E0h,69h,1Ah,0EDh,0F8h,0FFh,0EBh,0FFh,0FFh,0E8h,0FBh,0FFh +00000C2D D44708D85C0AB64B06020000 db 0D4h,47h,8,0D8h,5Ch,0Ah,0B6h,4Bh,6,2,0,0 +00000C39 3F1A01D9600EDC6B1ED74708 db 3Fh,1Ah,1,0D9h,60h,0Eh,0DCh,6Bh,1Eh,0D7h,47h,8 +00000C45 E4E3E4EBFFFFE8F9F9E17F42 db 0E4h,0E3h,0E4h,0EBh,0FFh,0FFh,0E8h,0F9h,0F9h,0E1h,7Fh,42h +00000C51 E34900EEEEF0FFFFFFE5E9ED db 0E3h,49h,0,0EEh,0EEh,0F0h,0FFh,0FFh,0FFh,0E5h,0E9h,0EDh +00000C5D D73D00DE6614D95F0F3F1A01 db 0D7h,3Dh,0,0DEh,66h,14h,0D9h,5Fh,0Fh,3Fh,1Ah,1 +00000C69 7E3606DC651ADF6F24DB4D08 db 7Eh,36h,6,0DCh,65h,1Ah,0DFh,6Fh,24h,0DBh,4Dh,8 +00000C75 E6E5E3E9F0F7EDF6FDECF9F9 db 0E6h,0E5h,0E3h,0E9h,0F0h,0F7h,0EDh,0F6h,0FDh,0ECh,0F9h,0F9h +00000C81 E4630EEEDFD5FFFFFFEAE6E7 db 0E4h,63h,0Eh,0EEh,0DFh,0D5h,0FFh,0FFh,0FFh,0EAh,0E6h,0E7h +00000C8D DB4500E16A1CDE65167E3607 db 0DBh,45h,0,0E1h,6Ah,1Ch,0DEh,65h,16h,7Eh,36h,7 +00000C99 9A450DDE6B20E27127DB5208 db 9Ah,45h,0Dh,0DEh,6Bh,20h,0E2h,71h,27h,0DBh,52h,8 +00000CA5 EBE9E8FFFFFFF0EAE5F0FEFF db 0EBh,0E9h,0E8h,0FFh,0FFh,0FFh,0F0h,0EAh,0E5h,0F0h,0FEh,0FFh +00000CB1 F0FEFFEFD0BCFFFFFFEAEBEA db 0F0h,0FEh,0FFh,0EFh,0D0h,0BCh,0FFh,0FFh,0FFh,0EAh,0EBh,0EAh +00000CBD DC4B00E27124DF691E9C470D db 0DCh,4Bh,0,0E2h,71h,24h,0DFh,69h,1Eh,9Ch,47h,0Dh +00000CC9 9C4610E17026E2742CDE5908 db 9Ch,46h,10h,0E1h,70h,26h,0E2h,74h,2Ch,0DEh,59h,8 +00000CD5 EBEBEBFFFFFFF0EAE7F3F8FB db 0EBh,0EBh,0EBh,0FFh,0FFh,0FFh,0F0h,0EAh,0E7h,0F3h,0F8h,0FBh +00000CE1 F3FFFFF0EAE7FFFFFFEDEDED db 0F3h,0FFh,0FFh,0F0h,0EAh,0E7h,0FFh,0FFh,0FFh,0EDh,0EDh,0EDh +00000CED DF5700E4752DE070269E4811 db 0DFh,57h,0,0E4h,75h,2Dh,0E0h,70h,26h,9Eh,48h,11h +00000CF9 833B0EE0752DE27732DE5B07 db 83h,3Bh,0Eh,0E0h,75h,2Dh,0E2h,77h,32h,0DEh,5Bh,7 +00000D05 EDEBEAFFFFFFF0F9FFE77022 db 0EDh,0EBh,0EAh,0FFh,0FFh,0FFh,0F0h,0F9h,0FFh,0E7h,70h,22h +00000D11 EFF9F9F2F9FFFFFFFFECECEC db 0EFh,0F9h,0F9h,0F2h,0F9h,0FFh,0FFh,0FFh,0FFh,0ECh,0ECh,0ECh +00000D1D DE5D0AE37B35DF762F843C10 db 0DEh,5Dh,0Ah,0E3h,7Bh,35h,0DFh,76h,2Fh,84h,3Ch,10h +00000D29 451E06E07733E27E39DB6110 db 45h,1Eh,6,0E0h,77h,33h,0E2h,7Eh,39h,0DBh,61h,10h +00000D35 EBEBEBFFFFFFF2FFFFE55F04 db 0EBh,0EBh,0EBh,0FFh,0FFh,0FFh,0F2h,0FFh,0FFh,0E5h,5Fh,4 +00000D41 E7945FEEF9F9FFFFFFEDEBEB db 0E7h,94h,5Fh,0EEh,0F9h,0F9h,0FFh,0FFh,0FFh,0EDh,0EBh,0EBh +00000D4D DE6514E57F3DE17C3A461E06 db 0DEh,65h,14h,0E5h,7Fh,3Dh,0E1h,7Ch,3Ah,46h,1Eh,6 +00000D59 020000C05E21E27F3FDA6F27 db 2,0,0,0C0h,5Eh,21h,0E2h,7Fh,3Fh,0DAh,6Fh,27h +00000D65 EBFEFEEFFFFFEFFFFFE47D38 db 0EBh,0FEh,0FEh,0EFh,0FFh,0FFh,0EFh,0FFh,0FFh,0E4h,7Dh,38h +00000D71 EE8846E59A67EAF9F9EAFEFE db 0EEh,88h,46h,0E5h,9Ah,67h,0EAh,0F9h,0F9h,0EAh,0FEh,0FEh +00000D7D DB702BE38242C26226020000 db 0DBh,70h,2Bh,0E3h,82h,42h,0C2h,62h,26h,2,0,0 +00000D89 000000441F08DA7231D97B3C db 0,0,0,44h,1Fh,8,0DAh,72h,31h,0D9h,7Bh,3Ch +00000D95 DD7431E0732AE2803EE28E57 db 0DDh,74h,31h,0E0h,73h,2Ah,0E2h,80h,3Eh,0E2h,8Eh,57h +00000DA1 EE9E69EB9159D67333DF7734 db 0EEh,9Eh,69h,0EBh,91h,59h,0D6h,73h,33h,0DFh,77h,34h +00000DAD DB7B3DDA7635452009000000 db 0DBh,7Bh,3Dh,0DAh,76h,35h,45h,20h,9,0,0,0 +00000DB9 000000000000632F0EDE7B3C db 0,0,0,0,0,0,63h,2Fh,0Eh,0DEh,7Bh,3Ch +00000DC5 E48A50E6925CE89863EB9D69 db 0E4h,8Ah,50h,0E6h,92h,5Ch,0E8h,98h,63h,0EBh,9Dh,69h +00000DD1 EEA271EDA06EE79963E6915B db 0EEh,0A2h,71h,0EDh,0A0h,6Eh,0E7h,99h,63h,0E6h,91h,5Bh +00000DDD DD7A3C65300F000000000000 db 0DDh,7Ah,3Ch,65h,30h,0Fh,0,0,0,0,0,0 +00000DE9 000000000000000000653213 db 0,0,0,0,0,0,0,0,0,65h,32h,13h +00000DF5 CD6D31E3844BE48D55E48F57 db 0CDh,6Dh,31h,0E3h,84h,4Bh,0E4h,8Dh,55h,0E4h,8Fh,57h +00000E01 E48E56E38B52E18348D36F31 db 0E4h,8Eh,56h,0E3h,8Bh,52h,0E1h,83h,48h,0D3h,6Fh,31h +00000E0D 4A240C000000000000000000 db 4Ah,24h,0Ch,0,0,0,0,0,0,0,0,0 +00000E19 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0 +00000E25 02000051280F9C5023B9622C db 2,0,0,51h,28h,0Fh,9Ch,50h,23h,0B9h,62h,2Ch +00000E31 B05F2C964F23522A11020000 db 0B0h,5Fh,2Ch,96h,4Fh,23h,52h,2Ah,11h,2,0,0 +00000E3D 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0 +00000E49 FFFFFFFFFFFF7BAED6417BB8 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,7Bh,0AEh,0D6h,41h,7Bh,0B8h +00000E55 3367AB3365A9335499334488 db 33h,67h,0ABh,33h,65h,0A9h,33h,54h,99h,33h,44h,88h +00000E61 354A8D3C5A99446DA94B81B9 db 35h,4Ah,8Dh,3Ch,5Ah,99h,44h,6Dh,0A9h,4Bh,81h,0B9h +00000E6D 7BABD3FFFFFFFFFFFFFFFFFF db 7Bh,0ABh,0D3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000E79 FFFFFFFFFFFFDACEB5F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0DAh,0CEh,0B5h,0F6h,0EDh,0E5h +00000E85 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00000E91 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h +00000E9D DACEB5FFFFFFFFFFFFFFFFFF db 0DAh,0CEh,0B5h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000EA9 FFFFFFFFFFFFD9CDB4F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D9h,0CDh,0B4h,0F6h,0EDh,0E5h +00000EB5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00000EC1 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h +00000ECD D9CDB4FFFFFFFFFFFFFFFFFF db 0D9h,0CDh,0B4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000ED9 FFFFFFFFFFFFD8CCB3F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D8h,0CCh,0B3h,0F6h,0EDh,0E5h +00000EE5 EB8563D6714FBC5836AC4725 db 0EBh,85h,63h,0D6h,71h,4Fh,0BCh,58h,36h,0ACh,47h,25h +00000EF1 B14624C8512FE25F3DF5EBE1 db 0B1h,46h,24h,0C8h,51h,2Fh,0E2h,5Fh,3Dh,0F5h,0EBh,0E1h +00000EFD D8CCB3FFFFFFFFFFFFFFFFFF db 0D8h,0CCh,0B3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000F09 FFFFFFFFFFFFD7CAB1F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D7h,0CAh,0B1h,0F8h,0F2h,0ECh +00000F15 ECB39BD28268C9B4B19C979B db 0ECh,0B3h,9Bh,0D2h,82h,68h,0C9h,0B4h,0B1h,9Ch,97h,9Bh +00000F21 948F93BC6148E7A188F8F0E8 db 94h,8Fh,93h,0BCh,61h,48h,0E7h,0A1h,88h,0F8h,0F0h,0E8h +00000F2D D7CAB1FFFFFFFFFFFFFFFFFF db 0D7h,0CAh,0B1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000F39 FFFFFFFFFFFFEAE4D7D6C9B0 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E4h,0D7h,0D6h,0C9h,0B0h +00000F45 F3E7DCE4AE98BD6F55A29A9D db 0F3h,0E7h,0DCh,0E4h,0AEh,98h,0BDh,6Fh,55h,0A2h,9Ah,9Dh +00000F51 AB5941DC9B82F3E7DAD6C9B0 db 0ABh,59h,41h,0DCh,9Bh,82h,0F3h,0E7h,0DAh,0D6h,0C9h,0B0h +00000F5D EAE4D7FFFFFFFFFFFFFFFFFF db 0EAh,0E4h,0D7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000F69 FFFFFFFFFFFFFFFFFFEAE3D6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E3h,0D6h +00000F75 D5C8AEF8EFE8DAA794AC4725 db 0D5h,0C8h,0AEh,0F8h,0EFh,0E8h,0DAh,0A7h,94h,0ACh,47h,25h +00000F81 D29881F3E7DCD5C8AEEAE3D6 db 0D2h,98h,81h,0F3h,0E7h,0DCh,0D5h,0C8h,0AEh,0EAh,0E3h,0D6h +00000F8D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000F99 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000FA5 E9E2D5D4C7ACF9F3EEF3E8DC db 0E9h,0E2h,0D5h,0D4h,0C7h,0ACh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00000FB1 F5EBE1D4C7ACE9E2D5FFFFFF db 0F5h,0EBh,0E1h,0D4h,0C7h,0ACh,0E9h,0E2h,0D5h,0FFh,0FFh,0FFh +00000FBD FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000FC9 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000FD5 E8E2D4D3C5AAF9F3EEF3E8DC db 0E8h,0E2h,0D4h,0D3h,0C5h,0AAh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00000FE1 F5EBE1D3C5AAE8E2D4FFFFFF db 0F5h,0EBh,0E1h,0D3h,0C5h,0AAh,0E8h,0E2h,0D4h,0FFh,0FFh,0FFh +00000FED FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00000FF9 FFFFFFFFFFFFFFFFFFE7E1D3 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E1h,0D3h +00001005 D1C3A8F8EFE8F9F3EEF3E8DC db 0D1h,0C3h,0A8h,0F8h,0EFh,0E8h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001011 F1E3D6F3E7DCD1C3A8E7E1D3 db 0F1h,0E3h,0D6h,0F3h,0E7h,0DCh,0D1h,0C3h,0A8h,0E7h,0E1h,0D3h +0000101D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001029 FFFFFFFFFFFFE7E0D2D0C2A6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E0h,0D2h,0D0h,0C2h,0A6h +00001035 F3E7DCF5EAE0F9F3EEF3E8DC db 0F3h,0E7h,0DCh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001041 F1E3D6EFDFCFF3E7DAD0C2A6 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0F3h,0E7h,0DAh,0D0h,0C2h,0A6h +0000104D E7E0D2FFFFFFFFFFFFFFFFFF db 0E7h,0E0h,0D2h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001059 FFFFFFFFFFFFCEC0A4F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CEh,0C0h,0A4h,0F8h,0F2h,0ECh +00001065 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001071 F1E3D6EFDFCFEEDDCDF8F0E8 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F8h,0F0h,0E8h +0000107D CEC0A4FFFFFFFFFFFFFFFFFF db 0CEh,0C0h,0A4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001089 FFFFFFFFFFFFCDBEA1F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CDh,0BEh,0A1h,0F6h,0EDh,0E5h +00001095 7AB1CC8FBFD6B5D4E36EA6C1 db 7Ah,0B1h,0CCh,8Fh,0BFh,0D6h,0B5h,0D4h,0E3h,6Eh,0A6h,0C1h +000010A1 6199B36098B270A7C1F5EBE1 db 61h,99h,0B3h,60h,98h,0B2h,70h,0A7h,0C1h,0F5h,0EBh,0E1h +000010AD CDBEA1FFFFFFFFFFFFFFFFFF db 0CDh,0BEh,0A1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000010B9 FFFFFFFFFFFFC9BA9CF6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0C9h,0BAh,9Ch,0F6h,0EDh,0E5h +000010C5 A4C2CDB2CED9CDE0E79DBDCB db 0A4h,0C2h,0CDh,0B2h,0CEh,0D9h,0CDh,0E0h,0E7h,9Dh,0BDh,0CBh +000010D1 94B3BF93B1BD9DBBC6F5EBE1 db 94h,0B3h,0BFh,93h,0B1h,0BDh,9Dh,0BBh,0C6h,0F5h,0EBh,0E1h +000010DD C9BA9CFFFFFFFFFFFFFFFFFF db 0C9h,0BAh,9Ch,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000010E9 F5F5F5E8E8E8C3B393F6EDE5 db 0F5h,0F5h,0F5h,0E8h,0E8h,0E8h,0C3h,0B3h,93h,0F6h,0EDh,0E5h +000010F5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001101 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h +0000110D C3B393E8E8E8F5F5F5FFFFFF db 0C3h,0B3h,93h,0E8h,0E8h,0E8h,0F5h,0F5h,0F5h,0FFh,0FFh,0FFh +00001119 ECECECD2D2D259759F335296 db 0ECh,0ECh,0ECh,0D2h,0D2h,0D2h,59h,75h,9Fh,33h,52h,96h +00001125 334488334387333A77333367 db 33h,44h,88h,33h,43h,87h,33h,3Ah,77h,33h,33h,67h +00001131 33376B334077334B86335796 db 33h,37h,6Bh,33h,40h,77h,33h,4Bh,86h,33h,57h,96h +0000113D 59749DD1D1D1ECECECFFFFFF db 59h,74h,9Dh,0D1h,0D1h,0D1h,0ECh,0ECh,0ECh,0FFh,0FFh,0FFh +00001149 FFFFFFFFFFFF7BAED6417BB8 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,7Bh,0AEh,0D6h,41h,7Bh,0B8h +00001155 3367AB3365A9335499334488 db 33h,67h,0ABh,33h,65h,0A9h,33h,54h,99h,33h,44h,88h +00001161 354A8D3C5A99446DA94B81B9 db 35h,4Ah,8Dh,3Ch,5Ah,99h,44h,6Dh,0A9h,4Bh,81h,0B9h +0000116D 7BABD3FFFFFFFFFFFFFFFFFF db 7Bh,0ABh,0D3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001179 FFFFFFFFFFFFDACEB5F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0DAh,0CEh,0B5h,0F6h,0EDh,0E5h +00001185 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001191 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h +0000119D DACEB5FFFFFFFFFFFFFFFFFF db 0DAh,0CEh,0B5h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000011A9 FFFFFFFFFFFFD9CDB4F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D9h,0CDh,0B4h,0F6h,0EDh,0E5h +000011B5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +000011C1 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h +000011CD D9CDB4FFFFFFFFFFFFFFFFFF db 0D9h,0CDh,0B4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000011D9 FFFFFFFFFFFFD8CCB3F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D8h,0CCh,0B3h,0F6h,0EDh,0E5h +000011E5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +000011F1 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h +000011FD D8CCB3FFFFFFFFFFFFFFFFFF db 0D8h,0CCh,0B3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001209 FFFFFFFFFFFFD7CAB1F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D7h,0CAh,0B1h,0F8h,0F2h,0ECh +00001215 D5D4CE88BCD4B0D2E265A1BF db 0D5h,0D4h,0CEh,88h,0BCh,0D4h,0B0h,0D2h,0E2h,65h,0A1h,0BFh +00001221 5894B15793B0D1D0C9F8F0E8 db 58h,94h,0B1h,57h,93h,0B0h,0D1h,0D0h,0C9h,0F8h,0F0h,0E8h +0000122D D7CAB1FFFFFFFFFFFFFFFFFF db 0D7h,0CAh,0B1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001239 FFFFFFFFFFFFEAE4D7D6C9B0 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E4h,0D7h,0D6h,0C9h,0B0h +00001245 F3E7DCE2E1DDB5D4E36EA6C1 db 0F3h,0E7h,0DCh,0E2h,0E1h,0DDh,0B5h,0D4h,0E3h,6Eh,0A6h,0C1h +00001251 6199B3CFCEC8F3E7DAD6C9B0 db 61h,99h,0B3h,0CFh,0CEh,0C8h,0F3h,0E7h,0DAh,0D6h,0C9h,0B0h +0000125D EAE4D7FFFFFFFFFFFFFFFFFF db 0EAh,0E4h,0D7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001269 FFFFFFFFFFFFFFFFFFEAE3D6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E3h,0D6h +00001275 D5C8AEF8EFE8EAEDEC9DBDCB db 0D5h,0C8h,0AEh,0F8h,0EFh,0E8h,0EAh,0EDh,0ECh,9Dh,0BDh,0CBh +00001281 DAD7D0F3E7DCD5C8AEEAE3D6 db 0DAh,0D7h,0D0h,0F3h,0E7h,0DCh,0D5h,0C8h,0AEh,0EAh,0E3h,0D6h +0000128D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001299 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000012A5 E9E2D5D4C7ACF9F3EEF3E8DC db 0E9h,0E2h,0D5h,0D4h,0C7h,0ACh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +000012B1 F5EBE1D4C7ACE9E2D5FFFFFF db 0F5h,0EBh,0E1h,0D4h,0C7h,0ACh,0E9h,0E2h,0D5h,0FFh,0FFh,0FFh +000012BD FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000012C9 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000012D5 E8E2D4D3C5AAF9F3EEF3E8DC db 0E8h,0E2h,0D4h,0D3h,0C5h,0AAh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +000012E1 F5EBE1D3C5AAE8E2D4FFFFFF db 0F5h,0EBh,0E1h,0D3h,0C5h,0AAh,0E8h,0E2h,0D4h,0FFh,0FFh,0FFh +000012ED FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000012F9 FFFFFFFFFFFFFFFFFFE7E1D3 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E1h,0D3h +00001305 D1C3A8F8EFE8F9F3EEF3E8DC db 0D1h,0C3h,0A8h,0F8h,0EFh,0E8h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001311 F1E3D6F3E7DCD1C3A8E7E1D3 db 0F1h,0E3h,0D6h,0F3h,0E7h,0DCh,0D1h,0C3h,0A8h,0E7h,0E1h,0D3h +0000131D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001329 FFFFFFFFFFFFE7E0D2D0C2A6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E0h,0D2h,0D0h,0C2h,0A6h +00001335 F3E7DCF5EAE0F9F3EEF3E8DC db 0F3h,0E7h,0DCh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001341 F1E3D6EFDFCFF3E7DAD0C2A6 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0F3h,0E7h,0DAh,0D0h,0C2h,0A6h +0000134D E7E0D2FFFFFFFFFFFFFFFFFF db 0E7h,0E0h,0D2h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001359 FFFFFFFFFFFFCEC0A4F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CEh,0C0h,0A4h,0F8h,0F2h,0ECh +00001365 ECB39BD6714FBC5836AC4725 db 0ECh,0B3h,9Bh,0D6h,71h,4Fh,0BCh,58h,36h,0ACh,47h,25h +00001371 B14624C8512FE7A188F8F0E8 db 0B1h,46h,24h,0C8h,51h,2Fh,0E7h,0A1h,88h,0F8h,0F0h,0E8h +0000137D CEC0A4FFFFFFFFFFFFFFFFFF db 0CEh,0C0h,0A4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +00001389 FFFFFFFFFFFFCDBEA1F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CDh,0BEh,0A1h,0F6h,0EDh,0E5h +00001395 EB8563B5A9A8CCB5B1A29A9D db 0EBh,85h,63h,0B5h,0A9h,0A8h,0CCh,0B5h,0B1h,0A2h,9Ah,9Dh +000013A1 9A9295999294E25F3DF5EBE1 db 9Ah,92h,95h,99h,92h,94h,0E2h,5Fh,3Dh,0F5h,0EBh,0E1h +000013AD CDBEA1FFFFFFFFFFFFFFFFFF db 0CDh,0BEh,0A1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000013B9 FFFFFFFFFFFFC9BA9CF6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0C9h,0BAh,9Ch,0F6h,0EDh,0E5h +000013C5 EB8563D6714FBC5836AC4725 db 0EBh,85h,63h,0D6h,71h,4Fh,0BCh,58h,36h,0ACh,47h,25h +000013D1 B14624C8512FE25F3DF5EBE1 db 0B1h,46h,24h,0C8h,51h,2Fh,0E2h,5Fh,3Dh,0F5h,0EBh,0E1h +000013DD C9BA9CFFFFFFFFFFFFFFFFFF db 0C9h,0BAh,9Ch,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh +000013E9 F5F5F5E8E8E8C3B393F6EDE5 db 0F5h,0F5h,0F5h,0E8h,0E8h,0E8h,0C3h,0B3h,93h,0F6h,0EDh,0E5h +000013F5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh +00001401 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h +0000140D C3B393E8E8E8F5F5F5FFFFFF db 0C3h,0B3h,93h,0E8h,0E8h,0E8h,0F5h,0F5h,0F5h,0FFh,0FFh,0FFh +00001419 ECECECD2D2D259759F335296 db 0ECh,0ECh,0ECh,0D2h,0D2h,0D2h,59h,75h,9Fh,33h,52h,96h +00001425 334488334387333A77333367 db 33h,44h,88h,33h,43h,87h,33h,3Ah,77h,33h,33h,67h +00001431 33376B334077334B86335796 db 33h,37h,6Bh,33h,40h,77h,33h,4Bh,86h,33h,57h,96h +0000143D 59749DD1D1D1ECECECFFFFFF db 59h,74h,9Dh,0D1h,0D1h,0D1h,0ECh,0ECh,0ECh,0FFh,0FFh,0FFh + +main.c 34: int DefineWindow(dword wtitle, wbutton) +00001449 55 push ebp +0000144A 89E5 mov ebp,esp + +main.c 36: sc.get(); +0000144C 6810510000 push 5110h +00001451 E824ECFFFF call 7Ah + +main.c 37: DefineAndDrawWindow(GetScreenWidth()-WIN_W/2,GetScreenHeight()-WIN_H/2-30, WIN_W+9, WIN_H+GetSkinHeight()+4, 0x74,0xFFFfff); +00001456 E8FF130000 call 285Ah +0000145B 2DF4010000 sub eax,1F4h +00001460 D1E8 shr eax,1 +00001462 50 push eax +00001463 E8FD130000 call 2865h +00001468 2D5E010000 sub eax,15Eh +0000146D D1E8 shr eax,1 +0000146F 83E81E sub eax,1Eh +00001472 50 push eax +00001473 68FD010000 push 1FDh +00001478 B85E010000 mov eax,15Eh +0000147D 50 push eax +0000147E E8C8130000 call 284Bh +00001483 5A pop edx +00001484 01D0 add eax,edx +00001486 83C004 add eax,4 +00001489 50 push eax +0000148A 6A74 push 74h +0000148C 68FFFFFF00 push 0FFFFFFh +00001491 E8F9EBFFFF call 8Fh + +main.c 38: DrawTitle("KolibriN 8.2a Setup"); +00001496 B97E160000 mov ecx,167Eh +0000149B E810150000 call 29B0h + +main.c 39: GetProcessInfo(#Form, SelfInfo); +000014A0 BB104D0000 mov ebx,4D10h +000014A5 83C9FF or ecx,0FFFFFFFFh +000014A8 E87A130000 call 2827h + +main.c 40: if (Form.status_window>2) return 0; //rolled_up +000014AD 803D564D000002 cmp byte ptr [4D56h],2 +000014B4 0F8E07000000 jle 14C1h +000014BA 31C0 xor eax,eax +000014BC E987000000 jmp 1548h + +main.c 42: DrawBar(0, 0, Form.cwidth, BLACK_H, 0); +000014C1 6A00 push 0 +000014C3 6A00 push 0 +000014C5 FF35574D0000 push dword ptr [4D57h] +000014CB 6A28 push 28h +000014CD 31D2 xor edx,edx +000014CF E8D5ECFFFF call 1A9h + +main.c 43: DrawBar(0, BLACK_H, Form.cwidth, Form.cheight-BLACK_H, 0xFFFfff); +000014D4 6A00 push 0 +000014D6 6A28 push 28h +000014D8 FF35574D0000 push dword ptr [4D57h] +000014DE A15B4D0000 mov eax,[4D5Bh] +000014E3 83E828 sub eax,28h +000014E6 50 push eax +000014E7 BAFFFFFF00 mov edx,0FFFFFFh +000014EC E8B8ECFFFF call 1A9h + +main.c 44: _PutImage(BLACK_H-LOGOW/2, BLACK_H-LOGOH/2, LOGOW,LOGOH, #logo); +000014F1 6A0C push 0Ch +000014F3 6A0C push 0Ch +000014F5 6A10 push 10h +000014F7 6A10 push 10h +000014F9 BB490B0000 mov ebx,0B49h +000014FE E868ECFFFF call 16Bh + +main.c 45: WriteTextB(BLACK_H-LOGOW + LOGOW, BLACK_H-6/2, 0x90, 0xFFFfff, wtitle); +00001503 6A28 push 28h +00001505 6A11 push 11h +00001507 6890000000 push 90h +0000150C 68FFFFFF00 push 0FFFFFFh +00001511 8B550C mov edx,[ebp+0Ch] +00001514 E8ADEBFFFF call 0C6h + +main.c 46: DrawCaptButton(Form.cwidth-107, Form.cheight-40, 90, 24, 10, sc.work_button, sc.work_button_text,wbutton); +00001519 A1574D0000 mov eax,[4D57h] +0000151E 83E86B sub eax,6Bh +00001521 50 push eax +00001522 A15B4D0000 mov eax,[4D5Bh] +00001527 83E828 sub eax,28h +0000152A 50 push eax +0000152B 6A5A push 5Ah +0000152D 6A18 push 18h +0000152F 6A0A push 0Ah +00001531 FF3528510000 push dword ptr [5128h] +00001537 FF352C510000 push dword ptr [512Ch] +0000153D FF7508 push dword ptr [ebp+8] +00001540 E82FEFFFFF call 474h + +main.c 47: return 1; +00001545 31C0 xor eax,eax +00001547 40 inc eax +00001548 5D pop ebp +00001549 C20800 ret 8 + +copyf.c 4: void copyf(dword params) +0000154C C8342200 enter 2234h,0 + +copyf.c 10: mem_Init(); +00001550 E889F0FFFF call 5DEh + +copyf.c 11: if (!params) { notify("Error: no copyf params!"); return; } +00001555 837D0800 cmp dword ptr [ebp+8],0 +00001559 0F850F000000 jnz 156Eh +0000155F 6892160000 push 1692h +00001564 E859F0FFFF call 5C2h +00001569 E90C010000 jmp 167Ah + +copyf.c 12: program_path[strrchr(#program_path, '/')] = 0x0; +0000156E BE3E3C0000 mov esi,3C3Eh +00001573 B32F mov bl,2Fh +00001575 E8A5100000 call 261Fh +0000157A 89C6 mov esi,eax +0000157C C6863E3C000000 mov byte ptr [esi+3C3Eh],0 + +copyf.c 13: border = strchr(params, '|'); +00001583 8B7508 mov esi,[ebp+8] +00001586 B37C mov bl,7Ch +00001588 E8D5110000 call 2762h +0000158D 8985CCDDFFFF mov [ebp-2234h],eax + +copyf.c 14: if (!border) border = strchr(params, ' '); +00001593 85C0 test eax,eax +00001595 0F8510000000 jnz 15ABh +0000159B 8B7508 mov esi,[ebp+8] +0000159E B320 mov bl,20h +000015A0 E8BD110000 call 2762h +000015A5 8985CCDDFFFF mov [ebp-2234h],eax + +copyf.c 16: if (ESBYTE[params]<>'/') +000015AB 8B7508 mov esi,[ebp+8] +000015AE 26803E2F cmp byte ptr es:[esi],2Fh +000015B2 0F8440000000 jz 15F8h + +copyf.c 18: strcpy(#from, #program_path); +000015B8 8DBD00F0FFFF lea edi,[ebp-1000h] +000015BE BE3E3C0000 mov esi,3C3Eh +000015C3 E865110000 call 272Dh + +copyf.c 19: strcat(#from, params); +000015C8 8DBD00F0FFFF lea edi,[ebp-1000h] +000015CE 8B7508 mov esi,[ebp+8] +000015D1 E85F110000 call 2735h + +copyf.c 20: from[border+strlen(#program_path)-1]=NULL; +000015D6 8BB5CCDDFFFF mov esi,[ebp-2234h] +000015DC 56 push esi +000015DD BF3E3C0000 mov edi,3C3Eh +000015E2 E838110000 call 271Fh +000015E7 5E pop esi +000015E8 01C6 add esi,eax +000015EA 4E dec esi +000015EB C6843500F0FFFF00 mov byte ptr [ebp+esi-1000h],0 + +copyf.c 22: else +000015F3 E91A000000 jmp 1612h + +copyf.c 24: strcat(#from, params); +000015F8 8DBD00F0FFFF lea edi,[ebp-1000h] +000015FE E832110000 call 2735h + +copyf.c 25: from[border-1]=NULL; +00001603 8BB5CCDDFFFF mov esi,[ebp-2234h] +00001609 4E dec esi +0000160A C6843500F0FFFF00 mov byte ptr [ebp+esi-1000h],0 + +copyf.c 27: strcpy(#to, params+border); +00001612 8DBD00E0FFFF lea edi,[ebp-2000h] +00001618 8B7508 mov esi,[ebp+8] +0000161B 03B5CCDDFFFF add esi,[ebp-2234h] +00001621 E807110000 call 272Dh + +copyf.c 29: GetFileInfo(#from, #from_atr); +00001626 8D8500F0FFFF lea eax,[ebp-1000h] +0000162C 50 push eax +0000162D 8D85D0DDFFFF lea eax,[ebp-2230h] +00001633 50 push eax +00001634 E851120000 call 288Ah + +copyf.c 30: if (TestBit(from_atr.attr, 4)==1) +00001639 8B85D0DDFFFF mov eax,[ebp-2230h] +0000163F B104 mov cl,4 +00001641 E886110000 call 27CCh +00001646 83F801 cmp eax,1 +00001649 0F8518000000 jnz 1667h + +copyf.c 32: CopyFolder(#from, #to); +0000164F 8D8500F0FFFF lea eax,[ebp-1000h] +00001655 50 push eax +00001656 8D8500E0FFFF lea eax,[ebp-2000h] +0000165C 50 push eax +0000165D E848000000 call 16AAh + +copyf.c 34: else +00001662 E913000000 jmp 167Ah + +copyf.c 36: CopyFile(#from, #to); +00001667 8D8500F0FFFF lea eax,[ebp-1000h] +0000166D 50 push eax +0000166E 8D8500E0FFFF lea eax,[ebp-2000h] +00001674 50 push eax +00001675 E83F140000 call 2AB9h +0000167A C9 leave +0000167B C20400 ret 4 + +0000167E 4B6F6C696272694E20382E32 db 'KolibriN 8.2' +0000168A 61205365747570004572726F db 'a Setup',0,'Erro' +00001696 723A206E6F20636F70796620 db 'r: no copyf ' +000016A2 706172616D732100 db 'params!',0 + +copyf.c 41: void CopyFolder(dword from, to) +000016AA C8184000 enter 4018h,0 + +copyf.c 48: error = GetDir(#dirbuf, #fcount, from); +000016AE 8D45FC lea eax,[ebp-4] +000016B1 50 push eax +000016B2 8D45F8 lea eax,[ebp-8] +000016B5 50 push eax +000016B6 FF750C push dword ptr [ebp+0Ch] +000016B9 E80F120000 call 28CDh +000016BE 8945EC mov [ebp-14h],eax + +copyf.c 49: if (error) debug_error(from, error); +000016C1 85C0 test eax,eax +000016C3 0F8409000000 jz 16D2h +000016C9 FF750C push dword ptr [ebp+0Ch] +000016CC 50 push eax +000016CD E8F7040000 call 1BC9h + +copyf.c 51: if ((strcmp(to, "/sys")!=0) && (strcmp(to, "/tmp9/1")!=0)) +000016D2 8B7508 mov esi,[ebp+8] +000016D5 BFD1180000 mov edi,18D1h +000016DA E81F0F0000 call 25FEh +000016DF 85C0 test eax,eax +000016E1 0F8431000000 jz 1718h +000016E7 8B7508 mov esi,[ebp+8] +000016EA BFD6180000 mov edi,18D6h +000016EF E80A0F0000 call 25FEh +000016F4 85C0 test eax,eax +000016F6 0F841C000000 jz 1718h + +copyf.c 53: error = CreateDir(to); +000016FC FF7508 push dword ptr [ebp+8] +000016FF E877130000 call 2A7Bh +00001704 8945EC mov [ebp-14h],eax + +copyf.c 54: if (error) debug_error(to, error); +00001707 85C0 test eax,eax +00001709 0F8409000000 jz 1718h +0000170F FF7508 push dword ptr [ebp+8] +00001712 50 push eax +00001713 E8B1040000 call 1BC9h + +copyf.c 56: chrcat(to, '/'); +00001718 8B7508 mov esi,[ebp+8] +0000171B B32F mov bl,2Fh +0000171D E886100000 call 27A8h + +copyf.c 57: chrcat(from, '/'); +00001722 8B750C mov esi,[ebp+0Ch] +00001725 B32F mov bl,2Fh +00001727 E87C100000 call 27A8h + +copyf.c 59: for (i=0; i100) InstallationLoop(); +00001F30 E848090000 call 287Dh +00001F35 C1E80A shr eax,0Ah +00001F38 83F864 cmp eax,64h +00001F3B 0F860A000000 jbe 1F4Bh +00001F41 E843000000 call 1F89h + +hallo.c 47: else notify("You do not have enought free RAM for installation!"); +00001F46 E90A000000 jmp 1F55h +00001F4B 68561F0000 push 1F56h +00001F50 E86DE6FFFF call 5C2h +00001F55 C3 ret + +00001F56 596F7520646F206E6F742068 db 'You do not h' +00001F62 61766520656E6F7567687420 db 'ave enought ' +00001F6E 667265652052414D20666F72 db 'free RAM for' +00001F7A 20696E7374616C6C6174696F db ' installatio' +00001F86 6E2100 db 'n!',0 + +installation.c 2: void InstallationLoop() +00001F89 C80B0000 enter 0Bh,0 +00001F8D 6A00 push 0 + +installation.c 5: goto _INSTALL_DRAW; +00001F8F E96F000000 jmp 2003h + +installation.c 7: loop() switch(WaitEvent()) +00001F94 E823080000 call 27BCh +00001F99 83F801 cmp eax,1 +00001F9C 0F8461000000 jz 2003h +00001FA2 83F802 cmp eax,2 +00001FA5 0F844B000000 jz 1FF6h +00001FAB 83F803 cmp eax,3 +00001FAE 0F8579000000 jnz 202Dh + +installation.c 10: id=GetButtonID(); +00001FB4 E8B9080000 call 2872h +00001FB9 8845FC mov [ebp-4],al + +installation.c 11: if(id == 1) ExitProcess(); +00001FBC 3C01 cmp al,1 +00001FBE 0F8505000000 jnz 1FC9h +00001FC4 E8DF090000 call 29A8h + +installation.c 12: if (id == 11) RunProgram("/sys/htmlv", "http://kolibri-n.org/donate.php"); +00001FC9 807DFC0B cmp byte ptr [ebp-4],0Bh +00001FCD 0F850F000000 jnz 1FE2h +00001FD3 6834200000 push 2034h +00001FD8 683F200000 push 203Fh +00001FDD E89FE5FFFF call 581h + +installation.c 13: if (id == 10) HalloLoop(); +00001FE2 807DFC0A cmp byte ptr [ebp-4],0Ah +00001FE6 0F8505000000 jnz 1FF1h +00001FEC E8F2FCFFFF call 1CE3h + +installation.c 14: break; +00001FF1 E937000000 jmp 202Dh + +installation.c 16: key = GetKey(); +00001FF6 E80F080000 call 280Ah +00001FFB 8845F8 mov [ebp-8],al + +installation.c 17: break; +00001FFE E92A000000 jmp 202Dh + +installation.c 20: if !(DefineWindow("Installation Started", "Stop")) break; +00002003 685F200000 push 205Fh +00002008 6874200000 push 2074h +0000200D E837F4FFFF call 1449h +00002012 85C0 test eax,eax +00002014 0F8413000000 jz 202Dh + +installation.c 21: if (started) break; +0000201A 807DF400 cmp byte ptr [ebp-0Ch],0 +0000201E 0F8509000000 jnz 202Dh + +installation.c 22: started = true; +00002024 C645F401 mov byte ptr [ebp-0Ch],1 + +installation.c 23: Install(); +00002028 E8FC000000 call 2129h +0000202D E962FFFFFF jmp 1F94h +00002032 C9 leave +00002033 C3 ret + +00002034 2F7379732F68746D6C760068 db '/sys/htmlv',0,'h' +00002040 7474703A2F2F6B6F6C696272 db 'ttp://kolibr' +0000204C 692D6E2E6F72672F646F6E61 db 'i-n.org/dona' +00002058 74652E70687000496E737461 db 'te.php',0,'Insta' +00002064 6C6C6174696F6E2053746172 db 'llation Star' +00002070 7465640053746F7000 db 'ted',0,'Stop',0 + +installation.c 28: char iclock[3]={1,2}; +00002079 010200 db 1,2,0 + +installation.c 29: void ShowProgress(dword text1) +0000207C 55 push ebp +0000207D 89E5 mov ebp,esp + +installation.c 31: iclock[0]>DSBYTE[EDI]) RETURN 1; +00002608 8A07 mov al,[edi] +0000260A 3806 cmp [esi],al +0000260C 7604 jbe 2612h +0000260E 31C0 xor eax,eax +00002610 40 inc eax +00002611 C3 ret + +..\lib\strings.h 25: IF (DSBYTE[ESI]=='\0') RETURN 0; +00002612 803E00 cmp byte ptr [esi],0 +00002615 7503 jne 261Ah +00002617 31C0 xor eax,eax +00002619 C3 ret + +..\lib\strings.h 26: ESI++; +0000261A 46 inc esi + +..\lib\strings.h 27: EDI++; +0000261B 47 inc edi +0000261C EBE0 jmp short 25FEh +0000261E C3 ret + + strrchr() +0000261F 55 push ebp +00002620 89E5 mov ebp,esp +00002622 6A00 push 0 +00002624 6A00 push 0 + +..\lib\strings.h 141: jj++; +00002626 FF45FC inc dword ptr [ebp-4] + +..\lib\strings.h 142: $lodsb +00002629 AC lodsb + +..\lib\strings.h 143: IF(AL==BL) last=jj; +0000262A 38D8 cmp al,bl +0000262C 7506 jne 2634h +0000262E 8B45FC mov eax,[ebp-4] +00002631 8945F8 mov [ebp-8],eax + +..\lib\strings.h 144: } while(AL!=0); +00002634 84C0 test al,al +00002636 75EE jne 2626h + +..\lib\strings.h 145: return last; +00002638 8B45F8 mov eax,[ebp-8] +0000263B C9 leave +0000263C C3 ret + +..\lib\strings.h 164: MOV EDI, EDX +0000263D 89D7 mov edi,edx + +..\lib\strings.h 165: XOR ECX, ECX +0000263F 33C9 xor ecx,ecx + +..\lib\strings.h 166: XOR EAX, EAX +00002641 33C0 xor eax,eax + +..\lib\strings.h 167: DEC ECX +00002643 49 dec ecx + +..\lib\strings.h 168: REPNE SCASB +00002644 F2AE repne scasb + +..\lib\strings.h 169: NOT ECX +00002646 F7D1 not ecx + +..\lib\strings.h 170: DEC ECX +00002648 49 dec ecx + +..\lib\strings.h 171: JE LS2 +00002649 742C je 2677h + +..\lib\strings.h 172: MOV ESI, ECX +0000264B 89CE mov esi,ecx + +..\lib\strings.h 173: XOR ECX, ECX +0000264D 33C9 xor ecx,ecx + +..\lib\strings.h 174: MOV EDI, EBX +0000264F 89DF mov edi,ebx + +..\lib\strings.h 175: DEC ECX +00002651 49 dec ecx + +..\lib\strings.h 176: REPNE SCASB +00002652 F2AE repne scasb + +..\lib\strings.h 177: NOT ECX +00002654 F7D1 not ecx + +..\lib\strings.h 178: SUB ECX, ESI +00002656 2BCE sub ecx,esi + +..\lib\strings.h 179: JBE LS2 +00002658 761D jbe 2677h + +..\lib\strings.h 180: MOV EDI, EBX +0000265A 89DF mov edi,ebx + +..\lib\strings.h 181: LEA EBX, DSDWORD[ ESI-1] +0000265C 8D5EFF lea ebx,[esi-1] + +..\lib\strings.h 182: LS1: MOV ESI, EDX +0000265F 89D6 mov esi,edx + +..\lib\strings.h 183: LODSB +00002661 AC lodsb + +..\lib\strings.h 184: REPNE SCASB +00002662 F2AE repne scasb + +..\lib\strings.h 185: JNE LS2 +00002664 7511 jne 2677h + +..\lib\strings.h 186: MOV EAX, ECX +00002666 89C8 mov eax,ecx + +..\lib\strings.h 187: PUSH EDI +00002668 57 push edi + +..\lib\strings.h 188: MOV ECX, EBX +00002669 89D9 mov ecx,ebx + +..\lib\strings.h 189: REPE CMPSB +0000266B F3A6 repe cmpsb + +..\lib\strings.h 190: POP EDI +0000266D 5F pop edi + +..\lib\strings.h 191: MOV ECX, EAX +0000266E 89C1 mov ecx,eax + +..\lib\strings.h 192: JNE LS1 +00002670 75ED jne 265Fh + +..\lib\strings.h 193: LEA EAX, DSDWORD[ EDI-1] +00002672 8D47FF lea eax,[edi-1] + +..\lib\strings.h 194: JMP SHORT LS3 +00002675 EB02 jmp short 2679h + +..\lib\strings.h 195: LS2: XOR EAX, EAX +00002677 33C0 xor eax,eax + +..\lib\strings.h 196: LS3: +00002679 C3 ret + +..\lib\encoding.h 4: while (BL=ESBYTE[ESI]) +0000267A E994000000 jmp 2713h + +..\lib\encoding.h 6: IF (BL>=192) +0000267F 80FBC0 cmp bl,0C0h +00002682 7217 jc 269Bh + +..\lib\encoding.h 8: IF (BL>=240) ESBYTE[ESI] = BL - 16; +00002684 80FBF0 cmp bl,0F0h +00002687 7209 jc 2692h +00002689 88D8 mov al,bl +0000268B 2C10 sub al,10h +0000268D 268806 mov es:[esi],al + +..\lib\encoding.h 9: ELSE ESBYTE[ESI] = BL - 64; +00002690 EB07 jmp short 2699h +00002692 88D8 mov al,bl +00002694 2C40 sub al,40h +00002696 268806 mov es:[esi],al + +..\lib\encoding.h 11: ELSE +00002699 EB77 jmp short 2712h + +..\lib\encoding.h 13: IF (BL==178) ESBYTE[ESI] = 73; //I +0000269B 80FBB2 cmp bl,0B2h +0000269E 7504 jne 26A4h +000026A0 26C60649 mov byte ptr es:[esi],49h + +..\lib\encoding.h 14: IF (BL==179) ESBYTE[ESI] = 105; //i +000026A4 80FBB3 cmp bl,0B3h +000026A7 7504 jne 26ADh +000026A9 26C60669 mov byte ptr es:[esi],69h + +..\lib\encoding.h 15: IF (BL==175) ESBYTE[ESI] = 244; //J +000026AD 80FBAF cmp bl,0AFh +000026B0 7504 jne 26B6h +000026B2 26C606F4 mov byte ptr es:[esi],0F4h + +..\lib\encoding.h 16: IF (BL==191) ESBYTE[ESI] = 245; //j +000026B6 80FBBF cmp bl,0BFh +000026B9 7504 jne 26BFh +000026BB 26C606F5 mov byte ptr es:[esi],0F5h + +..\lib\encoding.h 17: IF (BL==170) ESBYTE[ESI] = 242; //E +000026BF 80FBAA cmp bl,0AAh +000026C2 7504 jne 26C8h +000026C4 26C606F2 mov byte ptr es:[esi],0F2h + +..\lib\encoding.h 18: IF (BL==186) ESBYTE[ESI] = 243; //e +000026C8 80FBBA cmp bl,0BAh +000026CB 7504 jne 26D1h +000026CD 26C606F3 mov byte ptr es:[esi],0F3h + +..\lib\encoding.h 19: IF (BL==168) ESBYTE[ESI] = 240; // +000026D1 80FBA8 cmp bl,0A8h +000026D4 7504 jne 26DAh +000026D6 26C606F0 mov byte ptr es:[esi],0F0h + +..\lib\encoding.h 20: IF (BL==184) ESBYTE[ESI] = 'e'; //e +000026DA 80FBB8 cmp bl,0B8h +000026DD 7504 jne 26E3h +000026DF 26C60665 mov byte ptr es:[esi],65h + +..\lib\encoding.h 21: IF (BL==180) ESBYTE[ESI] = 254; // +000026E3 80FBB4 cmp bl,0B4h +000026E6 7504 jne 26ECh +000026E8 26C606FE mov byte ptr es:[esi],0FEh + +..\lib\encoding.h 22: IF ((BL==147) || (BL==148) || (BL==171) || (BL==187)) ESBYTE[ESI] = 34; +000026EC 80FB93 cmp bl,93h +000026EF 740F je 2700h +000026F1 80FB94 cmp bl,94h +000026F4 740A je 2700h +000026F6 80FBAB cmp bl,0ABh +000026F9 7405 je 2700h +000026FB 80FBBB cmp bl,0BBh +000026FE 7504 jne 2704h +00002700 26C60622 mov byte ptr es:[esi],22h + +..\lib\encoding.h 23: IF ((BL==150) || (BL==151)) ESBYTE[ESI] = 45; +00002704 80FB96 cmp bl,96h +00002707 7405 je 270Eh +00002709 80FB97 cmp bl,97h +0000270C 7504 jne 2712h +0000270E 26C6062D mov byte ptr es:[esi],2Dh + +..\lib\encoding.h 25: ESI++; +00002712 46 inc esi + +..\lib\encoding.h 4: while (BL=ESBYTE[ESI]) +00002713 268A1E mov bl,es:[esi] +00002716 84DB test bl,bl +00002718 0F8561FFFFFF jnz 267Fh +0000271E C3 ret + +..\lib\strings.h 56: $xor eax, eax +0000271F 33C0 xor eax,eax + +..\lib\strings.h 57: $mov ecx, -1 +00002721 B9FFFFFFFF mov ecx,0FFFFFFFFh + +..\lib\strings.h 58: $REPNE $SCASB +00002726 F2AE repne scasb + +..\lib\strings.h 59: EAX-=2+ECX; +00002728 48 dec eax +00002729 48 dec eax +0000272A 29C8 sub eax,ecx +0000272C C3 ret + +..\lib\strings.h 65: $cld +0000272D FC cld + +..\lib\strings.h 67: $lodsb +0000272E AC lodsb + +..\lib\strings.h 68: $stosb +0000272F AA stosb + +..\lib\strings.h 69: $test al,al +00002730 84C0 test al,al + +..\lib\strings.h 70: $jnz L2 +00002732 75FA jne 272Eh +00002734 C3 ret + +..\lib\strings.h 92: mov ebx, edi +00002735 89FB mov ebx,edi + +..\lib\strings.h 93: xor ecx, ecx +00002737 33C9 xor ecx,ecx + +..\lib\strings.h 94: xor eax, eax +00002739 33C0 xor eax,eax + +..\lib\strings.h 95: dec ecx +0000273B 49 dec ecx + +..\lib\strings.h 96: repne scasb +0000273C F2AE repne scasb + +..\lib\strings.h 97: dec edi +0000273E 4F dec edi + +..\lib\strings.h 98: mov edx, edi +0000273F 89FA mov edx,edi + +..\lib\strings.h 99: mov edi, esi +00002741 89F7 mov edi,esi + +..\lib\strings.h 100: xor ecx, ecx +00002743 33C9 xor ecx,ecx + +..\lib\strings.h 101: xor eax, eax +00002745 33C0 xor eax,eax + +..\lib\strings.h 102: dec ecx +00002747 49 dec ecx + +..\lib\strings.h 103: repne scasb +00002748 F2AE repne scasb + +..\lib\strings.h 104: xor ecx, 0ffffffffh +0000274A 83F1FF xor ecx,0FFFFFFFFh + +..\lib\strings.h 105: mov edi, edx +0000274D 89D7 mov edi,edx + +..\lib\strings.h 106: mov edx, ecx +0000274F 89CA mov edx,ecx + +..\lib\strings.h 107: mov eax, edi +00002751 89F8 mov eax,edi + +..\lib\strings.h 108: shr ecx, 2 +00002753 C1E902 shr ecx,2 + +..\lib\strings.h 109: rep movsd +00002756 F3A5 repe movsd + +..\lib\strings.h 110: mov ecx, edx +00002758 89D1 mov ecx,edx + +..\lib\strings.h 111: and ecx, 3 +0000275A 83E103 and ecx,3 + +..\lib\strings.h 112: rep movsb +0000275D F3A4 repe movsb + +..\lib\strings.h 113: mov eax, ebx +0000275F 89D8 mov eax,ebx +00002761 C3 ret + + strchr() +00002762 55 push ebp +00002763 89E5 mov ebp,esp +00002765 6A00 push 0 + +..\lib\strings.h 129: jj++; +00002767 FF45FC inc dword ptr [ebp-4] + +..\lib\strings.h 130: $lodsb +0000276A AC lodsb + +..\lib\strings.h 131: IF(AL==BL) return jj; +0000276B 38D8 cmp al,bl +0000276D 7505 jne 2774h +0000276F 8B45FC mov eax,[ebp-4] +00002772 C9 leave +00002773 C3 ret + +..\lib\strings.h 132: } while(AL!=0); +00002774 84C0 test al,al +00002776 75EF jne 2767h + +..\lib\strings.h 133: return 0; +00002778 31C0 xor eax,eax +0000277A C9 leave +0000277B C3 ret + +..\lib\kolibri.h 141: $mov eax, 5 +0000277C B805000000 mov eax,5 + +..\lib\kolibri.h 142: $int 0x40 +00002781 CD40 int 40h +00002783 C3 ret + +..\lib\kolibri.h 327: $push eax +00002784 50 push eax + +..\lib\kolibri.h 328: $push ebx +00002785 53 push ebx + +..\lib\kolibri.h 329: $push ecx +00002786 51 push ecx + +..\lib\kolibri.h 330: $mov eax, 63 +00002787 B83F000000 mov eax,3Fh + +..\lib\kolibri.h 331: $mov ebx, 1 +0000278C BB01000000 mov ebx,1 + +..\lib\kolibri.h 333: $mov ecx, DSDWORD[edx] +00002791 8B0A mov ecx,[edx] + +..\lib\kolibri.h 334: $or cl, cl +00002793 0AC9 or cl,cl + +..\lib\kolibri.h 335: $jz DONE +00002795 7405 je 279Ch + +..\lib\kolibri.h 336: $int 0x40 +00002797 CD40 int 40h + +..\lib\kolibri.h 337: $inc edx +00002799 42 inc edx + +..\lib\kolibri.h 338: $jmp NEXT_CHAR +0000279A EBF5 jmp short 2791h + +..\lib\kolibri.h 340: $mov cl, 13 +0000279C B10D mov cl,0Dh + +..\lib\kolibri.h 341: $int 0x40 +0000279E CD40 int 40h + +..\lib\kolibri.h 342: $mov cl, 10 +000027A0 B10A mov cl,0Ah + +..\lib\kolibri.h 343: $int 0x40 +000027A2 CD40 int 40h + +..\lib\kolibri.h 344: $pop ecx +000027A4 59 pop ecx + +..\lib\kolibri.h 345: $pop ebx +000027A5 5B pop ebx + +..\lib\kolibri.h 346: $pop eax +000027A6 58 pop eax +000027A7 C3 ret + +..\lib\strings.h 119: EDI = strlen(ESI); +000027A8 89F7 mov edi,esi +000027AA E870FFFFFF call 271Fh +000027AF 89C7 mov edi,eax + +..\lib\strings.h 120: ESBYTE[ESI+EDI] = BL; +000027B1 26881C3E mov es:[esi+edi],bl + +..\lib\strings.h 121: ESBYTE[ESI+EDI+1] = 0; +000027B5 26C6443E0100 mov byte ptr es:[esi+edi+1],0 +000027BB C3 ret + +..\lib\kolibri.h 91: $mov eax,10 +000027BC B80A000000 mov eax,0Ah + +..\lib\kolibri.h 92: $int 0x40 +000027C1 CD40 int 40h +000027C3 C3 ret + +..\lib\kolibri.h 109: $mov eax,40 +000027C4 B828000000 mov eax,28h + +..\lib\kolibri.h 110: $int 0x40 +000027C9 CD40 int 40h +000027CB C3 ret + +..\lib\kolibri.h 314: $shr eax,cl +000027CC D3E8 shr eax,cl + +..\lib\kolibri.h 315: $and eax,1 +000027CE 83E001 and eax,1 +000027D1 C3 ret + +..\lib\kolibri.h 286: EAX = 48; +000027D2 6A30 push 30h +000027D4 58 pop eax + +..\lib\kolibri.h 287: EBX = 8; +000027D5 6A08 push 8 +000027D7 5B pop ebx + +..\lib\kolibri.h 288: $int 0x40 +000027D8 CD40 int 40h +000027DA C3 ret + +..\lib\kolibri.h 164: $mov eax, 68 +000027DB B844000000 mov eax,44h + +..\lib\kolibri.h 165: $mov ebx, 16 +000027E0 BB10000000 mov ebx,10h + +..\lib\kolibri.h 166: $int 0x40 +000027E5 CD40 int 40h +000027E7 C3 ret + +..\lib\kolibri.h 172: $mov eax, 68 +000027E8 B844000000 mov eax,44h + +..\lib\kolibri.h 173: $mov ebx, 17 +000027ED BB11000000 mov ebx,11h + +..\lib\kolibri.h 174: $int 0x40 +000027F2 CD40 int 40h +000027F4 C3 ret + +..\lib\kolibri.h 244: $mov eax,18; +000027F5 B812000000 mov eax,12h + +..\lib\kolibri.h 245: $mov ebx,18; +000027FA BB12000000 mov ebx,12h + +..\lib\kolibri.h 246: $int 0x40 +000027FF CD40 int 40h +00002801 C3 ret + +..\lib\kolibri.h 97: $mov eax,11 +00002802 B80B000000 mov eax,0Bh + +..\lib\kolibri.h 98: $int 0x40 +00002807 CD40 int 40h +00002809 C3 ret + +..\lib\kolibri.h 122: $push edx +0000280A 52 push edx + +..\lib\kolibri.h 124: $mov eax,2 +0000280B B802000000 mov eax,2 + +..\lib\kolibri.h 125: $int 0x40 +00002810 CD40 int 40h + +..\lib\kolibri.h 126: $cmp eax,1 +00002812 83F801 cmp eax,1 + +..\lib\kolibri.h 127: $jne GETKEYI +00002815 7507 jne 281Eh + +..\lib\kolibri.h 128: $mov ah,dh +00002817 88F4 mov ah,dh + +..\lib\kolibri.h 129: $jmp GETKEYII //jz? +00002819 E904000000 jmp 2822h + +..\lib\kolibri.h 131: $mov dh,ah +0000281E 88E6 mov dh,ah + +..\lib\kolibri.h 132: $jmp GETKEY +00002820 EBE9 jmp short 280Bh + +..\lib\kolibri.h 134: $pop edx +00002822 5A pop edx + +..\lib\kolibri.h 135: $shr eax,8 +00002823 C1E808 shr eax,8 +00002826 C3 ret + +..\lib\kolibri.h 195: $mov eax,9; +00002827 B809000000 mov eax,9 + +..\lib\kolibri.h 196: $int 0x40 +0000282C CD40 int 40h + +..\lib\kolibri.h 197: DSDWORD[EBX+71] = DSDWORD[EBX+42] - 9; //set cwidth +0000282E 8B432A mov eax,[ebx+2Ah] +00002831 83E809 sub eax,9 +00002834 894347 mov [ebx+47h],eax + +..\lib\kolibri.h 198: DSDWORD[EBX+75] = DSDWORD[EBX+46] - GetSkinHeight() - 4; //set cheight +00002837 8B432E mov eax,[ebx+2Eh] +0000283A 50 push eax +0000283B E80B000000 call 284Bh +00002840 5A pop edx +00002841 92 xchg edx,eax +00002842 29D0 sub eax,edx +00002844 83E804 sub eax,4 +00002847 89434B mov [ebx+4Bh],eax +0000284A C3 ret + +..\lib\kolibri.h 277: $push ebx +0000284B 53 push ebx + +..\lib\kolibri.h 278: $mov eax,48 +0000284C B830000000 mov eax,30h + +..\lib\kolibri.h 279: $mov ebx,4 +00002851 BB04000000 mov ebx,4 + +..\lib\kolibri.h 280: $int 0x40 +00002856 CD40 int 40h + +..\lib\kolibri.h 281: $pop ebx +00002858 5B pop ebx +00002859 C3 ret + +..\lib\kolibri.h 293: $mov eax, 14 +0000285A B80E000000 mov eax,0Eh + +..\lib\kolibri.h 294: $int 0x40 +0000285F CD40 int 40h + +..\lib\kolibri.h 295: $shr eax, 16 +00002861 C1E810 shr eax,10h +00002864 C3 ret + +..\lib\kolibri.h 300: $mov eax, 14 +00002865 B80E000000 mov eax,0Eh + +..\lib\kolibri.h 301: $int 0x40 +0000286A CD40 int 40h + +..\lib\kolibri.h 302: $and eax,0x0000FFFF +0000286C 25FFFF0000 and eax,0FFFFh +00002871 C3 ret + +..\lib\kolibri.h 147: $mov eax,17 +00002872 B811000000 mov eax,11h + +..\lib\kolibri.h 148: $int 0x40 +00002877 CD40 int 40h + +..\lib\kolibri.h 149: $shr eax,8 +00002879 C1E808 shr eax,8 +0000287C C3 ret + +..\lib\kolibri.h 156: $mov eax, 18 +0000287D B812000000 mov eax,12h + +..\lib\kolibri.h 157: $mov ebx, 16 +00002882 BB10000000 mov ebx,10h + +..\lib\kolibri.h 158: $int 0x40 +00002887 CD40 int 40h +00002889 C3 ret + + GetFileInfo() +0000288A 55 push ebp +0000288B 89E5 mov ebp,esp + +..\lib\file_system.h 179: getinfo_file_70.func = 5; +0000288D 6A05 push 5 +0000288F 8F05DA4C0000 pop dword ptr [4CDAh] + +..\lib\file_system.h 180: getinfo_file_70.param1 = +00002895 31C0 xor eax,eax +00002897 A3E64C0000 mov [4CE6h],eax +0000289C A3E24C0000 mov [4CE2h],eax +000028A1 A3DE4C0000 mov [4CDEh],eax + +..\lib\file_system.h 183: getinfo_file_70.param4 = bdvk_struct; +000028A6 8B4508 mov eax,[ebp+8] +000028A9 A3EA4C0000 mov [4CEAh],eax + +..\lib\file_system.h 184: getinfo_file_70.rezerv = 0; +000028AE C605EE4C000000 mov byte ptr [4CEEh],0 + +..\lib\file_system.h 185: getinfo_file_70.name = file_path; +000028B5 8B450C mov eax,[ebp+0Ch] +000028B8 A3EF4C0000 mov [4CEFh],eax + +..\lib\file_system.h 186: $mov eax,70 +000028BD B846000000 mov eax,46h + +..\lib\file_system.h 187: $mov ebx,#getinfo_file_70.func +000028C2 BBDA4C0000 mov ebx,4CDAh + +..\lib\file_system.h 188: $int 0x40 +000028C7 CD40 int 40h +000028C9 5D pop ebp +000028CA C20800 ret 8 + + GetDir() +000028CD C80C0000 enter 0Ch,0 + +..\lib\file_system.h 157: buf = malloc(32); +000028D1 6A20 push 20h +000028D3 E815DDFFFF call 5EDh +000028D8 8945FC mov [ebp-4],eax + +..\lib\file_system.h 158: error = ReadDir(0, buf, path); +000028DB 6A00 push 0 +000028DD 50 push eax +000028DE FF7508 push dword ptr [ebp+8] +000028E1 E84C020000 call 2B32h +000028E6 8945F4 mov [ebp-0Ch],eax + +..\lib\file_system.h 159: if (!error) +000028E9 85C0 test eax,eax +000028EB 0F85AB000000 jnz 299Ch + +..\lib\file_system.h 161: fcount = ESDWORD[buf+8]; +000028F1 8B45FC mov eax,[ebp-4] +000028F4 268B4008 mov eax,es:[eax+8] +000028F8 8945F8 mov [ebp-8],eax + +..\lib\file_system.h 162: buf = realloc(buf, fcount+1*304+32); +000028FB 8B45F8 mov eax,[ebp-8] +000028FE 40 inc eax +000028FF 69C030010000 imul eax,eax,130h +00002905 83C020 add eax,20h +00002908 50 push eax +00002909 FF75FC push dword ptr [ebp-4] +0000290C E8F6DCFFFF call 607h +00002911 8945FC mov [ebp-4],eax + +..\lib\file_system.h 163: ReadDir(fcount, buf, path); +00002914 FF75F8 push dword ptr [ebp-8] +00002917 50 push eax +00002918 FF7508 push dword ptr [ebp+8] +0000291B E812020000 call 2B32h + +..\lib\file_system.h 164: if (!strcmp(".",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);} +00002920 BEA3290000 mov esi,29A3h +00002925 8B7DFC mov edi,[ebp-4] +00002928 83C748 add edi,48h +0000292B E8CEFCFFFF call 25FEh +00002930 85C0 test eax,eax +00002932 0F851D000000 jnz 2955h +00002938 FF4DF8 dec dword ptr [ebp-8] +0000293B 8B7DFC mov edi,[ebp-4] +0000293E 8B75FC mov esi,[ebp-4] +00002941 81C630010000 add esi,130h +00002947 8B4DF8 mov ecx,[ebp-8] +0000294A 69C930010000 imul ecx,ecx,130h +00002950 E821020000 call 2B76h + +..\lib\file_system.h 165: if (!strcmp("..",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);} +00002955 BEA5290000 mov esi,29A5h +0000295A 8B7DFC mov edi,[ebp-4] +0000295D 83C748 add edi,48h +00002960 E899FCFFFF call 25FEh +00002965 85C0 test eax,eax +00002967 0F851D000000 jnz 298Ah +0000296D FF4DF8 dec dword ptr [ebp-8] +00002970 8B7DFC mov edi,[ebp-4] +00002973 8B75FC mov esi,[ebp-4] +00002976 81C630010000 add esi,130h +0000297C 8B4DF8 mov ecx,[ebp-8] +0000297F 69C930010000 imul ecx,ecx,130h +00002985 E8EC010000 call 2B76h + +..\lib\file_system.h 166: ESDWORD[dir_buf] = buf; +0000298A 8B45FC mov eax,[ebp-4] +0000298D 8B7510 mov esi,[ebp+10h] +00002990 268906 mov es:[esi],eax + +..\lib\file_system.h 167: ESDWORD[file_count] = fcount; +00002993 8B45F8 mov eax,[ebp-8] +00002996 8B750C mov esi,[ebp+0Ch] +00002999 268906 mov es:[esi],eax + +..\lib\file_system.h 169: return error; +0000299C 8B45F4 mov eax,[ebp-0Ch] +0000299F C9 leave +000029A0 C20C00 ret 0Ch + +000029A3 2E002E2E00 db '.',0,'..',0 + +..\lib\kolibri.h 261: $mov eax,-1; +000029A8 B8FFFFFFFF mov eax,0FFFFFFFFh + +..\lib\kolibri.h 262: $int 0x40 +000029AD CD40 int 40h +000029AF C3 ret + +..\lib\kolibri.h 387: EAX = 71; +000029B0 6A47 push 47h +000029B2 58 pop eax + +..\lib\kolibri.h 388: EBX = 1; +000029B3 31DB xor ebx,ebx +000029B5 43 inc ebx + +..\lib\kolibri.h 389: $int 0x40; +000029B6 CD40 int 40h +000029B8 C3 ret + + DrawLink() +000029B9 C8040000 enter 4,0 + +..\lib\figures.h 92: WriteText(x,y,font_type,0x4E00E7,inscription); +000029BD FF7518 push dword ptr [ebp+18h] +000029C0 FF7514 push dword ptr [ebp+14h] +000029C3 FF7510 push dword ptr [ebp+10h] +000029C6 68E7004E00 push 4E00E7h +000029CB 8B5508 mov edx,[ebp+8] +000029CE E81CD7FFFF call 0EFh + +..\lib\figures.h 93: if (font_type==0x80) w = strlen(inscription)*6; else w = strlen(inscription)*7; +000029D3 817D1080000000 cmp dword ptr [ebp+10h],80h +000029DA 0F8513000000 jnz 29F3h +000029E0 8B7D08 mov edi,[ebp+8] +000029E3 E837FDFFFF call 271Fh +000029E8 6BC006 imul eax,eax,6 +000029EB 8945FC mov [ebp-4],eax +000029EE E90E000000 jmp 2A01h +000029F3 8B7D08 mov edi,[ebp+8] +000029F6 E824FDFFFF call 271Fh +000029FB 6BC007 imul eax,eax,7 +000029FE 8945FC mov [ebp-4],eax + +..\lib\figures.h 94: DefineButton(x-1,y-1,w,10,btn_id+BT_HIDE,0); +00002A01 8B4518 mov eax,[ebp+18h] +00002A04 48 dec eax +00002A05 50 push eax +00002A06 8B4514 mov eax,[ebp+14h] +00002A09 48 dec eax +00002A0A 50 push eax +00002A0B FF75FC push dword ptr [ebp-4] +00002A0E 6A0A push 0Ah +00002A10 8B550C mov edx,[ebp+0Ch] +00002A13 81C200000040 add edx,40000000h +00002A19 31F6 xor esi,esi +00002A1B E8CAD7FFFF call 1EAh + +..\lib\figures.h 95: DrawBar(x,y+8,w,1,0x4E00E7); +00002A20 FF7518 push dword ptr [ebp+18h] +00002A23 8B4514 mov eax,[ebp+14h] +00002A26 83C008 add eax,8 +00002A29 50 push eax +00002A2A FF75FC push dword ptr [ebp-4] +00002A2D 6A01 push 1 +00002A2F BAE7004E00 mov edx,4E00E7h +00002A34 E870D7FFFF call 1A9h +00002A39 C9 leave +00002A3A C21400 ret 14h + + DeleteFile() +00002A3D 55 push ebp +00002A3E 89E5 mov ebp,esp + +..\lib\file_system.h 69: del_file_70.func = 8; +00002A40 6A08 push 8 +00002A42 8F05724C0000 pop dword ptr [4C72h] + +..\lib\file_system.h 70: del_file_70.param1 = +00002A48 31C0 xor eax,eax +00002A4A A2864C0000 mov [4C86h],al +00002A4F A3824C0000 mov [4C82h],eax +00002A54 A37E4C0000 mov [4C7Eh],eax +00002A59 A37A4C0000 mov [4C7Ah],eax +00002A5E A3764C0000 mov [4C76h],eax + +..\lib\file_system.h 75: del_file_70.name = del_file_path; +00002A63 8B4508 mov eax,[ebp+8] +00002A66 A3874C0000 mov [4C87h],eax + +..\lib\file_system.h 76: $mov eax,70 +00002A6B B846000000 mov eax,46h + +..\lib\file_system.h 77: $mov ebx,#del_file_70.func +00002A70 BB724C0000 mov ebx,4C72h + +..\lib\file_system.h 78: $int 0x40 +00002A75 CD40 int 40h +00002A77 5D pop ebp +00002A78 C20400 ret 4 + + CreateDir() +00002A7B 55 push ebp +00002A7C 89E5 mov ebp,esp + +..\lib\file_system.h 51: create_dir_70.func = 9; +00002A7E 6A09 push 9 +00002A80 8F05584C0000 pop dword ptr [4C58h] + +..\lib\file_system.h 52: create_dir_70.param1 = +00002A86 31C0 xor eax,eax +00002A88 A26C4C0000 mov [4C6Ch],al +00002A8D A3684C0000 mov [4C68h],eax +00002A92 A3644C0000 mov [4C64h],eax +00002A97 A3604C0000 mov [4C60h],eax +00002A9C A35C4C0000 mov [4C5Ch],eax + +..\lib\file_system.h 57: create_dir_70.name = new_folder_path; +00002AA1 8B4508 mov eax,[ebp+8] +00002AA4 A36D4C0000 mov [4C6Dh],eax + +..\lib\file_system.h 58: $mov eax,70 +00002AA9 B846000000 mov eax,46h + +..\lib\file_system.h 59: $mov ebx,#create_dir_70.func +00002AAE BB584C0000 mov ebx,4C58h + +..\lib\file_system.h 60: $int 0x40 +00002AB3 CD40 int 40h +00002AB5 5D pop ebp +00002AB6 C20400 ret 4 + + CopyFile() +00002AB9 C8330200 enter 233h,0 +00002ABD 6A00 push 0 +00002ABF 6AFF push 0FFFFFFFFh + +..\lib\file_system.h 200: if (! GetFileInfo(copy_from, #CopyFile_atr)) +00002AC1 FF750C push dword ptr [ebp+0Ch] +00002AC4 8D85D0FDFFFF lea eax,[ebp-230h] +00002ACA 50 push eax +00002ACB E8BAFDFFFF call 288Ah +00002AD0 85C0 test eax,eax +00002AD2 0F8544000000 jnz 2B1Ch + +..\lib\file_system.h 202: cBufer = malloc(CopyFile_atr.sizelo); +00002AD8 FFB5F0FDFFFF push dword ptr [ebp-210h] +00002ADE E80ADBFFFF call 5EDh +00002AE3 8985CCFDFFFF mov [ebp-234h],eax + +..\lib\file_system.h 203: if (! ReadFile(0, CopyFile_atr.sizelo, cBufer, copy_from)) +00002AE9 6A00 push 0 +00002AEB FFB5F0FDFFFF push dword ptr [ebp-210h] +00002AF1 50 push eax +00002AF2 FF750C push dword ptr [ebp+0Ch] +00002AF5 E8B3000000 call 2BADh +00002AFA 85C0 test eax,eax +00002AFC 0F851A000000 jnz 2B1Ch + +..\lib\file_system.h 205: rezult = WriteFile(CopyFile_atr.sizelo, cBufer, copy_in); +00002B02 FFB5F0FDFFFF push dword ptr [ebp-210h] +00002B08 FFB5CCFDFFFF push dword ptr [ebp-234h] +00002B0E FF7508 push dword ptr [ebp+8] +00002B11 E8DF000000 call 2BF5h +00002B16 8885C8FDFFFF mov [ebp-238h],al + +..\lib\file_system.h 208: free(cBufer); +00002B1C FFB5CCFDFFFF push dword ptr [ebp-234h] +00002B22 E8FFDAFFFF call 626h + +..\lib\file_system.h 209: return rezult; +00002B27 0FBE85C8FDFFFF movsx eax,[ebp-238h] +00002B2E C9 leave +00002B2F C20800 ret 8 + + ReadDir() +00002B32 55 push ebp +00002B33 89E5 mov ebp,esp + +..\lib\file_system.h 141: read_dir_70.func = 1; +00002B35 6A01 push 1 +00002B37 8F05C04C0000 pop dword ptr [4CC0h] + +..\lib\file_system.h 142: read_dir_70.param1 = +00002B3D 31C0 xor eax,eax +00002B3F A2D44C0000 mov [4CD4h],al +00002B44 A3C84C0000 mov [4CC8h],eax +00002B49 A3C44C0000 mov [4CC4h],eax + +..\lib\file_system.h 145: read_dir_70.param3 = file_count; +00002B4E 8B4510 mov eax,[ebp+10h] +00002B51 A3CC4C0000 mov [4CCCh],eax + +..\lib\file_system.h 146: read_dir_70.param4 = read_buffer; +00002B56 8B450C mov eax,[ebp+0Ch] +00002B59 A3D04C0000 mov [4CD0h],eax + +..\lib\file_system.h 147: read_dir_70.name = dir_path; +00002B5E 8B4508 mov eax,[ebp+8] +00002B61 A3D54C0000 mov [4CD5h],eax + +..\lib\file_system.h 148: $mov eax,70 +00002B66 B846000000 mov eax,46h + +..\lib\file_system.h 149: $mov ebx,#read_dir_70.func +00002B6B BBC04C0000 mov ebx,4CC0h + +..\lib\file_system.h 150: $int 0x40 +00002B70 CD40 int 40h +00002B72 5D pop ebp +00002B73 C20C00 ret 0Ch + +..\lib\mem.h 65: MOV EAX, ECX +00002B76 89C8 mov eax,ecx + +..\lib\mem.h 66: CMP EDI, ESI +00002B78 3BFE cmp edi,esi + +..\lib\mem.h 67: JG L1 +00002B7A 7F12 jg 2B8Eh + +..\lib\mem.h 68: JE L2 +00002B7C 742E je 2BACh + +..\lib\mem.h 69: SAR ECX, 2 +00002B7E C1F902 sar ecx,2 + +..\lib\mem.h 70: JS L2 +00002B81 7829 js 2BACh + +..\lib\mem.h 71: REP MOVSD +00002B83 F3A5 repe movsd + +..\lib\mem.h 72: MOV ECX, EAX +00002B85 89C1 mov ecx,eax + +..\lib\mem.h 73: AND ECX, 3 +00002B87 83E103 and ecx,3 + +..\lib\mem.h 74: REP MOVSB +00002B8A F3A4 repe movsb + +..\lib\mem.h 75: JMP SHORT L2 +00002B8C EB1E jmp short 2BACh + +..\lib\mem.h 76: L1: LEA ESI, DSDWORD[ ESI+ECX-4] +00002B8E 8D740EFC lea esi,[esi+ecx-4] + +..\lib\mem.h 77: LEA EDI, DSDWORD[ EDI+ECX-4] +00002B92 8D7C0FFC lea edi,[edi+ecx-4] + +..\lib\mem.h 78: SAR ECX, 2 +00002B96 C1F902 sar ecx,2 + +..\lib\mem.h 79: JS L2 +00002B99 7811 js 2BACh + +..\lib\mem.h 80: STD +00002B9B FD std + +..\lib\mem.h 81: REP MOVSD +00002B9C F3A5 repe movsd + +..\lib\mem.h 82: MOV ECX, EAX +00002B9E 89C1 mov ecx,eax + +..\lib\mem.h 83: AND ECX, 3 +00002BA0 83E103 and ecx,3 + +..\lib\mem.h 84: ADD ESI, 3 +00002BA3 83C603 add esi,3 + +..\lib\mem.h 85: ADD EDI, 3 +00002BA6 83C703 add edi,3 + +..\lib\mem.h 86: REP MOVSB +00002BA9 F3A4 repe movsb + +..\lib\mem.h 87: CLD +00002BAB FC cld + +..\lib\mem.h 88: L2: +00002BAC C3 ret + + ReadFile() +00002BAD 55 push ebp +00002BAE 89E5 mov ebp,esp + +..\lib\file_system.h 87: read_file_70.func = 0; +00002BB0 83258C4C000000 and dword ptr [4C8Ch],0 + +..\lib\file_system.h 88: read_file_70.param1 = read_pos; +00002BB7 8B4514 mov eax,[ebp+14h] +00002BBA A3904C0000 mov [4C90h],eax + +..\lib\file_system.h 89: read_file_70.param2 = 0; +00002BBF 8325944C000000 and dword ptr [4C94h],0 + +..\lib\file_system.h 90: read_file_70.param3 = read_file_size; +00002BC6 8B4510 mov eax,[ebp+10h] +00002BC9 A3984C0000 mov [4C98h],eax + +..\lib\file_system.h 91: read_file_70.param4 = read_buffer; +00002BCE 8B450C mov eax,[ebp+0Ch] +00002BD1 A39C4C0000 mov [4C9Ch],eax + +..\lib\file_system.h 92: read_file_70.rezerv = 0; +00002BD6 C605A04C000000 mov byte ptr [4CA0h],0 + +..\lib\file_system.h 93: read_file_70.name = read_file_path; +00002BDD 8B4508 mov eax,[ebp+8] +00002BE0 A3A14C0000 mov [4CA1h],eax + +..\lib\file_system.h 94: $mov eax,70 +00002BE5 B846000000 mov eax,46h + +..\lib\file_system.h 95: $mov ebx,#read_file_70.func +00002BEA BB8C4C0000 mov ebx,4C8Ch + +..\lib\file_system.h 96: $int 0x40 +00002BEF CD40 int 40h +00002BF1 5D pop ebp +00002BF2 C21000 ret 10h + + WriteFile() +00002BF5 55 push ebp +00002BF6 89E5 mov ebp,esp + +..\lib\file_system.h 123: write_file_70.func = 2; +00002BF8 6A02 push 2 +00002BFA 8F05A64C0000 pop dword ptr [4CA6h] + +..\lib\file_system.h 124: write_file_70.param1 = 0; +00002C00 8325AA4C000000 and dword ptr [4CAAh],0 + +..\lib\file_system.h 125: write_file_70.param2 = 0; +00002C07 8325AE4C000000 and dword ptr [4CAEh],0 + +..\lib\file_system.h 126: write_file_70.param3 = write_file_size; +00002C0E 8B4510 mov eax,[ebp+10h] +00002C11 A3B24C0000 mov [4CB2h],eax + +..\lib\file_system.h 127: write_file_70.param4 = write_buffer; +00002C16 8B450C mov eax,[ebp+0Ch] +00002C19 A3B64C0000 mov [4CB6h],eax + +..\lib\file_system.h 128: write_file_70.rezerv = 0; +00002C1E C605BA4C000000 mov byte ptr [4CBAh],0 + +..\lib\file_system.h 129: write_file_70.name = write_file_path; +00002C25 8B4508 mov eax,[ebp+8] +00002C28 A3BB4C0000 mov [4CBBh],eax + +..\lib\file_system.h 130: $mov eax,70 +00002C2D B846000000 mov eax,46h + +..\lib\file_system.h 131: $mov ebx,#write_file_70.func +00002C32 BBA64C0000 mov ebx,4CA6h + +..\lib\file_system.h 132: $int 0x40 +00002C37 CD40 int 40h +00002C39 5D pop ebp +00002C3A C20C00 ret 0Ch diff --git a/programs/cmm/installer/tmp_add.c b/programs/cmm/installer/tmp_add.c new file mode 100644 index 0000000000..0db74e6a9a --- /dev/null +++ b/programs/cmm/installer/tmp_add.c @@ -0,0 +1,38 @@ +struct ioctl_struct +{ + dword handle; + dword io_code; + dword input; + dword inp_size; + dword output; + dword out_size; +}; + +struct add_disk_struc +{ + dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data + unsigned char DiskId; // from 0 to 9 +}; + +ioctl_struct ioctl; +add_disk_struc add_disk; + +int TmpDiskAdd(int disk_id, disk_size) +{ + int driver_handle, driver_rezult; + driver_handle = LoadDriver("tmpdisk"); + if (driver_handle==0) return 7; + + add_disk.DiskId = disk_id; + add_disk.DiskSize = disk_size * 2048; + + ioctl.handle = driver_handle; + ioctl.io_code = 1; + ioctl.input = #add_disk; + ioctl.inp_size = sizeof(add_disk); + ioctl.output = 0; + ioctl.out_size = 0; + + driver_rezult = RuleDriver(#ioctl); + return driver_rezult; +} \ No newline at end of file diff --git a/programs/cmm/kolibrin/compile.bat b/programs/cmm/kolibrin/compile.bat new file mode 100644 index 0000000000..bd3caadc9a --- /dev/null +++ b/programs/cmm/kolibrin/compile.bat @@ -0,0 +1,5 @@ +..\C--\C-- kolibrin.c +@del kolibrin +@rename kolibrin.com kolibrin +@pause +@del warning.txt diff --git a/programs/cmm/kolibrin/kolibrin.c b/programs/cmm/kolibrin/kolibrin.c new file mode 100644 index 0000000000..f0ba57a8bf --- /dev/null +++ b/programs/cmm/kolibrin/kolibrin.c @@ -0,0 +1,47 @@ +#define MEMSIZE 0x9000 +#include "..\lib\kolibri.h" +#include "..\lib\strings.h" +#include "..\lib\mem.h" +#include "..\lib\file_system.h" + + +void main() +{ + dword dirbuf, fcount, filename, i; + dword dirbuf2, fcount2, filename2, j; + char cd_path[4096]; + char install_path[4096]; + signed int result; + + mem_Init(); + GetDir(#dirbuf, #fcount, "/"); + + for (i=0; i0) ExitProcess(); + } + } + } + if (GetSystemLanguage()==4) notify(" installer.kex ୥ ᪠! ஡ ."); + else notify("Can't find installer.kex at the root of all disks! Try to find and run it manually."w); + ExitProcess(); +} + + +stop: diff --git a/programs/cmm/lib/figures.h b/programs/cmm/lib/figures.h index a7ee854abf..ce29bcbe97 100644 --- a/programs/cmm/lib/figures.h +++ b/programs/cmm/lib/figures.h @@ -65,7 +65,8 @@ void DrawCaptButton(dword x,y,w,h,id,color_b, color_t,text) int progress_w; static int fill_old; - if (progress_percent<=0) {DrawBar(st_x,st_y, st_x + st_w + fill_old + 15,st_h+1, col_fon); fill_old=0; return;} + //if (progress_percent<=0) {DrawBar(st_x,st_y, st_x + st_w + fill_old + 15,st_h+1, col_fon); fill_old=0; return;} + if (progress_percent<=0) || (progress_percent>=100) return; DrawRectangle(st_x, st_y, st_w,st_h, col_border); DrawRectangle3D(st_x+1, st_y+1, st_w-2,st_h-2, 0xFFFfff, 0xFFFfff); @@ -83,4 +84,55 @@ void DrawCaptButton(dword x,y,w,h,id,color_b, color_t,text) WriteText(st_x+st_w+15, st_h/2-4+st_y, 0x80, col_text, status_text); fill_old = strlen(status_text) * 6; } +} + +:void DrawLink(dword x,y,font_type,btn_id, inscription) +{ + int w; + WriteText(x,y,font_type,0x4E00E7,inscription); + if (font_type==0x80) w = strlen(inscription)*6; else w = strlen(inscription)*7; + DefineButton(x-1,y-1,w,10,btn_id+BT_HIDE,0); + DrawBar(x,y+8,w,1,0x4E00E7); +} + + +:void PutShadow(dword x,y,w,h,border,strength) +{ + proc_info wForm; + dword shadow_buf, skin_height; + shadow_buf = mem_Alloc(w*h*3); + //skin_height = GetSkinHeight(); + GetProcessInfo(#wForm, SelfInfo); + CopyScreen(shadow_buf, x+wForm.left, y+wForm.top, w, h); + ShadowImage(shadow_buf, w, h, strength); + _PutImage(x,y,w,h,shadow_buf); + mem_Free(shadow_buf); +} + +:void GrayScaleImage(dword color_image, w, h) +{ + dword i,j, gray,rr,gg,bb; + for (i = 0; i < w*h*3; i+=3) + { + rr = DSBYTE[i+color_image]; + gg = DSBYTE[i+1+color_image]; + bb = DSBYTE[i+2+color_image]; + gray = rr*rr; + gray += gg*gg; + gray += bb*bb; + gray = sqrt(gray) / 3; + DSBYTE[i +color_image] = DSBYTE[i+1+color_image] = DSBYTE[i+2+color_image] = gray; + } +} + +:void ShadowImage(dword color_image, w, h, strength) +{ + dword col, to; + strength = 10 - strength; + to = w*h*3 + color_image; + for ( ; color_image < to; color_image++) + { + col = strength * DSBYTE[color_image] / 10; + DSBYTE[color_image] = col; + } } \ No newline at end of file diff --git a/programs/cmm/lib/file_system.h b/programs/cmm/lib/file_system.h index 2671189616..36acda3d90 100644 --- a/programs/cmm/lib/file_system.h +++ b/programs/cmm/lib/file_system.h @@ -28,7 +28,7 @@ struct BDVK{ // // /////////////////////////// f70 run_file_70; -:int RunProgram(dword run_path, run_param) +signed int RunProgram(dword run_path, run_param) { run_file_70.func = 7; run_file_70.param1 = @@ -96,6 +96,24 @@ f70 read_file_70; $int 0x40 } +:int GetFile(dword buf, filesize, read_path) +{ + BDVK ReadFile_atr; + dword rBuf=0; + if (! GetFileInfo(read_path, #ReadFile_atr)) + { + rBuf = malloc(ReadFile_atr.sizelo); + if (! ReadFile(0, ReadFile_atr.sizelo, rBuf, read_path)) + { + ESDWORD[buf] = rBuf; + ESDWORD[filesize] = ReadFile_atr.sizelo; + return 1; + } + } + free(rBuf); + return 0; +} + //////////////////////////// // // //////////////////////////// @@ -119,7 +137,7 @@ f70 write_file_70; /////////////////////////// f70 read_dir_70; :int ReadDir(dword file_count, read_buffer, dir_path) -{ +{ read_dir_70.func = 1; read_dir_70.param1 = read_dir_70.param2 = @@ -133,18 +151,36 @@ f70 read_dir_70; } +:int GetDir(dword dir_buf, file_count, path) +{ + dword buf, fcount, error; + buf = malloc(32); + error = ReadDir(0, buf, path); + if (!error) + { + fcount = ESDWORD[buf+8]; + buf = realloc(buf, fcount+1*304+32); + ReadDir(fcount, buf, path); + if (!strcmp(".",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);} + if (!strcmp("..",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);} + ESDWORD[dir_buf] = buf; + ESDWORD[file_count] = fcount; + } + return error; +} + + /////////////////////////// // // /////////////////////////// f70 getinfo_file_70; -BDVK getinfo_file_info; -:dword GetFileInfo(dword file_path) +:dword GetFileInfo(dword file_path, bdvk_struct) { getinfo_file_70.func = 5; getinfo_file_70.param1 = getinfo_file_70.param2 = getinfo_file_70.param3 = 0; - getinfo_file_70.param4 = #getinfo_file_info; + getinfo_file_70.param4 = bdvk_struct; getinfo_file_70.rezerv = 0; getinfo_file_70.name = file_path; $mov eax,70 @@ -160,32 +196,17 @@ BDVK getinfo_file_info; { BDVK CopyFile_atr; dword cBufer=0; - - if (! GetFileInfo(copy_from)) + char rezult = -1; + if (! GetFileInfo(copy_from, #CopyFile_atr)) { - mem_Init(); - cBufer = mem_Alloc(CopyFile_atr.sizelo); + cBufer = malloc(CopyFile_atr.sizelo); if (! ReadFile(0, CopyFile_atr.sizelo, cBufer, copy_from)) - if (! WriteFile(CopyFile_atr.sizelo, cBufer, copy_in)) return 1; + { + rezult = WriteFile(CopyFile_atr.sizelo, cBufer, copy_in); + } } - - return 0; -} - - -//Asper -void ReadAttributes(dword read_buffer, file_path) -{ - read_file_70.func = 5; - read_file_70.param1 = 0; - read_file_70.param2 = 0; - read_file_70.param3 = 0; - read_file_70.param4 = read_buffer; - read_file_70.rezerv = 0; - read_file_70.name = file_path; - $mov eax,70 - $mov ebx,#read_file_70.func - $int 0x40 + free(cBufer); + return rezult; } inline fastcall void SetCurDir( ECX) diff --git a/programs/cmm/lib/kolibri.h b/programs/cmm/lib/kolibri.h index b8b957f71d..c5013e0b55 100644 --- a/programs/cmm/lib/kolibri.h +++ b/programs/cmm/lib/kolibri.h @@ -7,30 +7,24 @@ char os_name[8] = {'M','E','N','U','E','T','0','1'}; dword os_version = 0x00000001; dword start_addr = #main; dword final_addr = #stop+32; -#ifdef MEMSIZE - dword alloc_mem = MEMSIZE; - dword x86esp_reg = MEMSIZE; -#else - dword alloc_mem = #0x00100000; - dword x86esp_reg = #0x00100000; -#endif +dword alloc_mem = MEMSIZE; +dword x86esp_reg = MEMSIZE; dword I_Param = #param; dword I_Path = #program_path; char param[4096]; char program_path[4096]; +#define NULL 0 +#define OLD -1 +#define true 1 +#define false 0 + //Events #define evMouse 6 #define evButton 3 #define evKey 2 #define evReDraw 1 -#define OLD -1 -#define true 1 -#define false 0 - -#define NULL 0 - //Button options #define BT_DEL 0x80000000 #define BT_HIDE 0x40000000 @@ -352,6 +346,7 @@ DONE: $pop eax } + inline fastcall void debugch( ECX) { $push eax @@ -399,6 +394,7 @@ void WriteTextB(dword x,y,byte fontType, dword color, EDX) EAX = 4; EBX = x<<16+y; ECX = fontType<<24+color; + ESI = 0; $int 0x40; $add ebx, 1<<16 $int 0x40 @@ -409,7 +405,7 @@ void WriteText(dword x,y,byte fontType, dword color, EDX) EAX = 4; EBX = x<<16+y; ECX = fontType<<24+color; - $xor esi, esi + ESI = 0; $int 0x40; } @@ -422,10 +418,10 @@ void WriteNumber(dword x,y,byte fontType, dword color, count, ECX) $int 0x40; } -void CopyScreen(dword EBX, x, y, sizeX, sizeY) +void CopyScreen(dword EBX, x, y, w, h) { EAX = 36; - ECX = sizeX << 16 + sizeY; + ECX = w << 16 + h; EDX = x << 16 + y; $int 0x40; } @@ -437,13 +433,6 @@ dword GetPixelColor(dword x, x_size, y) $int 0x40 } -void PutImage(dword EBX,w,h,x,y) -{ - EAX = 7; - ECX = w<<16+h; - EDX = x<<16+y; - $int 0x40 -} void _PutImage(dword x,y, w,h, EBX) { @@ -502,4 +491,4 @@ inline fastcall void DeleteButton( EDX) EAX = 8; EDX += BT_DEL; $int 0x40; -} +} \ No newline at end of file diff --git a/programs/cmm/lib/lib.obj/box_lib.h b/programs/cmm/lib/lib.obj/box_lib.h index 241d370dc2..02d6ad80bf 100644 --- a/programs/cmm/lib/lib.obj/box_lib.h +++ b/programs/cmm/lib/lib.obj/box_lib.h @@ -15,28 +15,57 @@ dword scrollbar_h_draw = #aScrollbar_h_draw; dword scrollbar_h_mouse = #aScrollbar_h_mouse; dword version_scrollbar = #aVersion_scrollbar; +dword PathShow_prepare = #aPathShow_prepare; +dword PathShow_draw = #aPathShow_draw; + dword am__ = 0x0; dword bm__ = 0x0; -char aEdit_box_draw[9] = "edit_box\0"; -char aEdit_box_key[13] = "edit_box_key\0"; -char aEdit_box_mouse[15] = "edit_box_mouse\0"; -char aVersion_ed[11] = "version_ed\0"; +char aEdit_box_draw [9] = "edit_box\0"; +char aEdit_box_key [13] = "edit_box_key\0"; +char aEdit_box_mouse[15] = "edit_box_mouse\0"; +char aVersion_ed [11] = "version_ed\0"; char aboxlib_init[9] = "lib_init\0"; -char aScrollbar_v_draw[17] = "scrollbar_v_draw\0"; +char aScrollbar_v_draw [17] = "scrollbar_v_draw\0"; char aScrollbar_v_mouse[18] = "scrollbar_v_mouse\0"; -char aScrollbar_h_draw[17] = "scrollbar_h_draw\0"; +char aScrollbar_h_draw [17] = "scrollbar_h_draw\0"; char aScrollbar_h_mouse[18] = "scrollbar_h_mouse\0"; char aVersion_scrollbar[18] = "version_scrollbar\0"; -char aCheck_box_draw [15] = "check_box_draw\0"; -char aCheck_box_mouse [16] = "check_box_mouse\0"; -char aVersion_ch [11] = "version_ch\0"; +char aCheck_box_draw [15] = "check_box_draw\0"; +char aCheck_box_mouse [16] = "check_box_mouse\0"; +char aVersion_ch [11] = "version_ch\0"; -char aOption_box_draw [16] = "option_box_draw\0"; -char aOption_box_mouse[17] = "option_box_mouse\0"; -char aVersion_op [11] = "version_op\0" ; +char aOption_box_draw [16] = "option_box_draw\0"; +char aOption_box_mouse [17] = "option_box_mouse\0"; +char aVersion_op [11] = "version_op\0" ; + +char aPathShow_prepare [17] = "PathShow_prepare\0"; +char aPathShow_draw [14] = "PathShow_draw\0"; + + +struct PathShow_data +{ +dword type;// dd 0 ;+0 +word start_y,// dw 28 ;+4 + start_x,// dw 172 ;+6 + font_size_x,// dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 + area_size_x;// dw 200 ;+10 +dword font_number,// dd 0 ;+12 ; 0 - monospace, 1 - variable + background_flag,// dd 0 ;+16 + font_color,// dd 0x0 ;+20 + background_color,// dd 0x0 ;+24 + text_pointer,// dd openfile_pach ;+28 + work_area_pointer,// dd text_work_area ;+32 + temp_text_length;// dd 0 ;+36 +}; +/* +char temp[128]; +PathShow_data PathShow = {0, 100,20, 6, 200, 0, 1, 0x0, 0xFFFfff, #email_text, #temp, 0}; +PathShow_prepare stdcall(#PathShow); +PathShow_draw stdcall(#PathShow); +*/ struct edit_box{ @@ -73,23 +102,4 @@ position2,// equ [edi+72] work_size,// equ [edi+76] all_redraw,// equ [edi+80] ar_offset;// equ [edi+84] -}; - -//ed_width equ [edi] ;ਭ -//ed_left equ [edi+4] ; -//ed_top equ [edi+8] ; -//ed_color equ [edi+12] ;梥 䮭 -//shift_color equ [edi+16] ;=0x6a9480 -//ed_focus_border_color equ [edi+20] ;梥 ࠬ -//ed_blur_border_color equ [edi+24] ;梥 ⨢ -//ed_text_color equ [edi+28] ;梥 ⥪ -//ed_max equ [edi+32] ;- ᨬ ᨬ쭮 -//ed_text equ [edi+36] ;㪠⥫ -//ed_flags equ [edi+40] ;䫠 -//ed_size equ [edi+42] ;- ᨬ -//ed_pos equ [edi+46] ; -//ed_offset equ [edi+50] ;ᬥ饭 -//cl_curs_x equ [edi+54] ;। न -//cl_curs_y equ [edi+58] ;। न -//ed_shift_pos equ [edi+62] ; -//ed_shift_pos_old equ [edi+66] ;஥ +}; \ No newline at end of file diff --git a/programs/cmm/lib/lib.obj/iconv.h b/programs/cmm/lib/lib.obj/iconv.h index 109ac50675..399a3c754c 100644 --- a/programs/cmm/lib/lib.obj/iconv.h +++ b/programs/cmm/lib/lib.obj/iconv.h @@ -20,8 +20,8 @@ dword ChangeCharset(dword from_chs, to_chs, conv_buf) iconv_open stdcall (from_chs, to_chs); //CP866, CP1251, CP1252, KOI8-RU, UTF-8, ISO8859-5 if (EAX==-1) { - debug (from_chs); - debug (to_chs); + debug(from_chs); + debug(to_chs); debug("iconv: wrong charset,\nuse only CP866, CP1251, CP1252, KOI8-RU, UTF-8, ISO8859-5"); return 0; } @@ -34,15 +34,28 @@ dword ChangeCharset(dword from_chs, to_chs, conv_buf) if (cd!=0) { debug("iconv: something is wrong with stdcall iconv()"); - debug(itoa(cd)); + debugi(cd); debug("in_len"); - debug(itoa(in_len)); + debugi(in_len); debug("out_len"); - debug(itoa(out_len)); - new_buf = 0; + debugi(out_len); + new_buf = free(new_buf); return 0; } strcpy(conv_buf, new_buf); free(new_buf); return conv_buf; -} \ No newline at end of file +} + + +char *charsets[] = { " ", "UTF-8", "KOI8-RU", "CP1251", "CP1252", "ISO8859-5", "CP866"}; +int cur_charset; +enum { + CH_NULL, + CH_UTF8, + CH_KOI8, + CH_CP1251, + CH_CP1252, + CH_ISO8859_5, + CH_CP866 +}; \ No newline at end of file diff --git a/programs/cmm/lib/strings.h b/programs/cmm/lib/strings.h index 6a7fca8555..824dfb149f 100644 --- a/programs/cmm/lib/strings.h +++ b/programs/cmm/lib/strings.h @@ -3,8 +3,8 @@ // strlen( EDI) // strcpy( EDI, ESI) --- 0 if == // strcat( EDI, ESI) -// strchr( ESI,BL) -// strrchr( ESI,BL) +// strchr( ESI,BL) --- find first BL +// strrchr( ESI,BL) --- find last BL // strstr( EBX, EDX) // itoa( ESI) // atoi( EAX) @@ -60,7 +60,7 @@ inline fastcall unsigned int strlen( EDI) } -inline fastcall strcpy( EDI, ESI) +inline fastcall void strcpy( EDI, ESI) { $cld L2: @@ -86,7 +86,7 @@ inline fastcall int strlcpy(dword ESI, EDI, EBX) -inline fastcall strcat( EDI, ESI) +inline fastcall void strcat( EDI, ESI) { asm { mov ebx, edi @@ -114,6 +114,13 @@ inline fastcall strcat( EDI, ESI) } } +inline fastcall void chrcat(ESI, BL) +{ + EDI = strlen(ESI); + ESBYTE[ESI+EDI] = BL; + ESBYTE[ESI+EDI+1] = 0; +} + inline fastcall signed int strchr( ESI,BL) { @@ -151,7 +158,7 @@ int chrnum(dword searchin, char symbol) } -inline fastcall dword strstr( EBX, EDX) +inline fastcall signed int strstr( EBX, EDX) { asm { MOV EDI, EDX @@ -343,6 +350,7 @@ void debugi(dword d_int) debug(#tmpch); } + /* strtok( LPSTR dest, src, divs); src - dest - , diff --git a/programs/cmm/new_end/compile.bat b/programs/cmm/new_end/compile.bat deleted file mode 100644 index 8479ff818e..0000000000 --- a/programs/cmm/new_end/compile.bat +++ /dev/null @@ -1,6 +0,0 @@ -..\C--\C-- end.c -del end -rename end.com end -..\C--\kpack end -pause -del warning.txt diff --git a/programs/cmm/notify/notify.c b/programs/cmm/notify/notify.c index 4d32477c93..6c7c5dd3f2 100644 --- a/programs/cmm/notify/notify.c +++ b/programs/cmm/notify/notify.c @@ -3,6 +3,8 @@ #define MEMSIZE 0x3E80 #include "..\lib\kolibri.h" #include "..\lib\strings.h" +#include "..\lib\mem.h" +#include "..\lib\figures.h" int SCREEN_SIZE_X, @@ -17,7 +19,9 @@ void main() { int TEXT_X=4, TEXT_Y=12; + dword shadow_buf, lighter_pixel1, lighter_pixel2; + mem_Init(); if (!param) { if (GetSystemLanguage()==4) @@ -33,8 +37,17 @@ void main() TEXT_Y=WIN_SIZE_Y/2-3; // , :) - while (!GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)) WIN_Y+=45; - + while (GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)==0x333333) WIN_Y+=WIN_SIZE_Y+17; + + shadow_buf = malloc(WIN_SIZE_X*WIN_SIZE_Y*3); + lighter_pixel1 = malloc(3); + lighter_pixel2 = malloc(3); + CopyScreen(shadow_buf, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y, WIN_SIZE_X, WIN_SIZE_Y); + CopyScreen(lighter_pixel1, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y, 1, 1); + CopyScreen(lighter_pixel2, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y+WIN_SIZE_Y, 1, 1); + ShadowImage(shadow_buf, WIN_SIZE_X, WIN_SIZE_Y, 4); + ShadowImage(lighter_pixel1, 1, 1, 1); + ShadowImage(lighter_pixel2, 1, 1, 1); loop() { @@ -49,9 +62,14 @@ void main() break; case evReDraw: - DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF); + DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y-1, 0x01, 0, 0, 0x01fffFFF); DefineButton(0,0, WIN_SIZE_X, WIN_SIZE_Y, 1+BT_HIDE+BT_NOFRAME, 0); - draw_grid(); + //draw_grid(); + //PutShadow(0,0,WIN_SIZE_X,WIN_SIZE_Y, 0, 4); + _PutImage(0,0,WIN_SIZE_X,WIN_SIZE_Y,shadow_buf); + PutPixel(0,0,ESDWORD[lighter_pixel1]); + PutPixel(0,WIN_SIZE_Y-1,ESDWORD[lighter_pixel2]); + DrawBar(WIN_SIZE_X,0, 1, WIN_SIZE_Y, 0x333333); WriteText(TEXT_X-1,TEXT_Y, 0x80, 0,#param); // WriteText(TEXT_X+1,TEXT_Y, 0x80, 0,#param); WriteText(TEXT_X,TEXT_Y-1, 0x80, 0,#param); diff --git a/programs/cmm/rb/rb.c b/programs/cmm/rb/rb.c index 34716c8ab3..36c2cb3f75 100644 --- a/programs/cmm/rb/rb.c +++ b/programs/cmm/rb/rb.c @@ -1,8 +1,9 @@ -//@RB - v0.62 +//@RB - v0.7 #define MEMSIZE 0x4000 #include "..\lib\kolibri.h" #include "..\lib\strings.h" +#include "..\lib\mem.h" #include "..\lib\figures.h" #include "..\lib\file_system.h" @@ -11,10 +12,9 @@ #endif #ifdef LANG_RUS - #define ITEM_HEIGHT 18 - #define ITEM_WIDTH 138 char *ITEMS_LIST[]={ - "ன ", "/sys/desktop", 0, + " ⥬ ", "/sys/SKINSEL", 0, + " ", "/sys/BGSEL", 0, " 梥 䮭", "/sys/media/palitra", 0, "ࠢ ", "/sys/ICON", 0, "ன ன", "/sys/SETUP", 0, @@ -22,26 +22,30 @@ "", "/sys/CPU", 0, 0}; #else - #define ITEM_HEIGHT 18 - #define ITEM_WIDTH 122 char *ITEMS_LIST[]={ - "Window setup", "/sys/desktop", 0, - "Background", "/sys/media/palitra", 0, - "Icon manager", "/sys/ICON", 0, - "Device setup", "/sys/SETUP", 0, - "Refresh desktop", "/sys/REFRSCRN", 0, - "Processes", "/sys/CPU", 0, + "Window skin", "/sys/SKINSEL", 0, + "Wallpaper", "/sys/BGSEL", 0, + "Background", "/sys/media/palitra", 0, + "Icon manager", "/sys/ICON", 0, + "Device setup", "/sys/SETUP", 0, + "Refresh desktop ", "/sys/REFRSCRN", 0, + "Processes", "/sys/CPU", 0, 0}; #endif -dword stak[100]; +char stak[100]; +#define ITEM_HEIGHT 18 +int ITEM_WIDTH; void main() { mouse mm; - byte can_show; + byte i, can_show = 0; SetEventMask(100000b); + for (i=0; ITEMS_LIST[i]!=0; i+=3) if (strlen(ITEMS_LIST[i])>ITEM_WIDTH) ITEM_WIDTH = strlen(ITEMS_LIST[i]); + ITEM_WIDTH = ITEM_WIDTH * 6 + 20; + mem_Init(); loop() switch(WaitEvent()) { @@ -69,7 +73,7 @@ void window() int id1, key, i; sc.get(); - SetEventMask(100111b); + SetEventMask(100111b); loop() switch(WaitEvent()) { @@ -123,8 +127,10 @@ void window() case evReDraw: while (ITEMS_LIST[items_num*3]) items_num++; m.get(); - DefineAndDrawWindow(m.x+1,m.y,ITEM_WIDTH,items_num*ITEM_HEIGHT+1,0x01,sc.work,0, 0x01fffFFF); + DefineAndDrawWindow(m.x+1,m.y,ITEM_WIDTH+1,items_num*ITEM_HEIGHT+2,0x01,sc.work,0, 0x01fffFFF); DrawRectangle(0,0,ITEM_WIDTH,items_num*ITEM_HEIGHT+1,sc.work_graph); // + PutShadow(ITEM_WIDTH+1,1,1,items_num*ITEM_HEIGHT+1,0,1); + PutShadow(1,items_num*ITEM_HEIGHT+2,ITEM_WIDTH+1,1,0,1); _ITEMS_DRAW: for (i=0; i