SRL Archive - Outdated Tutorials

Full Bitmap and DTM Tutorial


WhoCares357

2007-05-02 10:51:39

Bitmap and DTM Tutorial
by WhoCares357

Thanks to God

Table of Contents

–Using Images
–Capturing Desktop
–Bitmaps
—-Creating Bitmaps
—-Loading Bitmaps
—-Using Bitmaps
—-Releasing Bitmaps
–DTMs
—-Creating DTMs
—-Loading DTMs
—-Using DTMs
—-Releasing DTMs
–Choices, Choices…


Edit: Sorry about the pics. They got cut off for some reason when I posted this here. For a full view of the pics go to http://www.poopnsuch.com/viewtopic.php?t=19.


———-Using Images———-


If you haven’t figured it out yet, this tutorial is going to teach you how to make and use two different Scar supported image types. You will use these images in your Scar scripts to find items, spells, monsters, or other objects that are otherwise unattainable through Color functions (FindColor, etc.).

Images (especially Bitmaps) should be your last resort. They take up much computer memory (causing it to lag and even freeze). This creates a problem for users of your script that have a low performance computer (low Ram and CPU power).

Images should also be made as small as possible. The larger an image is, the more memory it will take, thus the more lag it will cause.

NOTE: Most of my examples will not actually work. I just created them to show you how to use images.

So, let’s begin:


———-Capturing Desktop———-


If you don’t have a desktop image capturing tool, follow these steps:

1. Press Prt Scrn. This button is found above the Insert and Delete buttons. At this point, you should see the screen freeze for half a second. This is the process by which the image of the desktop is being saved. The image will now be in “Copy”


2. Open paint or any other image editing software and do one of the following:
–Pres ctrl + v
–Go to Edit – Paste

-If you used software to capture the screen, just go to File – Open and find your image.

Save your image as a 24 bit bitmap. If you want to use a bitmap then follow the Bitmap tutorial below. Otherwise just skip down to DTMs.


———-Bitmaps———-


<Creating Bitmaps>


The first step in using Bitmaps is making them.

Once you have loaded the picture into Paint, use your ubber Paint skills to crop and center the image to focus on the object you want. Do this, by using the selection tools (dashed square or star on the left toolbar):
–Select your object and drag it to the upper left-hand corner.



–Zoom out and drag the image to enclose only the object you want.


–Make the background black.


3. Save the image as a 24 bit bitmap (bmp).


<Loading Bitmaps>

Now that we&#8217;re done with the fun part, let&#8217;s use our newly created bitmap in a script. I will be using the lobster from the last part for this section as well.

There are two ways to load a bitmap. The first way should only be used if you are using the script for personal reasons.
1. Create an integer and give it a name relative to the picture (ie Lobster).

–The reason we make an integer for bitmaps (and DTMs) is to use a single word instead of posting the whole bitmap &#8220;code&#8221; every time we want to use it. You will see this a little later.

By now our script looks like this:
program New;

var
Lobster: Integer;

begin
end.

As you can tell, this script won&#8217;t do anything yet. All we did was assign a name to our picture. Now we have to load the picture:
2. Put this little bit of code where you want to load the bitmap:
program New;

var
Lobster: Integer;

begin
Lobster := LoadBitmap('C:\Lobster.bmp');
//Bitmap Loaded
end.

