diff --git a/data/eng/Makefile b/data/eng/Makefile index 34f16ad19e..c01a10773c 100644 --- a/data/eng/Makefile +++ b/data/eng/Makefile @@ -235,6 +235,7 @@ CMM_PROGRAMS:=\ games/clicks:GAMES/CLICKS:$(PROGS)/games/clicks/trunk/clicks.c-- \ games/FindNumbers:GAMES/FindNumbers:$(PROGS)/games/FindNumbers/trunk/FindNumbers.c-- \ games/mine:GAMES/MINE:$(PROGS)/games/mine/trunk/mine.c--:/MEOS \ +# HTMLv:HTMLv:$(PROGS)/network/htmlv/browser/HTMLv.c-- \ #develop/c--:DEVELOP/C--:$(PROGS)/develop/c--/trunk/32.c-- \ # end of list diff --git a/data/rus/Makefile b/data/rus/Makefile index 328638f1ca..5a0c0dab0f 100644 --- a/data/rus/Makefile +++ b/data/rus/Makefile @@ -235,6 +235,7 @@ CMM_PROGRAMS:=\ games/clicks:GAMES/CLICKS:$(PROGS)/games/clicks/trunk/clicks.c-- \ games/FindNumbers:GAMES/FindNumbers:$(PROGS)/games/FindNumbers/trunk/FindNumbers.c-- \ games/mine:GAMES/MINE:$(PROGS)/games/mine/trunk/mine.c--:/MEOS \ +# HTMLv:HTMLv:$(PROGS)/network/htmlv/browser/HTMLv.c-- \ # end of list # List of other files to be included in the image file. diff --git a/programs/build_all.bat b/programs/build_all.bat index 7a5832006a..d7703accb0 100644 --- a/programs/build_all.bat +++ b/programs/build_all.bat @@ -42,7 +42,7 @@ set __CPU_type=p5 p6 k6 set BIN=bin echo Build KolibriOS apps -echo Enter valide language +echo Enter valid language echo [%languages%] call :input_value res %languages% echo lang fix %res% > lang.inc @@ -255,7 +255,7 @@ echo * kpack /nologo 2> nul if "%errorlevel%"=="9009" ( echo *** NOTICE *** -echo If you want pack all applications you may +echo If you want to pack all applications you may echo place "kpack" in accessible directory. echo You can download that tool from http://diamondz.land.ru/ goto END @@ -455,6 +455,6 @@ echo * :END echo * -echo Done. Thanks for your choise ;) +echo Done. Thanks for your choice ;) echo * pause diff --git a/programs/network/htmlv/browser/HTMLv.c-- b/programs/network/htmlv/browser/HTMLv.c-- new file mode 100644 index 0000000000..2f2fbf7c7a --- /dev/null +++ b/programs/network/htmlv/browser/HTMLv.c-- @@ -0,0 +1,149 @@ +//HTML Viewer in C-- +//Copyright 2007-2009 by Veliant & Leency +//Asper, Lrz, Nable, lev. + +#include "..\lib\kolibri.h--" +#include "..\lib\memory.h--" +#include "..\lib\file_system.h--" +#include "include\some_code.h--" +#include "img\toolbar_icons.c--" +#include "img\URLgoto.txt"; +//Asper +#include "..\lib\mem.h--" +#include "..\lib\libio_lib.h--" +#include "..\lib\libimg_lib.h--" +#include "..\lib\edit_box_lib.h--" +#include "..\lib\dll.h--" + +// +byte URL[4096]="/sys/html/index.htm", + editURL[4096], + page_links[12000], + header[512]; + +dword max_kolvo_strok, + max_kolvo_stolbcov, + kolichestvo; + +int za_kadrom, + razm_scrl, + mouse_dd; + +edit_box edit1= {250,207,16,0xffffff,0x94AECE,0xffffff,0xffffff,0,248,#editURL,#mouse_dd,2,19,19}; + + +#include "TWB.h--" + +proc_info Form; + + +void main() +{ + mouse m; dword btn; byte key; + IF (param) copystr(#param,#URL); + BrowserHistory.AddUrl(); + copystr(#URL,#editURL); + //Asper [ + mem_Init(); + $or eax, eax + $jnz loc00 + return; + @loc00: + load_dll2(libio, #libio_init,1); + load_dll2(libimg, #libimg_init,1); + load_dll2(boxlib, #edit_box_draw,0); + //] Asper + SetEventMask(0x27); + loop() + { + switch(WaitEvent()) + { + CASE evMouse: + m.get(); + IF (m.vert==65535) // + { + IF (za_kadrom==0) break; + IF (za_kadrom>3) za_kadrom-=2; ELSE za_kadrom=1; + WB1.Scan(ID1); + } + IF (m.vert==1) + { + IF(max_kolvo_strok+za_kadrom+3>=kolichestvo) WB1.Scan(181); + ELSE { + za_kadrom+=2; + WB1.Scan(ID2); + } + } + //IF (kolichestvo=WB1.width-14) && (m.x<=WB1.width+6) && (kolichestvo>max_kolvo_strok) while (m.lkm) + { + IF (razm_scrl/2+WB1.top>m.y) || (m.y<0) || (m.y>4000) m.y=razm_scrl/2+WB1.top; // + btn=za_kadrom; // + j= razm_scrl/2; + za_kadrom = m.y -j -WB1.top * kolichestvo / WB1.height; + IF (max_kolvo_strok+za_kadrom>kolichestvo) za_kadrom=kolichestvo-max_kolvo_strok; + IF (btn<>za_kadrom) WB1.ParseHTML(buf, filesize); // + m.get(); + } + break; + case evButton: + btn=GetButtonID(); + IF (btn==1) ExitProcess(); + ELSE + { + WB1.Scan(btn); + //WB1.HttpLoad(#URL); + } + break; + case evKey: + key = GetKey(); + WB1.Scan(key); + if (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} // + break; + case evReDraw: + Draw_Window(); + break; + } + edit_box_mouse stdcall (#edit1); + } +} + + +void Draw_Window() +{ + WindowRedrawStatus(1); + DefineAndDrawWindow(215,100,640,480,0x73,0x00E4DFE1,0,0,0); + Form.GetInfo(SelfInfo); + IF (Form.height==GetSkinWidth()+3) // , + { + DrawTitle(#header); + WindowRedrawStatus(2); + return; + } + IF (Form.height<120) MoveSize(OLD,OLD,OLD,120); + IF (Form.width<280) MoveSize(OLD,OLD,280,OLD); + // + PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal); + 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, 0x00E4DFE1); + PutImage(#URLgoto,40,19,onLeft(57,0),14); + DefineButton(onLeft(38,0),14, 20, 18, GOTOURL+BT_HIDE, 0xE4DFE1); + DefineButton(onLeft(57,0),14, 19, 18, SEARCHWEB+BT_HIDE, 0xE4DFE1); + DrawRegion_3D(205,14,onLeft(58,205),18,0x94AECE,0x94AECE); // + DrawRegion_3D(206,15,onLeft(59,205),16,0xE4ECF3,0xE4ECF3); + edit1.width=Form.width-266; + WB1.top=44; + WB1.width=Form.width-11; + WB1.height=onTop(43,5); + WB1.Load(#URL); + // + WindowRedrawStatus(2); +} + +int onLeft(dword right,left) {EAX=Form.width-right-left;} +int onTop(dword down,up) {EAX=Form.height-GetSkinWidth()-down-up;} + + +stop: diff --git a/programs/network/htmlv/browser/History.txt b/programs/network/htmlv/browser/History.txt new file mode 100644 index 0000000000..9fd67fb627 --- /dev/null +++ b/programs/network/htmlv/browser/History.txt @@ -0,0 +1,278 @@ +20.06.11 -- v0.63 -- 11.32 +lev +- +- + +08.06.10 -- v0.62a -- 9.68 +- 4 6 ( Nasarus + ) +- DOS- ( Nasarus'a) + + +14.02.10 -- v0.62 -- 9.42 +- nigma.ru, , + Ctrl+Enter; +- ; +- XHTML- br/; +- : ( f3) ; +- , , , ; +- ' ( kolibrios.org); +- ; +- . + + +31.01.10 -- v0.60 -- 8.94 +- utf-8 Asper' , + 0.7.7.0. Asper' ! +- /fd /cd ( Nasarus IgorA, + ); +- mht-, , + 7 ( IgorA); +- : , ; +- ; +- URL 4096 . + + +08.11.09 -- v0.57 -- 8.69 +- Asper , HTMLv ; +- .mht, ( Albom'a), ( + .mht 7) - , + hex-; +- " " ; +- . + + +03.11.09 -- v0.53 -- 7.87 +- box_lib.obj; +- , # ; +- , ; +- ; +- ; +- , = ; +- , ; +- , "Loading..."; +- . + + +05.06.09 -- v0.5 -- 7.91 +- barsuk downloader + :) +- , - + <-- -->; +- downloader'y: / ; +- ; +- . + + +28.01.08 -- v0.48.5 -- 6.95 +- , , + ""; +- , , : href=1.htm ; +- ; +- ; +- ; +- BackSpace ; +- ; +- #. + + +28.01.08 -- v0.48.2 -- 6.95 +- - ; +- "" ; +- ; +- KOI8; + + +22.01.08 -- v0.48.1 -- 6,88 +21.12.08 -- v0.48.0 +- ; +- ; +- , ; +-
;
+-     ;
+
+
+07.12.08 -- v0.47 -- 7,50 
+-   "",     win1251;
+-    ;
+-     ;
+-    ( Nable  Asper  );
+-  , -     ;
+-     font, -     ;
+-     
 ( diamond);
