Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 1970 → Rev 1971

/data/eng/Makefile
235,6 → 235,7
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
 
/data/rus/Makefile
235,6 → 235,7
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.
/programs/build_all.bat
42,7 → 42,7
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
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
 
:END
echo *
echo Done. Thanks for your choise ;)
echo Done. Thanks for your choice ;)
echo *
pause
/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<max_kolvo_strok) break;
if (m.x>=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:
/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 Êá
- åñëè ïðèñóòñòâóåò òîëüêî çàêðûâàþùèé òåã </a>, áåç îòêðûâàþùåãî, ññûëêè
áîëüøå íå "ñúåçæàþò";
- êîððåêòíàÿ îáðàáîòêà ïàðàìåòðîâ, íå âçÿòûõ â ñêîáêè, ïðèìåð: 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
- ïåðåíîñ ïî ñëîâàì;
- êîîðäèíàòû ñ÷èòàþòñÿ îò êîíöà çàãîëîâêà;
- èñïðàâëåíà ïåðåðèñîâêà îêíà, êîãäà ñòðàíèöà ìàëåíüêàÿ;
- èñïðàâèë áàã â òåãå <pre>;
- èñïðàâëåí áàã ïåðåðèñîâêè ïåðâîé ñòðîêè;
 
 
07.12.08 -- v0.47 -- 7,50 Êá
- äîáàâëåí ñèìâîë "àïîñòðîô", óêðàèíñêèå áóêâû äëÿ êîäèðîâêè win1251;
- èíôà âíóòðè <!-- --> ôèëüòðóåòñÿ;
- ïåðåïèñàíà ïðîöåäóðà ïàðñèíãà ïàðàìåòðîâ òåãà;
- çà÷àòêè âûâîäà èçîáðàæåíèé (ñïàñèáî Nable è Asper çà ïîìîùü);
- èñïðàâëåí áàã, èç-çà êîòîðîãî ñòðàíèöû ìîãëè íå îòîáðàæàòüñÿ;
- èñïðàâëåí áàã ñ òåãîì font, èç-çà êîòîðîãî âåñü òåêñò ìîãëî ïëþùèòü;
- èñïðàâëåí íåäî÷¸ò â òåãå <pre> (íàø¸ë diamond);
- íåìíîãî óâåëè÷åíà ñêîðîñòü îáðàáîòêè ñòðàíèö;
- íåìíîãî óëó÷øåíà ïîëîñà ïðîêðóòêè, èñïðàâëåí îäèí ìåëêèé áàã;
 
 
02.12.08 -- v0.45 -- 6,79 Êá
- ïîääåðæêà êîäèðîâêè KOI8-R(U) - àêòèâèðóåòñÿ íàæàòèåì Ctrl+R. Ñïàñèáî Velianty
çà íàïèñàíûé êîä;
- âûâîä êàêîé-òî win êîäèðîâêè, ãäå âñå ñèìâîëû îòîáðàæàþòñÿ, êàê &#1040 è ò.ä.
(çàðàáîòàë ôàéë, ïðèñëàíûé Albom'îì);
- èñïðàâëåí î÷åíü ñåðü¸çíûé áàã èç-çà êîòîðîãî ñòðàíèöû ñ áîëüøèì êîëè÷åñòâîì
ññûëîê ïðèâîäèëè ê âûëåòó ïðîãðàììû;
- êîäèðîâêà DOS'a (cp866) àêòèâèðóåòñÿ íàæàòèåì Ctrl+D;
- óëó÷øåí ñêðîëë;
- èñïðàâëåí áàã êíîïêè "Îáíîâèòü";
- èêîíêè òóëáàðà âûâîäèòñÿ îäíèì èçîáðàæåíèåì ñ ïàëèòðîé, êàê ðåçóëüòàò ìåíüøå
ïåðåðèñîâêà îêíà è ðàçìåð ïðîãðàììû.
 
 
20.10.08 -- v0.40 -- 7,36 Êá
- îáðàáîòêà íåñêîëüêèõ ïàðàìåòðîâ òåãà äëÿ ññûëêè è òåêñòà;
- ïåðå÷¸ðêèâàíèå è ïîä÷¸ðêèâàíèå îòîáðàæàåòñÿ òåì æå öâåòîì ÷òî è òåêñò
- ïðàâèëüíàÿ îáðàáîòêà òàáîâ;
- óëó÷øåíèå òåãà <li>;
- êîððåêòíûé ïåðåõîä íà ñòðàíèöó, àäðåñ êîòîðîé ñîäåðæèò çíàê "#";
- èñïðàâëåí áàã èç-çà êîòîðîãî ÷àñòü òåêñòà ìîãëà ñòàòü íåâèäèìîé;
- èñïðàâëåí òåã <q>;
- íåêîòîðûå ñïåöñèìâîëû çàìåíåíû ñâîèìè "àíàëîãàìè": (ñ), (r), îáû÷íîå òèðå
âìåñòî òèïîãðàôè÷åñêîãî;
- ïîääåðæêà òåãîâ <ins> è <del>;
- ïðî÷èå äîðàáîòêè è õèòðîæîïûå îïòèìèçàöèè îòîáðàæåíèÿ :)
 
 
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 Êá
- ðåàëèçîâàíî ïðåîáðàçîâàíèå òåãîâ âèäà &nbsp; â ñèìâîëû (ïîêà òîëüêî 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;
- èñïðàâëåíà ðàáîòà ïðîãðàììû â ñëó÷àå, åñëè ñòðàíèöà íå íàéäåíà;
- íîâûå ôèðìåííûå èçîáðàæåíèÿ íà êíîïêàõ;
- èñïðàâëåí òåã <title> äëÿ äëèííûõ íàçâàíèé;
- òåïåðü ïåðåõîä Äîìîé çàïèñûâàåòñÿ â õèñòîðè;
- ïðîãðàììà áîëüøå íå äîëæíà âûëåòàòü :)
 
 
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 ïîä íîâóþ áèáëèîòåêó, íåìíîãî äîäåëàí.
/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 - îïòèìèçàöèè, íåêîòîðûå äîðàáîòêè.
 
Ñïàñèáî çà èñïîëüçîâàíèå :)
/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);
}
/programs/network/htmlv/browser/compile.bat
0,0 → 1,5
..\C--\c-- HTMLv.c--
del HTMLv
rename HTMLv.com HTMLv
..\C--\kpack HTMLv
pause
/programs/network/htmlv/browser/img/URLgoto.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/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
};
/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
};
/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};
/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;
}
//******************************************************************************
/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, '|');
}
 
 
/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] = "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯àáâãäåæçèéêëìíîïðñh£si\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);
}
/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;
}
/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] ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
/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
}
/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
}
/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;
}
/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
/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
}
/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:
}
}