Look closely at Lobster := LoadBitmap(&#8216;&#8217;). What we did here is tell Scar to put the image into the word Lobster. Now every time you use Lobster, Scar will see it as the actual bitmap string. You must put the directory (where the image is located) between &#8216;&#8217;.

That is the first way to load a bitmap. As you can see, the other person must first have the bitmap in the same folder you have it for him to use the script. This is very unlikely, so you should use the second method if you are creating a script that you will share with the world:

1. Create an integer named something that is related to your object (ie Lobster).
Once again, our code will look like this:
program New;

var
Lobster: Integer;

begin
end.

2. Go to Tools-Picture To String.


3. Click Open and find the image you want to use. (Click open)
4. Click Paste and click OK.


5. Look on the bottom window (Debug Box); you will see a long code starting with the name of the bitmap. This is the bitmap. Scar sees pictures as a bunch of letters and numbers.


6. Change the name of the bitmap (the word I highlighted in picture) to the name of your Integer. (ie If I made the integer named &#8220;Nat&#8221;, the &#8220;Lobster&#8221; in Lobster := BitmapFromString(31, 30, '&#8230; would have to change to Nat := BitmapFromString(31, 30, ')
7. Copy the whole code and paste it at the place you want the bitmap to load:
program New;

var
Lobster: Integer;

begin
Lobster := BitmapFromString(31, 30, 'z78DAED98FD6E83300CC45' +
'F09E783347F3260EFFF48CB7CD67428C05A0A6D260DA9AE04147E' +
'38E7B369D7FD6F4F6EB2111BDDA2B849423FF85172EF7C9214671' +
'F4B1CBC93D03CBF84C97D48D7273F484E63E8654E313819538197' +
'B1617E09C925295FE5D3DDA6F0E9FC6D08B3138BA93C599B2A927' +
'EF6936490E7296697F210938B16538C3F3144EF7C33FC467E0B61' +
'7002FEDD9A953684A20AE94296193A416E5BAE4D388929A48BEE4' +
'F30AB07C237E02495421A34916F4266866F20E72F21B74AD9A8A6' +
'95F3416BE4390419518FD0F6C5CCC2DE8BDE07122816B1F681B27' +
'7EE26CB33F15B55AA635F40BE421BA32F3BD0A3416B54E87A14F1' +
'2B443EC798552717E4DC68D19717B4DAA3B9CA8C04ABAF3CC82A6' +
'68FFAB938DBA7923FC06C8A55127336ED713641610ED9253FA927' +
'5AAE381AADF638BB3BF958E9D8DF9EAC71A12E9EA05845FAA47E2' +
'AAC53A5F067D42E8BDC56B4AC07AC72C5BCB80E9F0F66C43A3F1C' +
'0FF1CB8A1270778E20DFF304A9BD1AB313AFC88A0E3557C7C8573' +
'28C886A22F25FDC1B57809289D968B572CD4B3957C7A771236766' +
'5620677233DBBA52B57ACD51B72A9D6AE12039657BEBE8DDCCF75' +
'51055EEEE151E7D93DD3A7A3F73074EF34966265ACB98BAE5CBE7' +
'AE6DCD336145CBCC953EDF3C1E9A17291B339FEA8A9790B3C772C' +
'FBDDB63DF9D79E5ACB571EA0C703D394DE678831BCA74E6529B2F' +
'4346BB3E93B7FF5FDCC99C5F41343C96');
//Bitmap Loaded
end.

<Using Bitmaps>

Now you have seen two ways to load a bitmap. But how do we make Scar search for a bitmap? In this section, I will show you how to make Scar search for a bitmap.

There are many functions in Scar that allow you to use Bitmaps. I will show you only a few. If you are interested in the others, press F1 while Scar is open or go to Help-Help in Scar.

-FindBitmap-

This function is very simple. All it does is search the whole screen for the bitmap and then returns the location in x, y:
program New;
//include SRL\SRL.scar (Mouse command is taken from SRL)
var
Lobster: Integer;
x, y: Integer;

begin
Lobster := BitmapFromString(31, 30, 'z78DAED98FD6E83300CC45' +
//I just put an example of an abbreviated bitmap
if(FindBitmap(Lobster, x, y)) then
begin
WriteLn('Found Bitmap&#8230; Attempting to mine.');
Mouse(x, y, 1, 1, true);
end else
WriteLn('Bitmap not found.');
end.

This code first loads the bitmap &#8220;Lobster&#8221; (Lobster := BitmapFromString&#8230;), then it uses the function FindBitmap. &#8220;Lobster&#8221; is the name of the bitmap. Remember how we created an Integer to represent the bitmap code; this is exactly that. x and y will store the position where the bitmap is found on the screen. FindBitmap searches the whole screen. If the bitmap is found, the mouse will be moved the x and y and clicked there.

-FindBitmapIn-

This function is similar to FindBitmap, except for it offers a specific location to search the bitmap in.

program New;

var
Lobster: Integer;
x, y: Integer;

begin
//load bitmap
if(FindBitmapIn(Lobster, x, y, 100, 100, 200, 200)) then
begin
WriteLn('Bitmap found. Attempting to click.');
Mouse(x, y, 1, 1, true);
end else
WriteLn('Bitmap not found.');
end.

This example is very similar to the last one. The only thing I replaced is FindBitmap. The new function FindBitmapIn performs almost the same way. The only difference is the 100, 100, 200, 200. This function creates a box. In my example it would start at the coordinate 100, 100 (top left corner) and end the box at 200, 200 (bottom right corner). Then Scar will search that box to find the Bitmap. If it finds the Bitmap, Scar will record the position of the Bitmap in x, y. If you have ever used the function FindColor, this is similar to that.

-FindColorToleranceIn-

program New;

var
Lobster: Integer;
x, y: Integer;

begin
//load bitmap
if(FindBitmapToleranceIn(Lobster, x, y, 100, 100, 200, 200, 50)) then
begin
WriteLn('Bitmap found. Attempting to click');
Mouse(x, y, 1, 1, true);
end else
WriteLn('Bitmap not found.');
end.

In this example, I replaced FindBitmapIn with FindBitmapToleranceIn. This function is exactly like FindBitmapIn. The only difference is the final digit (50). This digit is the color tolerance of the bitmap. This function is helpful when the bitmap may have slightly different colors at times. Change the tolerance from 0 to 250 depending on how much the color varies.

<Releasing Bitmaps>

After you&#8217;re done using a bitmap, you will want to release it. As I said before, bitmaps take up a lot of memory. By releasing bitmaps, we are reducing lag.

program New;

var
Lobster: Integer;

begin
LoadBitmap('C:\Lobster.bmp');//Load bitmap
//use bitmap with FindBitmap (or others)
FreeBitmap(Lobster); //remove the bitmap &#8220;Lobster&#8221; from memory
end.

This example is very simple. First, I loaded the bitmap Lobster. Then I used it. After I was done using it, I included FreeBitmap(Lobster) to remove the bitmap Lobster from memory. Releasing bitmaps is very simple, and should be done when you use a bitmap for a short time. Freeing bitmaps will reduce lag and improve overall script performance.



———-DTMs———-


<Creating DTMs>


Before using a DTM, you must create it.

Creating DTM is one step short from the same thing as creating Bitmaps.

Load the image into Paint and follow the directions:

–Select your object and drag it to the upper left-hand corner.




–Zoom out and drag the image to enclose only the object you want.


Save the image as a 24 bit bitmap (bmp).


The reason we skipped the part about making the background black, is because to make a DTM, we need a background that is a different color than the image border (black line that surrounds the lobster).

To actually create the DTM, we need to use a tool built into Scar called DTM Editor.

1. Go to Tools-DTM Editor.


2. Right click anywhere in the area (the big area in the middle of the window where your screen was captured). Press load (or paste if you want to copy paste it on) and select the bitmap to load. IMPORTANT: THE PICTURE MUST BE A BITMAP FOR BEST RESULTS.


3. Once you load the picture, you will see it in the top left corner. There is also a zoom box where you can see a zoomed view of your mouse position. Click in the center of your object (item,etc.). You should see a blinking yellow dot in the spot you clicked and an entry in the list box to the right of the window.


This is your center point. Always choose a center point that is not a border and that is as close to the center as you can get it. Now we will have to define the distance between the center point and the border to give the object a shape.

4. Move your mouse to a boarder of the object (black line). Look in the magnifying view and make sure that the black pixel(s) of the border line are in the center of the magnified view. You should also notice that another entry appears in the list box to the right of the window.


List Box: The first two numbers are the number of pixels from the origin (the first dot you picked) to the border line (the distance to the border). The last big number is the color number. All your border line selections should have the same color number.

5. Make sure the first dot is highlighted in the list box to the right. (The one that is highlighted is the one it will measure the distance from) Now select three or four more border locations to give the object a specific shape. Make sure that the color numbers of the border lines are all the same. If they&#8217;re not, delete the border line in the List Box to the right, click the first selection in the List Box (your first dot) and choose another point.
6. Click on the first selection in the List Box to the right and change the color tolerance to 250. Leave the rest alone, since black will always be the same color number.



<Loading DTMs>


1. Now, you can either save the DTM, or load it to the Debug Box in Scar. Click on File-DTM to Text to load it. Click File-Save to save the DTM. (DTM is not saved as an image, rather as measurements and color numbers)

Now, this part is almost like the bitmaps, with a variation of a few function/command names:

2. Create an integer with the name you want for the DTM. I&#8217;m going to call it Lobster.

I explained why this is needed in Bitmaps, and won&#8217;t do it again, since it just consumes time and you have a mouse to scroll with ;).

Once again, there are two ways to load a DTM. The first one is the easiest, but it should only be used for personal use.

program New;

var
Lobster: Integer; //notice the integer

begin
LoadDTM('C:\Folder\Lobster.DTM'); //loads DTM from a directory
end.

LoadDTM loads the DTM you specify in the location (C:\…) of the image. The other way is longer, but should be used for public scripts.

3. You can find the image string (code) in the Debug Box (if you loaded the DTM in step one). Change the name (DTM:= DTMFromString changes to Lobster:= DTMFromString) of the DTM and copy the code.
4. Put the code wherever you want it to load.

program New;

var
Lobster: Integer;

begin
Lobster := DTMFromString('78DA631462606010604001A54E320CD380342' +
'310FF07024671208397010D302291409A094808135003929725A0' +
'461E48B01250C30D24B808A8910412A2F8D500003835066C');
//DTM now loaded
end.

This example will load the DTM directly from the string (not needing to open a file). After we load a DTM, we have to use it somehow, or else it&#8217;s useless.

<Using DTMs>

Unlike Bitmaps, DTMs is only useable with one function.

program New;

var
x, y: Integer;
Lobster: Integer; //DTM

begin
//start load
Lobster := DTMFromString('78DA631462606010604001A54E320CD380342' +
'310FF07024671208397010D302291409A094808135003929725A0' +
'461E48B01250C30D24B808A8910412A2F8D500003835066C');
//load ended. Use DTM now
if FindDTM(Lobster, x, y, 100, 100, 250, 300) then //finds DTM
begin
Mouse(x, y, 1, 1, true); //clicks DTM(SRL)
WriteLn('Clicked Lobster.');
end;
end.

FindDTM is very similar to FindColor or FindBitmap. The first word, Lobster, is the name of your DTM. Use the name of the DTM that you want to find. The x, y are two integers used to store the location of the DTM if it is found. The final four digits are coordinates (x1, y1, x2, y2). These create an imaginary square from the top left corner (100, 100) to the bottom right corner (250, 300) as dimensions in which Scar will search for the DTM.

Basically, this example loads the DTM named Lobster, searches for it, and then clicks on it if it is found.


<Releasing DTMs>

Just like Bitmaps, DTMs take up memory (though not as much). This causes lag on computers with low RAM. To avoid this, free your DTM from memory after you use it.

program New;

var
x, y: Integer;
Lobster: Integer; //DTM

begin
//load DTM
//Use DTM
//Now we need to free it from memory
FreeDTM(Lobster);
end.

FreeDTM frees the DTM that you specify (Lobster in my case). This frees the DTM from the memory. If you free it, you have to load it again to use it.

———-Choices, Choices&#8230;———-


Now, you may be wondering why you can&#8217;t just use a DTM or Bitmap all the time. Why does Scar have an option? I will give you a few reasons for this:

1. DTMs usually take up way less memory than Bitmaps. This allows your script to run smoother.
2. DTMs are used to find objects with a.)Specific shape b.) Border lines
This means that you should not use a DTM if you want to use it as a picture of a Fire Rune, because there are many other runes that have the same exact shape. You also wouldn&#8217;t use a DTM for an NPC, since they don&#8217;t have borders.
3. Bitmaps are much more specific (but once again require more memory).

I would recommend a DTM over a Bitmap easily, if it is appropriate. However, bitmaps should be used for all the &#8220;others&#8221; that just won&#8217;t cut it with a DTM. Choose wisely before deciding which to use.

rkroxpunk

2007-05-03 09:02:39

very nice and detailed TUT great work. But all I really want to know is what windows skin are u using?! lol

PwNZoRNooB

2007-05-03 12:44:39

From: rkroxpunk
very nice and detailed TUT great work. But all I really want to know is what windows skin are u using?! lol


U mean Mozilla firefox skins, check the upperleft in the first pic. It's Mozilla and it rocks… All Change To Mozilla Firefox!

n3ss3s

2007-05-03 12:55:35

Lol, he had the skins in scar title too. Hes probaply using MAC.

rkroxpunk

2007-05-03 13:26:59

From: PwNZoRNooB
U mean Mozilla firefox skins, check the upperleft in the first pic. It's Mozilla and it rocks… All Change To Mozilla Firefox!


erm no I've got Mozilla and it doesn't look like that. It was a different skin they usually change all toolbars colours to that. I really hope it wasn't a MAC one :s

WhoCares357

2007-05-03 17:42:10

It's some penguin skin. It looks quite slim ;). I can send you if you want, but I used TuneUp Utilities to upload it.

The Claw

2007-05-04 09:36:32

nice tut, helped a lot :)

