summaryrefslogtreecommitdiff
path: root/Sprites
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2017-03-07 20:57:09 +0100
committerXaviDCR92 <xavi.dcr@gmail.com>2017-03-07 20:57:09 +0100
commit8ec41b4410aba535008daf991ea59a8740951d44 (patch)
tree01ee0846f579d9d139ee46a6a43f67ba522c7196 /Sprites
downloadpocketempires-8ec41b4410aba535008daf991ea59a8740951d44.tar.gz
+ Initial commit. Added source, sprites and final executable.
Diffstat (limited to 'Sprites')
-rw-r--r--Sprites/Barracks.bmpbin0 -> 1782 bytes
-rw-r--r--Sprites/BarracksShadow.bmpbin0 -> 1782 bytes
-rw-r--r--Sprites/Mouse.bmpbin0 -> 246 bytes
-rw-r--r--Sprites/Peasant_Left1.bmpbin0 -> 438 bytes
-rw-r--r--Sprites/Peasant_Left2.bmpbin0 -> 438 bytes
-rw-r--r--Sprites/Peasant_Left3.bmpbin0 -> 438 bytes
-rw-r--r--Sprites/Peasant_LeftRight.bmpbin0 -> 246 bytes
-rw-r--r--Sprites/Peasant_UpDown.bmpbin0 -> 198 bytes
-rw-r--r--Sprites/Peasant_Walking_UpDown.bmpbin0 -> 246 bytes
-rw-r--r--Sprites/PocketEmpires.ino284
-rw-r--r--Sprites/PocketEmpires.ino.hex781
-rw-r--r--Sprites/Soldiers.bmpbin0 -> 7734 bytes
-rw-r--r--Sprites/Tower.bmpbin0 -> 1590 bytes
13 files changed, 1065 insertions, 0 deletions
diff --git a/Sprites/Barracks.bmp b/Sprites/Barracks.bmp
new file mode 100644
index 0000000..65d6b50
--- /dev/null
+++ b/Sprites/Barracks.bmp
Binary files differ
diff --git a/Sprites/BarracksShadow.bmp b/Sprites/BarracksShadow.bmp
new file mode 100644
index 0000000..c24383a
--- /dev/null
+++ b/Sprites/BarracksShadow.bmp
Binary files differ
diff --git a/Sprites/Mouse.bmp b/Sprites/Mouse.bmp
new file mode 100644
index 0000000..49e7e14
--- /dev/null
+++ b/Sprites/Mouse.bmp
Binary files differ
diff --git a/Sprites/Peasant_Left1.bmp b/Sprites/Peasant_Left1.bmp
new file mode 100644
index 0000000..e8c82fe
--- /dev/null
+++ b/Sprites/Peasant_Left1.bmp
Binary files differ
diff --git a/Sprites/Peasant_Left2.bmp b/Sprites/Peasant_Left2.bmp
new file mode 100644
index 0000000..a92ef3f
--- /dev/null
+++ b/Sprites/Peasant_Left2.bmp
Binary files differ
diff --git a/Sprites/Peasant_Left3.bmp b/Sprites/Peasant_Left3.bmp
new file mode 100644
index 0000000..d6f8e21
--- /dev/null
+++ b/Sprites/Peasant_Left3.bmp
Binary files differ
diff --git a/Sprites/Peasant_LeftRight.bmp b/Sprites/Peasant_LeftRight.bmp
new file mode 100644
index 0000000..b31b973
--- /dev/null
+++ b/Sprites/Peasant_LeftRight.bmp
Binary files differ
diff --git a/Sprites/Peasant_UpDown.bmp b/Sprites/Peasant_UpDown.bmp
new file mode 100644
index 0000000..81a678e
--- /dev/null
+++ b/Sprites/Peasant_UpDown.bmp
Binary files differ
diff --git a/Sprites/Peasant_Walking_UpDown.bmp b/Sprites/Peasant_Walking_UpDown.bmp
new file mode 100644
index 0000000..9ed48db
--- /dev/null
+++ b/Sprites/Peasant_Walking_UpDown.bmp
Binary files differ
diff --git a/Sprites/PocketEmpires.ino b/Sprites/PocketEmpires.ino
new file mode 100644
index 0000000..892bde4
--- /dev/null
+++ b/Sprites/PocketEmpires.ino
@@ -0,0 +1,284 @@
+#include <Backlight.h>
+#include <Battery.h>
+#include <Buttons.h>
+#include <Display.h>
+#include <Gamebuino.h>
+#include <Sound.h>
+#include <SPI.h>
+
+#define POPULATION_LIMIT 20
+#define PEASANT_HEALTH 25
+
+Gamebuino gb;
+unsigned long int global_timer;
+
+class Unit
+{
+ public:
+ Unit();
+ ~Unit();
+ inline short GetX(void){return _x;}
+ inline short GetY(void){return _y;}
+ inline const byte * GetSprite(void){return _sprite;}
+
+ protected:
+ unsigned char _health;
+ unsigned char _team;
+ unsigned char _strength;
+ unsigned char _armor;
+ bool _walking;
+ bool _direction;
+ short _x;
+ short _y;
+ const byte * _sprite;
+};
+
+class Peasant: public Unit
+{
+ public:
+ Peasant(short x, short y);
+ ~Peasant();
+
+ private:
+};
+
+class Team
+{
+ public:
+ Team(unsigned char number);
+ ~Team();
+ void IncreasePopulation(void);
+ inline bool LimitReached(void){return _limit_reached;}
+ template <class T>
+ T *createUnit(short x, short y);
+ inline int GetPopulation(void){return _unitArrayIterator;}
+ Unit * GetUnit(int i){return _unitArray[i];}
+
+ private:
+ Unit * _unitArray[POPULATION_LIMIT];
+ unsigned char _team_number;
+ int _unitArrayIterator;
+ bool _limit_reached;
+
+};
+
+const byte BarracksSpr[] PROGMEM = {24,24,
+0xE7,0x0,0xE7,
+0xBD,0x0,0xBD,
+0xE7,0xFF,0xE7,
+0xBD,0x0,0xBD,
+0x81,0xFF,0x81,
+0xE7,0x0,0xE7,
+0xA5,0x0,0xA5,
+0xBD,0xFF,0xBD,
+0xA5,0x0,0xA5,
+0xA5,0x0,0xA5,
+0xA5,0x0,0xA5,
+0xA5,0x0,0xA5,
+0xA5,0x0,0xA5,
+0xA5,0x0,0xA5,
+0xA5,0x0,0xA5,
+0xA5,0x0,0xA5,
+0xE7,0x0,0xE7,
+0xBD,0x0,0xBD,
+0xE7,0xFF,0xE7,
+0xBD,0x0,0xBD,
+0x81,0xFF,0x81,
+0x81,0x18,0x81,
+0x81,0x24,0x81,
+0xFF,0xFF,0xFF,
+};
+
+const byte BarracksShadowSpr[] PROGMEM = {24,24,
+0x0,0x0,0x0,
+0x0,0x0,0xFE,
+0xFE,0x0,0xFE,
+0xFE,0x0,0x3E,
+0x3E,0x0,0xFE,
+0xFE,0x0,0xFE,
+0xFE,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0x1E,
+0x1E,0x0,0xFE,
+0xFE,0x0,0xFE,
+0xFE,0x0,0x3E,
+0x3E,0x0,0xFE,
+0xFE,0x0,0xFE,
+0xFE,0x0,0xFE,
+};
+
+const byte TowerSpr[] PROGMEM = {16,32,
+0xF,0xF0,
+0x8,0x10,
+0x8,0x10,
+0xF,0xF0,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0x1B,0xD8,
+0x2A,0x54,
+0x4A,0x52,
+0xFB,0xDF,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0x9,0x90,
+0x9,0x90,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0x9,0x90,
+0x9,0x90,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0x8,0x10,
+0xB,0xD0,
+0xA,0x50,
+0xA,0x50,
+0xF,0xF0,
+};
+
+const byte Peasant_UpDownSpr[] PROGMEM = {8,6,
+0x3C,
+0x42,
+0x99,
+0xA5,
+0x66,
+0x18,
+};
+
+const byte Peasant_Walking_UpDownSpr[] PROGMEM = {8,8,
+0x2,
+0x1D,
+0x67,
+0xA5,
+0x99,
+0xC2,
+0xBC,
+0x60,
+};
+
+const byte Peasant_LeftRightSpr[] PROGMEM = {8,8,
+0x30,
+0x48,
+0x64,
+0x94,
+0x94,
+0x64,
+0x48,
+0x30,
+};
+
+Team::Team(unsigned char number)
+{
+ _team_number = number;
+ _unitArrayIterator = 0;
+ _limit_reached = false;
+}
+
+Team::~Team(void)
+{
+
+
+}
+
+Team Player(0);
+
+Unit::Unit(void)
+{
+
+}
+
+Unit::~Unit(void)
+{
+
+}
+
+void Team::IncreasePopulation(void)
+{
+ _unitArrayIterator++;
+
+ if(_unitArrayIterator >= POPULATION_LIMIT)
+ {
+ _limit_reached = true;
+ }
+}
+
+template <class T>
+T* Team::createUnit(short x, short y)
+{
+ T* ptr = new T(x,y);
+
+ _unitArray[_unitArrayIterator] = ptr;
+ IncreasePopulation();
+ return ptr;
+}
+
+Peasant::Peasant(short x, short y)
+{
+ _health = PEASANT_HEALTH;
+ _armor = 0;
+ _x = x;
+ _y = y;
+ _sprite = Peasant_UpDownSpr;
+}
+
+Peasant::~Peasant(void)
+{
+
+}
+
+void setup()
+{
+ // put your setup code here, to run once:
+ gb.begin();
+ gb.titleScreen(F("Pocket Empires"));
+
+ global_timer = 0;
+}
+
+void loop()
+{
+ // put your main code here, to run repeatedly:
+ if(gb.update() )
+ {
+ /*gb.display.drawBitmap(x,y,bitmap,rotation,flip);*/
+ gb.display.drawBitmap(7,0,BarracksSpr);
+ gb.display.drawBitmap(32,0,TowerSpr);
+
+ gb.display.setColor(GRAY, WHITE);
+ gb.display.drawBitmap(0,0,BarracksShadowSpr);
+ gb.display.setColor(BLACK, WHITE);
+
+ /*if(global_timer & 1)
+ {
+ gb.display.drawBitmap(0,0,BarracksShadowSpr);
+ }*/
+
+ if(gb.buttons.pressed(BTN_B) == true)
+ {
+ Player.createUnit<Peasant>(rand() % 20,rand() % 20);
+ }
+
+ for(int i = 0; i < Player.GetPopulation() ; i++)
+ {
+ gb.display.drawBitmap(Player.GetUnit(i)->GetX(), Player.GetUnit(i)->GetY(),Player.GetUnit(i)->GetSprite() );
+ }
+ // gb.display.println(F("Hello World!"));
+
+ global_timer++;
+ }
+}
diff --git a/Sprites/PocketEmpires.ino.hex b/Sprites/PocketEmpires.ino.hex
new file mode 100644
index 0000000..18e1e22
--- /dev/null
+++ b/Sprites/PocketEmpires.ino.hex
@@ -0,0 +1,781 @@
+:100000000C944B020C9473020C9473020C947302C4
+:100010000C9473020C9473020C9473020C9473028C
+:100020000C9473020C9473020C9473020C94A81039
+:100030000C9473020C9473020C9473020C9473026C
+:100040000C943B110C9473020C9473020C94730285
+:100050000C9473020C9473020C9473020C9473024C
+:100060000C9473020C947302506F636B657420459B
+:100070006D70697265730008063C4299A566181098
+:10008000200FF0081008100FF008100810081008D2
+:10009000101BD82A544A52FBDF0810081008100918
+:1000A000900990081008100810081009900990088D
+:1000B0001008100810081008100BD00A500A500F32
+:1000C000F018180000000000FEFE00FEFE003E3E9C
+:1000D00000FEFE00FEFE001E1E001E1E001E1E0074
+:1000E0001E1E001E1E001E1E001E1E001E1E001EC6
+:1000F0001E001E1E001E1E001E1E00FEFE00FEFE36
+:10010000003E3E00FEFE00FEFE00FE1818E700E77F
+:10011000BD00BDE7FFE7BD00BD81FF81E700E7A5AA
+:1001200000A5BDFFBDA500A5A500A5A500A5A5002E
+:10013000A5A500A5A500A5A500A5A500A5E700E724
+:10014000BD00BDE7FFE7BD00BD81FF818118818152
+:100150002481FFFFFF03053F213F1208120A100A06
+:100160000E1C0E0C1E0C141A14161F161E131E1E27
+:100170001B1E1E1F1E3F213F3A2F3A173D173F21DE
+:100180003F181F02040A041F0E04040E1F0A1F0A50
+:100190000E0E1F04110E2E252E2F2A2E262929027F
+:1001A0001F02081F08150E04040E150E15151B1549
+:1001B0001B040604040C04000000001700030003E5
+:1001C0001F0A1F16371A1904130A153A00030000F4
+:1001D0000E11110E000A040A040E0400300004047B
+:1001E000040010001804031F111F121F101D151703
+:1001F00011151F07041F17151D1F151D01011F1FB6
+:10020000151F17151F000A00003200040A110A0A00
+:100210000A110A040115020E11171E051E1F150AE8
+:100220000E110A1F110E1F15111F05010E111D1FA2
+:10023000041F111F1108100F1F041B1F10101F0691
+:100240001F1E040F0E110E1F09060E112E1F051A78
+:10025000121509011F011F101F0F180F1F0C1F1B64
+:10026000041B031C03191513001F11030418111F8D
+:10027000000201022020200001020C121E1F120C9D
+:100280000C12120C121F0C1A14041E05242A1E1F15
+:10029000021C141D1020201D1F0814111F101E0405
+:1002A0001E1E021C0C120C3E0A040C123E1E0402FE
+:1002B00014160A020F120E101E0E100E1E081E1229
+:1002C0000C1226281E322A26041E21001F00211E81
+:1002D000040102013F213F0A4E6F20534420636115
+:1002E0007264206F720A6E6F204C4F414445522E4B
+:1002F0004845580A0A153A45786974001D20466C2D
+:10030000617368696E670A20206C6F616465722E84
+:100310002E2E0A0A444F4E2754205455524E204F39
+:10032000464621000A0A153A49676E6F7265006DEC
+:10033000560A0A504C45415345205455524E204FC1
+:10034000464620004C4F57204241545445525921B3
+:1003500020001753440016137800161314001510CC
+:10036000200015201000540A03E181867F3E186D9D
+:10037000830F0F0E0183866033186DC3198F180326
+:10038000C38E6033186DE330CF1803C39E603630E0
+:10039000CDE360CF3006C79E7E3E30CDB360CF3018
+:1003A0000CC6F6603330D9B660CF33CFCCF660617F
+:1003B000B0DB1E60CF30D86CE6C061B0DB1E618F51
+:1003C00019986CC6C063B19B0E330F0FB078C6FF8F
+:1003D0007E1F1B061E0F050089300802380249786F
+:1003E00068140000F6E8DBCFC3B8AEA49B928A8203
+:1003F0007B746E68625C57524E4945413E3A3734D1
+:10040000312E2C29272523211F1D1C1A19171615DB
+:1004100014131211100F0E0D0C0B0A0908070645D4
+:100420000068010000050038016801000035043152
+:10043000040101FF030101F70300000008000201AD
+:100440000000030407000000000000000001020497
+:100450000810204080010204081020010204081046
+:10046000200404040404040404020202020202033D
+:1004700003030303030000000023002600290000FB
+:10048000000000250028002B0000000000240027A9
+:10049000002A00003D0311241FBECFEFD8E0DEBFCD
+:1004A000CDBF11E0A0E0B1E0E6E8F0E302C00590C6
+:1004B0000D92A033B107D9F723E0A0E3B1E001C06A
+:1004C0001D92AB3FB207E1F714E0C6E9D4E004C0E7
+:1004D0002297FE010E94A116C439D107C9F70E94D4
+:1004E000E0140C9441180C9400001092B101109289
+:1004F000B00184E191E09093AF018093AE0110923E
+:10050000580110925A011092590110925B010895FE
+:10051000FC0121A532A52F5F3F4F32A721A724312F
+:10052000310514F081E083A7089580E691E00E94F0
+:10053000C90D68E670E080E691E00E944C0D1092D3
+:100540005C0110925D0110925E0110925F010895AE
+:100550000F931F93CF93DF9380E691E00E940F0BE0
+:10056000882309F485C02BE031E040E067E08EEAA3
+:1005700091E00E9406072FE730E040E060E28EEA5B
+:1005800091E00E94060740E063E08EEA91E00E945D
+:10059000140521EC30E040E060E08EEA91E00E943A
+:1005A000060740E061E08EEA91E00E94140565E0F4
+:1005B0008AE691E00E943104882371F10E94291893
+:1005C000EC010E9429188C018CE090E00E94EF144D
+:1005D000FC0189E18083138224E130E0C801B90184
+:1005E0000E943F1697838683CE01B9010E943F1671
+:1005F0009187808787E790E093878287A091590150
+:10060000B0915A01AA0FBB1FA05DBE4FED93FC93A2
+:1006100080E391E00E94880200E311E0C0E0D0E0B6
+:100620008091590190915A01C817D90774F4D801E3
+:10063000ED91FD918D0122853385408566818EEA9D
+:1006400091E00E9406072196EBCF80915C0190918A
+:100650005D01A0915E01B0915F010196A11DB11DE8
+:1006600080935C0190935D01A0935E01B0935F0164
+:10067000DF91CF911F910F9108950C94750221E0A5
+:10068000FC012083089570E085E00C944612AF923F
+:10069000BF92CF92DF92EF92FF920F931F93CF936F
+:1006A000DF93EC0189819A812FE0289F8001299FA7
+:1006B000100D112485E10E942912800F911F24E062
+:1006C000969587952A95E1F79A8389832881222335
+:1006D00091F1AC81AD80B12CC12CD12CE885F9858C
+:1006E0007F0100E010E06E817F819B0140E050E0DF
+:1006F0008617970728F0BC01E817F90708F4BF012F
+:1007000080E090E01F921F921F92AF930E94981476
+:100710006B830F900F900F900F9070E085E0DF914A
+:10072000CF911F910F91FF90EF90DF90CF90BF90EE
+:10073000AF900C944612DF91CF911F910F91FF90D3
+:10074000EF90DF90CF90BF90AF900895FC018CE3C5
+:100750009FE09383828384E0818381E0848708958E
+:10076000CF93DF93EC018C819D81892B81F18C8566
+:100770008F7151F584E10E942912BC01882777FD11
+:100780008095982F0E94201526EE3FE34EEC50E412
+:100790000E94AC150E94F2149B017B836A83611551
+:1007A000710581F084E08983FE0140E084819581B8
+:1007B0002817390710F449830AC04F5F3296443036
+:1007C000A9F702C08FEF89838C858F5F8C87DF91BB
+:1007D000CF910895FC0188E0808389E0818387E0E0
+:1007E000828386E0838384E0848382E0858381E161
+:1007F00086830895DF92EF92FF920F931F93CF931A
+:10080000DF937C01EC0100E010E0DD24DA9462E08B
+:1008100088810E94CE1288810E943D13F701E00F6B
+:10082000F11F892B21F487818F5F878308C087811F
+:10083000882349F08F3F11F4178201C0D78260E00E
+:1008400088810E94CE120F5F1F4F2196073011053D
+:10085000F1F6DF91CF911F910F91FF90EF90DF9014
+:100860000895FC01E60FF11D81E09781913009F0B8
+:1008700080E008958EBD00000DB407FEFDCF8EB55B
+:100880000895DC01643508F053C0403308F050C0CF
+:1008900090968C919097342F359535953595E62F18
+:1008A000FF27E7FDF095242F2770823099F4DF01B0
+:1008B000A951BE4F84E53802A00DB11D11248C91C1
+:1008C00090E0022E02C0959587950A94E2F78095F4
+:1008D000817009C0833039F446271C968C914827D3
+:1008E00040FF03C014C0811112C084E53802E00D3E
+:1008F000F11D1124E951FE4F81E090E0022E01C06C
+:10090000880F0A94EAF780959081982310C084E5B7
+:100910003802E00DF11D1124E951FE4F81E090E015
+:10092000022E01C0880F0A94EAF79081982B9083D9
+:1009300008951F93CF93DF93EC01162FF89460E096
+:100940008F850E940713888918161CF460E00E94A6
+:100950000713812F0E943A04888918161CF461E05D
+:100960000E9407137894DF91CF911F91089528EF8B
+:1009700031E0E7EEF1E0DF01A9011D924150504066
+:10098000E1F7DC0119961C9219971A961C920895AA
+:10099000DF92EF92FF920F931F93CF93DF93EC01BF
+:1009A0008C858F5F8C8787EEE82E81E0F82ED12C26
+:1009B0006D2D6064CE010E94990460E8CE010E9412
+:1009C000990461E08F850E940713888918161CF42A
+:1009D00060E00E94071300E010E0F701E00FF11F54
+:1009E00080810E943A040F5F1F4F04351105A9F75B
+:1009F000888918161CF461E00E940713D39484E5DB
+:100A0000E80EF11C86E0D812D3CF60E4CE01DF916E
+:100A1000CF911F910F91FF90EF90DF900C9499046C
+:100A2000FC0160A361A30895FC0160A341A30895A4
+:100A3000CF92DF92FF920F931F93CF93DF931F927A
+:100A4000CDB7DEB76C01062FF42E10E0121754F468
+:100A5000412F4F0D602FC60129830E9441041F5F63
+:100A60002981F4CF0F90DF91CF911F910F91FF90CB
+:100A7000DF90CF900895CF92DF92FF920F931F9354
+:100A8000CF93DF931F92CDB7DEB76C01062FF42E04
+:100A900010E0121754F4612F600F4F2DC601298307
+:100AA0000E9441041F5F2981F4CF0F90DF91CF9105
+:100AB0001F910F91FF90DF90CF900895DF92EF92FA
+:100AC000FF920F931F93CF93DF93EC01E62ED22E6C
+:100AD000F42E112707FD1095040F111D47FD1A95DF
+:100AE0008F2D992787FD90958017910744F42D2D20
+:100AF0004F2D6E2DCE010E943B05F394F1CFDF9177
+:100B0000CF911F910F91FF90EF90DF9008958F92FA
+:100B10009F92AF92BF92CF92DF92EF92FF920F938C
+:100B20001F93CF93DF93EC01E62ED42E122FCC240B
+:100B3000C394C21AB22EB194BB0CF12C802F8470D6
+:100B4000A82E802F8270982E802F8870882E01709A
+:100B5000F1160CF04DC0C7FC04C01150B394B3940F
+:100B6000CB0CF3948F2D880F8F5FC80EAA2071F0E5
+:100B7000412F4D0D6F2D6E0DCE010E9441044F2D62
+:100B80004D0D612F6E0DCE010E944104992071F030
+:100B90004D2D411B6F2D6E0DCE010E9441044D2D38
+:100BA0004F19612F6E0DCE010E944104882071F013
+:100BB0004F2D4D0D6E2D611BCE010E944104412F22
+:100BC0004D0D6E2D6F19CE010E944104002309F4D2
+:100BD000BFCF4D2D4F196E2D611BCE010E944104D8
+:100BE0004D2D411B6E2D6F19CE010E944104B0CFD7
+:100BF000DF91CF911F910F91FF90EF90DF90CF90F9
+:100C0000BF90AF909F908F9008958F929F92AF92D8
+:100C1000BF92CF92DF92EF92FF920F931F93CF93E9
+:100C2000DF93EC01B62EA42E122FDD24D394D21A1A
+:100C3000C22EC194CC0CFF24F394802F8170882E97
+:100C4000992493949E0C02708FEF8F0D8117C4F539
+:100C5000D7FC04C01150C394C394DC0C8F2D880FB3
+:100C60008F5FD80E882099F0212F220F290D4A2D51
+:100C7000411B6F2D6B0DCE010E94180523E02E0D38
+:100C80004A2D4F19612F6B0DCE010E9418050023CC
+:100C900099F0212F220F290D4A2D411B6B2D6F1921
+:100CA000CE010E94180523E02E0D4A2D4F196B2D01
+:100CB000611BCE010E941805F394E394E394C4CF22
+:100CC000DF91CF911F910F91FF90EF90DF90CF9028
+:100CD000BF90AF909F908F9008959F92AF92BF92D8
+:100CE000CF92DF92EF92FF920F931F93CF93DF93F8
+:100CF000EC01B62EF42EA22EDE2CD194DD0C9D2C10
+:100D0000920E1E2D160F292D612F0E943B05CC241B
+:100D1000CA94C00ECF0C292D4C2D612FCE010E94FC
+:100D20003B05D00EFE0C2D2D4F2D6B2DCE010E94BC
+:100D30001805BA0C6FEF6B0D2D2D4F2DCE010E94B3
+:100D4000180501E02E2D4F2D612FCE010E94870541
+:100D5000DE2CD094DB0C02E02E2D4F2D6D2DCE011C
+:100D60000E948705CE1804E02E2D4C2D6D2DCE014E
+:100D70000E94870508E02E2D4C2D612FCE010E9488
+:100D80008705DF91CF911F910F91FF90EF90DF903A
+:100D9000CF90BF90AF909F900895AF92BF92CF92A7
+:100DA000DF92EF92FF920F931F93CF93DF93EC01AB
+:100DB000A62EC42EB22EF02E1E2DE194EE0CD12EB6
+:100DC000D60E2E2D2B0D6D2D0E945E05FA94FE0C75
+:100DD000C10E6FEF6A0D6B0D611BEF2C01E0212F2F
+:100DE0004C2DCE010E94050602E0212F4C2D6D2DC9
+:100DF000CE010E940506DF91CF911F910F91FF90C8
+:100E0000EF90DF90CF90BF90AF9008956F927F9258
+:100E10008F929F92AF92BF92CF92DF92EF92FF920A
+:100E20000F931F93CF93DF93F901A49031965491C0
+:100E3000FC01F0A064350CF00CC1BB24A7FCB094FD
+:100E4000A62FBB27A7FDB095FD01EA0DFB1D1E16C1
+:100E50001F060CF0FEC040330CF0FBC0C52E042F63
+:100E6000112707FD1095E801C50FD11D57FDDA9533
+:100E70001C161D060CF0EDC0E90122969501295FB4
+:100E80003F4F37FF02C0295F3F4F73E035952795ED
+:100E90007A95E1F747FF0AC0C52EC40E209FA00136
+:100EA000219F500D1124C41BD50B40E00C2D1127A0
+:100EB00007FD1095040F111D47FD1A95013311050B
+:100EC0001CF070E3C72EC41A67FD60E0E535F1053C
+:100ED00014F0E4E5F0E01E2FFC0174857427862FE2
+:100EE000992787FD9095FC01EA1BFB0BDF015F0151
+:100EF000F7E0AF22BB24E0E8F0E002C0F595E7950B
+:100F0000AA94E2F70E2FB7FD179653E0B595A79573
+:100F10005A95E1F7AC0FBD1FE42FE77051E001C017
+:100F2000550FEA95EAF7459545954595E4E54E0256
+:100F3000800D911D112489519E4F40E0DD24C7FC96
+:100F4000D094BB24B3943327E42FF0E0EC15FD05D7
+:100F50000CF07FC0FD01E490F1E0FF1219C0EC013C
+:100F6000A02EFD01862E881A9C2E980C911608F052
+:100F700067C09E2C9A2019F09880952A9882A69492
+:100F800029F43196E4906894AA24A7F82196ECCF2E
+:100F9000F1101BC0752E7094EC01A02EFD01862E61
+:100FA000881A9C2E980C911608F04AC09E2C9A2004
+:100FB00019F0988097209882A69429F43196E490AD
+:100FC0006894AA24A7F82196ECCFE3E0FE1631F04E
+:100FD000EC01A02EFD01862E881A2EC0752E70946D
+:100FE000962EEC01A02EFD019116B0F48E2C8A20D5
+:100FF00049F08880692C672660FE02C0852A01C0FE
+:1010000087208882A69429F43196E4906894AA24D3
+:10101000A7F893942196E8CF7B2512C09E2C9A20A6
+:1010200019F0988095269882A69429F43196E49038
+:101030006894AA24A7F821969C2E980C911670F318
+:10104000550F19F48C5A9F4F51E04F5FA20FB31FF9
+:101050007BCFDF91CF911F910F91FF90EF90DF90A9
+:10106000CF90BF90AF909F908F907F906F9008959A
+:10107000DC01FB0184918F5F14968C931497319659
+:10108000E491EF5F1596EC9315976E5F7F4F5F9637
+:101090007C936E935E970895EF920F93CF93DF93B7
+:1010A000EC014E876D872F87E98A088B81E088875E
+:1010B00088A319A28F8365E571E0CE010E943808EC
+:1010C0000E9405118CB58F7D8CBD8CB58C7F8160A5
+:1010D0008CBD8DB581608DBD8CB58C608CBD61E0A3
+:1010E0008E850E94CE1261E08D850E94CE1261E055
+:1010F0008F850E94CE12898918161CF461E00E9427
+:10110000CE12888918161CF461E00E94CE128989DB
+:1011100018166CF460E00E9407136AE070E080E04B
+:1011200090E00E94B41161E089890E9407138D85C7
+:10113000992787FD9095FC01EF59FB4FE491F0E072
+:10114000EE0FFF1FE158FB4F259134913D8B2C8B07
+:10115000FC01E35BFB4F84918B8F8E85992787FD84
+:101160009095FC01EF59FB4FE491F0E0EE0FFF1F6B
+:10117000E158FB4F259134913B8B2A8BFC01E35BBB
+:10118000FB4F84918A8F8889992787FD9095FC0170
+:10119000EF59FB4FE491F0E0EE0FFF1FE158FB4FDA
+:1011A000259134913F8B2E8BFC01E35BFB4F8491A7
+:1011B0008C8F8F85992787FD9095FC01EF59FB4F08
+:1011C000E491F0E0EE0FFF1FE158FB4F25913491C1
+:1011D000398F288FFC01E35BFB4F84918D8F61E297
+:1011E000CE010E94990464E1CE010E9499048B858E
+:1011F00087FF02C08FE78B876B856068CE010E94F6
+:10120000990460E2CE010E9499046CE0CE010E9434
+:101210009904CE01DF91CF910F91EF900C94C80407
+:101220006F927F928F929F92AF92BF92CF92DF92F6
+:10123000EF92FF920F931F93CF93DF93EC01162F42
+:10124000F42EB02EE8A064350CF081C08FE2841734
+:101250000CF47DC0EC81F0E031970E9FC0010F9F30
+:10126000900D1124860F911D67FD9A951816190689
+:101270000CF06DC08D81809FC0011124840F911DE1
+:1012800047FD9A95181619060CF061C0A62E962EE9
+:10129000C22ED12C8A2D811B992787FD90952C81F8
+:1012A00030E0821793070CF051C0215031098217AA
+:1012B000930779F0C29ED001C39EB00DD29EB00DAF
+:1012C0001124A80FB91FEE8DFF8DEA0FFB1F74903C
+:1012D00001C0712C8F2C6F2C282D2F19332727FD3F
+:1012E00030958D8190E0281739076CF570FE11C09C
+:1012F00081E0B81206C0482D6A2DCE010E9441043B
+:101300001EC00B2D2B2D462D692DCE010E945E0592
+:1013100016C089A198A1891791F088A381E0B8121D
+:1013200006C0482D6A2DCE010E94410407C00B2D36
+:101330002B2D462D692DCE010E945E05E8A27694E4
+:101340006B0C8394C9CF9B0CA394A4CFE8A2DF912C
+:10135000CF911F910F91FF90EF90DF90CF90BF90B2
+:10136000AF909F908F907F906F9008950F93CF9341
+:10137000DF93EC01262F6A3039F42D8198858A8518
+:10138000299F800D112422C06D3011F108854A85F6
+:1013900069850E94100948855C812985549F200D2C
+:1013A000112429878F81882399F0332727FD3095D1
+:1013B00084E590E0459F80199109112482179307D5
+:1013C0003CF49D818A85499F800D11248A87198666
+:1013D00081E090E0DF91CF910F9108958F929F92DD
+:1013E000AF92BF92CF92DF92EF92FF920F931F9333
+:1013F000CF93DF93EC015C0186E8A80EB11CD50108
+:101400008C91882309F44DC08C3018F41CE0181B13
+:1014100001C010E0FE01EA5AFF4F81E080836E01B7
+:10142000BEE4CB0ED11C60E0C6010E9410054E0147
+:10143000E3E58E0E911CD4018C9103E0080F9DE230
+:10144000F92E4F2D481B410F23E0E22E24E560E0EA
+:10145000C6010E94CD0661E0C6010E941005F4019C
+:10146000808103E0080F4F2D481B410F24E560E009
+:10147000C6010E946D06FE01E95AFF4F84E0808399
+:101480003196D4018C91181B115D1083CC57DF4F1E
+:1014900068817981C6010E94A413F5018081815081
+:1014A0008083DF91CF911F910F91FF90EF90DF909C
+:1014B000CF90BF90AF909F908F900895DF92EF9262
+:1014C000FF920F931F93CF93DF93EC018C8D9D8D33
+:1014D000892B09F49CC08E01025B1F4F40E061E044
+:1014E000C8010E94140585E5FE01EE5AFF4F908168
+:1014F000891B3596808331961082698D613009F49D
+:1015000062C028F0888D653008F074C06FC0CE01CD
+:1015100085960E944E0F81E0FE01EA5AFF4F8083BC
+:1015200065E571E0C8010E9438081D8E1C8EFE0121
+:10153000EC5AFF4F108238EAD32E7E018AE0E80E83
+:10154000F11CCE010E940F0B8823D9F364E473E0F1
+:10155000C8010E94A4136A8D7B8D4AE050E0C80147
+:101560000E9492146FE273E0C8010E94A4136D2DD3
+:1015700062956F7070E04AE050E0C8010E947D14EF
+:1015800064E273E0C8010E94A41364E0C7010E94F2
+:10159000310481113CC0DA94A1F660E0CE010E94D2
+:1015A000430383B7817F846083BF83B7816083BF38
+:1015B00083B7816083BF889583B78E7F83BF83B7EE
+:1015C0008E7F83BFBECFCF58DF4F488159816A815C
+:1015D0007B814F7055276627772748305105610575
+:1015E000710510F467E009C068E707C0882379F047
+:1015F0006B5F03C0882359F06FE2C801DF91CF9180
+:101600001F910F91FF90EF90DF900C94C713DF9123
+:10161000CF911F910F91FF90EF90DF9008958F92DF
+:101620009F92AF92BF92EF92FF920F931F93CF932F
+:10163000DF93EC017C0100E8E00EF11CF7018080F3
+:101640009180A280B3800E94851195018401061BC0
+:10165000170B280B390BB901A8015E011FE7A10E7A
+:10166000B11CF501808190E0A0E0B0E08E0105584A
+:101670001F4F84179507A607B70750F4F80180811C
+:101680009181A281B381892B8A2B8B2B09F040C0D9
+:10169000F80180819181A281B381892B8A2B8B2BC8
+:1016A000A9F57E01F5E2EF0EF11CC7010E944B0F78
+:1016B000C7010E94B80FC7010E947C10CE010E9492
+:1016C000EE09CE010E945E0A7E012EE4E20EF11CBC
+:1016D000C7010E94C804FE01EC5AFF4F80818111AE
+:1016E00003C0C7010E94B7040E949111F8016083F2
+:1016F000718382839383FE01EB58FF4FC958DF4FFC
+:1017000028813981621B730B7183608380E036C04E
+:101710000E948511F5012081620F711D811D911DAF
+:10172000F7016083718382839383FE01EF58FF4F3B
+:1017300040815181628173814F5F5F4F6F4F7F4F57
+:101740004083518362837383F80110821182128275
+:1017500013820E949111FE01E958FF4F608371834B
+:1017600082839383CE010E944703CE010A960E9492
+:10177000FA03CE0148960E94B00381E0DF91CF9139
+:101780001F910F91FF90EF90BF90AF909F908F901F
+:1017900008950F931F93CF93DF938C01EC01C25BED
+:1017A000DF4FCE010E94B7046CEF72E0CE010E94C1
+:1017B000A413CE010E94C8048CB583608CBD8DB586
+:1017C0008E7F8DBD88E191E0EEEFFFE30995F80192
+:1017D000EC5AFF4F108267ED72E0CE010E94D213E7
+:1017E000CE010E94C804065F1F4FC8010E94FA0381
+:1017F00064E0C8010E943104811107C062E370E017
+:1018000080E090E00E94B411F0CFDF91CF911F9162
+:101810000F9108952F923F924F925F926F927F9215
+:101820008F929F92AF92BF92CF92DF92EF92FF92F0
+:101830000F931F93CF93DF93CDB7DEB729970FB6E2
+:10184000F894DEBF0FBECDBF998788871B012A01A0
+:101850003C0180E7680E711CF3018081882309F444
+:1018600002C181E0E885F985EA5AFF4F8083E88567
+:10187000F985EB5AFF4F1082E885F985EC5AFF4F46
+:101880001082E885F985108E8F01025B1F4F61E0A1
+:10189000C8010E941005888599858D5A9F4F9C83A9
+:1018A0008B83C884D98497E5C90ED11CE884F98458
+:1018B000E8E5EE0EF11C888599858E5A9F4F9A8334
+:1018C0008983E885F985EF58FF4FFE83ED8388848F
+:1018D0009984FAE08F0E911CA884B98485E2A80E41
+:1018E000B11C888599850E940F0B8823D1F3F101E3
+:1018F0008491882321F0EB81FC81508101C050E06C
+:1019000026E633E040E060E0C8015F830E940607FE
+:101910005F814114510439F04CE0450F920160E0C1
+:10192000C8010E940607F60110828CE0F70180834F
+:10193000B101C8010E94A413E981FA819081892F25
+:10194000880F890F81958D5AF6018083EB81FC8188
+:101950009081892F880F890F8195835DF70180839E
+:10196000ED81FE81808184FF03C062E673E002C0E6
+:101970006EE573E0C8010E94D213E981FA8190817B
+:10198000892F880F890F81958D5AF6018083F70181
+:1019900080818F5F8083E885F98582A5882319F08F
+:1019A0006AE573E002C066E573E0C8010E94D213E5
+:1019B000E981FA819081892F880F890F81958D5A4D
+:1019C000F6018083F70180818F5F808362E573E099
+:1019D000C8010E94D21365E0C4010E94310488232B
+:1019E00051F0E885F98562A56F5FC5010E94F81086
+:1019F000C5010E94E21064E0C4010E94310481111B
+:101A000013C0F3012081822F90E0A0E0B0E0ED81CF
+:101A1000FE814081518162817381481759076A07AD
+:101A20007B07A8F02F3F99F08FEFF30180830885A3
+:101A300019850B5D1F4F60E0C8010E94F50EC801BB
+:101A40000E94CC1081E0E885F985808F0CC066E0AB
+:101A5000C4010E943104882309F443CF8885998505
+:101A60000E94C90B34CF29960FB6F894DEBF0FBE83
+:101A7000CDBFDF91CF911F910F91FF90EF90DF903D
+:101A8000CF90BF90AF909F908F907F906F905F901E
+:101A90004F903F902F90089540E050E00C940A0C36
+:101AA000E0E8F7E72591349181E02130304C09F0EE
+:101AB00080E00895CF93DF93EC010E94500D9E01CA
+:101AC000275A3F4FDE01A059BF4F882309F43CC07D
+:101AD000E6E9F7E78491F9018083E7E9F7E7E49124
+:101AE000EC83E8E9F7E7E491ED83E9E9F7E785912D
+:101AF00094919F838E83EBE9F7E785919491998781
+:101B00008887EDE9F7E7E491EBA7EEE9F7E7E491E1
+:101B1000EAA7EFE9F7E7E491EC93E0EAF7E78591CC
+:101B200094919D8F8C8FE2EAF7E7859194919F8F36
+:101B30008E8FE4EAF7E78591949199A388A3E6EA6A
+:101B4000F7E78591949120C08CE3F90180831C8292
+:101B50002FEF2D8380E293E09F838E8384ED93E0CB
+:101B60009987888781E08BA78AA72C938CEA9DE0D0
+:101B70009D8F8C8F8EED9DE09F8F8E8F84E79EE0F2
+:101B800099A388A38CE39FE09BA38AA3DF91CF91C5
+:101B90000895CF92DF92EF920F93CF93DF93EC01F2
+:101BA000FC01E158FF4F82E38083349741E050E02D
+:101BB00060E070E040835183628373833B978FEFD3
+:101BC0008083CE010E945A0DCE010E943F036FEF29
+:101BD000CE010E9443036E018AE0C80ED11CC601EB
+:101BE0000E94EA03C6010E94FA03CE0148960E94B1
+:101BF000A6033EE0E32E0FE020E14BE06DE0CE01D6
+:101C0000825B9F4F0E944C08A596CE010E94610EF8
+:101C100065E0C6010E943104882351F060E0CE01E6
+:101C2000DF91CF910F91EF90DF90CF900C94F8104F
+:101C300040E066ED73E0CE01DF91CF910F91EF9020
+:101C4000DF90CF900C94000FCF93DF9350E0FA0118
+:101C5000EE0FFF1FE80FF91F37852089E32FF22FC2
+:101C6000E60FF11DE60FF11D25913491FA01EE0FFB
+:101C7000FF1FE80FF91F30A3278FF90165917491B9
+:101C8000FC01D481D69FC02D1124E40FF51FC1A300
+:101C9000F901A591B4916B2F70E0EC2FF0E0DC011D
+:101CA000A40FB51F6E177F0720F4F9012591349119
+:101CB000C32FCD9FC02D11249296CC93DF91CF914D
+:101CC000089521E0FC01248324E020A72DE234E0E4
+:101CD000308B278740E060E00E94240E61E070E0D6
+:101CE00083E00E944612E1EBF0E08081887F816012
+:101CF0008083F89410928000E1E8F0E01082109266
+:101D000085001092840088E191E09093890080938F
+:101D10008800808188608083808181608083EFE695
+:101D2000F0E0808182608083789408950F93FC01B5
+:101D3000862F642F011129C08230D1F048F4882306
+:101D400091F0813011F540E0CF010F910C94240EF9
+:101D50008330A9F08430C9F48481489F602D112418
+:101D6000658F268F12C04B3008F06AE0668B0DC07D
+:101D70008481489F602D1124618F228F06C0848149
+:101D8000489F602D1124638F248F0F910895FC01CB
+:101D900021110EC0648B8481489F402D1124458BF6
+:101DA00015A214A213A281E0878B8093EB03108EFF
+:101DB00008958091EB03882319F08091E80301C016
+:101DC00080E08093B4000895FC0161110DC0178A72
+:101DD000158A14A213A2108E1092E8031092E90340
+:101DE0001092EB030C94D90E0895CF93DF93EC017E
+:101DF000611103C00E94E40E1982DF91CF91089512
+:101E00000F931F93CF93DF93EC018B0141110EC011
+:101E100060E00E94F50E1E870D871B8A1A8A81E0FA
+:101E2000898389E08E8B198E1B8E1D8EDF91CF9159
+:101E30001F910F910895CF93DF93EC01611128C09A
+:101E40008881882329F18981811122C089852F8188
+:101E50009885E22FF92FE80FF11DE80FF11D85910C
+:101E600094918F3F2FEF920711F4188211C09C8735
+:101E70009927880F991FEA85FB85E80FF91F65915F
+:101E8000749140E0CE010E94000F89858F5F8987A1
+:101E9000DF91CF91089560E00C941B0F60E00C94EB
+:101EA000F50E0F93CF93DF93EC0161115DC0898133
+:101EB000882309F459C08D89811156C02D853E852E
+:101EC0008A899B89880F991F820F931FFC01859136
+:101ED00094910097D1F48989882321F01B8A1A8A6A
+:101EE000F90111C01982888160E0882331F0CE01A8
+:101EF0000E941B0F8A899B8925C0CE01DF91CF915B
+:101F00000F910C94E40E85919491BC0176956795A0
+:101F10007695679580FF1DC0AC01A6E05695479564
+:101F2000AA95E1F7292F26952695269520514F71E0
+:101F30006F7000E0CE010E94960E8A899B890196FF
+:101F40009B8B8A8B880F991FED85FE85E80FF91F03
+:101F5000DACF492F6F7320E0CE010E94C70E8A8925
+:101F60009B8901969B8B8A8BDF91CF910F9108956E
+:101F700060E00C94510FCF93DF93EC016111B9C075
+:101F80008F89882309F4B5C08D89811105C0CE01E0
+:101F9000DF91CF910C94E40E81508D8B8DA1811136
+:101FA00038C08BA19CA101969C01220F331FEF8D9D
+:101FB000F8A1E20FF31F25913491422F47704EA3F1
+:101FC000A90163E0569547956A95E1F7BA017695C0
+:101FD0006795232F269526952FA36F732C81629FDB
+:101FE000602D11246DA341704093E7039CA38BA344
+:101FF00029A130E08217930760F08AA1882329F095
+:10200000281B31093CA32BA304C060E0CE010E9431
+:10201000E40E8DA181508DA3288D2F5F288F4C89D0
+:102020003FA1340F8C85380F3A836B8D662361F0A6
+:1020300070E0822F992787FD90950E943F168C8D26
+:10204000869F300D11243A838A8190E0CB966BE312
+:1020500070E00E943F168A833E893B83698D662328
+:1020600071F0772767FD7095822F992787FD9095EE
+:102070000E943F168A8D869F300D11243B836D8D03
+:10208000662391F0822F992787FD909570E00E943A
+:102090003F16CB0162E070E00E943F162E8D9B81BF
+:1020A000289F900D11249B838B814F3339F08A3008
+:1020B0000CF089E087FD80E08B8301C01B82F894DF
+:1020C000EA81F0E0EC51FC4FE491E093EA0398A53B
+:1020D0008D81989F802D11249B81899F802D1124B3
+:1020E0009EA1899F802D11248093E9038093E803AA
+:1020F0007894DF91CF91089560E00C94BB0F6091CC
+:10210000E903662321F18091EC038F5F8093EC0358
+:102110009091EA038917D8F08091EB0391E0892729
+:102120008093EB031092EC038091E703882369F01E
+:1021300090910E0183E4989F802D1124895B8093F8
+:102140000E010E941F169093E8030C94D90E089577
+:102150001F920F920FB60F9211242F933F934F931C
+:102160005F936F937F938F939F93AF93BF93EF93FF
+:10217000FF930E947F10FF91EF91BF91AF919F91CC
+:102180008F917F916F915F914F913F912F910F9020
+:102190000FBE0F901F901895CF93DF93EC0160E076
+:1021A0000E94F50E85E294E09E878D871B8A1A8A2D
+:1021B00081E0898389E08E8B198E1B8E1D8EDF91C5
+:1021C000CF910895CF93DF93EC0160E00E94F50E6C
+:1021D0008FE194E09E878D871B8A1A8A81E089832C
+:1021E00089E08E8B198E1B8E1D8EDF91CF91089505
+:1021F000FC01862F992787FD9095668170E06F5FBF
+:102200007F4F0E943F1685830895CF93CFB7F894F0
+:102210008091ED03811127C0EBE6F4E08491E7E5BE
+:10222000F4E09491E82FF0E0EE0FFF1FE757FB4F2B
+:10223000A591B4918C91892321F461E08AE00E94F8
+:10224000071361E08AE00E94CE128CB580618CBDDC
+:102250008CB580648CBD61E08DE00E94CE1261E09F
+:102260008BE00E94CE128091ED038F5F8093ED038F
+:10227000CFBFCF9108951F920F920FB60F921124E6
+:102280002F933F938F939F93AF93BF938091EF03CF
+:102290009091F003A091F103B091F2033091EE031D
+:1022A00023E0230F2D3720F40196A11DB11D05C099
+:1022B00026E8230F0296A11DB11D2093EE03809303
+:1022C000EF039093F003A093F103B093F203809196
+:1022D000F3039091F403A091F503B091F6030196F6
+:1022E000A11DB11D8093F3039093F403A093F50314
+:1022F000B093F603BF91AF919F918F913F912F9132
+:102300000F900FBE0F901F9018952FB7F894609103
+:10231000EF037091F0038091F1039091F2032FBFCE
+:1023200008953FB7F8948091F3039091F403A0913E
+:10233000F503B091F60326B5A89B05C02F3F19F011
+:102340000196A11DB11D3FBF6627782F892F9A2FB7
+:10235000620F711D811D911D42E0660F771F881F5E
+:10236000991F4A95D1F708958F929F92AF92BF928D
+:10237000CF92DF92EF92FF926B017C010E9491114C
+:102380004B015C01C114D104E104F104F1F00E949D
+:10239000F1140E949111681979098A099B09683E14
+:1023A00073408105910570F321E0C21AD108E1085C
+:1023B000F10888EE880E83E0981EA11CB11CC114A0
+:1023C000D104E104F10429F7DDCFFF90EF90DF9015
+:1023D000CF90BF90AF909F908F900895789484B5E0
+:1023E000826084BD84B5816084BD85B5826085BD11
+:1023F00085B5816085BDEEE6F0E0808181608083F7
+:10240000E1E8F0E0108280818260808380818160D9
+:102410008083E0E8F0E0808181608083E1EBF0E0A0
+:10242000808184608083E0EBF0E080818160808344
+:10243000EAE7F0E08081846080838081826080832D
+:102440008081816080838081806880831092C10058
+:1024500008958E3008F08E50877020910F0190E41F
+:10246000299F90011124822B80937C0080917A0017
+:10247000806480937A0080917A0086FDFCCF809101
+:1024800078002091790090E0922B08951F93CF93CC
+:10249000DF93182FEB0161E00E94CE12209711F418
+:1024A00060E004C0CF3FD10539F461E0812FDF91B6
+:1024B000CF911F910C940713E12FF0E0E75CFB4FE5
+:1024C000E491E330F9F048F4E130B9F0E230A1F5FD
+:1024D00084B5806284BDC8BD34C0E730E9F0E8301F
+:1024E00019F1E43049F5809180008062809380008A
+:1024F000D0938B00C0938A0024C084B5806884BDCB
+:10250000C7BD1FC080918000806880938000D093F9
+:102510008900C093880015C08091B00080688093C6
+:10252000B000C093B3000DC08091B0008062809372
+:10253000B000C093B40005C0C038D1050CF0B5CFD1
+:10254000AFCFDF91CF911F910895833081F028F4B0
+:10255000813099F08230A1F008958730A9F0883059
+:10256000B9F08430D1F4809180008F7D03C08091D8
+:1025700080008F7780938000089584B58F7702C0A4
+:1025800084B58F7D84BD08958091B0008F7703C09E
+:102590008091B0008F7D8093B0000895CF93DF933A
+:1025A00090E0FC01E35BFB4F2491FC01EF59FB4FF2
+:1025B0008491882349F190E0880F991FFC01E75727
+:1025C000FB4FA591B49181589B4FFC01C591D491CB
+:1025D0009FB7611108C0F8948C91209582238C9349
+:1025E000888182230AC0623051F4F8948C91322F92
+:1025F000309583238C938881822B888304C0F89440
+:102600008C91822B8C939FBFDF91CF9108950F9374
+:102610001F93CF93DF931F92CDB7DEB7282F30E003
+:10262000F901E75CFB4F8491F901E35BFB4F1491E7
+:10263000F901EF59FB4F04910023C9F0882321F0E1
+:1026400069830E94A5126981E02FF0E0EE0FFF1F61
+:10265000E158FB4FA591B4919FB7F8948C9161110B
+:1026600003C01095812301C0812B8C939FBF0F90D5
+:10267000DF91CF911F910F910895CF93DF93282F72
+:1026800030E0F901E75CFB4F8491F901E35BFB4F1C
+:10269000D491F901EF59FB4FC491CC2391F08111F2
+:1026A0000E94A512EC2FF0E0EE0FFF1FEB58FB4F3E
+:1026B000A591B4912C912D2381E090E021F480E04C
+:1026C00002C080E090E0DF91CF910895CF92DF9239
+:1026D000EF92FF920F931F93CF93DF937C016A01D8
+:1026E000EB0100E010E00C151D0571F06991D701B8
+:1026F000ED91FC910190F081E02DC7010995892BA6
+:1027000019F00F5F1F4FEFCFC801DF91CF911F91DD
+:102710000F91FF90EF90DF90CF90089561157105B4
+:1027200081F0DB010D900020E9F7AD014150510926
+:10273000461B570BDC01ED91FC910280F381E02DEB
+:10274000099480E090E00895EF92FF920F931F9319
+:10275000CF93DF938C017B01C0E0D0E0F701EC0F59
+:10276000FD1F6491662359F0F801A081B181ED91BC
+:10277000FC91C8010995892B11F02196EFCFCE016C
+:10278000DF91CF911F910F91FF90EF900895DC01A1
+:10279000ED91FC910190F081E02D09946FE171E0E1
+:1027A0000C948E130F931F93CF93DF93EC010E9431
+:1027B000A4138C01CE010E94CE13800F911FDF91D4
+:1027C000CF911F910F9108958F929F92AF92BF92D8
+:1027D000DF92EF92FF920F931F93CF93DF93CDB7CA
+:1027E000DEB7A1970FB6F894DEBF0FBECDBF7C0158
+:1027F000F42FD52ECB0119A2223008F42AE08E0145
+:102800000F5D1F4F822E912CA12CB12C6F2F7D2D8F
+:10281000A50194010E945316F22FD32ECA01015034
+:1028200011096A3014F4E0E301C0E7E3E60FD801D0
+:10283000EC93232B242B252B49F7B801C7010E94C9
+:102840008E13A1960FB6F894DEBF0FBECDBFDF91F9
+:10285000CF911F910F91FF90EF90DF90BF90AF90BD
+:102860009F908F900895CF92DF92EF92FF920F93F7
+:102870001F93CF93DF93EC016A017B012115310592
+:1028800079F4E881F9810190F081E02D642FDF91E6
+:10289000CF911F910F91FF90EF90DF90CF9009940F
+:1028A0002A303105E9F477FF1AC06DE20E94C713A0
+:1028B0008C0144275527BA014C195D096E097F091F
+:1028C0002AE0CE010E94E413800F911FDF91CF9187
+:1028D0001F910F91FF90EF90DF90CF9008952AE025
+:1028E000B701A601CE01DF91CF911F910F91FF900B
+:1028F000EF90DF90CF900C94E4139A01AB01662720
+:1029000057FD6095762F0C9433142115310541F451
+:10291000DC01ED91FC910190F081E02D642F099490
+:102920000C94E4139A01AB0160E070E00C94851400
+:102930004F925F926F927F92AF92BF92CF92DF924F
+:10294000EF92FF920F931F93CF93DF93CDB7DEB734
+:1029500029013A01621B730B840B950B29893A8973
+:102960004B895C892A193B094C095D09298B3A8BF3
+:102970004B8B5C8B9B01AC0169897A898B899C8923
+:102980000E940F16E418F50806091709A801970117
+:102990000E9475162A0D3B1D4C1D5D1DCA01B90113
+:1029A000DF91CF911F910F91FF90EF90DF90CF902B
+:1029B000BF90AF907F906F905F904F900895089573
+:1029C0000E94EE110E94DF140E949502C0E0D0E048
+:1029D0000E94A8022097E1F30E940000F9CF0C9416
+:1029E000B416089598D088F09F5790F0B92F992782
+:1029F000B751A0F0D1F0660F771F881F991F1AF00A
+:102A0000BA95C9F712C0B13081F09FD0B1E00895F6
+:102A10009CC0672F782F8827B85F39F0B93FCCF377
+:102A2000869577956795B395D9F73EF490958095FF
+:102A3000709561957F4F8F4F9F4F0895E89409C01F
+:102A400097FB3EF490958095709561957F4F8F4FE1
+:102A50009F4F9923A9F0F92F96E9BB279395F695F7
+:102A6000879577956795B795F111F8CFFAF4BB0F75
+:102A700011F460FF1BC06F5F7F4F8F4F9F4F16C0D9
+:102A8000882311F096E911C0772321F09EE8872F63
+:102A9000762F05C0662371F096E8862F70E060E01F
+:102AA0002AF09A95660F771F881FDAF7880F969598
+:102AB000879597F9089597F99F6780E870E060E03F
+:102AC00008959FEF80EC089500240A9416161706C7
+:102AD00018060906089500240A941216130614060F
+:102AE00005060895092E0394000C11F4882352F072
+:102AF000BB0F40F4BF2B11F460FF04C06F5F7F4F2A
+:102B00008F4F9F4F089557FD9058440F551F59F010
+:102B10005F3F71F04795880F97FB991F61F09F3FCA
+:102B200079F087950895121613061406551FF2CFF3
+:102B30004695F1DF08C0161617061806991FF1CF43
+:102B400086957105610508940895E894BB2766276A
+:102B50007727CB0197F908950BD0C4CFB5DF28F0C4
+:102B6000BADF18F0952309F0A6CFABCF1124EECF32
+:102B7000CADFA0F3959FD1F3950F50E0551F629FD8
+:102B8000F001729FBB27F00DB11D639FAA27F00DC6
+:102B9000B11DAA1F649F6627B00DA11D661F829FED
+:102BA0002227B00DA11D621F739FB00DA11D621FD2
+:102BB000839FA00D611D221F749F3327A00D611DEF
+:102BC000231F849F600D211D822F762F6A2F1124D1
+:102BD0009F5750408AF0E1F088234AF0EE0FFF1F24
+:102BE000BB1F661F771F881F91505040A9F79E3F5B
+:102BF000510570F060CFAACF5F3FECF3983EDCF355
+:102C0000869577956795B795F795E7959F5FC1F797
+:102C1000FE2B880F911D9695879597F90895DB01F6
+:102C20008F939F930E949416BF91AF91A29F800DA6
+:102C3000911DA39F900DB29F900D11240895991B93
+:102C400079E004C0991F961708F0961B881F7A95A3
+:102C5000C9F780950895AA1BBB1B51E107C0AA1FA5
+:102C6000BB1FA617B70710F0A61BB70B881F991F2D
+:102C70005A95A9F780959095BC01CD01089597FBD1
+:102C8000072E16F4009407D077FD09D00E942B166A
+:102C900007FC05D03EF4909581959F4F089570955F
+:102CA00061957F4F0895A1E21A2EAA1BBB1BFD015F
+:102CB0000DC0AA1FBB1FEE1FFF1FA217B307E4071B
+:102CC000F50720F0A21BB30BE40BF50B661F771F73
+:102CD000881F991F1A9469F7609570958095909553
+:102CE0009B01AC01BD01CF010895052E97FB1EF499
+:102CF00000940E948C1657FD07D00E94531607FCC3
+:102D000003D04EF40C948C16509540953095219537
+:102D10003F4F4F4F5F4F0895909580957095619507
+:102D20007F4F8F4F9F4F08950E94A516A59F900D2E
+:102D3000B49F900DA49F800D911D11240895EE0F56
+:102D4000FF1F0590F491E02D0994A29FB001B39F5D
+:102D5000C001A39F700D811D1124911DB29F700DA4
+:102D6000811D1124911D0895CF93DF938230910529
+:102D700010F482E090E0E091F903F091FA0320E092
+:102D800030E0A0E0B0E0309739F140815181481740
+:102D90005907B8F04817590771F482819381109749
+:102DA00029F013969C938E9312972CC09093FA035C
+:102DB0008093F90327C02115310531F042175307DD
+:102DC00018F0A901DB0101C0EF019A01BD01DF018B
+:102DD0000280F381E02DD7CF21153105F9F0281BB2
+:102DE000390B2430310580F48A819B81611571058E
+:102DF00021F0FB019383828304C09093FA038093B4
+:102E0000F903FE01329644C0FE01E20FF31F8193E5
+:102E1000919322503109398328833AC02091F703D6
+:102E20003091F803232B41F42091020130910301EA
+:102E30003093F8032093F7032091000130910101B2
+:102E40002115310541F42DB73EB740910401509151
+:102E50000501241B350BE091F703F091F803E2170D
+:102E6000F307A0F42E1B3F0B2817390778F0AC01AD
+:102E70004E5F5F4F2417350748F04E0F5F1F50938A
+:102E8000F8034093F7038193919302C0E0E0F0E0F0
+:102E9000CF01DF91CF910895CF93DF93009709F48D
+:102EA00087C0FC01329713821282C091F903D0913E
+:102EB000FA03209781F420813181280F391F8091F6
+:102EC000F7039091F8038217930779F5F093F803CD
+:102ED000E093F7036DC0DE0120E030E0AE17BF07DE
+:102EE00050F412964D915C9113979D014115510537
+:102EF00009F1DA01F3CFB383A28340815181840FBA
+:102F0000951F8A179B0771F48D919C911197840FDF
+:102F1000951F02969183808312968D919C911397B1
+:102F2000938382832115310529F4F093FA03E0930A
+:102F3000F9033EC0D9011396FC93EE9312974D917D
+:102F40005D91A40FB51FEA17FB0779F48081918189
+:102F5000840F951F0296D90111969C938E938281BE
+:102F6000938113969C938E931297E0E0F0E08A8110
+:102F70009B81009719F0FE01EC01F9CFCE0102967A
+:102F800028813981820F931F2091F7033091F80334
+:102F90002817390769F4309729F41092FA03109230
+:102FA000F90302C013821282D093F803C093F7038F
+:102FB000DF91CF9108958F929F92AF92BF92CF925F
+:102FC000DF92EF92FF92CF93DF93EC0168817981DA
+:102FD0008A819B81611571058105910521F464E267
+:102FE00079ED8BE597E02DE133EF41E050E00E9471
+:102FF000751649015A019B01AC01A7EAB1E40E9490
+:1030000094166B017C01ACEEB4EFA50194010E9413
+:103010003C18C60ED71EE81EF91EF7FE06C081E05A
+:10302000C81AD108E10880E8F80AC882D982EA8281
+:10303000FB82C6019F77DF91CF91FF90EF90DF90E9
+:10304000CF90BF90AF909F908F9008950E94DB1714
+:10305000089586E091E00E94DB170895A0E0B0E0BB
+:103060008093060190930701A0930801B093090192
+:103070000895B7FF0C9494160E949416821B930B2C
+:063080000895F894FFCF53
+:103086000000FB03800001000000010000000101B8
+:1030960000000000B60966134C4F41444552000D2E
+:1030A6000A006E616E00696E66006F7666002E001D
+:00000001FF
diff --git a/Sprites/Soldiers.bmp b/Sprites/Soldiers.bmp
new file mode 100644
index 0000000..7bce8a5
--- /dev/null
+++ b/Sprites/Soldiers.bmp
Binary files differ
diff --git a/Sprites/Tower.bmp b/Sprites/Tower.bmp
new file mode 100644
index 0000000..1838724
--- /dev/null
+++ b/Sprites/Tower.bmp
Binary files differ