+-     ;
+-    ,    ;
+
+
+02.12.08 -- v0.45 -- 6,79 
+-   KOI8-R(U) -   Ctrl+R.  Velianty
+     ;
+-  - win ,    ,  А  ..
+   ( ,  Albom');
+-     -     
+       ;
+-  DOS'a (cp866)   Ctrl+D;
+-  ;
+-    "";
+-       ,   
+       .
+
+
+20.10.08 -- v0.40 -- 7,36 
+-        ;
+-          
+-   ;
+-   
  • ; +- , "#"; +- - ; +- ; +- "": (), (r), + ; +- ; +- :) + + +19.10.08 -- v0.38.1 -- 6,85 +- + 7-10% ( ); +- ".txt" ; + +18.10.08 -- v0.38 -- 6,88 +- ; +- , , . ; +- : + . +- , ; +- (hr). + +17.10.08 -- v0.37 -- 6,82 +-   ( 5 ); +- , , , ; +- F3 - ; +- "/". + : +- ; +- , ; +- - ; +- , BackSpace; + diamond'y . + + +16.10.08 -- v0.35.3 -- 6,74 +- , , fixed; +- ; +- Albom'a, ; + ; +- , . + + +15.10.08 -- v0.35 -- 6,75 +- - - + ( Albom', , ); +- 3 ; +- PgUp/PgDn; +- , ; +- ; +- ; +- ; +- :) + + +03.10.08 -- v0.30.2 -- 6,56 +- ; +- ; +- ; +- , . + + +02.08.08 -- v0.30.1 -- 6,48 +- ; +- , ; +- <style>; +- . + + +29.07.08 -- v0.30 -- 6,46 +- BackSpace, , ; +- <script>; +- ; +- PgUp\PgDown, End; +- . + + +28.07.08 -- v0.27 -- 6,21 +- , 10 - Veliant'y; +- <Lrz>, (box_lib); +- (by Veliant); +- win -> dos, ; +- , ; +- , ; +- . + + +23.07.08 -- v0.24 -- 6,05 +- ; +- , ; +- "hr" - ; +- . + + +07.07.08 -- v0.23 alpha -- 5.68 +- ""; +- :) +- PageUp, PageDown. + + +05.07.08 -- v0.22 -- 5.68 +- , - ""; +- - ; +- ( ). + + +04.07.08 -- v0.21 -- 5.58 +- ; +- "". + + +29.06.08 -- v0.2 -- 5.48 +- , , + - , ; +- , ; +- ; +- 1 ; +- - ; +- ; +- , . + + +26.06.08 -- v0.1.3 -- 5.59 +- ; +- ; +- - ; +- ul, blockquote, q, ; +- / . + + +24.06.08 -- v0.1.1 -- 5.37 +- <li>; +- ".htm", + ; +- ; +- "strike", "s"; +- ; +- , - . + + +22.06.08 -- v0.1 -- 5.11 +- : b, strong, i, u, s, br, pre, title, + li, p. ; +- ; +- (: < b >); +- ; +- (EditBox) <Lrz>, ; +- </html>. + + +20.02.08 -- v0.000001 -- 7.32 + . :) + Veliant'a , . diff --git a/programs/network/htmlv/browser/ReadMe.txt b/programs/network/htmlv/browser/ReadMe.txt new file mode 100644 index 0000000000..3f7850fe9e --- /dev/null +++ b/programs/network/htmlv/browser/ReadMe.txt @@ -0,0 +1,35 @@ +== HTMLv== +HTMLv - , -. + . + ... C--. : +http://board.kolibrios.org/viewtopic.php?f=9&t=1075 + , Ctrl+Enter ( ). + + +==== + . + + +==== + - . + Qemu VirtualBox :) + + +==== +1. . +box_lib.obj /sys/lib/ +2. . +ZEROCONF.INI [ Qemu VBox] /sys/network/ +downloader /sys/ + + +==== +Leency - , . +Asper - , , UTF-8. +Veliant - -, , . +Barsuk - downloader, . +Lrz - EditBox. +Nable - . +lev - , . + + :) \ No newline at end of file diff --git a/programs/network/htmlv/browser/TWB.h-- b/programs/network/htmlv/browser/TWB.h-- new file mode 100644 index 0000000000..c3db007a7d --- /dev/null +++ b/programs/network/htmlv/browser/TWB.h-- @@ -0,0 +1,692 @@ +//http://jsbeautifier.org/ +//Web-component, Leency & Veliant 2007-2009 +//lev +// - + +// wintodos(buf); -> + +//ol - + + +// , +// + +dword j, + buf, + filesize, + blink = 400; + int i; + + char download_path[]="/rd/1/.download"; +//char search_path[]="http://nova.rambler.ru/search?words="; + char search_path[]="http://nigma.ru/index.php?s="; + + + +struct TWebBrowser { + dword left, + top, + width, + height; + void DrawScroller(); + void Load(); + void ParseHTML(dword, dword); + void Scan(dword); + void WhatTextStyle(int left1, top1, width1); +}; + +TWebBrowser WB1; + +#include "include\history.h--" +#include "include\colors.h--" + +void TWebBrowser::Scan(dword id) { + int i=0; + if (id > 399) { + j = 0; + FOR(i = 0; i <= id - 401; i++) { + do j++; + while (page_links[j] <>'|'); + } + page_links[j] = 0x00; + copystr(#page_links[find_symbol(#page_links, '|')], #URL); + Load(#URL); + Draw_Window(); + return; + } + //edit1.flags=64; + IF(kolichestvo < max_kolvo_strok) SWITCH(id) { + CASE 183: CASE 184: CASE 180: CASE 181: return; + } // + switch (id) { + case 011: + case 004: + ReadHtml(); + break; + case BACK: + BrowserHistory.GoBack(); + return; + /*case FORWARD: + WriteDebug(#UrlHistory); + return;*/ + case 054: //F5 + IF(edit1.flags == 66) break; + case REFRESH: + copystr(#URL, #editURL); + Draw_Window(); + return; + case HOME: + copystr("/sys/index.htm", #editURL); + case GOTOURL: + case 0x0D: //enter + copystr(#editURL, #URL); + Load(#URL); + return; + case 052: // F3 + IF(edit1.flags <> 66) + IF (strcmp(get_URL_part(5),"http:")<>0) RunProgram("tinypad", #URL); ELSE RunProgram("tinypad", #download_path); + break; + case 173: //ctrl+enter + case SEARCHWEB: + copystr(#search_path, #URL); + copystr(#editURL, #URL + strlen(#URL)); + Load(#URL); + return; + case ID1: // + IF(za_kadrom > 0) za_kadrom--; + ELSE return; + break; + case ID2: // + IF(max_kolvo_strok + za_kadrom >= kolichestvo) return; + za_kadrom++; + break; + case 183: //PgDown + IF(za_kadrom == kolichestvo - max_kolvo_strok) return; + za_kadrom = za_kadrom + max_kolvo_strok + 2; + IF(max_kolvo_strok + za_kadrom > kolichestvo) za_kadrom = kolichestvo - max_kolvo_strok; + break; + case 184: //PgUp + IF(za_kadrom == 0) return; + za_kadrom = za_kadrom - max_kolvo_strok - 2; + IF(za_kadrom < 0) za_kadrom = 0; + break; + case 180: //home + IF (za_kadrom <>0) za_kadrom = 0; + ELSE return; + break; + case 181: //end + za_kadrom = kolichestvo - max_kolvo_strok; + break; + default: + return; + } + IF(id == 11) koitodos(buf); + ParseHTML(buf, filesize); +} + +// +void TWebBrowser::DrawScroller() { + dword on_y; + DrawBar(left + width - 15, top + 17, 1, height - 34, 0x94AECE); // + DrawFlatButton(left + width - 15, top + height - 17, 16, 16, ID2, 0xE4DFE1, "\x19"); + DrawFlatButton(left + width - 15, top, 16, 16, ID1, 0xE4DFE1, "\x18"); + + IF(kolichestvo <= max_kolvo_strok) { + DrawBar(left + width - 14, top + 17, 16, height - 34, 0xCED0D0); + return; + } + + razm_scrl = height - 16 * max_kolvo_strok / kolichestvo - 3; + IF(razm_scrl < 10) razm_scrl = 10; + IF(za_kadrom + max_kolvo_strok >= kolichestvo) on_y = height - razm_scrl + top - 17; + ELSE on_y = height - 32 * za_kadrom / kolichestvo + top + 16; + DrawFlatButton(left + width - 15, on_y, 16, razm_scrl, 0, 0xE4DFE1, ""); // + IF(on_y > top + 17) DrawBar(left + width - 14, top + 17, 16, on_y - top - 17, 0xCED0D0); // + IF(height - razm_scrl + top - 17 > on_y) + DrawBar(left + width - 14, on_y + razm_scrl + 1, 16, height - razm_scrl - on_y + top - 18, 0xCED0D0); // +} + + +void GetNewUrl(){ + IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+1,#URL); + //IF (!strcmp(get_URL_part(3),"../")) + //{ + // //DrawTitle(#URL+7); + //} + if (strcmp(get_URL_part(3),"/rd")<>0) && (strcmp(get_URL_part(5),"/sys/")<>0) && (strcmp(get_URL_part(3),"/hd")<>0) + && (strcmp(get_URL_part(3),"/bd")<>0) && (strcmp(get_URL_part(3),"/fd")<>0) && (strcmp(get_URL_part(3),"/cd")<>0) + && (strcmp(get_URL_part(5),"http:")<>0) && (strcmp(get_URL_part(5),"mailt")<>0) && (strcmp(get_URL_part(5),"ftp:/")<>0) + { + copystr(BrowserHistory.CurrentUrl(), #editURL); // + + IF (editURL[find_symbol(#editURL, '/')-2]<>'/') // http://test.ua + { + editURL[find_symbol(#editURL, '/')] = 0x00; // / + IF (URL[0]=='/') copystr(#URL+1,#URL); + } + copystr(#URL, #editURL + strlen(#editURL)); // + copystr(#editURL, #URL); + } +} + + + +void ReadHtml(byte DO_LOAD) { + IF(buf) free(buf); + buf = malloc(1048576); + + if (!strcmp(get_URL_part(5),"http:"))) + { + if (DO_LOAD) && (!WindowRePaint) + { + DeleteFile(#download_path); + IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]=''; + RunProgram("/sys/downloader", #URL); + return; + } + ReadFile(0, 1048576, buf, #download_path); + } + ELSE ReadFile(0, 1048576, buf, #URL); + + filesize = EBX; +} + + + +void TWebBrowser::Load(dword adress) { + if (URL[0] == '#') { // . ... + copystr(#editURL, #URL); + return; + } + + URL[find_symbol(#URL, '#')-1] = 0x00; //, , (, , ) + + GetNewUrl(); + + max_kolvo_stolbcov = width - 30 / 6; + max_kolvo_strok = height - 3 / 10 - 2; + copystr(" HTML Viewer v0.63", #header); + if (!WindowRePaint) { + za_kadrom = 0; + copystr(#URL, #editURL); + BrowserHistory.AddUrl(); + } + edit1.size = edit1.pos = strlen(#editURL); + edit_box_draw stdcall(#edit1); // + + ReadHtml(LETS_LOAD); + wintodos(buf); + ParseHTML(buf, filesize); + IF(!strlen(buf)) { + IF (strcmp(get_URL_part(5),"http:")==0) + { + PutImage(#stop_btn, 24, 24, 88, 10); + WriteText(left + 10, top + 18, 0x80, 0, "Loading...", 0); + } + ELSE + WriteText(left + 10, top + 18, 0x80, 0, "Page not found. May be, URL contains some errors.", 0); + } + + IF (!strcmp(" HTML Viewer v0.63", #header)) DrawTitle(#header); +} + + + +byte rez, b_text, i_text, u_text, s_text, w_title, pre_text, blq_text, li_text, link, ignor_text, li_tab; +dword text_colors[10], + text_color_index = 0, + link_color; +int stroka, + stolbec; + byte line[330], + tag[100], + tagparam[10000], + parametr[1200], + options[1000]; + + byte ignor_param = 0; + + byte rtf_text; + +void TWebBrowser::ParseHTML(dword bword, fsize){ + word bukva[1]; + char temp[768]; + stroka = -za_kadrom; + stolbec = 0; + FOR(j = 400; j < blink + 1; j++;) DeleteButton(j); + b_text = i_text = u_text = s_text = w_title = pre_text = blq_text = + li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 0; // + link_color = 0x0000FF; + blink = 400; + line = ''; + copystr("|", #page_links); + IF(!strcmp(#URL + strlen(#URL) - 4, ".txt")) pre_text = 1; // + IF(!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1; + IF(za_kadrom == 0) || (WindowRePaint) DrawBar(left, top, width - 15, 15, 0xFFFFFF); // + for (; buf + fsize > bword; bword++;) { + bukva = ESBYTE[bword]; + switch (bukva) { + case 0x0a: + IF(pre_text == 1) { + bukva = ''; + temp = ''; + goto NEXT_MARK; + } + case '\9': + case 0x0d: + //IF(pre_text == 1) {copystr(" ", #line + strlen(#line)); break;} ELSE + bukva = ' '; + goto DEFAULT_MARK; + case '<': + bword++; // < + IF(ESBYTE[bword] == '!') // <!-- -->, + { + bword++; + IF(ESBYTE[bword] == '-') { + HH_: do { + bword++; + IF(bword >= buf + fsize) break 1; + } while (ESBYTE[bword] <>'-'); + bword++; + IF(ESBYTE[bword] <>'-') GOTO HH_; + } + } + while (ESBYTE[bword] <>'>') && (bword < buf + fsize) // + { + bukva = ESBYTE[bword]; + IF(bukva == '\9') || (bukva == '\x0a') || (bukva == '\x0d') bukva = ' '; + IF(!ignor_param) && (bukva <>' ') copystr(#bukva, #tag + strlen(#tag)); + ELSE { + ignor_param = true; + copystr(#bukva, #tagparam + strlen(#tagparam)); + } + bword++; + } + lowcase(#tag); + lowcase(#tagparam); + //WriteDebug(#tagparam); + //WriteDebug(#tag); Pause(50); + // + IF (tag[strlen(#tag)-1]=='/') tag[strlen(#tag)-1]=''; // XHTML- br/ + IF(strlen(#tagparam) > 0) && (strlen(#tagparam) < 4000) GetNextParam(); + WhatTextStyle(left + 5, stroka * 10 + top + 5, width - 20); // + + line = tag = parametr = tagparam = ignor_param = 0; // + break; + case '=': // , 7 + IF(strcmp(#URL + strlen(#URL) - 4, ".mht")<>0) goto DEFAULT_MARK; + + bword++; + bukva=ESBYTE[bword]; + copystr(#bukva, #temp); + + bword++; + bukva=ESBYTE[bword]; + copystr(#bukva, #temp + strlen(#temp)); + + bukva=Hex2Symb(#temp); + IF (bukva) goto DEFAULT_MARK; + break; + /*case '\\': // RTF, http://dev.rembish.ru/rtf.phps + IF(strcmp(#URL + strlen(#URL) - 4, ".rtf")<>0) goto DEFAULT_MARK; + rtf_text=''; + + // + bword++; + j = 0; + + IF (ESBYTE[bword]=='\'') + { + bword++; + bukva=ESBYTE[bword]; + copystr(#bukva, #rtf_text); + + bword++; + bukva=ESBYTE[bword]; + copystr(#bukva, #rtf_text + strlen(#rtf_text)); + + bukva=Hex2Symb(#rtf_text); + IF (bukva) goto DEFAULT_MARK; + } + + WHILE ((ESBYTE[bword] <>' ') && (j < 25) && (ESBYTE[bword] <>'\\') && (ESBYTE[bword] <>0x0d)) { + bukva = ESBYTE[bword]; + copystr(#bukva, #rtf_text + strlen(#rtf_text)); + bword++; + j++; + } + + IF (strcmp(#rtf_text,"par")==0) goto NEXT_MARK; + break;*/ + case '&': + IF(ignor_text) break; + bword++; + j = 0; + WHILE(ESBYTE[bword] <>';') && (j < 7) { + bukva = ESBYTE[bword]; + copystr(#bukva, #tag + strlen(#tag)); + bword++; + j++; + } + bukva = ''; // + IF(!strcmp("nbsp", #tag)) copystr(" ", #line + strlen(#line)); + IF(!strcmp("copy", #tag)) || (!strcmp("#169", #tag)) copystr("(c)", #line + strlen(#line)); + IF(!strcmp("reg", #tag)) || (!strcmp("#174", #tag)) copystr("(r)", #line + strlen(#line)); + rez = StrToInt(#tag + 1) - 1040; + IF(tag[1] == '1') && (strlen(#tag) == 5) bukva = utf100tmmv_mas[rez]; + IF(!strcmp("bdquo", #tag)) copystr(",,", #line + strlen(#line)); + IF(!strcmp("amp", #tag)) || (!strcmp("#38", #tag)) bukva = '&'; + IF(!strcmp("lt", #tag)) || (!strcmp("#60", #tag)) bukva = '<'; + IF(!strcmp("gt", #tag)) || (!strcmp("#62", #tag)) bukva = '>'; + IF(!strcmp("minus", #tag)) || (!strcmp("#8722", #tag)) bukva = '-'; + IF(!strcmp("#151", #tag)) || (!strcmp("#149", #tag)) || (!strcmp("ndash", #tag)) bukva = '-'; + IF(!strcmp("#39", #tag)) || (!strcmp("#96", #tag)) bukva = '\''; + IF(!strcmp("quot", #tag)) || (!strcmp("#34", #tag)) || (!strcmp("ldquo", #tag)) || (!strcmp("rdquo", #tag)) bukva = '"'; + tag = ''; + //break; + default: + DEFAULT_MARK: + IF(ignor_text) break; + IF(pre_text == 0) && (bukva == ' ') && (strcmp(#line + strlen(#line) - 1, " ") == 0) continue; + // + if (stolbec + strlen(#line) > max_kolvo_stolbcov) && (w_title == 0) { + copystr(#line + find_symbol(#line, ' '), #temp); // + line[find_symbol(#line, ' ')] = 0x00; + NEXT_MARK: IF(stroka - 1 > max_kolvo_strok) && (za_kadrom <>0) break 1; //... + WhatTextStyle(left + 5, stroka * 10 + top + 5, width - 20); // + TextGoDown(left + 5, stroka * 10 + top + 5, width - 20); // + copystr(#temp, #line); + } + IF(pre_text == 0) && (bukva == ' ') && (stolbec == 0) && (strlen(#line) == 0) continue; + copystr(#bukva, #line + strlen(#line)); + } + } + IF(max_kolvo_strok * 10 + 25 <= height) + DrawBar(left, max_kolvo_strok * 10 + top + 25, width - 15, -max_kolvo_strok * 10 + height - 25, 0xFFFFFF); + IF(stroka * 10 + 15 <= height) + DrawBar(left, stroka * 10 + top + 15, width - 15, -stroka * 10 + height - 15, 0xFFFFFF); // + IF(za_kadrom == 0) kolichestvo = stroka; + DrawScroller(); // +} + + +void GetNextParam() { + dword kavichki = false, + i = strlen(#tagparam) - 1; + + WHILE((i > 0) && (tagparam[i] == '"') || (tagparam[i] == ' ') || (tagparam[i] == '\'') || (tagparam[i] == '/')) + { + IF (tagparam[i] == '"') kavichki=1; + IF (tagparam[i] == '\'') kavichki=2; + tagparam[i] = 0x00; + i--; + } + + if (kavichki==1) // " + { + i=find_symbol(#tagparam, '"'); + copystr(#tagparam + i, #options); + } + else if (kavichki==2) // ' + { + i=find_symbol(#tagparam, '\''); + copystr(#tagparam + i, #options); + } + + else + { + //i=find_symbol(#tagparam, '='); + WHILE((i > 0) && (tagparam[i] <>'=')) i--; + i+=1; + copystr(#tagparam + i, #options); // + WHILE (options[0] == ' ') copystr(#options + 1, #options); + } + tagparam[i] = 0x00; + + // + WHILE((tagparam[i] <>' ') && (i > 0)) { + IF(tagparam[i] == '=') // + { + //copystr(#tagparam+i+2,#options); + tagparam[i + 1] = 0x00; + } + i--; + } + copystr(#tagparam + i + 1, #parametr); // + tagparam[i] = 0x00; +} + + + +char oldtag[100]; +void TWebBrowser::WhatTextStyle(word left1, top1, width1) { + dword hr_color; + + dword image=0; + char temp[1024]; + int w, h; + + IF(tag[0] == '/') { + rez = 0; + copystr(#tag + 1, #tag); + } ELSE rez = 1; + // + IF(!chTag("html")) { + IF(!strcmp(#URL + strlen(#URL) - 4, ".mht")) IF (rez==0) ignor_text = 1; ELSE ignor_text = 0; + return; + } + IF(!chTag("script")) || (!chTag("style")) ignor_text = rez; + IF (ignor_text == 1) return; + // + + IF(!chTag("title")) IF(w_title == 0) { + copystr(" ", #line); + w_title = 1; + } + ELSE { + w_title = 0; + stolbec = 0; + copystr(#line, #header); + copystr(" - HTML Viewer v0.63", #header + strlen(#header)); + IF(stroka == 0) || (WindowRePaint == 1) DrawTitle(#header); + //, , 2 , , , + return; + } + // + IF(!chTag("q")) copystr("\"", #line + strlen(#line)); + if (stroka > -1) && (stroka - 2 < max_kolvo_strok) && (line) { + WriteText(stolbec * 6 + left1, top1, 0x80, text_colors[text_color_index], #line, 0); + IF(b_text) WriteText(stolbec * 6 + left1 + 1, top1, 0x80, text_colors[text_color_index], #line, 0); + IF(i_text) Skew(stolbec * 6 + left1, top1, strlen(#line)+1*6, 10); + IF(s_text) DrawBar(stolbec * 6 + left1, top1 + 4, strlen(#line) * 6, 1, text_colors[text_color_index]); // + IF(u_text) DrawBar(stolbec * 6 + left1, top1 + 8, strlen(#line) * 6, 1, text_colors[text_color_index]); // + IF(link) { + DefineButton(stolbec * 6 + left1 - 2, top1, strlen(#line) * 6 + 3, 9, blink + BT_HIDE, 0xB5BFC9); // + DrawBar(stolbec * 6 + left1, top1 + 8, strlen(#line) * 6, 1, text_colors[text_color_index]); + } + } + // + IF(!tag) return; + stolbec += strlen(#line); + ////////////////////////// + if (!chTag("a")) { + IF (stroka - 1 > max_kolvo_strok) || (stroka < -2) return; + if (rez) { + HREF: IF(strcmp(#parametr, "href=") == 0) { + IF(link == 1) text_color_index--; // - + link = 1; + blink++; + text_color_index++; + text_colors[text_color_index] = link_color; + copystr(#options, #page_links + strlen(#page_links)); + copystr("|", #page_links + strlen(#page_links)); + } + IF(tagparam) { + GetNextParam(); + GOTO HREF; + } + } + ELSE { + link = 0; + IF(text_color_index > 0) text_color_index--; + } + return; + } + ///////////////////////// + if (!chTag("font")) { + IF(stroka <= 0) && (stroka - 1 > max_kolvo_strok) return; + COL_MARK: IF(strcmp(#parametr, "color=") == 0) //&& (parametr[1] == '#') + { + text_color_index++; + IF (options[0] == '#'){ + text_colors[text_color_index] = StrToCol(#options); + } + ELSE { + FOR (i=0;color_names[i]!=0;i++){ + IF(!strcmp(#options, color_names[i])) {text_colors[text_color_index] = colors[i]; BREAK;} + } + } + + } + IF(tagparam[0] <>'') { + GetNextParam(); + GOTO COL_MARK; + } + IF(!rez) && (text_color_index > 0) text_color_index--; + return; + } + ////////////////////////// + IF(!chTag("tr")) || (!chTag("br")) { + TextGoDown(left1, top1, width1); + return; + } + IF(!chTag("div")) { + IF(oldtag[0] <>'h') TextGoDown(left1, top1, width1); + return; + } + IF(!chTag("p")) { + IF(oldtag[0] == 'h') return; + TextGoDown(left1, top1, width1); + IF(rez) TextGoDown(left1, top1 + 10, width1); + return; + } + //////////////////////////// + IF(!chTag("h1")) || (!chTag("h2")) || (!chTag("h3")) || (!chTag("h4")) { + TextGoDown(left1, top1, width1); + IF(rez) TextGoDown(left1, top1 + 10, width1); + b_text = rez; + copystr(#tag, #oldtag); + return; + } ELSE copystr("", #oldtag); + IF(!chTag("b")) || (!chTag("strong")) || (!chTag("big")) { + b_text = rez; + return; + } + //////////////////////////// + IF(!chTag("i")) || (!chTag("em")) { + i_text = rez; + return; + } + //////////////////////////// + if(!chTag("li")) || (!chTag("dt")) // + { + li_text = rez; + IF(rez == 0) return; + TextGoDown(left1, top1, width1); + IF(stroka > -1) && (stroka - 2 < max_kolvo_strok) IF(!chTag("li")) DrawBar(li_tab * 5 * 6 + left1 - 5, top1 + 12, 2, 2, 0); + return; + } + //////////////////////////// + IF(!chTag("u")) || (!chTag("ins")) u_text = rez; + IF(!chTag("s")) || (!chTag("strike")) || (!chTag("del")) s_text = rez; + IF(!chTag("ul")) || (!chTag("ol")) IF(!rez) { + li_text = rez; + li_tab--; + TextGoDown(left1, top1, width1); + } ELSE li_tab++; + IF(!chTag("dd")) stolbec += 5; + IF(!chTag("blockquote")) blq_text = rez; + IF(!chTag("body")) IF(strcmp(#parametr, "link=") == 0) link_color = StrToCol(#options); + IF(!chTag("pre")) pre_text = rez; + IF(!chTag("hr")) { + TextGoDown(left1, top1, width1); + TextGoDown(left1, top1 + 10, width1); + IF(strcmp(#parametr, "color=") == 0) hr_color = StrToCol(#options); + ELSE hr_color = 0x999999; + IF(stroka > 0) DrawBar(left1, top1 + 14, width1 - 8, 1, hr_color); + } + + if (!chTag("img")) + { + //IF (GetFileInfo(#libimg)<>0) return; // + IMG_TAG: + if (strcmp(#parametr,"src=")==0) // GetNewUrl() + { + copystr(BrowserHistory.CurrentUrl(), #temp); // + temp[find_symbol(#temp, '/')] = 0x00; // / + copystr(#options,#temp+strlen(#temp)); + image=load_image(#temp); + + w=DSWORD[image+4]; + h=DSWORD[image+8]; + } + IF(tagparam) { + GetNextParam(); + GOTO IMG_TAG; + } + + if (image) + { + if (width1<w) w=width1; + if (WB1.height<h) h=WB1.height; + IF (top1<WB1.top) {h=h-top1+WB1.top; top1=WB1.top;} + TextGoDown2(left1+w,top1,width1-w,h); + IF (stroka - 2 < max_kolvo_strok) img_draw stdcall (image,left1-5,top1+10,w,-stroka * 10 + WB1.height -15 + h,0,0); + } + //else WriteDebug(#options); + } + + if (!chTag("meta")) { + META: + if (!strcmp(#parametr, "charset=")) || (!strcmp(#parametr, "content=")) + { + copystr(#options[find_symbol(#options, '=')],#options); // content= + + IF (!strcmp(#options,"utf-8")) + { + ReadHtml(DONT_LOAD); + utf8rutodos(buf); + } + IF(!strcmp(#options, "koi8-r")) || (!strcmp(#options, "koi8-u")) + { + ReadHtml(DONT_LOAD); + koitodos(buf); + } + IF(!strcmp(#options, "dos")) || (!strcmp(#options, "cp-866")) + { + ReadHtml(DONT_LOAD); + } + } + IF(tagparam[0] <>'') { + GetNextParam(); + goto META; + } + } +} + + +void TextGoDown(int left1, top1, width1) { + stroka++; + IF(blq_text == 1) stolbec = 8; + ELSE stolbec = 0; + IF(li_text == 1) stolbec = li_tab * 5; + IF(stroka >= 0) && (stroka - 2 < max_kolvo_strok) DrawBar(left1 - 5, top1 + 10, width1 + 5, 10, 0xFFFFFF); +} + +void TextGoDown2(int left1,top1,width1,height1)//ASPER: . +{ + stroka+=height1/10; + IF (blq_text==1) stolbec=8; ELSE stolbec=0; + IF (li_text==1) stolbec=5; + IF (stroka>=0) && (stroka-2<max_kolvo_strok) DrawBar(left1 - 5, top1 + 10, width1 + 5, height1, 0xFFFFFF); +} \ No newline at end of file diff --git a/programs/network/htmlv/browser/compile.bat b/programs/network/htmlv/browser/compile.bat new file mode 100644 index 0000000000..4ddfd1ea92 --- /dev/null +++ b/programs/network/htmlv/browser/compile.bat @@ -0,0 +1,5 @@ +..\C--\c-- HTMLv.c-- +del HTMLv +rename HTMLv.com HTMLv +..\C--\kpack HTMLv +pause diff --git a/programs/network/htmlv/browser/img/URLgoto.png b/programs/network/htmlv/browser/img/URLgoto.png new file mode 100644 index 0000000000..8bd51e71aa Binary files /dev/null and b/programs/network/htmlv/browser/img/URLgoto.png differ diff --git a/programs/network/htmlv/browser/img/URLgoto.txt b/programs/network/htmlv/browser/img/URLgoto.txt new file mode 100644 index 0000000000..0bcea11ab7 --- /dev/null +++ b/programs/network/htmlv/browser/img/URLgoto.txt @@ -0,0 +1,256 @@ +unsigned char URLgoto[2280] = { + 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, + 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, + 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, + 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, + 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xD3, + 0xB8, 0xA4, 0xDE, 0xD4, 0xD1, 0xE1, 0xDF, 0xE4, 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, + 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, + 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, + 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, + 0xF4, 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, + 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, + 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, + 0xF4, 0xF2, 0xF1, 0xF4, 0xF2, 0xF1, 0xF4, 0xE5, 0xDA, 0xD5, 0xD1, 0xB3, 0x9C, 0xDE, 0xD4, 0xD1, + 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, + 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, + 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xDA, 0xD8, 0xDE, 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xEA, + 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, + 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, + 0xE9, 0xED, 0xE5, 0xDA, 0xD5, 0xD3, 0xB8, 0xA4, 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xEA, 0xE9, + 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, + 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xDA, 0xD8, + 0xDE, 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, + 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, + 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xDA, 0xD8, 0xDE, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, + 0xE9, 0xED, 0xA3, 0x9E, 0x98, 0x8C, 0x86, 0x7D, 0x81, 0x7A, 0x71, 0x8C, 0x86, 0x7D, 0xA3, 0x9E, + 0x98, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xDA, 0xD8, 0xDE, 0xCE, 0xAE, 0x94, 0xF2, 0xF1, 0xF4, 0xEA, + 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0x32, 0xAD, + 0x76, 0x32, 0xAD, 0x76, 0x32, 0xAD, 0x76, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, + 0xE9, 0xED, 0xDA, 0xD8, 0xDE, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xF1, 0xF0, 0xF2, 0xE9, 0xE8, + 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0x94, 0x8E, 0x87, 0xA6, 0x9F, 0x99, 0xD0, 0xCA, 0xBE, + 0xEC, 0xE2, 0xC8, 0xCD, 0xC4, 0xB0, 0xA3, 0x9A, 0x8F, 0x94, 0x8E, 0x86, 0xE9, 0xE8, 0xEC, 0xE9, + 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xD9, 0xD7, + 0xDD, 0xCE, 0xAE, 0x94, 0xF1, 0xF0, 0xF2, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, + 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0x32, 0xAD, 0x76, 0x6B, 0xD4, 0xA5, 0x6B, 0xD4, 0xA5, 0x32, + 0xAD, 0x76, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, + 0xEC, 0xE9, 0xE8, 0xEC, 0xE9, 0xE8, 0xEC, 0xE8, 0xE6, 0xEA, 0xD9, 0xD7, 0xDD, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xF0, 0xEF, 0xF1, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xA3, 0x9E, 0x98, 0xA4, + 0x9D, 0x95, 0xFE, 0xFD, 0xFB, 0xF3, 0xE8, 0xD6, 0xEC, 0xDB, 0xBF, 0xEE, 0xE1, 0xC4, 0xF1, 0xEA, + 0xCE, 0xA1, 0x9A, 0x8F, 0xA3, 0x9E, 0x98, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, + 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xD9, 0xD6, 0xDD, 0xCE, 0xAE, 0x94, 0xF0, 0xEF, 0xF1, 0xE9, + 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0x32, 0xAD, + 0x76, 0x6B, 0xD4, 0xA5, 0x52, 0xCD, 0x96, 0x6B, 0xD4, 0xA5, 0x32, 0xAD, 0x76, 0xE9, 0xE7, 0xEB, + 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE9, 0xE7, 0xEB, 0xE7, + 0xE5, 0xE9, 0xD9, 0xD6, 0xDD, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xF0, 0xEF, 0xF1, 0xE8, 0xE6, + 0xEA, 0xE8, 0xE6, 0xEA, 0x8C, 0x86, 0x7D, 0xCF, 0xCA, 0xB9, 0xF1, 0xE5, 0xCF, 0xEE, 0xE0, 0xC5, + 0xF2, 0xEE, 0xD3, 0xF4, 0xF2, 0xD8, 0xF4, 0xF3, 0xD8, 0xCF, 0xC9, 0xB6, 0x8C, 0x86, 0x7D, 0xE8, + 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xD8, 0xD6, + 0xDC, 0xCE, 0xAE, 0x94, 0xF0, 0xEF, 0xF1, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, + 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0x32, 0xAD, 0x76, 0x6B, 0xD4, 0xA5, 0x52, 0xCD, 0x96, 0x52, + 0xCD, 0x96, 0x6B, 0xD4, 0xA5, 0x32, 0xAD, 0x76, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, + 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE6, 0xE4, 0xE8, 0xD8, 0xD6, 0xDC, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xED, 0xED, 0xEF, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0x81, 0x7A, 0x71, 0xEC, + 0xE5, 0xCC, 0xEB, 0xD9, 0xBC, 0xF1, 0xED, 0xD1, 0xF7, 0xF7, 0xE4, 0xF9, 0xF9, 0xEB, 0xF8, 0xF8, + 0xE7, 0xF0, 0xEF, 0xD9, 0x81, 0x7A, 0x71, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, + 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xD7, 0xD5, 0xDB, 0xCE, 0xAE, 0x94, 0xED, 0xED, 0xEF, 0xE7, + 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0x32, 0xAD, + 0x76, 0x6B, 0xD4, 0xA5, 0x52, 0xCD, 0x96, 0x52, 0xCD, 0x96, 0x52, 0xCD, 0x96, 0x6B, 0xD4, 0xA5, + 0x32, 0xAD, 0x76, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xE2, + 0xE1, 0xE5, 0xD7, 0xD5, 0xDB, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xEC, 0xEA, 0xED, 0xE6, 0xE4, + 0xE8, 0xE6, 0xE4, 0xE8, 0x8C, 0x86, 0x7D, 0xCB, 0xC3, 0xB2, 0xEE, 0xE3, 0xC6, 0xF3, 0xF1, 0xD6, + 0xF9, 0xF9, 0xEB, 0xFD, 0xFD, 0xF9, 0xFD, 0xFD, 0xF8, 0xCF, 0xCB, 0xBE, 0x8C, 0x86, 0x7D, 0xE6, + 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, 0xD6, 0xD3, + 0xDA, 0xCE, 0xAE, 0x94, 0xEC, 0xEA, 0xED, 0xE6, 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, + 0xE6, 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, 0x32, 0xAD, 0x76, 0x6B, 0xD4, 0xA5, 0x52, 0xCD, 0x96, 0x52, + 0xCD, 0x96, 0x52, 0xCD, 0x96, 0x52, 0xCD, 0x96, 0x39, 0xC5, 0x86, 0x32, 0xAD, 0x76, 0xE6, 0xE4, + 0xE8, 0xE6, 0xE4, 0xE8, 0xE6, 0xE4, 0xE8, 0xDF, 0xDD, 0xE2, 0xD6, 0xD3, 0xDA, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xEB, 0xEA, 0xED, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xA3, 0x9E, 0x98, 0xA1, + 0x9A, 0x91, 0xEF, 0xE7, 0xCD, 0xF4, 0xF3, 0xD8, 0xF8, 0xF8, 0xE6, 0xFC, 0xFC, 0xF5, 0xFB, 0xFA, + 0xF9, 0xA2, 0x9C, 0x94, 0xA3, 0x9E, 0x98, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, + 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xD6, 0xD3, 0xDA, 0xCE, 0xAE, 0x94, 0xEB, 0xEA, 0xED, 0xE2, + 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0x32, 0xAD, + 0x76, 0x6B, 0xD4, 0xA5, 0x52, 0xCD, 0x96, 0x52, 0xCD, 0x96, 0x52, 0xCD, 0x96, 0x39, 0xC5, 0x86, + 0x32, 0xAD, 0x76, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xDF, + 0xDC, 0xE2, 0xD6, 0xD3, 0xDA, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xE9, 0xE9, 0xEC, 0xDF, 0xDD, + 0xE2, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0x94, 0x8F, 0x87, 0xA2, 0x9B, 0x92, 0xCB, 0xC6, 0xB8, + 0xF1, 0xF2, 0xE0, 0xCE, 0xCA, 0xBF, 0xA2, 0x9D, 0x95, 0x83, 0x7F, 0x7A, 0x80, 0xAD, 0xC8, 0xDF, + 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0xD4, 0xD2, + 0xD9, 0xCE, 0xAE, 0x94, 0xE9, 0xE9, 0xEC, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, + 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0x32, 0xAD, 0x76, 0x6B, 0xD4, 0xA5, 0x52, 0xCD, 0x96, 0x52, + 0xCD, 0x96, 0x39, 0xC5, 0x86, 0x32, 0xAD, 0x76, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, + 0xE2, 0xDF, 0xDD, 0xE2, 0xDF, 0xDD, 0xE2, 0xDC, 0xDB, 0xE1, 0xD4, 0xD2, 0xD9, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, + 0xDC, 0xE2, 0xA3, 0x9E, 0x98, 0x8C, 0x86, 0x7D, 0x81, 0x7A, 0x71, 0x8C, 0x86, 0x7D, 0xA3, 0x9E, + 0x98, 0x6F, 0x77, 0x93, 0x6C, 0x77, 0x9A, 0x80, 0xB7, 0xD9, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, + 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xD3, 0xD1, 0xD7, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xDE, + 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0x32, 0xAD, + 0x76, 0x6B, 0xD4, 0xA5, 0x52, 0xCD, 0x96, 0x39, 0xC5, 0x86, 0x32, 0xAD, 0x76, 0xDE, 0xDC, 0xE2, + 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xDE, 0xDC, 0xE2, 0xD9, + 0xD7, 0xDB, 0xD3, 0xD1, 0xD7, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xDC, 0xDB, + 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, + 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0x6C, 0x77, 0x9A, 0x6C, + 0x77, 0x9A, 0x80, 0xB7, 0xD9, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xD3, 0xD1, + 0xD7, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, + 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0x32, 0xAD, 0x76, 0x6B, 0xD4, 0xA5, 0x39, 0xC5, 0x86, 0x32, + 0xAD, 0x76, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, + 0xE1, 0xDC, 0xDB, 0xE1, 0xDC, 0xDB, 0xE1, 0xD9, 0xD7, 0xDB, 0xD3, 0xD1, 0xD7, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, + 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, + 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0x6C, 0x77, 0x9A, 0x6C, 0x77, 0x9A, 0x80, 0xB7, 0xD9, + 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xD3, 0xD0, 0xD7, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xDA, + 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0x32, 0xAD, + 0x76, 0x32, 0xAD, 0x76, 0x32, 0xAD, 0x76, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, + 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xDA, 0xD9, 0xDF, 0xD8, + 0xD6, 0xDA, 0xD3, 0xD0, 0xD7, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xD9, 0xD8, + 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, + 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, + 0xD8, 0xDD, 0x6C, 0x77, 0x9A, 0x6C, 0x77, 0x9A, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD3, 0xD0, + 0xD7, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, + 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, + 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, + 0xDD, 0xD9, 0xD8, 0xDD, 0xD9, 0xD8, 0xDD, 0xD8, 0xD6, 0xDA, 0xD2, 0xCF, 0xD6, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, + 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, + 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, + 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD3, 0xD0, 0xD7, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xD8, + 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, + 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, + 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD8, 0xD6, 0xDA, 0xD6, + 0xD4, 0xD8, 0xD8, 0xD2, 0xD5, 0xD3, 0xB8, 0xA4, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xD3, 0xD0, + 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, + 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, + 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD1, 0xCE, + 0xD5, 0xCE, 0xAE, 0x94, 0xE7, 0xE6, 0xE9, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, + 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, + 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, + 0xD7, 0xD3, 0xD0, 0xD7, 0xD3, 0xD0, 0xD7, 0xD8, 0xD2, 0xD5, 0xD0, 0xB8, 0xA7, 0xDE, 0xD4, 0xD1, + 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, + 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, + 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, + 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, + 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, + 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xCE, 0xAE, 0x94, 0xD2, + 0xBC, 0xAE, 0xDE, 0xD4, 0xD1, 0xE1, 0xDF, 0xE4 +}; + +unsigned char stop_btn[1728] = { + 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, + 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, + 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xEA, 0xE9, 0xED, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, + 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, + 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xC2, 0xC5, 0xE5, + 0xC2, 0xC5, 0xE5, 0xC2, 0xC5, 0xE5, 0xC2, 0xC5, 0xE5, 0xC2, 0xC5, 0xE5, 0xC2, 0xC5, 0xE5, 0xC2, + 0xC5, 0xE5, 0xC2, 0xC5, 0xE5, 0xC2, 0xC6, 0xE5, 0xE7, 0xE6, 0xED, 0xE8, 0xE7, 0xED, 0xEB, 0xEA, + 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, + 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, + 0xEA, 0xEE, 0xB3, 0xB8, 0xE3, 0x00, 0x19, 0xC1, 0x00, 0x19, 0xC1, 0x00, 0x19, 0xC1, 0x00, 0x19, + 0xC1, 0x00, 0x19, 0xC1, 0x00, 0x19, 0xC1, 0x00, 0x19, 0xC1, 0x00, 0x19, 0xC1, 0x00, 0x19, 0xC1, + 0x8C, 0x95, 0xDB, 0xE3, 0xE3, 0xEC, 0xE7, 0xE6, 0xED, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, + 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEB, 0xEA, 0xEE, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, + 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xB2, 0xB8, 0xE2, 0x00, 0x19, 0xC1, 0x74, 0x85, 0xE7, + 0x74, 0x85, 0xE7, 0x74, 0x85, 0xE7, 0x74, 0x85, 0xE7, 0x74, 0x85, 0xE7, 0x74, 0x85, 0xE7, 0x74, + 0x85, 0xE7, 0x74, 0x85, 0xE7, 0x74, 0x85, 0xE7, 0x00, 0x19, 0xC1, 0x87, 0x92, 0xDA, 0xE1, 0xE1, + 0xEB, 0xE8, 0xE7, 0xEC, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, 0xEA, 0xE9, 0xED, + 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xB1, 0xB5, 0xE0, 0x00, + 0x19, 0xC1, 0x74, 0x85, 0xE7, 0x49, 0x5F, 0xDB, 0x49, 0x5F, 0xDB, 0x4C, 0x65, 0xDD, 0x4C, 0x64, + 0xDD, 0x46, 0x5E, 0xDB, 0x3E, 0x55, 0xDA, 0x34, 0x4D, 0xDA, 0x29, 0x45, 0xD7, 0x2D, 0x47, 0xD8, + 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x86, 0x90, 0xD8, 0xDF, 0xDE, 0xE8, 0xE7, 0xE5, 0xE9, 0xE8, + 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, + 0xEA, 0xB1, 0xB5, 0xE0, 0x00, 0x19, 0xC1, 0x74, 0x85, 0xE7, 0x49, 0x5F, 0xDB, 0x4A, 0x61, 0xDC, + 0x50, 0x64, 0xDC, 0x52, 0x67, 0xDD, 0x4D, 0x64, 0xDC, 0x4B, 0x62, 0xDC, 0x46, 0x5E, 0xDB, 0x3C, + 0x53, 0xD9, 0x30, 0x4A, 0xD8, 0x28, 0x44, 0xD6, 0x29, 0x45, 0xD7, 0x48, 0x5F, 0xDB, 0x00, 0x19, + 0xC1, 0x86, 0x90, 0xD8, 0xE3, 0xE2, 0xE9, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, 0xE8, 0xE6, 0xEA, + 0xE7, 0xE5, 0xE9, 0xE7, 0xE5, 0xE9, 0xB0, 0xB5, 0xDF, 0x00, 0x19, 0xC1, 0x74, 0x85, 0xE7, 0x49, + 0x5F, 0xDB, 0x47, 0x5E, 0xDB, 0x51, 0x65, 0xDD, 0x6C, 0x80, 0xE2, 0x4C, 0x62, 0xDC, 0x47, 0x5F, + 0xDC, 0x48, 0x60, 0xDC, 0x44, 0x5C, 0xDC, 0x3B, 0x55, 0xD9, 0x58, 0x6D, 0xDE, 0x2C, 0x45, 0xD7, + 0x27, 0x43, 0xD2, 0x23, 0x3D, 0xCD, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x86, 0x8F, 0xD8, 0xE5, + 0xE3, 0xE8, 0xE6, 0xE4, 0xE8, 0xE7, 0xE5, 0xE9, 0xE5, 0xE3, 0xE7, 0xBA, 0xBD, 0xDF, 0x00, 0x19, + 0xC1, 0x74, 0x85, 0xE7, 0x3E, 0x57, 0xDD, 0x49, 0x5F, 0xDB, 0x45, 0x5D, 0xDB, 0x8D, 0x9D, 0xE7, + 0xA8, 0xB6, 0xEF, 0xBC, 0xC9, 0xEE, 0x41, 0x59, 0xDB, 0x45, 0x5D, 0xDB, 0x44, 0x5C, 0xDC, 0x90, + 0xA0, 0xE9, 0xA8, 0xB6, 0xEF, 0x6B, 0x7E, 0xE2, 0x27, 0x41, 0xCF, 0x1A, 0x35, 0xCA, 0x21, 0x3C, + 0xCD, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x9B, 0xA2, 0xDA, 0xE5, 0xE3, 0xE7, 0xE4, 0xE2, 0xE7, + 0xE2, 0xE1, 0xE5, 0xB8, 0xBC, 0xDD, 0x00, 0x19, 0xC1, 0x74, 0x85, 0xE7, 0x3E, 0x57, 0xDD, 0x46, + 0x5F, 0xDB, 0x67, 0x7B, 0xE1, 0xA8, 0xB6, 0xEF, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xB6, 0xC6, + 0xE9, 0x43, 0x5B, 0xDC, 0x80, 0x93, 0xE3, 0x91, 0xA1, 0xE8, 0xDE, 0xE7, 0xF5, 0xE1, 0xE8, 0xF9, + 0x5C, 0x70, 0xE0, 0x26, 0x41, 0xD0, 0x17, 0x32, 0xC9, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x71, + 0x7E, 0xD3, 0xDF, 0xDE, 0xE4, 0xE2, 0xE1, 0xE5, 0xE2, 0xE1, 0xE5, 0xB8, 0xBC, 0xDD, 0x00, 0x19, + 0xC1, 0x74, 0x85, 0xE7, 0x3E, 0x57, 0xDD, 0x43, 0x5B, 0xDC, 0x3E, 0x57, 0xDD, 0xBC, 0xC9, 0xEE, + 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xB4, 0xC5, 0xE6, 0x86, 0x99, 0xE4, 0xDE, + 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xE7, 0xEE, 0xFB, 0x27, 0x43, 0xD5, 0x27, 0x41, 0xD2, 0x22, 0x3B, + 0xCC, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x71, 0x7E, 0xD3, 0xDA, 0xDA, 0xE3, 0xE2, 0xE1, 0xE5, + 0xE1, 0xE0, 0xE4, 0xB7, 0xBB, 0xDC, 0x00, 0x19, 0xC1, 0x74, 0x85, 0xE7, 0x3E, 0x57, 0xDD, 0x3F, + 0x56, 0xDD, 0x3E, 0x57, 0xDD, 0x3E, 0x57, 0xDA, 0xB6, 0xC6, 0xE9, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, + 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDD, 0xE7, 0xF5, 0x2D, 0x46, 0xD8, + 0x28, 0x44, 0xD7, 0x28, 0x43, 0xD2, 0x23, 0x3D, 0xCD, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x70, + 0x7D, 0xD2, 0xD4, 0xD5, 0xE2, 0xDC, 0xDC, 0xE3, 0xDF, 0xDE, 0xE3, 0xB5, 0xB9, 0xDC, 0x00, 0x19, + 0xC1, 0x74, 0x85, 0xE7, 0x3E, 0x57, 0xDD, 0x3F, 0x58, 0xDB, 0x40, 0x59, 0xDD, 0x3E, 0x57, 0xDC, + 0x3E, 0x57, 0xDA, 0xB4, 0xC5, 0xE6, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, + 0xE7, 0xF5, 0x34, 0x4D, 0xD7, 0x30, 0x48, 0xD8, 0x29, 0x44, 0xD7, 0x28, 0x43, 0xD4, 0x22, 0x3D, + 0xCC, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6F, 0x7C, 0xD2, 0xD2, 0xD3, 0xE1, 0xDA, 0xDA, 0xE2, + 0xDC, 0xDB, 0xE1, 0xB3, 0xB7, 0xDA, 0x00, 0x19, 0xC1, 0x74, 0x85, 0xE7, 0x3E, 0x55, 0xD9, 0x41, + 0x5B, 0xDB, 0x41, 0x5B, 0xDD, 0x3F, 0x58, 0xDB, 0x80, 0x93, 0xE3, 0xA4, 0xB4, 0xE8, 0xDE, 0xE7, + 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xD7, 0xE2, 0xF3, 0x30, 0x49, 0xD8, + 0x28, 0x43, 0xD8, 0x28, 0x43, 0xD4, 0x22, 0x3B, 0xCC, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6E, + 0x7B, 0xD1, 0xCF, 0xD0, 0xDF, 0xD7, 0xD7, 0xE0, 0xDC, 0xDB, 0xE1, 0xB3, 0xB7, 0xDA, 0x00, 0x19, + 0xC1, 0x74, 0x85, 0xE7, 0x34, 0x4F, 0xDA, 0x40, 0x57, 0xDA, 0x3E, 0x57, 0xDD, 0x90, 0xA0, 0xE9, + 0x91, 0xA1, 0xE8, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDE, + 0xE7, 0xF5, 0xD7, 0xE2, 0xF3, 0xE0, 0xE9, 0xF7, 0x27, 0x43, 0xD8, 0x29, 0x43, 0xD1, 0x21, 0x3B, + 0xCB, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6E, 0x7B, 0xD1, 0xCF, 0xD0, 0xDF, 0xD7, 0xD7, 0xE0, + 0xDB, 0xDA, 0xE0, 0xB2, 0xB6, 0xD9, 0x00, 0x19, 0xC1, 0x74, 0x85, 0xE7, 0x2B, 0x45, 0xD8, 0x3A, + 0x52, 0xD8, 0x5E, 0x74, 0xE1, 0xA8, 0xB6, 0xEF, 0xDE, 0xE7, 0xF5, 0xDE, 0xE7, 0xF5, 0xDD, 0xE7, + 0xF5, 0x3A, 0x52, 0xD9, 0xD7, 0xE2, 0xF3, 0xD7, 0xE2, 0xF3, 0xDE, 0xE7, 0xF5, 0xE6, 0xED, 0xFB, + 0x5E, 0x71, 0xE1, 0x28, 0x43, 0xD0, 0x1D, 0x38, 0xCB, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6D, + 0x7A, 0xD0, 0xCE, 0xCF, 0xDE, 0xD6, 0xD6, 0xDF, 0xD9, 0xD7, 0xDB, 0xB1, 0xB4, 0xD6, 0x00, 0x19, + 0xC1, 0x74, 0x85, 0xE7, 0x2D, 0x47, 0xD8, 0x2F, 0x49, 0xD8, 0x30, 0x49, 0xD8, 0x73, 0x86, 0xE5, + 0xE1, 0xE8, 0xF9, 0xE7, 0xEE, 0xFB, 0x34, 0x4F, 0xDB, 0x34, 0x4D, 0xDA, 0x34, 0x4D, 0xD9, 0xE0, + 0xE9, 0xF7, 0xE6, 0xED, 0xFB, 0x77, 0x88, 0xE5, 0x27, 0x41, 0xD1, 0x25, 0x3F, 0xCF, 0x24, 0x3D, + 0xCF, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6C, 0x79, 0xCE, 0xCD, 0xCD, 0xD9, 0xD5, 0xD4, 0xDA, + 0xD9, 0xD7, 0xDB, 0xD6, 0xD4, 0xDA, 0x86, 0x8F, 0xD1, 0x00, 0x19, 0xC1, 0x48, 0x5F, 0xDB, 0x2B, + 0x45, 0xD7, 0x28, 0x44, 0xD7, 0x2C, 0x46, 0xD8, 0x63, 0x78, 0xE2, 0x2D, 0x47, 0xD9, 0x31, 0x4B, + 0xD9, 0x31, 0x4B, 0xD8, 0x30, 0x4A, 0xD8, 0x2D, 0x47, 0xD8, 0x62, 0x78, 0xE2, 0x27, 0x41, 0xD1, + 0x25, 0x3F, 0xCF, 0x25, 0x3E, 0xD0, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6C, 0x79, 0xCE, 0xB1, + 0xB4, 0xD6, 0xCF, 0xCE, 0xD9, 0xD6, 0xD4, 0xDA, 0xD9, 0xD7, 0xDB, 0xD7, 0xD5, 0xDA, 0xD3, 0xD1, + 0xDA, 0x7E, 0x88, 0xD0, 0x00, 0x19, 0xC1, 0x48, 0x5F, 0xDB, 0x26, 0x43, 0xD6, 0x27, 0x43, 0xD2, + 0x2C, 0x46, 0xD7, 0x2D, 0x47, 0xD7, 0x30, 0x49, 0xD8, 0x31, 0x4B, 0xD8, 0x2E, 0x48, 0xD8, 0x2C, + 0x46, 0xD6, 0x28, 0x43, 0xD4, 0x26, 0x43, 0xD0, 0x25, 0x3F, 0xD1, 0x48, 0x5F, 0xDB, 0x00, 0x19, + 0xC1, 0x6C, 0x78, 0xCD, 0xAD, 0xB1, 0xD6, 0xC4, 0xC5, 0xD8, 0xD3, 0xD1, 0xDA, 0xD7, 0xD5, 0xDA, + 0xD9, 0xD7, 0xDB, 0xD8, 0xD6, 0xDA, 0xD5, 0xD4, 0xDA, 0xD1, 0xD0, 0xDA, 0x7D, 0x87, 0xD0, 0x00, + 0x19, 0xC1, 0x48, 0x5F, 0xDB, 0x28, 0x44, 0xD7, 0x21, 0x3A, 0xCD, 0x25, 0x40, 0xCD, 0x27, 0x43, + 0xD2, 0x28, 0x43, 0xD2, 0x27, 0x43, 0xD2, 0x26, 0x41, 0xD0, 0x25, 0x3E, 0xCE, 0x1A, 0x35, 0xCA, + 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6C, 0x78, 0xCD, 0xAC, 0xB0, 0xD6, 0xC2, 0xC3, 0xD8, 0xD1, + 0xD0, 0xDA, 0xD5, 0xD4, 0xDA, 0xD8, 0xD6, 0xDA, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD8, 0xD6, + 0xDA, 0xD5, 0xD4, 0xDA, 0xD1, 0xD0, 0xDA, 0x7D, 0x87, 0xD0, 0x00, 0x19, 0xC1, 0x48, 0x5F, 0xDB, + 0x48, 0x5F, 0xDB, 0x48, 0x5F, 0xDB, 0x48, 0x5F, 0xDB, 0x48, 0x5F, 0xDB, 0x48, 0x5F, 0xDB, 0x48, + 0x5F, 0xDB, 0x48, 0x5F, 0xDB, 0x48, 0x5F, 0xDB, 0x00, 0x19, 0xC1, 0x6C, 0x78, 0xCD, 0xAC, 0xB0, + 0xD6, 0xC2, 0xC3, 0xD8, 0xD1, 0xD0, 0xDA, 0xD5, 0xD4, 0xDA, 0xD8, 0xD6, 0xDA, 0xD9, 0xD7, 0xDB, + 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD8, 0xD6, 0xDA, 0xD5, 0xD4, 0xDA, 0xD1, + 0xD0, 0xDA, 0x7D, 0x87, 0xD0, 0x00, 0x19, 0xC1, 0x00, 0x1A, 0xC1, 0x00, 0x1A, 0xC1, 0x00, 0x1A, + 0xC1, 0x00, 0x1A, 0xC1, 0x00, 0x1A, 0xC1, 0x00, 0x1A, 0xC1, 0x00, 0x1A, 0xC1, 0x00, 0x1A, 0xC1, + 0x6C, 0x79, 0xCE, 0xAC, 0xB0, 0xD6, 0xC2, 0xC3, 0xD8, 0xD1, 0xD0, 0xDA, 0xD5, 0xD4, 0xDA, 0xD8, + 0xD6, 0xDA, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, + 0xDB, 0xD9, 0xD7, 0xDB, 0xD8, 0xD6, 0xDA, 0xD5, 0xD4, 0xDA, 0xD1, 0xD0, 0xDA, 0x87, 0x8F, 0xD1, + 0x78, 0x83, 0xCF, 0x77, 0x82, 0xCF, 0x77, 0x82, 0xCF, 0x77, 0x82, 0xCF, 0x77, 0x82, 0xCF, 0x77, + 0x82, 0xCF, 0x77, 0x82, 0xCF, 0x77, 0x82, 0xCF, 0xAF, 0xB2, 0xD6, 0xC3, 0xC4, 0xD8, 0xD1, 0xD0, + 0xDA, 0xD5, 0xD4, 0xDA, 0xD8, 0xD6, 0xDA, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, + 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD8, + 0xD6, 0xDA, 0xD5, 0xD4, 0xDA, 0xD2, 0xD1, 0xDA, 0xC6, 0xC6, 0xD8, 0xC3, 0xC4, 0xD8, 0xC2, 0xC3, + 0xD8, 0xC2, 0xC3, 0xD8, 0xC2, 0xC3, 0xD8, 0xC2, 0xC3, 0xD8, 0xC2, 0xC3, 0xD8, 0xC3, 0xC4, 0xD8, + 0xC6, 0xC6, 0xD8, 0xD2, 0xD1, 0xDA, 0xD5, 0xD4, 0xDA, 0xD8, 0xD6, 0xDA, 0xD9, 0xD7, 0xDB, 0xD9, + 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, + 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD8, 0xD6, 0xDA, + 0xD6, 0xD4, 0xDA, 0xD3, 0xD2, 0xDA, 0xD3, 0xD1, 0xDA, 0xD2, 0xD1, 0xDA, 0xCB, 0xCB, 0xD9, 0xD2, + 0xD1, 0xDA, 0xD2, 0xD1, 0xDA, 0xD3, 0xD1, 0xDA, 0xD3, 0xD2, 0xDA, 0xD6, 0xD4, 0xDA, 0xD8, 0xD6, + 0xDA, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB, 0xD9, 0xD7, 0xDB +}; \ No newline at end of file diff --git a/programs/network/htmlv/browser/img/toolbar_icons.c-- b/programs/network/htmlv/browser/img/toolbar_icons.c-- new file mode 100644 index 0000000000..6bed97961d --- /dev/null +++ b/programs/network/htmlv/browser/img/toolbar_icons.c-- @@ -0,0 +1,529 @@ +dword toolbar_pal[218]= {0x00E4DFE1,0x00EDE9EA,0x00C3BEC0,0x00D7C7C4,0x00876845,0x00987745,0x00A4896C,0x00AC947A,0x00C5B5A5,0x00E5E1E2,0x00EAE6E8,0x00D4B9E8,0x00C29ADA,0x00B688D7,0x0094713E,0x00EDDA75,0x00F4E277,0x00DAC46A,0x00D5BB64,0x00BFA157,0x00B79952,0x00785733,0x00D7D8E2,0x008A9DC3,0x00D5D7E1,0x00DCC5EC,0x00B179D7,0x00C5A4DA,0x00C9A9E2,0x00C097E1,0x00A96AD4,0x00CEB1E5,0x00EEE07E,0x00F3D356,0x00EED263,0x00EDD15F,0x00F1DC71,0x006C553B,0x00D1CDD1,0x00C4C8D8,0x005376B5,0x006482BC,0x00BBC2D4,0x00E8E4E6,0x00E5D5F2,0x00EBE9F3,0x00E1CCF0,0x00DFD0E2,0x00F3E580,0x00F0CD4F,0x00EBC54A,0x00E6BC43,0x00EAC957,0x00E2CC6B,0x00906E42,0x009D9998,0x008D8581,0x008DA8D4,0x00E2DDE1,0x00A9B2C9,0x00E0CDEE,0x00D1B8DC,0x00A8874A,0x00F1CE50,0x00999089,0x00A8ABB5,0x0086807C,0x0076624C,0x00B3BCD2,0x005A7BB9,0x009BB2DC,0x00CFE0F2,0x00A1ADC8,0x00BB95D6,0x00998879,0x007F7062,0x00806C58,0x00A6B1C8,0x00A5BBE1,0x00C4D6ED,0x00D3E2F3,0x0092A2C4,0x00E1D4E3,0x008C7359,0x00B4B5BC,0x00BCBCC4,0x00AEB1BB,0x00786654,0x004B982C,0x00ACC2E4,0x00CDDEF1,0x00BCD1EB,0x00DBDBE2,0x00909FC0,0x00AC78D4,0x0089663A,0x00F1D969,0x00ABABAE,0x00B3B8C5,0x00B4C5D5,0x00BFD3E1,0x00CED0D6,0x00B2B6C2,0x00A49688,0x00DDD9DC,0x00AEE594,0x00A2ADC6,0x00A2B8DF,0x00B9CEE9,0x00B2C8E7,0x00AEB8CE,0x00D4D4DA,0x00CCB3D5,0x00D9CCDB,0x009E856B,0x00D1D8DE,0x005D9AC5,0x007BBDE7,0x00F1F0EF,0x00C2C2C8,0x00634C33,0x00C1B8B3,0x00BFC0C6,0x007BD34A,0x00607EB9,0x00B6CBE8,0x00B0C5E6,0x00CCD1DB,0x00E3E1DF,0x00909EBF,0x00DDC3F0,0x00727279,0x00ACA49E,0x00CBCACD,0x00DDE1EA,0x0065ABDA,0x0080C7F3,0x00D2D0D6,0x00BEC1CD,0x00C6C8D2,0x006D7384,0x008A94A7,0x00737D90,0x00428F25,0x00A4DD8E,0x0073CC45,0x0067C833,0x00A9BEE3,0x00D8C5DD,0x006E7991,0x008D919A,0x00E5E8EE,0x00CCCCD4,0x00928A84,0x00D9D3D4,0x00F7F6F6,0x00519D31,0x00B4EB9A,0x0083DA51,0x0073D33C,0x00B9BECE,0x00E1DBDC,0x00E3D2EF,0x0098A5B9,0x00868FA3,0x007F838B,0x00EBE9E5,0x0080D74F,0x005578B7,0x00A1B6DE,0x008798BE,0x00D5C4D8,0x00A7B9CD,0x008A9AB3,0x0082776F,0x008597BF,0x006B8AC2,0x0099AFDA,0x00C4C0C2,0x00738BBB,0x00D6CBD8,0x00C1D2E1,0x00BBCBDB,0x009AA9C3,0x008E9EBB,0x0055575C,0x00494A4E,0x00E3E5ED,0x00DAD6D8,0x008096C1,0x006887BE,0x005C5E65,0x0096ADD9,0x00D2C4D6,0x00AF85D2,0x00AEC0D1,0x00686C72,0x00CCCFDD,0x008499C3,0x00C8C3C5,0x007890BF,0x00CDD9E4,0x007591C6,0x007A8499,0x00CBD7E2,0x0063656D,0x007A7D85,0x007996C9,0x00B4BBCB,0x007A94C3,0x00838996,0x008DA1C6,0x00C4C5D1,0x006E717A,0x009BA0AE,0x009BA9C9,0x00979FB0,0x00979DAB}; + +unsigned char toolbar[8400] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x08, 0x09, 0x09, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x0B, 0x0C, 0x0D, 0x0B, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x0E, 0x0F, 0x10, 0x11, 0x12, + 0x13, 0x14, 0x05, 0x05, 0x15, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x16, 0x17, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x17, + 0x18, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x19, 0x1A, 0x0D, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x0E, 0x20, 0x10, 0x21, 0x22, 0x23, 0x22, 0x22, 0x24, 0x12, 0x04, 0x25, 0x26, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x27, 0x28, + 0x29, 0x18, 0x0A, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x29, 0x28, 0x2A, 0x2B, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1D, 0x1A, 0x1C, 0x2C, 0x2D, 0x2D, 0x2D, 0x2E, 0x1C, + 0x0D, 0x2F, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x0E, 0x20, 0x30, 0x21, 0x31, 0x32, 0x33, + 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x25, 0x0A, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x2A, 0x28, 0x39, 0x29, 0x2A, 0x3A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x29, + 0x39, 0x28, 0x3B, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0D, 0x0D, + 0x0B, 0x2C, 0x2C, 0x2C, 0x3C, 0x0B, 0x1C, 0x1F, 0x1F, 0x0D, 0x3D, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x03, + 0x3E, 0x30, 0x10, 0x21, 0x3F, 0x32, 0x32, 0x33, 0x34, 0x0F, 0x05, 0x40, 0x41, 0x41, 0x42, 0x43, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x44, 0x45, 0x46, 0x47, + 0x29, 0x44, 0x16, 0x2B, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x2B, 0x29, 0x47, 0x46, 0x45, 0x48, 0x09, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x1C, 0x1A, 0x1F, 0x3C, 0x2C, 0x3C, 0x1B, 0x49, 0x49, 0x49, 0x1B, + 0x0C, 0x0D, 0x1A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x03, 0x3E, 0x30, 0x10, 0x21, 0x3F, 0x31, 0x32, 0x33, 0x32, + 0x24, 0x3E, 0x4A, 0x41, 0x41, 0x41, 0x41, 0x4B, 0x4C, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, + 0x2B, 0x2B, 0x2B, 0x4D, 0x45, 0x4E, 0x4F, 0x50, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x3A, 0x09, 0x2B, 0x2B, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, + 0x50, 0x4F, 0x4E, 0x45, 0x51, 0x3A, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2F, 0x1E, 0x1B, 0x19, + 0x2C, 0x3C, 0x49, 0x0D, 0x3D, 0x2F, 0x52, 0x3A, 0x2B, 0x2B, 0x3A, 0x2F, 0x2B, 0x2B, 0x2B, 0x2B, + 0x2B, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2B, 0x2B, 0x03, 0x3E, 0x20, + 0x24, 0x31, 0x31, 0x32, 0x32, 0x32, 0x32, 0x24, 0x13, 0x53, 0x41, 0x54, 0x55, 0x41, 0x41, 0x56, + 0x57, 0x4A, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, + 0x2B, 0x2B, 0x2B, 0x58, 0x58, 0x58, 0x58, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x48, 0x45, 0x59, 0x4F, 0x4F, 0x5A, + 0x50, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x5B, 0x29, 0x2A, 0x5C, 0x2B, 0x2B, 0x2B, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x29, 0x5B, 0x47, + 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x50, 0x5A, 0x4F, 0x4F, 0x59, 0x45, 0x5D, 0x5C, 0x2B, + 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2B, 0x2B, + 0x2B, 0x3D, 0x2F, 0x3A, 0x1E, 0x0D, 0x2E, 0x2E, 0x2E, 0x49, 0x5E, 0x3D, 0x2F, 0x2B, 0x2B, 0x2B, + 0x2B, 0x2B, 0x2B, 0x0D, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x2B, 0x2B, 0x5F, 0x0F, 0x10, 0x32, 0x32, 0x32, 0x32, 0x33, 0x33, 0x60, 0x12, + 0x53, 0x61, 0x62, 0x63, 0x64, 0x65, 0x56, 0x66, 0x56, 0x43, 0x67, 0x2B, 0x2B, 0x2B, 0x2B, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x68, 0x68, 0x68, 0x68, + 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x58, 0x69, 0x69, 0x58, 0x68, + 0x3A, 0x2B, 0x2B, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x6A, 0x45, 0x6B, 0x4F, 0x5B, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, + 0x6C, 0x6D, 0x29, 0x6E, 0x6F, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x09, 0x09, 0x09, 0x09, 0x29, 0x6D, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, + 0x6C, 0x6C, 0x5B, 0x4F, 0x6B, 0x45, 0x5D, 0x68, 0x09, 0x09, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x1A, 0x0D, 0x1C, 0x1E, 0x0B, 0x2C, 0x0B, + 0x1F, 0x5E, 0x70, 0x71, 0x09, 0x09, 0x09, 0x09, 0x09, 0x3D, 0x1A, 0x0D, 0x1E, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x72, 0x05, 0x35, + 0x10, 0x23, 0x32, 0x33, 0x33, 0x60, 0x35, 0x36, 0x61, 0x54, 0x73, 0x74, 0x75, 0x76, 0x77, 0x55, + 0x55, 0x54, 0x78, 0x79, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x09, 0x09, 0x09, 0x26, 0x77, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, + 0x7A, 0x58, 0x58, 0x58, 0x69, 0x7B, 0x58, 0x58, 0x58, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x09, 0x6A, 0x7C, 0x4E, 0x6C, 0x7D, 0x6D, 0x7D, 0x7D, + 0x7D, 0x6C, 0x7D, 0x7D, 0x6C, 0x6C, 0x6C, 0x6C, 0x7E, 0x7D, 0x29, 0x3B, 0x7F, 0x09, 0x09, 0x09, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x80, 0x29, 0x7D, 0x7E, + 0x6C, 0x6C, 0x6C, 0x6C, 0x7D, 0x7D, 0x6C, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x6C, 0x4E, 0x7C, 0x81, + 0x68, 0x09, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, + 0x70, 0x1E, 0x49, 0x1A, 0x1B, 0x2C, 0x82, 0x0B, 0x1C, 0x1A, 0x71, 0x09, 0x09, 0x09, 0x09, 0x3D, + 0x1A, 0x0D, 0x0C, 0x0B, 0x1A, 0x1C, 0x09, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x83, 0x5F, 0x14, 0x24, 0x24, 0x34, 0x23, 0x0F, 0x05, 0x84, + 0x55, 0x85, 0x86, 0x87, 0x88, 0x76, 0x80, 0x89, 0x8A, 0x8B, 0x8C, 0x78, 0x26, 0x09, 0x09, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x7A, 0x8D, 0x8E, 0x8E, 0x8E, + 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x90, 0x90, 0x91, 0x91, 0x91, 0x92, + 0x58, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x6A, + 0x29, 0x4E, 0x6C, 0x7E, 0x7E, 0x7E, 0x6D, 0x6D, 0x6D, 0x6D, 0x7E, 0x6D, 0x6D, 0x7D, 0x7D, 0x7D, + 0x7E, 0x7D, 0x29, 0x3B, 0x65, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x09, 0x09, 0x09, 0x3A, 0x29, 0x7D, 0x7E, 0x7D, 0x7D, 0x7D, 0x7D, 0x6D, 0x7E, 0x6D, 0x6D, + 0x6D, 0x6D, 0x7E, 0x7E, 0x7E, 0x6C, 0x93, 0x29, 0x81, 0x68, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x3D, 0x0D, 0x19, 0x19, 0x2C, 0x2E, 0x82, 0x19, + 0x1D, 0x0D, 0x94, 0x09, 0x09, 0x94, 0x1A, 0x0D, 0x1B, 0x19, 0x2E, 0x2C, 0x1D, 0x5E, 0x80, 0x09, + 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x09, 0x09, 0x95, 0x96, + 0x4B, 0x0E, 0x12, 0x24, 0x24, 0x3E, 0x67, 0x7A, 0x85, 0x80, 0x76, 0x97, 0x97, 0x76, 0x09, 0x76, + 0x6F, 0x98, 0x95, 0x99, 0x9A, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x09, 0x09, 0x09, 0x55, 0x8E, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, + 0x9B, 0x9C, 0x9D, 0x9E, 0x9E, 0x9E, 0x9F, 0x92, 0x58, 0x09, 0x09, 0x09, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x3A, 0x3A, 0xA0, 0x28, 0x59, 0x6C, 0x4E, 0x59, 0x59, 0x59, 0x59, 0x59, + 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x7E, 0x4E, 0x7D, 0x29, 0x3B, 0x98, 0x3A, 0x3A, 0x3A, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3A, 0x3A, 0x3A, 0xA1, 0x29, 0x7D, 0x4E, + 0x7E, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x4E, 0x6C, 0x59, + 0x28, 0x48, 0x68, 0x3A, 0x3A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3A, 0x3A, + 0x68, 0x1A, 0x1D, 0x19, 0xA2, 0x19, 0x0B, 0x19, 0x0D, 0x1A, 0x0D, 0x3A, 0x70, 0x1A, 0x49, 0x0B, + 0x19, 0x19, 0x19, 0xA2, 0x19, 0x1A, 0x1B, 0x3A, 0x3A, 0x3A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x3A, 0x3A, 0x3A, 0x95, 0xA3, 0xA4, 0xA5, 0x04, 0x3E, 0x14, 0x72, 0x77, 0x85, + 0xA6, 0x09, 0x80, 0x09, 0x80, 0x2B, 0x76, 0x76, 0x76, 0x5C, 0x95, 0x3A, 0x3A, 0x3A, 0x3A, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3A, 0x3A, 0x3A, 0x55, 0x8E, 0x9B, 0x97, 0x97, + 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x9C, 0x9C, 0x9C, 0xA7, 0x9F, 0x9C, 0x8F, + 0x58, 0x3A, 0x3A, 0x3A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0x6A, 0xA8, + 0x7D, 0x7E, 0x6B, 0x46, 0x46, 0x6B, 0x93, 0x93, 0xA9, 0x4E, 0x46, 0x6B, 0x4E, 0x4E, 0x4E, 0x4E, + 0x4E, 0x6C, 0x29, 0x4D, 0x98, 0xA1, 0xA1, 0xA1, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xA1, 0xA1, 0xA1, 0x68, 0x29, 0x6C, 0x4E, 0x4E, 0x93, 0x4E, 0x4E, 0x6B, 0x46, 0x4E, 0xA9, + 0x93, 0x93, 0x6B, 0x46, 0x46, 0x6B, 0x7E, 0x7D, 0xA8, 0xAA, 0x98, 0x68, 0xA1, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0x70, 0x5E, 0x0B, 0x3C, 0x0B, 0x0B, 0x0B, + 0x1C, 0x1A, 0x1E, 0x0C, 0xA1, 0x49, 0x0D, 0x1D, 0x19, 0x19, 0x3C, 0xA2, 0x19, 0x1D, 0x5E, 0xAB, + 0xA1, 0xA1, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0x95, 0x86, + 0xAC, 0xAD, 0xAD, 0x42, 0xAE, 0x85, 0x85, 0x09, 0xA6, 0x76, 0x76, 0x76, 0x09, 0x26, 0x9B, 0x76, + 0x76, 0x9B, 0x95, 0xA1, 0xA1, 0xA1, 0xA1, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xA1, 0xA1, 0xA1, 0x55, 0x8E, 0x9B, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, + 0x97, 0x97, 0x97, 0x9C, 0x9F, 0x9F, 0x9C, 0x8E, 0x55, 0xA1, 0xA1, 0xA1, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0xAF, 0xB0, 0x7E, 0x7E, 0x4E, 0xB1, 0x4E, 0x93, 0x4E, + 0x46, 0xA9, 0x46, 0x6B, 0xA9, 0x46, 0x46, 0xA9, 0x6B, 0x6C, 0x29, 0x4D, 0x98, 0xA1, 0xA1, 0xA1, + 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0x68, 0x29, 0x6C, 0x6B, + 0xA9, 0x46, 0x46, 0xA9, 0x6B, 0x46, 0xA9, 0x46, 0x4E, 0x93, 0x4E, 0xB1, 0x4E, 0x7E, 0x7E, 0xB0, + 0xB3, 0x6E, 0x8B, 0x68, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, + 0xA1, 0xA1, 0x1A, 0x0D, 0x2E, 0x19, 0x1F, 0x0D, 0x5E, 0x1E, 0x1B, 0xB4, 0xA1, 0xA1, 0x0D, 0x1C, + 0x3C, 0x82, 0x2E, 0x2C, 0x19, 0x19, 0x0D, 0x1B, 0xA1, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0x95, 0x86, 0xB5, 0xB6, 0xB7, 0xB8, 0xAD, 0x18, 0x68, 0xA6, + 0xA6, 0x01, 0x83, 0xB9, 0xBA, 0xBA, 0x9B, 0x76, 0x76, 0x9B, 0x95, 0xA1, 0xA1, 0xA1, 0xA1, 0xB2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0x55, 0x8E, 0x9B, 0xBB, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x9C, 0x9C, 0x9C, 0x9C, 0x8E, + 0x55, 0xA1, 0xA1, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0xBC, + 0xBD, 0xBE, 0x93, 0x7E, 0x4E, 0x59, 0x7E, 0x59, 0xA9, 0x6B, 0xA9, 0x4E, 0x4E, 0xA9, 0x46, 0xB1, + 0xA9, 0x5B, 0x29, 0x4D, 0x98, 0xA1, 0xA1, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xA1, 0xA1, 0xA1, 0x68, 0x29, 0x5B, 0xA9, 0xB1, 0x46, 0xA9, 0x4E, 0x4E, 0xA9, 0x6B, 0xA9, + 0x59, 0x7E, 0x59, 0x4E, 0x7E, 0x93, 0xBE, 0xB3, 0x4D, 0x8A, 0x6F, 0xA1, 0xA1, 0xB2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0xA1, 0x3D, 0x1A, 0x1F, 0x0D, 0x5E, 0x1E, + 0x0C, 0xAB, 0xAB, 0xA1, 0xA1, 0xA1, 0x0D, 0x1F, 0x19, 0x82, 0x2C, 0x49, 0x1A, 0x0D, 0x1E, 0x0C, + 0xA1, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0xA1, 0xA1, 0x95, 0x86, + 0xB5, 0x64, 0xB6, 0xAC, 0x51, 0x09, 0xA6, 0xA6, 0x01, 0x01, 0xB9, 0xB9, 0xBF, 0xB9, 0x9B, 0x76, + 0x76, 0x9B, 0x95, 0xA1, 0xA1, 0xA1, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xA1, 0xA1, 0xA1, 0x54, 0x8E, 0x9B, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, + 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x9B, 0x8E, 0x54, 0xA1, 0xA1, 0xA1, 0xB2, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0xBD, 0xB0, 0x93, 0x7E, 0x59, 0x6D, 0x7E, + 0x93, 0xA9, 0x46, 0x4E, 0x93, 0x4E, 0xA9, 0xC0, 0xC0, 0x5B, 0x29, 0x6A, 0x8B, 0xBC, 0xBC, 0xA1, + 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0x29, 0x5B, 0xC0, + 0xC0, 0xA9, 0x4E, 0x93, 0x4E, 0x46, 0xA9, 0x93, 0x7E, 0x6D, 0x59, 0x7E, 0x93, 0xB0, 0xB3, 0x6A, + 0xA0, 0x89, 0xBC, 0xBC, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0x1E, 0x5E, 0x1E, 0x49, 0x70, 0xC1, 0x9A, 0xBC, 0xBC, 0xBC, 0xC1, 0x0D, 0x0B, + 0x19, 0xA2, 0x1F, 0x5E, 0x49, 0xC2, 0x1A, 0x70, 0x68, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0x95, 0x86, 0xB5, 0xB6, 0xB6, 0x63, 0xC3, 0x76, 0xA6, 0xA6, + 0x01, 0x01, 0xB9, 0xC4, 0xC4, 0xB9, 0x9B, 0x76, 0x76, 0x9B, 0x95, 0x68, 0x68, 0x68, 0xA1, 0xB2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0x54, 0x8E, 0x9B, 0xC5, 0xC5, + 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0x9B, 0x8E, + 0x54, 0xBC, 0xBC, 0xA1, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0x89, 0xC6, 0xB0, 0x4E, 0x7E, 0x7E, 0x6C, 0x6C, 0x6C, 0x7D, 0x7D, 0x7D, 0x6D, 0x6D, 0x7E, + 0x7E, 0x59, 0x29, 0x6A, 0x8B, 0xBC, 0xBC, 0xBC, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0x29, 0x59, 0x7E, 0x7E, 0x6D, 0x6D, 0x7D, 0x7D, 0x7D, 0x6C, 0x6C, + 0x6C, 0x7E, 0x7E, 0x4E, 0xB0, 0xC8, 0x6A, 0xA0, 0x89, 0xBC, 0xBC, 0xBC, 0xBC, 0xC7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x5E, 0x70, 0xC1, 0x9A, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x0D, 0x0C, 0xA2, 0x2E, 0x19, 0x49, 0x5E, 0x70, 0x70, 0x0C, 0xB4, + 0xBC, 0xBC, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0x95, 0x7F, + 0xC9, 0xB6, 0xB6, 0x63, 0x63, 0x76, 0xA6, 0xA6, 0x01, 0x01, 0xBF, 0x83, 0x83, 0xBF, 0x9B, 0x76, + 0x76, 0x9B, 0x95, 0xBC, 0xBC, 0xBC, 0xBC, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xBC, 0xBC, 0xBC, 0x54, 0x8E, 0x2D, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, + 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x2D, 0x8E, 0x54, 0xBC, 0xBC, 0xBC, 0xC7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0x17, 0xCA, 0xA9, 0x7E, 0x6D, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x4D, 0x8B, 0xBC, 0xBC, 0xBC, + 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x6D, 0x7E, 0xA9, 0xCA, 0xC8, 0x6A, 0xA0, 0x89, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x9A, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xB4, 0x49, 0x1B, 0x2C, 0x2C, + 0x19, 0x1B, 0xC2, 0x1B, 0xC1, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0x41, 0xCB, 0x7F, 0xCC, 0xB6, 0x63, 0x63, 0x76, 0xA6, 0x01, + 0x01, 0x01, 0xCD, 0xCE, 0xCE, 0xCD, 0x9B, 0x76, 0x76, 0x9B, 0x95, 0xBC, 0xBC, 0xBC, 0xBC, 0xC7, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0x54, 0x8E, 0x97, 0x27, 0x27, + 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x97, 0x8E, + 0x54, 0xBC, 0xBC, 0xBC, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0x89, 0x17, 0xCF, 0x46, 0x7E, 0x29, 0xB7, 0x6A, 0x4D, 0x3B, 0x3B, 0x3B, 0x3B, + 0x3B, 0x3B, 0x3B, 0x6E, 0x89, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0xD0, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x4D, 0x29, + 0x7E, 0x46, 0xCF, 0xD1, 0x6A, 0xA0, 0x89, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x0D, 0x49, 0x1B, + 0x70, 0x1B, 0x49, 0x0C, 0x1C, 0x2C, 0x2C, 0x19, 0x1C, 0xC2, 0x49, 0xC1, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0x56, + 0xCB, 0xD0, 0xCC, 0x63, 0x63, 0x76, 0xA6, 0x01, 0x01, 0x76, 0xC4, 0xA5, 0xD2, 0xC4, 0x9B, 0x76, + 0x76, 0x9B, 0x95, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xBC, 0xBC, 0xBC, 0x54, 0x8E, 0x97, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, + 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x97, 0x8E, 0x54, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0xD3, 0xCF, 0xB1, + 0x29, 0x6A, 0xD4, 0x8B, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x65, 0x89, 0xBC, 0xBC, 0xBC, 0xBC, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0x65, + 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x29, 0xB1, 0xCF, 0xBD, 0x6A, 0xA0, 0x89, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x0C, 0x0D, 0x0C, 0x1B, 0x1B, 0x0B, 0x19, 0xA2, 0x2C, 0x3C, 0x1F, + 0x0D, 0xC2, 0xC1, 0x71, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x54, 0x8E, 0xD0, 0xC9, 0x63, 0x76, 0xA6, 0x01, + 0x01, 0x76, 0xC4, 0xD2, 0x96, 0xC4, 0x9B, 0x9B, 0x5C, 0x65, 0x95, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0x77, 0x41, 0x8E, 0x27, 0x27, 0x27, + 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x8E, + 0x41, 0x77, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0xD3, 0xCF, 0x29, 0x3B, 0x98, 0x6F, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x6F, 0x29, + 0xCF, 0xC6, 0x6A, 0xA0, 0x89, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x1B, 0x49, + 0x1B, 0x0B, 0x3C, 0x2C, 0xA2, 0x19, 0x1B, 0x0D, 0x0D, 0xC1, 0xB4, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0x85, 0x8E, 0x41, 0xCC, 0x76, 0x01, 0x76, 0x76, 0x9B, 0xD5, 0xD2, 0xD2, 0x8C, 0x8D, 0x95, + 0xCB, 0x8D, 0xD6, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xBC, 0xBC, 0x41, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, + 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x41, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0xD7, + 0xBD, 0xD0, 0x89, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xD3, 0x51, 0x3B, 0x8A, 0x89, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xB4, 0x49, 0x49, 0x0C, 0x1B, 0x1B, 0x49, 0xC2, 0x1B, + 0xC1, 0xB4, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x85, 0xCB, 0xD8, 0x09, 0x98, 0x66, + 0xD8, 0xCB, 0x95, 0xA4, 0xD9, 0x56, 0x56, 0x77, 0x26, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0x9A, 0x9A, 0x9A, 0x9A, + 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, + 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x89, 0xA0, 0xD4, 0x6F, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x8B, + 0xD4, 0x8B, 0x89, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0x1B, 0x0D, 0x0D, 0x49, 0x49, 0x70, 0xC1, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xD2, 0x8E, 0xA4, 0xD6, 0x41, 0x77, 0x26, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0x6F, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x6F, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x71, 0xB4, 0xB4, 0x9A, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, + 0xBC, 0xBC, 0xBC, 0xBC, 0x02, 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, 0x02, 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, 0x02, 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, 0x02, 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, 0x02, 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, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; diff --git a/programs/network/htmlv/browser/include/colors.h-- b/programs/network/htmlv/browser/include/colors.h-- new file mode 100644 index 0000000000..5f2290bc74 --- /dev/null +++ b/programs/network/htmlv/browser/include/colors.h-- @@ -0,0 +1,288 @@ +// " " , - +// , + +// web +char *color_names[]={ +"aliceblue", +"antiquewhite", +"aqua", +"aquamarine", +"azure", +"beige", +"bisque", +"black", +"blanchedalmond", +"blue", +"blueviolet", +"brown", +"burlywood", +"cadetblue", +"chartreuse", +"chocolate", +"coral", +"cornflowerblue", +"cornsilk", +"crimson", +"cyan", +"darkblue", +"darkcyan", +"darkgoldenrod", +"darkgray", +"darkgreen", +"darkkhaki", +"darkmagenta", +"darkolivegreen", +"darkorange", +"darkorchid", +"darkred", +"darksalmon", +"darkseagreen", +"darkslateblue", +"darkslategray", +"darkturquoise", +"darkviolet", +"deeppink", +"deepskyblue", +"dimgray", +"dodgerblue", +"firebrick", +"floralwhite", +"forestgreen", +"fuchsia", +"gainsboro", +"ghostwhite", +"gold", +"goldenrod", +"gray", +"green", +"greenyellow", +"honeydew", +"hotpink", +"indianred", +"indigo", +"ivory", +"khaki", +"lavender", +"lavenderblush", +"lawngreen", +"lemonchiffon", +"lightblue", +"lightcoral", +"lightcyan", +"lightgoldenrodyellow", +"lightgray", +"lightgreen", +"lightpink", +"lightsalmon", +"lightseagreen", +"lightskyblue", +"lightslategray", +"lightsteelblue", +"lightyellow", +"lime", +"limegreen", +"linen", +"magenta", +"maroon", +"mediumaquamarine", +"mediumblue", +"mediumorchid", +"mediumpurple", +"mediumseagreen", +"mediumslateblue", +"mediumspringgreen", +"mediumturquoise", +"mediumvioletred", +"midnightblue", +"mintcream", +"mistyrose", +"moccasin", +"navajowhite", +"navy", +"navyblue", +"oldlace", +"olive", +"olivedrab", +"orange", +"orangered", +"orchid", +"palegoldenrod", +"paleturquoise", +"palevioletred", +"papayawhip", +"peachpuff", +"peru", +"pink", +"plum", +"powderblue", +"purple", +"red", +"rosybrown", +"royalblue", +"saddlebrown", +"salmon", +"sandybrown", +"seagreen", +"seashell", +"sienna", +"silver", +"skyblue", +"slateblue", +"slategray", +"snow", +"springgreen", +"steelblue", +"tan", +"teal", +"thistle", +"tomato", +"turquoise", +"violet", +"wheat", +"white", +"whitesmoke", +"yellow", +"yellowgreen"}; + +// +dword *colors[]={ +0xf0f8ff, +0xfaebd7, +0x00ffff, +0x7fffd4, +0xf0ffff, +0xf5f5dc, +0xffe4c4, +0x000000, +0xffebcd, +0x0000ff, +0x8a2be2, +0xa52a2a, +0xdeb887, +0x5f9ea0, +0x7fff00, +0xd2691e, +0xff7f50, +0x6495ed, +0xfff8dc, +0xdc143c, +0x00ffff, +0x00008b, +0x008b8b, +0xb8860b, +0xa9a9a9, +0x006400, +0xbdb76b, +0x8b008b, +0x556b2f, +0xff8c00, +0x9932cc, +0x8b0000, +0xe9967a, +0x8fbc8f, +0x483d8b, +0x2f4f4f, +0x00ced1, +0x9400d3, +0xff1493, +0x00bfff, +0x696969, +0x1e90ff, +0xb22222, +0xfffaf0, +0x228b22, +0xff00ff, +0xdcdcdc, +0xf8f8ff, +0xffd700, +0xdaa520, +0x808080, +0x008000, +0xadff2f, +0xf0fff0, +0xff69b4, +0xcd5c5c, +0x4b0082, +0xfffff0, +0xf0e68c, +0xe6e6fa, +0xfff0f5, +0x7cfc00, +0xfffacd, +0xadd8e6, +0xf08080, +0xe0ffff, +0xfafad2, +0xd3d3d3, +0x90ee90, +0xffb6c1, +0xffa07a, +0x20b2aa, +0x87cefa, +0x778899, +0xb0c4de, +0xffffe0, +0x00ff00, +0x32cd32, +0xfaf0e6, +0xff00ff, +0x800000, +0x66cdaa, +0x0000cd, +0xba55d3, +0x9370db, +0x3cb371, +0x7b68ee, +0x00fa9a, +0x48d1cc, +0xc71585, +0x191970, +0xf5fffa, +0xffe4e1, +0xffe4b5, +0xffdead, +0x000080, +0x9fafdf, +0xfdf5e6, +0x808000, +0x6b8e23, +0xffa500, +0xff4500, +0xda70d6, +0xeee8aa, +0xafeeee, +0xd87093, +0xffefd5, +0xffdab9, +0xcd853f, +0xffc0cb, +0xdda0dd, +0xb0e0e6, +0x800080, +0xff0000, +0xbc8f8f, +0x4169e1, +0x8b4513, +0xfa8072, +0xf4a460, +0x2e8b57, +0xfff5ee, +0xa0522d, +0xc0c0c0, +0x87ceeb, +0x6a5acd, +0x708090, +0xfffafa, +0x00ff7f, +0x4682b4, +0xd2b48c, +0x008080, +0xd8bfd8, +0xff6347, +0x40e0d0, +0xee82ee, +0xf5deb3, +0xffffff, +0xf5f5f5, +0xffff00, +0x9acd32}; diff --git a/programs/network/htmlv/browser/include/fps.h-- b/programs/network/htmlv/browser/include/fps.h-- new file mode 100644 index 0000000000..7a13a4176f --- /dev/null +++ b/programs/network/htmlv/browser/include/fps.h-- @@ -0,0 +1,51 @@ +int GetTime() +{ + $mov eax, 26; + $mov ebx, 9; + $int 0x40; + return EAX; +} + + +/******************************************************************************* + FPS +x,y - FPS + 1 +*/ + +int time1=0; +int time2=0; +int fps1=0; +int timerend=0; + +int FPS() +{ + int tr; + + time1=GetTime(); + + if (timerend==0) + { + time2=time1; + timerend=time1; + } + + tr = time1 - timerend; + + if (time1 - time2 < 100) // 1 + { // fps + fps1++; + } + else + { + // fps + DrawTitle(IntToStr(fps1)); + fps1=0; + time2=time1; + } + + timerend=time1; + +return tr; +} +//****************************************************************************** diff --git a/programs/network/htmlv/browser/include/history.h-- b/programs/network/htmlv/browser/include/history.h-- new file mode 100644 index 0000000000..0aed468c51 --- /dev/null +++ b/programs/network/htmlv/browser/include/history.h-- @@ -0,0 +1,37 @@ + +struct UrlsHistory { + byte UrlHistory[6000]; + void AddUrl(); + void GoBack(); + dword CurrentUrl(); +}; + +UrlsHistory BrowserHistory; + +void UrlsHistory::GoBack() +{ + j = strlen(#UrlHistory); + WHILE(UrlHistory[j] <>'|') && (j > 0) j--; + IF (j > 0) UrlHistory[j] = 0x00; + WHILE(UrlHistory[j] <>'|') && (j > 0) { + copystr(#UrlHistory[j], #URL); + j--; + } + UrlHistory[j] = 0x00; + WB1.Load(#URL); +} + +void UrlsHistory::AddUrl() +{ + IF (strlen(#UrlHistory)>6000) copystr(#UrlHistory+5000,#UrlHistory); + copystr("|", #UrlHistory + strlen(#UrlHistory)); + copystr(#URL, #UrlHistory + strlen(#UrlHistory)); +} + + +dword UrlsHistory::CurrentUrl() +{ + EAX=#UrlHistory + find_symbol(#UrlHistory, '|'); +} + + diff --git a/programs/network/htmlv/browser/include/some_code.h-- b/programs/network/htmlv/browser/include/some_code.h-- new file mode 100644 index 0000000000..5291b9f449 --- /dev/null +++ b/programs/network/htmlv/browser/include/some_code.h-- @@ -0,0 +1,62 @@ +// +#define BACK 300 +#define FORWARD 301 +#define REFRESH 302 +#define HOME 303 +#define GOTOURL 305 +#define SEARCHWEB 306 +#define ID1 178 +#define ID2 177 + +#define WINDOWS 0 +#define DOS 1 +#define KOI 2 +#define UTF 3 + +#define DONT_LOAD 0 +#define LETS_LOAD 1 + +byte utf100tmmv_mas[77] = "hsi\244j"; + + +dword get_URL_part(byte len) { + char temp1[1000]; + copystr(#URL, #temp1); + temp1[len] = 0x00; + return #temp1; +} + + +inline byte chTag(dword text) {return strcmp(#tag,text);} + +// ⮢, ⮬ +//祪 ஦ ⥫쭮 १: +// ࠭ 뢮 ⭮ ᪠ ᬥ饭, +// ४ ⨭ +// 稨 䮭 ..  쭮 襭 :) + +// 㦥 祭 TBW - skin_width, Form.top, 祭 memory +inline void Skew(dword x,y,w,h) +{ +dword italic_buf; +int tile_height=2,//㤥 뢮 寨ᥫ묨 ᪠ +i, skin_width, +shift=-2; + + skin_width = GetSkinWidth(); + Form.GetInfo(SelfInfo); + italic_buf = malloc(w*h*3); + //ebx = 㪠⥫ ।⥫쭮 뤥 , 㤠 㤥 饭 ࠦ ଠ BBGGRRBBGGRR... + EBX = italic_buf; + //ecx = [ࠧ x]*65536 + [ࠧ y] + ECX = w * 65536 + h; + //edx = [न x]*65536 + [न y] + EDX = x + Form.left * 65536 + y + Form.top + skin_width; + EAX = 36; + $int 0x40; + + FOR (i=0;i*tile_height<h;i++){ + PutImage(w*3*tile_height*i+italic_buf,w,tile_height,x+shift-i,i*tile_height+y); + } + free(italic_buf); +} diff --git a/programs/network/htmlv/lib/dll.h-- b/programs/network/htmlv/lib/dll.h-- new file mode 100644 index 0000000000..c32cdac24c --- /dev/null +++ b/programs/network/htmlv/lib/dll.h-- @@ -0,0 +1,173 @@ +//Asper +char a_libdir[43] = "/sys/lib/\0"; + + +//proc dll.Load, import_table:dword +int dll_Load(dword import_table) +{ + $mov esi, import_table + @next_lib: $mov edx, DSDWORD[esi] + $or edx,edx + $jz exit_ + $push esi + $mov esi,DSDWORD[esi+4] + $mov edi,#a_libdir + + $push edi + $push esi + EAX=strlen(#a_libdir); + $pop esi + $pop edi + $add edi, eax //9 + + @loc01: $lodsb + $stosb + $or al,al + $jnz loc01 + + //IntToStr(EBX); + //$push edx + //WriteDebug(#a_libdir); + //$pop edx + //mcall 68,19,a_libdir + $mov eax, 68 + $mov ebx, 19 + $mov ecx,#a_libdir + $int 0x40 + + $or eax,eax + $jz fail + //stdcall dll.Link,eax,edx + dll_Link(EAX, EDX); + $push eax + $mov eax, DSDWORD [eax] + $cmp DSDWORD [eax], 'lib_' + $pop eax + //$jnz loc02 + //IntToStr(EBX); + //$push eax + //WriteDebug(DSDWORD[EAX]); + //$pop eax + //stdcall dll.Init,[eax+4] + //dll_Init(DSDWORD[EAX]); //dll_Init(DSDWORD[EAX+4]); + @loc02: + $pop esi + $add esi,8 + $jmp next_lib + @exit_: $xor eax,eax + return 0; + @fail: $add esp,4 + $xor eax,eax + $inc eax + return -1; +} + +//proc dll.Link, exp:dword,imp:dword +void dll_Link(dword exp, imp) +{ + $push eax + $mov esi, imp + $test esi, esi + $jz done + @next: $lodsd + $test eax,eax + $jz done + + //stdcall dll.GetProcAddress,[exp],eax + dll_GetProcAddress(exp,EAX); + $or eax,eax + $jz loc03 + + $mov DSDWORD[esi-4],eax + $jmp next + @loc03: + $mov DSDWORD[esp],0 + @done: $pop eax +} + +//proc dll.Init, dllentry:dword +void dll_Init(dword dllentry) +{ + $pushad + EAX=#mem_Alloc; + EBX=#mem_Free; + ECX=#mem_ReAlloc; + EDX=#dll_Load; + DSDWORD [dllentry+4] stdcall (); + $popad +} + +//proc dll.GetProcAddress, exp:dword,sz_name:dword +dword dll_GetProcAddress(dword exp, sz_name) +{ + $push esi + $mov edx, exp + $xor eax,eax + @next: $or edx,edx + $jz end_ + $cmp edx,0 + $jz end_ + strcmp(DSDWORD[EDX],sz_name); + $test eax,eax + $jz ok + $add edx,8 + $jmp next + @ok: + $mov eax, DSDWORD[edx+4] + @end_: + $pop esi + return EAX; +} + + +int load_dll2(dword dllname, import_table, byte need_init) +{ + //dword dllentry=0; +// load DLL + $mov eax, 68 + $mov ebx, 19 + ECX=dllname; + $int 0x40 + $test eax, eax + $jz exit01 + +// initialize import + $mov edx,eax + ESI=import_table; + +@import_loop01: + $lodsd + $test eax,eax + $jz import_done01 + $push edx +@import_find01: + $mov ebx,DSDWORD[EDX] + $test ebx, ebx + $jz exit01 + $push eax +@nex101: + $mov cl,DSBYTE[EAX]; + $cmp cl,DSBYTE[EBX]; + $jnz import_find_next01 + $test cl,cl + $jz import_found01 + $inc eax + $inc ebx + $jmp nex101 +@import_find_next01: + $pop eax + $add edx, 8 + $jmp import_find01 +@import_found01: + $pop eax + $mov eax,DSDWORD[edx+4] + $mov DSDWORD[esi-4],eax + $pop edx + + $jmp import_loop01 +@import_done01: + IF (need_init) dll_Init(EDX); + return 0; +@exit01: + return -1; +} diff --git a/programs/network/htmlv/lib/edit_box_lib.h-- b/programs/network/htmlv/lib/edit_box_lib.h-- new file mode 100644 index 0000000000..0822183a8f --- /dev/null +++ b/programs/network/htmlv/lib/edit_box_lib.h-- @@ -0,0 +1,49 @@ +//BOX_LIB +dword boxlib = #aEdit_box_lib; //Asper +char aEdit_box_lib[22]="/sys/lib/box_lib.obj\0"; //Asper + +dword edit_box_draw = #aEdit_box_draw; +dword edit_box_key = #aEdit_box_key; +dword edit_box_mouse = #aEdit_box_mouse; +dword version_ed = #aVersion_ed; + +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 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" ; + + +struct edit_box{ +dword width, left, top, color, shift_color, focus_border_color, blur_border_color, +text_color, max, text, mouse_variable, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old; +}; + +//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] ;஥ diff --git a/programs/network/htmlv/lib/file_system.h-- b/programs/network/htmlv/lib/file_system.h-- new file mode 100644 index 0000000000..840a9a0bed --- /dev/null +++ b/programs/network/htmlv/lib/file_system.h-- @@ -0,0 +1,194 @@ +struct f70{ + dword func; + dword param1; + dword param2; + dword param3; + dword param4; + char rezerv; + dword name; +}; + +struct BDVK{ + dword attr; + byte type_name; + byte rez1, rez2, rez3; + dword timecreate; + dword datecreate; + dword timelastaccess; + dword datelastaccess; + dword timelastedit; + dword datelastedit; + dword sizelo; + dword sizehi; + char name[518]; +}; + + +/////////////////////////// +// // +/////////////////////////// +f70 getinfo_file_70; +BDVK getinfo_file_info; +dword GetFileInfo(dword file_name) +{ + getinfo_file_70.func = 5; + getinfo_file_70.param1 = + getinfo_file_70.param2 = + getinfo_file_70.param3 = + getinfo_file_70.param4 = #getinfo_file_info; + getinfo_file_70.rezerv = 0; + getinfo_file_70.name = file_name; + $mov eax,70 + $mov ebx,#getinfo_file_70.func + $int 0x40 + IF (EAX == 0) { + EAX = #getinfo_file_info; + } +} + + +/////////////////////////// +// // +/////////////////////////// +f70 run_file_70; +void RunProgram(dword run_path, run_param) +{ + run_file_70.func = 7; + run_file_70.param1 = + run_file_70.param3 = + run_file_70.param4 = + run_file_70.rezerv = 0; + run_file_70.param2 = run_param; + run_file_70.name = run_path; + $mov eax,70 + $mov ebx,#run_file_70.func + $int 0x40 +} + +/////////////////////////// +// // +/////////////////////////// +f70 create_dir_70; +void CreateFolder(dword new_folder_path) +{ + create_dir_70.func = 9; + create_dir_70.param1 = + create_dir_70.param2 = + create_dir_70.param3 = + create_dir_70.param4 = + create_dir_70.rezerv = 0; + create_dir_70.name = new_folder_path; + $mov eax,70 + $mov ebx,#create_dir_70.func + $int 0x40 +} + +//////////////////////////// +// / // +//////////////////////////// +f70 del_file_70; +void DeleteFile(dword del_file_path) +{ + del_file_70.func = 8; + del_file_70.param1 = + del_file_70.param2 = + del_file_70.param3 = + del_file_70.param4 = + del_file_70.rezerv = 0; + del_file_70.name = del_file_path; + $mov eax,70 + $mov ebx,#del_file_70.func + $int 0x40 +} + +//////////////////////////// +// // +//////////////////////////// +f70 read_file_70; +void ReadFile(dword pos, file_size, read_buffer, file_path) +{ + read_file_70.func = 0; + read_file_70.param1 = pos; + read_file_70.param2 = 0; + read_file_70.param3 = file_size; + 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 +} + +/////////////////////////// +// // +/////////////////////////// +f70 read_dir_70; +void ReadDir(dword file_count, read_buffer, dir_path) +{ + read_dir_70.func = 1; + read_dir_70.param1 = + read_dir_70.param2 = + read_dir_70.rezerv = 0; + read_dir_70.param3 = file_count; + read_dir_70.param4 = read_buffer; + read_dir_70.name = dir_path; + $mov eax,70 + $mov ebx,#read_dir_70.func + $int 0x40 +} + +/////////////////////////// +// // +/////////////////////////// +f70 CopyFile_f; +inline fastcall dword CopyFile(dword EBX,ECX) +{ + BDVK CopyFile_atr; + dword s=EBX, d=ECX, cBufer=0; + CopyFile_f.func = 5; + CopyFile_f.param1 = 0; + CopyFile_f.param2 = 0; + CopyFile_f.param3 = 0; + CopyFile_f.param4 = #CopyFile_atr; + CopyFile_f.rezerv = 0; + CopyFile_f.name = s; + $mov eax, 70 + $mov ebx, #CopyFile_f + $int 0x40 + + if (!EAX) + { + cBufer = malloc(CopyFile_atr.sizelo); + ReadFile(dword 0, CopyFile_atr.sizelo, cBufer, s); + + IF (!EAX) + { + CopyFile_f.func = 2; + CopyFile_f.param1 = 0; + CopyFile_f.param2 = 0; + CopyFile_f.param3 = CopyFile_atr.sizelo; + CopyFile_f.param4 = cBufer; + CopyFile_f.rezerv = 0; + CopyFile_f.name = d; + $mov eax, 70 + $mov ebx, #CopyFile_f + $int 0x40 + } + } +} + + +//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 +} diff --git a/programs/network/htmlv/lib/kolibri.h-- b/programs/network/htmlv/lib/kolibri.h-- new file mode 100644 index 0000000000..c4048234da --- /dev/null +++ b/programs/network/htmlv/lib/kolibri.h-- @@ -0,0 +1,608 @@ +//CODED by Veliant, Leency, Nable. GNU GPL licence. + +#startaddress 0 +#code32 TRUE + +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; +dword alloc_mem = #0x00100000; +dword x86esp_reg = #0x00100000; +dword I_Param = #param; +dword I_Icon = 0x0; +char param[256]=""; + +//Events +#define evMouse 6 +#define evButton 3 +#define evKey 2 +#define evReDraw 1 + +//Button options +#define BT_DEL 0x80000000 +#define BT_HIDE 0x40000000 +#define BT_NOFRAME 0x20000000 + +#define OLD -1 +#define true 1 +#define false 0 +//------------------------------------------------------------------------- + +struct mouse{ + dword x,y,lkm,pkm,hor,vert; + void get(); +}; + +void mouse::get() +{ + EAX = 37; + EBX = 1; + $int 0x40 + $mov ebx, eax + $shr eax, 16 + $and ebx,0x0000FFFF + x = EAX; + y = EBX; + EAX = 37; + EBX = 2; + $int 0x40 + $mov ebx, eax + $and eax, 0x00000001 + $shr ebx, 1 + $and ebx, 0x00000001 + lkm = EAX; + pkm = EBX; + EAX = 37; //஫ + EBX = 7; + $int 0x40 + $mov ebx, eax + $shr eax, 16 + $and ebx,0x0000FFFF + //hor = EAX; + vert = EBX; +} + +struct proc_info{ + dword use_cpu; + word pos_in_stack,num_slot,rezerv1; + char name[11]; + char rezerv2; + dword adress,use_memory,ID,left,top,width,height; + word status_slot,rezerv3; + dword work_left,work_top,work_width,work_height; + char status_window; + void GetInfo(dword ECX); +#define SelfInfo -1 +}; + +void proc_info::GetInfo(dword ECX) +{ + EAX = 9; + EBX = #use_cpu; + $int 0x40 +} + +struct system_colors{ + dword frame,grab,grab_button,grab_button_text,grab_text,work,work_button,work_button_text,work_text,work_graph; + void get(); +}; +void system_colors::get() +{ + EAX = 48; + EBX = 3; + ECX = #frame; + EDX = 40; + $int 0x40 +} + +//------------------------------------------------------------------------------ + +inline fastcall dword WaitEvent(){ + EAX = 10; + $int 0x40 +} + +inline fastcall dword WaitEventTimeout(dword EBX){ + EAX = 23; + $int 0x40 +} + +inline fastcall SetEventMask(dword EBX) +{ + EAX = 40; + $int 0x40 +} + +inline fastcall ScancodesGeting(){ + $mov eax,66; + $mov ebx,1; + $mov ecx,1; //᪠ + $int 0x40 +} + +inline fastcall word GetKey(){ + EAX = 2; // just read this key from buffer + $int 0x40 + EAX = EAX >> 8; +} + +inline fastcall word GetButtonID(){ + EAX = 17; + $int 0x40 + EAX = EAX >> 8; +} + +inline fastcall ExitProcess(){ + EAX = -1; // close this program + $int 0x40 +} + +inline fastcall Pause(dword EBX) +{ //㧠, ᥪ㭤 EBX = value + $mov eax, 5 + $int 0x40 +} + +//------------------------------------------------------------------------------ + +inline fastcall void DrawTitle(dword ECX) +{ + EAX = 71; + EBX = 1; + $int 0x40; +} + +inline fastcall dword GetSkinWidth() +{ + EAX = 48; + EBX = 4; + $int 0x40 +} + +inline fastcall void ChangeSkin(ECX){ + EAX = 48; + EBX = 8; + $int 0x40 +} + +inline fastcall dword GetScreenWidth() +{ + EAX = 14; + EBX = 4; + $int 0x40 + $shr eax, 16 + $and eax,0x0000FFFF +} + +inline fastcall MoveSize(dword EBX,ECX,EDX,ESI) +{ + EAX = 67; + $int 0x40 +} + +inline fastcall dword LoadLibrary(dword ECX) +{ + $mov eax, 68 + $mov ebx, 19 + $int 0x40 +} + +//------------------------------------------------------------------------------ +inline fastcall dword strlen(dword EDI){ + EAX=0; + ECX=-1; + $REPNE $SCASB + EAX-=2+ECX; +} + +inline fastcall copystr(dword ESI,EDI) +{ + $cld +l1: + $lodsb + $stosb + $test al,al + $jnz l1 +} + +byte fastcall TestBit(EAX, CL) +{ + $shr eax,cl + $and eax,1 +} + +char buffer[11]=""; +inline fastcall dword IntToStr(dword ESI) +{ + $mov edi, #buffer + $mov ecx, 10 + $test esi, esi + $jns f1 + $mov al, '-' + $stosb + $neg esi +f1: + $mov eax, esi + $push -'0' +f2: + $xor edx, edx + $div ecx + $push edx + $test eax, eax + $jnz f2 +f3: + $pop eax + $add al, '0' + $stosb + $jnz f3 + $mov eax, #buffer + $ret +} + + +inline fastcall dword StrToInt() +{ + ESI=EDI=EAX; + IF(DSBYTE[ESI]=='-')ESI++; + EAX=0; + BH=AL; + do{ + BL=DSBYTE[ESI]-'0'; + EAX=EAX*10+EBX; + ESI++; + }while(DSBYTE[ESI]>0); + IF(DSBYTE[EDI]=='-') -EAX; +} + + +/*int strcmp(char* string1, char* string2) +{ + loop () + { + IF (*string1<*string2) RETURN -1; + IF (*string1>*string2) RETURN 1; + IF (*string1=='\0') RETURN 0; + string1++; + string2++; + } +}*/ + + +inline fastcall int strcmp(ESI, EDI) +{ + loop() + { + IF (DSBYTE[ESI]<DSBYTE[EDI]) RETURN -1; + IF (DSBYTE[ESI]>DSBYTE[EDI]) RETURN 1; + IF (DSBYTE[ESI]=='\0') RETURN 0; + ESI++; + EDI++; + } +} + +inline fastcall unsigned int find_symbol(ESI,BL) +{ + int jj=0, last=-1; + do{ + jj++; + $lodsb + IF(AL==BL) last=jj; + } while(AL!=0); + return last; +} + + +dword StrToCol(char* htmlcolor) +{ + dword j=1, color=0; char ch=0x00; + IF (ESBYTE[htmlcolor]<>'#') RETURN; + FOR (;j<7;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; + } + EAX=color; +} + +inline fastcall dword upcase(dword ESI) +{ + do{ + AL=DSBYTE[ESI]; + IF(AL>='a')IF(AL<='z')DSBYTE[ESI]=AL&0x5f; + ESI++; + }while(AL!=0); +} + +/*inline fastcall void lowcase(ESI) +{ + do{ + $LODSB + IF(AL>='A')&&(AL<='Z'){ + AL+=0x20; + DSBYTE[ESI-1]=AL; + CONTINUE; + } + }while(AL!=0); +}*/ + +inline fastcall lowcase(ESI) +{ + do{ + $LODSB + IF(AL>='A')&&(AL<='Z'){ + AL+=0x20; + DSBYTE[ESI-1]=AL; + CONTINUE; + } + }while(AL!=0); +} + + +inline fastcall wintodos (dword ESI) +{ + while (BL=ESBYTE[ESI]) + { + IF (BL>=192) + { + IF (BL>=240) ESBYTE[ESI] = BL - 16; + ELSE ESBYTE[ESI] = BL - 64; + } + ELSE + { + IF (BL==178) ESBYTE[ESI] = 73; //I + IF (BL==179) ESBYTE[ESI] = 105; //i + IF (BL==175) ESBYTE[ESI] = 244; //J + IF (BL==191) ESBYTE[ESI] = 245; //j + IF (BL==170) ESBYTE[ESI] = 242; //E + IF (BL==186) ESBYTE[ESI] = 243; //e + IF (BL==168) ESBYTE[ESI] = 240; // + IF (BL==184) ESBYTE[ESI] = 'e'; //e + IF ((BL==147) || (BL==148) || (BL==171) || (BL==187)) ESBYTE[ESI] = 34; + IF ((BL==150) || (BL==151)) ESBYTE[ESI] = 45; + } + ESI++; + } +} + + +dword Hex2Symb(char* htmlcolor) +{ + dword j=0, symbol=0; + char ch=0x00; + FOR (;j<2;j++) + { + ch=ESBYTE[htmlcolor+j]; + IF (ch==0x0d) || (ch=='\9') return ''; + IF ((ch>='0') && (ch<='9')) ch -= '0'; + IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; + IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; + symbol = symbol*0x10 + ch; + } + wintodos(#symbol); + AL=symbol; +} + +byte mas[66] = "椥娩㦢Ꞁ"; +inline fastcall void koitodos(dword EDI) +{ + WHILE (BL=ESBYTE[EDI]) + { + IF (BL >= 0xC0) + { + BL -= 0xC0; + ESBYTE[EDI] = mas[BL]; + } + //IF (ESBYTE[EDI]=='\244') ESBYTE[EDI]='i'; + EDI++; + } +} + + +//Asper +//uncomplete +inline fastcall int utf8rutodos(dword ESI) //- +{ + EDI=ESI; + while (BL=ESBYTE[ESI]) + { + IF (BL == 0xD0) || (BL == 0xD1) EDI--; + else IF (BL == 0x81) && (ESBYTE[ESI-1]==0xD0) ESBYTE[EDI] = 0xF0; // + else IF (BL == 0x91) && (ESBYTE[ESI-1]==0xD1) ESBYTE[EDI] = 0xF1; // + else IF (BL == 0xE2) && (ESBYTE[ESI+1]==0x80) && (ESBYTE[ESI+2]==0x94) //long defis + { + ESBYTE[EDI] = '-'; + ESI+=2; + } + else IF (BL == 0xE2) && (ESBYTE[ESI+1]==0x80) && (ESBYTE[ESI+2]==0xA2) //central point + { + ESBYTE[EDI] = '*'; + ESI+=2; + } + else IF (BL == 0xC2) && (ESBYTE[ESI+1]==0xA9) // (c) + { + ESBYTE[EDI] = '('; + ESBYTE[EDI+1] = 'c'; + ESBYTE[EDI+2] = ')'; + EDI+=2; + ESI++; + } + else IF (BL == 0xC2) && ((ESBYTE[ESI+1]==0xAB) || (ESBYTE[ESI+1]==0xBB)) // " + { + ESBYTE[EDI] = '\"'; + ESI++; + } + else IF (BL == 0xC2) && (ESBYTE[ESI+1]==0xB7) // _ + { + ESBYTE[EDI] = '_'; + ESI++; + } + else IF (BL >= 0x90) && (BL <= 0xAF) + { + BL -= 0x10; + ESBYTE[EDI] = BL; + } + else IF (BL >= 0x80) && (BL <= 0x8F) + { + BL += 0x60; + ESBYTE[EDI] = BL; + } + else IF (BL >= 0xB0) && (BL <= 0xBF) + { + BL -= 0x10; + ESBYTE[EDI] = BL; + } + else ESBYTE[EDI] = BL; + ESI++; + EDI++; + } + WHILE (EDI<ESI) + { + ESBYTE[EDI] = ' '; + EDI++; + } +} + +//------------------------------------------------------------------------------ + +byte WindowRePaint=0; +inline fastcall void WindowRedrawStatus(dword EBX) +{ + EAX = 12; // function 12:tell os about windowdraw + $int 0x40 + IF (EBX==1) WindowRePaint=1; ELSE WindowRePaint=0; +} + +void DefineAndDrawWindow(dword x,y,sizeX,sizeY,byte mainAreaType,dword mainAreaColour,byte headerType,dword headerColour,EDI) +{ + EBX = x << 16 + sizeX; + ECX = y << 16 + sizeY; + EDX = mainAreaType << 24 | mainAreaColour; + ESI = headerType << 24 | headerColour; + $xor eax,eax + $int 0x40 +} + +inline fastcall dword CreateThread(dword ECX,EDX) +{ + EAX = 51; + EBX = 1; + $int 0x40 +} + +void WriteText(dword x,y,byte fontType, dword color, EDX, ESI) +{ + EAX = 4; + EBX = x<<16+y; + ECX = fontType<<24+color; + $int 0x40; +} + +void PutImage(dword EBX,w,h,x,y) +{ + EAX = 7; + ECX = w<<16+h; + EDX = x<<16+y; + $int 0x40 +} + +void PutPaletteImage(dword EBX,w,h,x,y,ESI,EDI) +{ + EAX = 65; + ECX = w<<16+h; + EDX = x<<16+y; + EBP = 0; + $int 0x40 +} + +inline fastcall void PutPixel(dword EBX,ECX,EDX){ + EAX=1; + $int 0x40 +} + +void DrawBar(dword x,y,w,h,EDX) +{ + EAX = 13; + EBX = x<<16+w; + ECX = y<<16+h; + $int 0x40 +} + +void DefineButton(dword x,y,w,h,EDX,ESI) +{ + EAX = 8; + EBX = x<<16+w; + ECX = y<<16+h; + $int 0x40 +} + +inline fastcall void DeleteButton(dword EDX) +{ + EAX = 8; + EDX += BT_DEL; + $int 0x40; +} + +void DrawRegion(dword x,y,width,height,color1) +{ + DrawBar(x,y,width,1,color1); // ᢥ + DrawBar(x,y+height,width,1,color1); // ᭨ + DrawBar(x,y,1,height,color1); // ᫥ + DrawBar(x+width,y,1,height+1,color1); // ࠢ +} + +void DrawRegion_3D(dword x,y,width,height,color1,color2) +{ + DrawBar(x,y,width+1,1,color1); // ᢥ + DrawBar(x,y+1,1,height-1,color1); // ᫥ + DrawBar(x+width,y+1,1,height,color2); // ࠢ + DrawBar(x,y+height,width,1,color2); // ᭨ +} + +void DrawFlatButton(dword x,y,width,height,id,color,text) +{ + DrawRegion_3D(x,y,width,height,0x94AECE,0x94AECE); + DrawRegion_3D(x+1,y+1,width-2,height-2,0xFFFFFF,0xC7C7C7); + DrawBar(x+2,y+2,width-3,height-3,color); // + IF (id<>0) DefineButton(x,y,width,height,id+BT_HIDE,0xEFEBEF); // + WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text,0); +} + +void DrawCircle(int x, y, r) +{ + int i; float px=0, py=r, ii = r * 3.1415926 * 2; + for (i = 0; i < ii; i++) + { + PutPixel(px + x, y - py, 0); + px = py / r + px; + py = -px / r + py; + //Pause(1); + } +} + +//------------------------------------------------------------------------------ + +inline fastcall dword WriteDebug(dword EDX) +{ + $push ebx + $push ecx + $mov eax, 63 + $mov ebx, 1 +next_char: + $mov ecx, DSDWORD[edx] + $or cl, cl + $jz done + $int 0x40 + $inc edx + $jmp next_char +done: + $mov cl, 13 + $int 0x40 + $mov cl, 10 + $int 0x40 + $pop ecx + $pop ebx +} diff --git a/programs/network/htmlv/lib/libimg_lib.h-- b/programs/network/htmlv/lib/libimg_lib.h-- new file mode 100644 index 0000000000..ac255cfbec --- /dev/null +++ b/programs/network/htmlv/lib/libimg_lib.h-- @@ -0,0 +1,104 @@ +//Asper + +//library +dword libimg = #alibimg; +char alibimg[21] = "/sys/lib/libimg.obj\0"; //"libimg.obj\0"; + +dword libimg_init = #alibimg_init; +dword img_is_img = #aimg_is_img; +dword img_to_rgb2 = #aimg_to_rgb2; +dword img_decode = #aimg_decode; +dword img_destroy = #aimg_destroy; +dword img_draw = #aimg_draw; +//dword img_flip = #aimg_flip; +//dword img_rotate = #aimg_rotate; + +dword am1__ = 0x0; +dword bm1__ = 0x0; + +//import libimg , \ +char alibimg_init[9] = "lib_init\0"; +char aimg_is_img[11] = "img_is_img\0"; +char aimg_to_rgb2[12] = "img_to_rgb2\0"; +char aimg_decode[11] = "img_decode\0"; +char aimg_destroy[12] = "img_destroy\0"; +char aimg_draw[9] = "img_draw\0"; +//char aimg_flip[9] = "img_flip\0"; +//char aimg_rotate[11] = "img_rotate\0 "; + + + +dword load_image(dword filename) +{ + //align 4 + dword img_data=0; + dword img_data_len=0; + dword fh=0; + dword image=0; + + byte tmp_buf[40]; + $and img_data, 0 + //$mov eax, filename + //$push eax + //invoke file.open, eax, O_READ + file_open stdcall (filename, O_READ); + $or eax, eax + $jnz loc05 + $stc + return 0; + @loc05: + $mov fh, eax + //invoke file.size + file_size stdcall (filename); + $mov img_data_len, ebx + //stdcall mem.Alloc, ebx + mem_Alloc(EBX); + + $test eax, eax + $jz error_close + $mov img_data, eax + //invoke file.read, [fh], eax, [img_data_len] + file_read stdcall (fh, EAX, img_data_len); + $cmp eax, -1 + $jz error_close + $cmp eax, img_data_len + $jnz error_close + //invoke file.close, [fh] + file_close stdcall (fh); + $inc eax + $jz error_ +//; img.decode checks for img.is_img +//; //invoke img.is_img, [img_data], [img_data_len] +//; $or eax, eax +//; $jz exit + //invoke img.decode, [img_data], [img_data_len], 0 + EAX=img_data; + img_decode stdcall (EAX, img_data_len,0); + $or eax, eax + $jz error_ + $cmp image, 0 + $pushf + $mov image, eax + //call init_frame + $popf + //call update_image_sizes + mem_Free(img_data);//free_img_data(img_data); + $clc + return image; + +@error_free: + //invoke img.destroy, [image] + img_destroy stdcall (image); + $jmp error_ + +@error_pop: + $pop eax + $jmp error_ +@error_close: + //invoke file.close, [fh] + file_close stdcall (fh); +@error_: + mem_Free(img_data); + $stc + return 0; +} diff --git a/programs/network/htmlv/lib/libio_lib.h-- b/programs/network/htmlv/lib/libio_lib.h-- new file mode 100644 index 0000000000..1ef15c7b45 --- /dev/null +++ b/programs/network/htmlv/lib/libio_lib.h-- @@ -0,0 +1,36 @@ +//Asper + +//library +dword libio = #alibio; +char alibio[21] = "/sys/lib/libio.obj\0"; //"libio.obj\0"; + +dword libio_init = #alibio_init; +dword file_size = #afile_size; +dword file_open = #afile_open; +dword file_read = #afile_read; +dword file_close = #afile_close; + +dword am2__ = 0x0; +dword bm2__ = 0x0; + + +//import libio , \ +char alibio_init[9] = "lib_init\0"; +char afile_size[11] = "file_size\0"; +char afile_open[12] = "file_open\0"; +char afile_read[11] = "file_read\0"; +char afile_close[12] = "file_close\0"; + +//align 4 +//dword fh=0; + +#define O_BINARY 0 +#define O_READ 1 +#define O_WRITE 2 +#define O_CREATE 4 +#define O_SHARE 8 +#define O_TEXT 16 + +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 diff --git a/programs/network/htmlv/lib/mem.h-- b/programs/network/htmlv/lib/mem.h-- new file mode 100644 index 0000000000..f598342710 --- /dev/null +++ b/programs/network/htmlv/lib/mem.h-- @@ -0,0 +1,64 @@ +//mem.Init +dword mem_Init() +{ + $push ebx + $mov eax, 68 + $mov ebx, 11 + $int 0x40 + + $pop ebx + return EAX; +} + +//mem.Alloc +dword mem_Alloc(dword size) +{ + $push ebx + $push ecx + $mov eax, 68 + $mov ebx, 12 + $mov ecx, size + $int 0x40 + + $pop ecx + $pop ebx + return EAX; +} + +//mem.ReAlloc +stdcall dword mem_ReAlloc(dword mptr, size) +{ + //$push ebx ecx edx + $push ebx + $push ecx + $push edx + $mov eax, 68 + $mov ebx, 20 + $mov ecx, size + $mov edx, mptr + $int 0x40 + + $pop edx + $pop ecx + $pop ebx + //$pop edx ecx ebx + return EAX; +} + +//mem.Free +void mem_Free(dword mptr) +{ + $push eax + $push ebx + $push ecx + $mov eax, 68 + $mov ebx, 13 + $mov ecx, mptr + $test ecx, ecx + $jz end0 + $int 0x40 + @end0: + $pop ecx + $pop ebx + $pop eax +} diff --git a/programs/network/htmlv/lib/memory.h-- b/programs/network/htmlv/lib/memory.h-- new file mode 100644 index 0000000000..475017e565 --- /dev/null +++ b/programs/network/htmlv/lib/memory.h-- @@ -0,0 +1,66 @@ +#code32 TRUE + +inline fastcall dword malloc(dword ECX){ + dword size, heap; + #speed + size = ECX; + EAX = 68; + EBX = 11; + $int 0x40; + heap = EAX; + IF (size<=heap) + { + EAX = 68; + EBX = 12; + ECX = size; + $int 0x40; + } + ELSE EAX=-1; + #codesize +} + +inline fastcall dword free(dword ECX){ + #speed + EAX = 68; + EBX = 13; + $int 0x40; + #codesize +} + +inline fastcall dword realloc(dword ECX, EDX){ + #speed + EAX = 68; + EBX = 20; + $int 0x40; + #codesize +} + +inline fastcall memmov( EDI, ESI, ECX) +{ + asm { + MOV EAX, ECX + CMP EDI, ESI + JG L1 + JE L2 + SAR ECX, 2 + JS L2 + REP MOVSD + MOV ECX, EAX + AND ECX, 3 + REP MOVSB + JMP SHORT L2 +L1: LEA ESI, DSDWORD[ ESI+ECX-4] + LEA EDI, DSDWORD[ EDI+ECX-4] + SAR ECX, 2 + JS L2 + STD + REP MOVSD + MOV ECX, EAX + AND ECX, 3 + ADD ESI, 3 + ADD EDI, 3 + REP MOVSB + CLD +L2: + } +}