kooldude

2007-05-15 15:31:20

It says Line 13: [Error] (13:1): Unknown identifier 'MMouse' in script … Please help

program BitMap;

var
Ex: Integer;
x, y: Integer;

begin
Ex := BitmapFromString(125, 1, 'z78DA33B13071343531019' +
'306A360140C3B6062646262E20A210149A58D43');
if(FindBitmap(Ex, x, y)) then
begin
WriteLn('Found Bitmap!; Attempting to Click!.');
MMouse(x, y, 1, 1, true);
end else
WriteLn('Bitmap not found.');
end;
end.

WhoCares357

2007-05-20 17:05:41

You have to use {.include SRL\SRL.scar}

I just posted that as an example. It's not actually supposed to work.

stupedspam

2007-05-20 17:17:15

Like in your Tut I make a Lobby Bitmap, but the script laggs like crazy, so I would have to make it smaller how would I do that without the script loseing the effectiveness in find a whole lobby?

Thanks,
~Stupedspam

WhoCares357

2007-05-20 21:22:11

Take a strip of the lobster (few pixels wide). That way, you still keep the same colors and shape, but much smaller.

wogboy12

2007-05-23 05:33:05

very good easy to follow thx alot!

Dan Cardin

2007-06-03 10:54:26

what if i wanted it to drop all the ore i have in my inventory using DTMs. how can i get it to just find the shape…not the specific item

WhoCares357

2007-06-03 13:36:12

Make the DTM and then use if FindDTM(…). DTMs use shape.

Dan Cardin

2007-06-03 14:33:16

yea…so…i would just have all my points be on the outline?…and no tol for ne?

WhoCares357

2007-06-03 20:20:43

From: dan cardin
yea…so…i would just have all my points be on the outline?…and no tol for ne?


You need tol only for the center point (center of the ore).

DTM searches for the length between points and the color at the point. Since all border lines are black (always the same color) we don't need a tolerance for them. However, the center point is a different color for each ore (thus we set it at 250 [highest]).

Don't touch the tolerance of the border points, but change the first point's tolerance to 250.

Dan Cardin

2007-06-04 16:11:27

yea…i know…but if i want it to just click a shape…not a specific item…then i would make them all on the edges…nothing else right?

WhoCares357

2007-06-05 00:08:24

You still have to have a midpoint. It will make out the shape by measuring the distance from the midpoint to the border.

Dan Cardin

2007-06-05 06:59:31

but then it wont find all the different items for that shapelike a gold bar, and a rune bar

WhoCares357

2007-06-05 10:27:45

It will. Just set the tolerance of the midpoint to the highest level (250) and it will only look at the shape.

Dan Cardin

2007-06-05 15:03:02

ohhhhhhhh…well that makes sense…ty

Drakan

2007-06-08 19:06:51

Very nice :) Helpful and well said. Very easy to follow. Thanks

Macho Man67

2007-06-22 01:53:29

Wow! Nice tutorial! It helped me alot :) This will help me with my woodcutting script( which I finally got to work!). Also nice skin for your toolbars….

sheetomg

2007-06-24 06:02:19

thx helped clear alot of thimgs

Wanted

2007-06-28 20:27:47

Arg, read the whole thing.

I *finally* understand DTMs now, Thanks!

Amazing tutorial :D

Moving on to dynamic Lol….

CatastrophicDesire

2007-07-31 14:53:29

Awesome tutorial. Helped a lot. =).

alfonso1024

2007-08-03 13:22:41

program New;
{.include SRL\SRL.scar}

var
Lobster: Integer;
x, y: Integer;

begin
Lobster := BitmapFromString2(False, 'a06AD578DAECDB4B92EB3A' +
'7A85D129E145526AEA39FF211952DE63770E7ED0955546C36B457' +
'8D78D133293A294D9FA90524AAFA34FBAE53EAD5CFAEEB9F4DDB6' +
'C7E7BFDBEDB3DBE7DFB7CBFEF9EFFAF9F77269FFFD9AEDFDFDF7C' +
'FFF53DAD2E75F8EEDFDF997CBE79F8E5BFDECFDF3FAFDBE7DFEFB' +
'5A52BEED8FBEAFD7E5B1D576ABF7E95EEB73B8ADBFE635D9DC8E7' +
'E9DC1B677DBEA35DEC93D9476A98FC986F770EA0AADDD83DDDAA3' +
'DFC96FF6CC3D6CEDDEF270FBD36E69B27B7B04FB79DE75B2F1157' +
'2FF441E93ADFD89BD86DBFAD3784F367E4AF11D7EB73DFBF7EA32' +
'DC77FF56DCE2FD5EA7FC6A67BF3BF3E7D0F7FBB9FF7DFBF3ECEF7' +
'7BAC167B1F5E7914E6C196E7C87DF7D03000000000000000000C0' +
'FF7BDA7E6DBFB65FDBAFED0700000000000000000080B5B4FDDA7' +
'E6DBFB65FDB0F000000000000000000006B69FBB5FDDA7E6DBFB6' +
'1F00000000000000000000D6D2F66BFBB5FDDA7E6D3F000000000' +
'00000000000ACA5EDD7F66BFBB5FDDA7E00000000000000000000' +
'584BDBAFEDD7F66BFBB5FD00000000000000000000B0D656DAED5' +
'B95471B97FF67AAF5DC2EF5FAABBD7CABECD1E66FFF1F6E7BB65A' +
'8FD17EDAF8FA9E6C5C629F2CF383EB9F3B5F707C7FE2DF776FD76' +
'FBB1EECE779D536DC4B7DD532D9576BF536DAEDFB44271B9FB388' +
'CF71FC6C7C85D4F67E27F1CE4E1F3CEB7BB271D37E66F7FECCEA7' +
'04F54F19332FF739D3CD9B8DB3F735223BEC313CFC1DF61000000' +
'00000000000000D0F66BFBB5FDDA7E6D3F0000000000000000000' +
'0ACA5EDD7F66BFBB5FDDA7E00000000000000000000584BDBAFED' +
'D7F66BFBB5FD00000000000000000000B096B65FDBAFEDD7F66BF' +
'B01000000000000000000602D6DBFB65FDBAFEDD7F60300000000' +
'0000000000C05ADA7E6DBFB65FDBAFED070000000000000000008' +
'0B5266DF0CFB6BE8FE1C6E5FF99FE7F6FCF6F871CEDF62DBA477B' +
'7CDBF878F7EF2980C1B6F7B7FF0F77529B87D7FF67E3D30167AE7' +
'0B45BCBA32DEF52F331D95BBEA567B0D7749DEC256FA98D764BF5' +
'5DDEF1EE9F267D1FEDA9E7F09B53183F3B6BDAEFDF1304D1FEBA6' +
'99FD7FBDFF712EFFC9DCE36BAFEB9BF0FDA7E0000000000000000' +
'0000F8256DBFB65FDBAFEDD7F603000000000000000000C05ADA7' +
'E6DBFB65FDBAFED0700000000000000000080B5B4FDDA7E6DBFB6' +
'5FDB0F000000000000000000006B69FBB5FDDA7E6DBFB61F00000' +
'000000000000000D6D2F66BFBB5FDDA7E6D3F0000000000000000' +
'0000ACA5EDD7F66BFBB5FDDA7E0000000000000000000058EB543' +
'F1C77D4A55DEA23DEF66AAD5E463BB9FE993DD3309776ADB7E1E6' +
'7E9FD7C9C6EFF4CC7DCECE414467077EF6FBCC465B5329799BECA' +
'36CB98E76DFFB7B4993BDB5AD5C46DB727EA736D9ADF65B19EDF7' +
'BCC67DB2BF29FFFF7C67A2EF7CE99FC873B2F1F5CF9DF53853EFF' +
'FE67733FACEFF6C7C72E7E493D4F603000000000000000000C0EF' +
'68FBB5FDDA7E6DBFB61F00000000000000000000D6D2F66BFBB5F' +
'DDA7E6D3F00000000000000000000ACA5EDD7F66BFBB5FDDA7E00' +
'000000000000000000584BDBAFEDD7F66BFBB5FD0000000000000' +
'0000000B096B65FDBAFEDD7F66BFB01000000000000000000602D' +
'6DBFB65FDBAFEDD7F603000000000000000000C05ADFB6364D36A' +
'ECDCFD4BF27FAFFC9C68DF4B9EB4485F3DE9EF535D9B0FC6FAFB6' +
'D53DDEC9F5CFB4FDDF7733DA566A2935DEF2C829A5D16E7BCD798' +
'FF772D9736BA33D8E6DAB8F785BE93FED35DA5ACB91EFF19E7A56' +
'F17E3E933CDC335D7DFC7DFBFD3D9CF9DD8CCFB36CFD3E9FBFDA7' +
'3CFF3FEFD2BF1F78DCBFFEFFA3B0C00000000000000000000DA7E' +
'6DBFB65FDBAFED0700000000000000000080B5B4FDDA7E6DBFB65' +
'FDB0F000000000000000000006B69FBB5FDDA7E6DBFB61F000000' +
'00000000000000D6D2F66BFBB5FDDA7E6D3F00000000000000000' +
'000ACA5EDD7F66BFBB5FDDA7E00000000000000000000584BDBAF' +
'EDD7F66BFBB5FD00000000000000000000B0D6997EB8BDDB56AFA' +
'39DD4C53F7B6BAF5686DBBE2D74BCA9EDF536DCA3DF679E6C58E6' +
'F7EB1CF532D9F874C0AFB73F8B562FF16E9FFBDD475BAEF948D77' +
'8B7A36EF931DAFD68B55CE32D255D521A6E4AAFD426DB3F8EF40A' +
'F648EF78FBE7F1AC75B4A7CE9BFCBE8A8FCBFFDA7FCA6BB2674E1' +
'0FCE67C417C22E6CC9EF9ED9EDEA7B61F00000000000000000000' +
'66B4FDDA7E6DBFB65FDB0F000000000000000000006B69FBB5FDD' +
'A7E6DBFB61F00000000000000000000D6D2F66BFBB5FDDA7E6D3F' +
'00000000000000000000ACA5EDD7F66BFBB5FDDA7E00000000000' +
'000000000584BDBAFEDD7F66BFBB5FD00000000000000000000B0' +
'96B65FDBAFEDD7F66BFB0100000000000000000060AD336DFFA4F' +
'ECDEDA8F7C9966F813FDA338D7178FD5355FCDEFF370FF74447DD' +
'5FB7D57DB45B6DB77E3FF1C667072EFDA7BCE2AD9F42FF36DA72C' +
'B35E578F7D2523946BB3DEAB35CE22D29BDD336DA96EB5ECB642F' +
'F5598F605F758BF77BA6E331DC336D7F6DD7FA1C6EEBAF794CF63' +
'FDDED9FE9EA3FCF72BCFD9DF6EFF674FFE513103F1B3F87D25FF3' +
'8CD7DF6100000000000000000000D0F66BFBB5FDDA7E6D3F00000' +
'000000000000000ACA5EDD7F66BFBB5FDDA7E0000000000000000' +
'0000584BDBAFEDD7F66BFBB5FD00000000000000000000B096B65' +
'FDBAFEDD7F66BFB01000000000000000000602D6DBFB65FDBAFED' +
'D7F603000000000000000000C05ADA7E6DBFB65FDBAFED0700000' +
'000000000000080B5B4FDDA7E6DBFB65FDB0F0000000000000000' +
'00006B6DA55DBF8D7DB47157FF6CB51E938DABF8F42DFCE3FD5E2' +
'9D87EA578DBADDFC975B87B7DD72DDEEF498732DC4FA5FC9EECA7' +
'0ABF8EB63CF2233DE26DA5D4F41AED716C5B7DC4DB6EE599EFA3C' +
'DB7D4528AB77FEAD73ADCEF27D226FB9BDAFC4C731ED7E67FDAFB' +
'E80A9FFBCC933D739FF1EEEDD97FD6684F9C2F989C673973EE263' +
'E5373F67CC163B8279E0300000000000000000000A0EDD7F66BFB' +
'B5FDDA7E00000000000000000000584BDBAFEDD7F66BFBB5FD000' +
'00000000000000000B096B65FDBAFEDD7F66BFB01000000000000' +
'000000602D6DBFB65FDBAFEDD7F603000000000000000000C05AD' +
'A7E6DBFB65FDBAFED0700000000000000000080B5B4FDDA7E6DBF' +
'B65FDB0F000000000000000000006B6D5B7BD4E764E336382E7BF' +
'FF4BDD1F5AFED59DFF1B6574BB58EB6EEE592EFF1E64BBAA534DC' +
'6BBACFB69652721D6DBBD6A35CE3ED77B2E56DB8B792D333DE2D9' +
'77EBFA33D9E5BAB9778EBE37BCF832DAFFCCC5BBCDBD16EDFBEFD' +
'EF1BB7E23F1B7F1F4E34ED5BEDAFFCDD9EA9D6E38DCFBCBCDB56A' +
'FF14ECED49C7B0ED7FEC4467BE65DC4EDFD99D301F1154E9C92F0' +
'771800000000000000000000B4FDDA7E6DBFB65FDB0F000000000' +
'000000000006B69FBB5FDDA7E6DBFB61F00000000000000000000' +
'D6D2F66BFBB5FDDA7E6D3F00000000000000000000ACA5EDD7F66' +
'BFBB5FDDA7E00000000000000000000584BDBAFEDD7F66BFBB5FD' +
'00000000000000000000B096B65FDBAFEDD7F66BFB01000000000' +
'00000000060ADADB45B7D4EF6F7157469FBB758FEEBD65452CEF1' +
'96CBE73F465B6FF99D6EF1B66779E636DAEDA85BBE4DF652F77C1' +
'F6DFF299794267BC9FB78F76B6BE5986CAB2DA7D11EB7F62EEF78' +
'CB23975447DB3E47156EF16E8FF66EFB70E3D2FB6767BDFAADDEA' +
'71B35ED67EEA16FCBBFD949B79FBEDFF078E366FEDC298953EFF4' +
'5FFE2CCE9CFD897FF74FBC0B7F870100000000000000000040DBA' +
'FEDD7F66BFBB5FD00000000000000000000B096B65FDBAFEDD7F6' +
'6BFB01000000000000000000602D6DBFB65FDBAFEDD7F60300000' +
'0000000000000C05ADA7E6DBFB65FDBAFED070000000000000000' +
'0080B5B4FDDA7E6DBFB65FDB0F000000000000000000006B69FBB' +
'5FDDA7E6DBFB61F00000000000000000000D6DA6ABBD7D7643FFD' +
'6D19EEF12D84C32DF77C4FAFD1D6929FE916EF966BCEC3DD53BD9' +
'734D9A3957ECB833DB6F6AA39DE4BDD5EAD8E767BD74BBEC7BBD7' +
'BE97E1BE5BCEEF788F7BBB9763B497634FFD7EC22DCF7CA4EB685' +
'BAEAD3CE2DDBE65FA707F5F9B9776FD9EFB0876D2D59F396F127F' +
'ABCF14FEA55DEA63B8E7CAFC67B0AD3DBEED7DB4B32719DDE1CFE' +
'6BED7E1C6E5FFCFC627144E9C71F0771800000000000000000000' +
'B4FDDA7E6DBFB65FDB0F000000000000000000006B69FBB5FDDA7' +
'E6DBFB61F00000000000000000000D6D2F66BFBB5FDDA7E6D3F00' +
'000000000000000000ACA5EDD7F66BFBB5FDDA7E0000000000000' +
'0000000584BDBAFEDD7F66BFBB5FD00000000000000000000B096' +
'B65FDBAFEDD7F66BFB0100000000000000000060AD2DB76B7D4DF' +
'6D2DE6D1F6DB9E45B7A4FB6A5674AA36D4739D22BDEFDA88FFC18' +
'EEBBB5D2E26DD772CD69B49FFA3FDD275BF29EF268DBA3DCF264F' +
'7477DF5BB1DECB1B5ADE478F752EFF935DA2DD7ADA4783F4F3C0D' +
'B7BCCB961FF16E9FBEFE18EEB922FDB74D7BDF9687FBB94E39B1E' +
'37B3873E6253E3B70E614C36F9ED29FFBBCD5FBAF36BE87D25FF3' +
'9C6CDCF6D7FE37E419AFBFC300000000000000000000A0EDD7F66' +
'BFBB5FDDA7E00000000000000000000584BDBAFEDD7F66BFBB5FD' +
'00000000000000000000B096B65FDBAFEDD7F66BFB01000000000' +
'000000000602D6DBFB65FDBAFEDD7F603000000000000000000C0' +
'5ADA7E6DBFB65FDBAFED0700000000000000000080B5B4FDDA7E6' +
'DBFB65FDB0F000000000000000000006BB5773BEA23DE6D6B8F56' +
'475B2EF992EEF16EB77A2FFB68F75BBFCA648F577B96C7709F5BA' +
'925DEEDD56A4DA3CD476A69B225A7FB78DBBDBCF335DECBBE3DEB' +
'73B4476D7BD9E2ADB77E2F69B85BBEA636D96BA9791B6D7EA457C' +
'AF1D6472DE532DAEDBAE5B64F76D6CCCFDBFEBDF5CF6DB871F9FF' +
'3FFDFFB8993FD1B4F7DF8EFED446DB5FD39FC864CFD4FBF1E67E9' +
'DEB705B7F9E8FC97E9E581EEEB9CFE2D1EFE417EBEF3000000000' +
'00000000000068FBB5FDDA7E6DBFB61F00000000000000000000D' +
'6D2F66BFBB5FDDA7E6D3F00000000000000000000ACA5EDD7F66B' +
'FBB5FDDA7E00000000000000000000584BDBAFEDD7F66BFBB5FD0' +
'0000000000000000000B096B65FDBAFEDD7F66BFB010000000000' +
'00000000602D6DBFB65FDBAFEDD7F603000000000000000000C05' +
'AEDD14ADD27FB6995EFA32DF77C4BB778F777BBD73CDAE368FD75' +
'F1EE7BBDE5E7688FDBB6D757BCE5998F7E3F83EDEFE356CA64AF6' +
'5CF97D1B64B79E567BCFBD6F6FEAE07DB727EA61AEF56CA3DBD46' +
'BB97FA2C29DE23B557ADA3ADD7FC4AD778FB137BE732DAEDF6E9C' +
'A275BDBB3E5E19EE9EA5FFD895D47BB6DFD7BF59E6C7CBEE04C57' +
'DFFA9DBC867BA66C8FABFBD48E7A996C7C0FB9BFE63ED9D49FD86' +
'DB8F1F5FF4DEBEF300000000000000000000068FBB5FDDA7E6DBF' +
'B61F00000000000000000000D6D2F66BFBB5FDDA7E6D3F0000000' +
'0000000000000ACA5EDD7F66BFBB5FDDA7E000000000000000000' +
'00584BDBAFEDD7F66BFBB5FD00000000000000000000B096B65FD' +
'BAFEDD7F66BFB01000000000000000000602D6DBFB65FDBAFEDD7' +
'F603000000000000000000C05A93B2F77FF631DA72CD47BAC6BB1' +
'FED5AF368EB235F528AB7ECA98EF753A597C9E6777AA536DA9A4A' +
'CDF7C96EA5E5DB68CB9EFBEDC49BAFA91B6D7B945BCEF1EED7F6B' +
'9D870EB2BBFE23D4ABB97C768EB2D3FFAD38837977E3BA3DDEEFD' +
'715C275BDBBDA56883EAFE4F7B3FAFF77FD3F6B7F6E8AF8937BEF' +
'E99B2BDF6BD0FB73FA9FEDB176F7C0F27DAFEFEC473DD467BEA74' +
'407C7EE1C467010000000000000000000068FBB5FDDA7E6DBFB61' +
'F00000000000000000000D6D2F66BFBB5FDDA7E6D3F0000000000' +
'0000000000ACA5EDD7F66BFBB5FDDA7E000000000000000000005' +
'84BDBAFEDD7F66BFBB5FD00000000000000000000B096B65FDBAF' +
'EDD7F66BFB01000000000000000000602D6DBFB65FDBAFEDD7F60' +
'3000000000000000000C05ADBD69EDFFE36DAB04FFEFC5F2DF1E6' +
'777AA7E196577EA457BCED5D9FE53DDA72CDD7F488B76EE5C8AFD' +
'1F6D73C729B6CCD7BBF9FC1D69C5F39C5DB5249E93ADAFDD1B6B2' +
'4FF6D94A49A33D523BCA31D9DBB6D5DB686B7F37FDBDC49BF23B6' +
'FA3DD1E9F327DB2B95DFBF767B4B5EF73B27B7BF6578E366EE67F' +
'F6F3B31EC33DF37B119F0E48EDD27F4ABC67EE73F62E2EF53ADAF' +
'66A5BDDE3DD4A7FE563B8674E28F4FDF92BF1D78DCBFFEFFA3B0C' +
'00000000000000000000DA7E6DBFB65FDBAFED070000000000000' +
'0000080B5B4FDDA7E6DBFB65FDB0F000000000000000000006B69' +
'FBB5FDDA7E6DBFB61F00000000000000000000D6D2F66BFBB5FDD' +
'A7E6D3F00000000000000000000ACA5EDD7F66BFBB5FDDA7E0000' +
'0000000000000000584BDBAFEDD7F66BFBB5FD000000000000000' +
'00000B0567BB7A3DE267B6FB96EA3DDBEFF1B6FBFCE5E9FC3FD34' +
'C68F78B74BFFDF36DCD4AF739BECB53D5A1DEDE77DD61C6FBDD75' +
'46EA36DF77A2DCFC9EE654FEFD11E8FADD61AEFFE6EB5A4D1B667' +
'2969B647A9E93ADAD2D23DA578FBBB2DF918EDF713D926DBBF15F' +
'5FDAB8D3FEBB857FFD9B8CC3F77E6E5D1EF64B467AEB0F5573E87' +
'7BA6ED2FEDFA7DBF7FDFFE69D7CB64E3A774F4FBCC938DDBFE139' +
'F2600000000000000000000A0EDD7F66BFBB5FDDA7E0000000000' +
'0000000000584BDBAFEDD7F66BFBB5FD00000000000000000000B' +
'096B65FDBAFEDD7F66BFB01000000000000000000602D6DBFB65F' +
'DBAFEDD7F603000000000000000000C05ADA7E6DBFB65FDBAFED0' +
'700000000000000000080B5B4FDDA7E6DBFB65FDB0F0000000000' +
'00000000006B9D69FB271D756BB7FA9A6CDCF7EEEDD1D2646BBB7' +
'E6BE7BF6FDC48FF6CDC309FE9C93F25731DEEDE9FC635DE7ACBEF' +
'741BED7EB452B6788FE3D3E08FF692B75A73BCFBAD5DCA7BB425A' +
'75B4AF1F64FF4569EA33D73D663F29CE3CFFA67E3EFDB992B94FE' +
'CAF1C6DDFE9F7AFFB72714E2EBC7A70FFE9C41F8D74F40FCECE7E' +
'4CA7DB8677E377FFD69FA3B0C00000000000000000000DA7E6DBF' +
'B65FDBAFED0700000000000000000080B5B4FDDA7E6DBFB65FDB0' +
'F000000000000000000006B69FBB5FDDA7E6DBFB61F0000000000' +
'0000000000D6D2F66BFBB5FDDA7E6D3F00000000000000000000A' +
'CA5EDD7F66BFBB5FDDA7E00000000000000000000584BDBAFEDD7' +
'F66BFBB5FD00000000000000000000B0D696DAA5DEE3FD94EBF51' +
'8EDA986796FCFFA1A6E69D77A9B6CDCED1FEDF56DEFA36DFD4E1E' +
'C33D5383878DF49EFBABF678EBBD7CFE63B0DBBBA5728FF7786FF' +
'D1319ED7EFD9E020877EBEFA45C465B4A7AA7146FFFD42EDFEAFB' +
'EFFBF95EE4C9CE3E8B5BBF4EBCF1F5CF7C27E3B67F6FAF7E9D786' +
'7D78FCE92FC6CDCF69FB987B8DB3F730FB35333677EBBA3F2FFC4' +
'3DF83B0C00000000000000000000DA7E6DBFB65FDBAFED0700000' +
'000000000000080B5B4FDDA7E6DBFB65FDB0F0000000000000000' +
'00006B69FBB5FDDA7E6DBFB61F00000000000000000000D6D2F66' +
'BFBB5FDDA7E6D3F00000000000000000000ACA5EDD7F66BFBB5FD' +
'DA7E00000000000000000000584BDBAFEDD7F66BFBB5FD0000000' +
'0000000000000B056BBB65C5BBC937E382E7B7F766BCF606BBBD7' +
'D774A3D23B2EFF7F36EEA873BBD6C764E34AF9E8F7F98CB7DFEBA' +
'3BC475B737EE73CD9946FE931DA92D33DA5C9A6F44EDB68EBB3BC' +
'4B8B77F27D38F3599CA9F7E38D4F079CD9DFDF43FCAD8EBF6F7FF' +
'6F9FD66FE7DE3D3077F36FA4E6EEDFE730621D87E27C17E7ECA7B' +
'BA937B989D0E0000000000000000000000B4FDDA7E6DBFB65FDB0' +
'F000000000000000000006B69FBB5FDDA7E6DBFB61F0000000000' +
'0000000000D6D2F66BFBB5FDDA7E6D3F00000000000000000000A' +
'CA5EDD7F66BFBB5FDDA7E00000000000000000000584BDBAFEDD7' +
'F66BFBB5FD00000000000000000000B096B65FDBAFEDD7F66BFB0' +
'1000000000000000000602D6DBFB65FDBAFEDD7F6030000000000' +
'00000000C05A5B6A977A9F6C6BB7FA1AEE8976F7F76D7F7BB5ADE' +
'EA3FD3794D867DAFE596D1E3DA59FBDB677ABA36D477DD6C9D654' +
'6ABE8FF673979F1319D16E477FBFE3FD9CC528930DBF2DFD9D5CE' +
'A25DEE9298C5F76FB9F7752B778FF2DA745A2CFFAF3DDCC93FD7D' +
'DB3FFDED9BB6FD9FE751867BA2EDEFAFABF518ED99B33FFE0E030' +
'0000000000000000080B65FDBAFEDD7F66BFB0100000000000000' +
'0000602D6DBFB65FDBAFEDD7F603000000000000000000C05ADA7' +
'E6DBFB65FDBAFED0700000000000000000080B5B4FDDA7E6DBFB6' +
'5FDB0F000000000000000000006B69FBB5FDDA7E6DBFB61F00000' +
'000000000000000D6D2F66BFBB5FDDA7E6D3F0000000000000000' +
'0000AC75AACCCFEDA8F7E19E6BFB5FDF53007FDFD25F739FEEA53' +
'E865BDBB53EA73BEFFFC36DEFB6D5EB68B7D4F67AFBD59E799271' +
'291D3FA5FFCDB38A36F7EB5C879BFAB7E2F2AB3DF789447778E66' +
'9C757B8B4572B938D3FA9334F323E6F72E67440FC599FFB46BD5A' +
'1DEE89B67F72C6E1D3F8E778FD1D06000000000000000000006DB' +
'FB65FDBAFEDD7F603000000000000000000C05ADA7E6DBFB65FDB' +
'AFED0700000000000000000080B5B4FDDA7E6DBFB65FDB0F00000' +
'0000000000000006B69FBB5FDDA7E6DBFB61F0000000000000000' +
'0000D6D2F66BFBB5FDDA7E6D3F00000000000000000000ACA5EDD' +
'7F66BFBB5FDDA7E0000000000000000000058AB3D5BADC7641FAD' +
'D47DB4A77AF2D69EF539DCB8FCFFD9B8693FD35197BEB7E16EEDF' +
'1BD9368C3330E679EE4A4578F9BF9EFF6775B6B1BEDE43DFE6C7C' +
'0FFF27657E7BB7BD3F93C19E7A1761AF1E9FC2387516E35C157FF' +
'B7E33FFBEDB3FF57EB4B36FEC6DBAF1EF455CDDFF6CEE3F6BBC9F' +
'530665BAD1533A710FFE0E0300000000000000000080B65FDBAFE' +
'DD7F66BFB01000000000000000000602D6DBFB65FDBAFEDD7F603' +
'000000000000000000C05ADA7E6DBFB65FDBAFED0700000000000' +
'000000080B5B4FDDA7E6DBFB65FDB0F000000000000000000006B' +
'69FBB5FDDA7E6DBFB61F00000000000000000000D6D2F66BFBB5F' +
'DDA7E6D3F00000000000000000000ACD55E6DAFD7C9C6D5FAABB5' +
'7A8977D230C77DF29F4AF9F1ED84FFBE672AE8B8313E733AA0B5F' +
'BF79CC25F37EED5FFA9D6C32B9CD9F8933AD3D54F7E4AFFB4FBF3' +
'8C37AEEEE366FE673FDF9D3CDC3345FAEF377E4A67CE171CDF76F' +
'D371B9F8839F39DFC7557DFAF73FF9E8EF9FB9E69FB7FFD9BE5EF' +
'300000000000000000000068FBB5FDDA7E6DBFB61F00000000000' +
'000000000D6D2F66BFBB5FDDA7E6D3F00000000000000000000AC' +
'A5EDD7F66BFBB5FDDA7E00000000000000000000584BDBAFEDD7F' +
'66BFBB5FD00000000000000000000B096B65FDBAFEDD7F66BFB01' +
'000000000000000000602D6DBFB65FDBAFEDD7F60300000000000' +
'0000000C05AEDDE6ADD27FB6E5BBD8E76D2699FD9333578DCF6EF' +
'EDD5AF136F6E47BD0F37AEAC7F36AEE2737FCD75B2F11552BF934' +
'BBCFD796DE33DF52EE2A67D6BD7E9C6C5FB999E3C2ED2CFBC8BF8' +
'0A67AAF833E72066A7247EBE157FDFED9FF63EDAF8299D39F3F29' +
'BA7F467E36EFFF13D6D116D7C8727FE02F83B0C00000000000000' +
'000000DA7E6DBFB65FDBAFED0700000000000000000080B5B4FDD' +
'A7E6DBFB65FDB0F000000000000000000006B69FBB5FDDA7E6DBF' +
'B61F00000000000000000000D6D2F66BFBB5FDDA7E6D3F0000000' +
'0000000000000ACA5EDD7F66BFBB5FDDA7E000000000000000000' +
'00584BDBAFEDD7F66BFBB5FD00000000000000000000B056BBB55' +
'2B778B7D42EF53EDCDCAEDFB2FD5FDEF66E47BDC5FBAB56FC67A7' +
'95727076E0676755FCE3DB6CC71BDC617C86E29F9314E10988535' +
'7884F1F9C6BDAA3130A679E43EDAF7C0DF7CC6731FBACE7E70BE2' +
'F2FFCC157EFF59FCA7BFD5FD79B634D9D9737EF6D7CCF6CC09826' +
'001000000000000000000006DBFB65FDBAFEDD7F6030000000000' +
'00000000C05ADA7E6DBFB65FDBAFED0700000000000000000080B' +
'5B4FDDA7E6DBFB65FDB0F000000000000000000006B69FBB5FDDA' +
'7E6DBFB61F00000000000000000000D6D2F66BFBB5FDDA7E6D3F0' +
'0000000000000000000ACA5EDD7F66BFBB5FDDA7E000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000080FF620F0E040000000080FC5F1B4155' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555853D38100000000000F27F6D045' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555515F6E0400000000000C8FFB511' +
'54555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'555555555555555555555555555555D88303010000000020FFD74' +
'65055555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'5555555555555555555555555555555610F0E040000000080FC5F' +
'1B415555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555555555555555555555555' +
'55555555555555555555555555555555A53D38200000000010F2F' +
'F7543020000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000000000000000000000000000000000' +
'00000000000000000000000C041F68');//load bitmap
if(FindBitmapIn(Lobster, x, y, 100, 100, 200, 200)) then
begin
WriteLn('Bitmap found. Attempting to click.');
Mouse(x, y, 1, 1, true);
end else
WriteLn('Bitmap not found.');
end.




this is wat i get


Failed when compiling
Line 6: [Error] (14455:1): Duplicate identifier 'x' in script

alfonso1024

2007-08-03 14:16:44

it says error something about "x"

WhoCares357

2007-08-03 23:06:56

From: alfonso1024
it says error something about "x"


SRL already has an x for an integer. Delete the line: x, y: Integer; and the script will work.

BTW, that bitmap is way too big. You will have a hard time loading it.

kellyjing

2007-08-04 00:47:08

Hi WhoCares, i had problem with doing Bitmap too ,i followed the step very closely by still cant get it right . Always get a (False….) and btw how can i get the size right e.g(BitmapFromString(31, 30, 'z78DAED98FD6E83300CC45' ). And when i cut and paste the item from the RS screen. Am i suppose to keep the actual size cut from the screen when doing Bitmap and DTM.(Zoom and color background)BTW i am using MSPaint . Is there any trick to do it right and better. Thanks in advance:(

alfonso1024

2007-08-04 18:41:11

Yeah his rite iam having troulbe too thats y my bitmap is so long the same problem….. and thank it did work but i got
[Runtime Error] : Exception: data error in line 9 in script

thast cause is too long i think,,,,……..

YoHoJo

2007-08-04 19:33:47

@alfonso1024
Instead of taking pic of entire lobster
make a 5X5 pixel or even smaller pic and it will work the same.
And i prefer DTMs for Items in the inventory/bank because they are faster.

alfonso1024

2007-08-04 21:07:26

kk now this is wat i got……
for DTM

program New;
{include SRL\SRL.scar}
var
DTM: Integer;

begin
DTM := DTMFromString('78DA6314626060E0654001418E1C0CBF80342' +
'310FF070246692083094D8DAF13986684F2C16A4419B002B81A66' +
'4CBB30D470000931FC6A00F2B30717');

//DTM now loaded
if FindDTM(DTM, x, y, 100, 100, 250, 300) then //finds DTM
begin
Mouse(x, y, 1, 1, true); //clicks DTM(SRL)
WriteLn('Clicked Lobster.');
end;
end.



this is tha error

Failed when compiling
Line 12: [Error] (12:17): Unknown identifier 'x' in script

YoHoJo

2007-08-05 20:02:45

program New;
{include SRL\SRL.scar}
var
DTM,x,y: Integer;

begin
DTM := DTMFromString('78DA6314626060E0654001418E1C0CBF803 42' +
'310FF070246692083094D8DAF13986684F2C16A4419B002B8 1A66' +
'4CBB30D470000931FC6A00F2B30717');

//DTM now loaded
if FindDTM(DTM, x, y, 100, 100, 250, 300) then //finds DTM
begin
Mouse(x, y, 1, 1, true); //clicks DTM(SRL)
WriteLn('Clicked Lobster.');
end;
end.

You need to define x and y as integers at top of script.
Please use scar tags instead of quote tags

qwerty8475

2007-08-06 20:47:50

\
awesome ill try this and report back with results

Tails111

2007-08-09 21:20:42

From: stupedspam
Like in your Tut I make a Lobby Bitmap, but the script laggs like crazy, so I would have to make it smaller how would I do that without the script loseing the effectiveness in find a whole lobby?

Thanks,
~Stupedspam


The best thing for inventory things in my opion are dtms. They only capture points of the lobster instead of all the colors. Bitmaps are probably better for on the ground items, finding NPC's, all that kind of thing. The Bitmap should max out at 4 lines for minimum lag. Any higher than that and you better have 1 heck of a computer.

So I recommend DTMs for Inventory and Bitmaps for gamescreen.

Wdf?

2007-08-31 23:22:54

Nice TUT :D

P1nky

2007-09-01 01:34:23

WOW THANKZ this will help me alot ty agan