VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Setup/Setup.ico
blob: a9d3728800465b4ffa9be201b14c202c068e4b5c (plain)
ofshex dumpascii
0000 00 00 01 00 01 00 31 30 00 00 01 00 20 00 68 26 00 00 16 00 00 00 28 00 00 00 31 00 00 00 60 00 ......10......h&......(...1...`.
0020 00 00 01 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 08 00 00 00 11 00 00 ................................
03c0 00 17 00 00 00 1a 00 00 00 1a 00 00 00 1a 00 00 00 1a 00 00 00 1a 00 00 00 1a 00 00 00 1a 00 00 ................................
03e0 00 1a 00 00 00 1a 00 00 00 1a 00 00 00 1a 00 00 00 1a 00 00 00 17 00 00 00 11 00 00 00 08 00 00 ................................
0400 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 00 00 01 00 00 00 03 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 08 00 00 ................................
0440 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 ................................
0460 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 0f 00 00 00 2a 00 52 .............................*.R
0480 65 a1 00 65 7d fc 00 64 7d ff 01 65 7e ff 00 64 7d ff 00 64 7d ff 00 64 7d ff 00 64 7d ff 00 64 e..e}..d}..e~..d}..d}..d}..d}..d
04a0 7d ff 00 64 7d ff 00 64 7d ff 00 64 7d ff 00 64 7d ff 00 64 7d ff 00 64 7e fc 00 54 69 9e 00 00 }..d}..d}..d}..d}..d}..d~..Ti...
04c0 00 24 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .$..............................
04e0 00 00 00 00 00 01 00 00 00 05 00 00 00 0c 00 00 00 14 00 00 00 18 00 00 00 1b 00 00 00 1c 00 00 ................................
0500 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 ................................
0520 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1c 00 00 00 1d 00 00 00 28 00 00 .............................(..
0540 00 51 00 65 7d fc 69 df ed ff a0 f2 fa ff b2 f7 fe ff a8 f3 fb ff 9a ed f6 ff 8d e7 f1 ff 81 e0 .Q.e}.i.........................
0560 eb ff 72 d9 e4 ff 67 d2 de ff 5f cc d8 ff 57 c6 d3 ff 4f c1 cd ff 4c c6 d3 ff 31 c5 d7 ff 00 65 ..r...g..._...W...O...L...1....e
0580 7d fc 00 00 00 40 00 00 00 0f 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }....@..........................
05a0 00 00 00 00 00 01 00 00 00 09 00 00 00 14 00 00 00 20 05 05 05 2e 19 17 15 4a 1d 1c 19 57 1d 1c .........................J...W..
05c0 19 57 1c 1c 19 58 1c 1c 19 58 1c 1c 19 58 1c 1c 19 58 1c 1c 19 58 1c 1c 19 58 1c 1c 19 58 1c 1c .W...X...X...X...X...X...X...X..
05e0.highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 Derived from source code of TrueCrypt 7.1a, which is
 Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed
 by the TrueCrypt License 3.0.

 Modifications and additions to the original source code (contained in this file) 
 and all other portions of this file are Copyright (c) 2013-2015 IDRIX
 and are governed by the Apache License 2.0 the full text of which is
 contained in the file License.txt included in VeraCrypt binary and source
 code distribution packages.
*/

#include "Exception.h"
#include "ForEach.h"
#include "Memory.h"
#include "Serializer.h"

namespace VeraCrypt
{
	template <typename T>
	T Serializer::Deserialize ()
	{
		uint64 size;
		DataStream->ReadCompleteBuffer (BufferPtr ((byte *) &size, sizeof (size)));
		
		if (Endian::Big (size) != sizeof (T))
			throw ParameterIncorrect (SRC_POS);

		T data;
		DataStream->ReadCompleteBuffer (BufferPtr ((byte *) &data, sizeof (data)));

		return Endian::Big (data);
	}

	void Serializer::Deserialize (const string &name, bool &data)
	{
		ValidateName (name);
		data = Deserialize <byte> () == 1;
	}

	void Serializer::Deserialize (const string &name, byte &data)
	{
		ValidateName (name);
		data = Deserialize <byte> ();
	}

	void Serializer::Deserialize (const string &name, int32 &data)
	{
		ValidateName (name);
		data = (int32) Deserialize <uint32> ();
	}
	
	void Serializer::Deserialize (const string &name, int64 &data)
	{
		ValidateName (name);
		data = (int64) Deserialize <uint64> ();
	}

	void Serializer::Deserialize (const string &name, uint32 &data)
	{
		ValidateName (name);
		data = Deserialize <uint32> ();
	}

	void Serializer::Deserialize (const string &name, uint64 &data)
	{
		ValidateName (name);
		data = Deserialize <uint64> ();
	}

	void Serializer::Deserialize (const string &name, string &data)
	{
		ValidateName (name);
		data = DeserializeString ();
	}

	void Serializer::Deserialize (const string &name, wstring &data)
	{
		ValidateName (name);
		data = DeserializeWString ();
	}

	void Serializer::Deserialize (const string &name, const BufferPtr &data)
	{
		ValidateName (name);

		uint64 size = Deserialize <uint64> ();
		if (data.Size() != size)
			throw ParameterIncorrect (SRC_POS);

		DataStream->ReadCompleteBuffer (data);
	}

	bool Serializer::DeserializeBool (const string &name)
	{
		bool data;
		Deserialize (name, data);
		return data;
	}

	int32 Serializer::DeserializeInt32 (const string &name)
	{
		ValidateName (name);
		return Deserialize <uint32> ();
	}

	int64 Serializer::DeserializeInt64 (const string &name)
	{
		ValidateName (name);
		return Deserialize <uint64> ();
	}

	uint32 Serializer::DeserializeUInt32 (const string &name)
	{
		ValidateName (name);
		return Deserialize <uint32> ();
	}

	uint64 Serializer::DeserializeUInt64 (const string &name)
	{
		ValidateName (name);
		return Deserialize <uint64> ();
	}

	string Serializer::DeserializeString ()
	{
		uint64 size = Deserialize <uint64> ();

		vector <char> data ((size_t) size);
		DataStream->ReadCompleteBuffer (BufferPtr ((byte *) &data[0], (size_t) size));

		return string (&data[0]);
	}

	string Serializer::DeserializeString (const string &name)
	{
		ValidateName (name);
		return DeserializeString ();
	}

	list <string> Serializer::DeserializeStringList (const string &name)
	{
		ValidateName (name);
		list <string> deserializedList;
		uint64 listSize = Deserialize <uint64> ();

		for (size_t i = 0; i < listSize; i++)
			deserializedList.push_back (DeserializeString ());

		return deserializedList;
	}

	wstring Serializer::DeserializeWString ()
	{
		uint64 size = Deserialize <uint64> ();

		vector <wchar_t> data ((size_t) size / sizeof (wchar_t));
		DataStream->ReadCompleteBuffer (BufferPtr ((byte *) &data[0], (size_t) size));

		return wstring (&data[0]);
	}

	list <wstring> Serializer::DeserializeWStringList (const string &name)
	{
		ValidateName (name);
		list <wstring> deserializedList;
		uint64 listSize = Deserialize <uint64> ();

		for (size_t i = 0; i < listSize; i++)
			deserializedList.push_back (DeserializeWString ());

		return deserializedList;
	}

	wstring Serializer::DeserializeWString (const string &name)
	{
		ValidateName (name);
		return DeserializeWString ();
	}

	template <typename T>
	void Serializer::Serialize (T data)
	{
		uint64 size = Endian::Big (uint64 (sizeof (data)));
		DataStream->Write (ConstBufferPtr ((byte *) &size, sizeof (size)));

		data = Endian::Big (data);
		DataStream->Write (ConstBufferPtr ((byte *) &data, sizeof (data)));
	}

	void Serializer::Serialize (const string &name, bool data)
	{
		SerializeString (name);
		byte d = data ? 1 : 0;
		Serialize (d);
	}

	void Serializer::Serialize (const string &name, byte data)
	{
		SerializeString (name);
		Serialize (data);
	}
	
	void Serializer::Serialize (const string &name, const char *data)
	{
		Serialize (name, string (data));
	}
	
	void Serializer::Serialize (const string &name, int32 data)
	{
		SerializeString (name);
		Serialize ((uint32) data);
	}
		
	void Serializer::Serialize (const string &name, int64 data)
	{
		SerializeString (name);
		Serialize ((uint64) data);
	}

	void Serializer::Serialize (const string &name, uint32 data)
	{
		SerializeString (name);
		Serialize (data);
	}

	void Serializer::Serialize (const string &name, uint64 data)
	{
		SerializeString (name);
		Serialize (data);
	}

	void Serializer::Serialize (const string &name, const string &data)
	{
		SerializeString (name);
		SerializeString (data);
	}

	void Serializer::Serialize (const string &name, const wchar_t *data)
	{
		Serialize (name, wstring (data));
	}

	void Serializer::Serialize (const string &name, const wstring &data)
	{
		SerializeString (name);
		SerializeWString (data);
	}
	
	void Serializer::Serialize (const string &name, const list <string> &stringList)
	{
		SerializeString (name);
		
		uint64 listSize = stringList.size();
		Serialize (listSize);

		foreach (const string &item, stringList)
			SerializeString (item);
	}

	void Serializer::Serialize (const string &name, const list <wstring> &stringList)
	{
		SerializeString (name);
		
		uint64 listSize = stringList.size();
		Serialize (listSize);

		foreach (const wstring &item, stringList)
			SerializeWString (item);
	}

	void Serializer::Serialize (const string &name, const ConstBufferPtr &data)
	{
		SerializeString (name);

		uint64 size = data.Size();
		Serialize (size);

		DataStream->Write (data);
	}

	void Serializer::SerializeString (const string &data)
	{
		Serialize ((uint64) data.size() + 1);
		DataStream->Write (ConstBufferPtr ((byte *) (data.data() ? data.data() : data.c_str()), data.size() + 1));
	}

	void Serializer::SerializeWString (const wstring &data)
	{
		uint64 size = (data.size() + 1) * sizeof (wchar_t);
		Serialize (size);
		DataStream->Write (ConstBufferPtr ((byte *) (data.data() ? data.data() : data.c_str()), (size_t) size));
	}

	void Serializer::ValidateName (const string &name)
	{
		string dName = DeserializeString();
		if (dName != name)
		{
			throw ParameterIncorrect (SRC_POS);
		}
	}
}
00 9a 30 00 4b ba 65 30 e3 ef b8 7f ff ff d6 ...D.#.............0.K.e0....... 1f80 9e ff ec c8 99 ff c1 73 41 e3 aa 3c 06 63 ab 39 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .......sA..<.c.9................ 1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ae 3a 00 22 bf 5c 1f c3 ee c5 a0 ff e5 b2 ...................:.".\........ 1fc0 91 fd c3 5f 28 c2 b8 3d 00 37 b6 41 00 01 00 00 00 00 00 00 00 00 00 00 00 00 73 00 00 01 98 30 ..._(..=.7.A..............s....0 1fe0 00 5e c6 86 56 ef ef d9 b0 ff c5 86 5c f0 a3 3d 0d 84 9d 2b 00 12 00 00 00 00 00 00 00 00 00 00 .^..V.......\..=...+............ 2000 00 00 00 00 00 00 00 00 00 00 b1 3b 00 22 c0 5b 1b c4 f0 c0 8b ff fc dd b7 ff e2 a6 7e fd c5 59 ...........;.".[............~..Y 2020 1d b5 bf 42 00 2d 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 01 99 31 00 5d c6 7f 4b ef fb dc ...B.-............r....1.]..K... 2040 aa ff f1 d5 a9 ff c2 7b 4e eb a6 3b 07 76 a1 2c 00 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .......{N..;.v.,................ 2060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 39 00 20 bb 58 1e bf d6 97 .......................9...X.... 2080 71 ff c5 69 39 cb b5 3d 00 45 b5 3a 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 00 q..i9..=.E.:..................v. 20a0 00 01 9a 32 01 59 ba 74 46 ed c4 87 5f f6 a3 42 16 92 9b 2d 00 1a 00 00 00 00 00 00 00 00 00 00 ...2.Y.tF..._..B...-............ 20c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ae 3a 00 22 bf 5c 1f c3 ee c5 a0 ff e5 b2 91 fd c3 5f ...............:.".\..........._ 20e0 28 c2 b8 3d 00 37 b6 41 00 01 00 00 00 00 00 00 00 00 00 00 00 00 73 00 00 01 98 30 00 5e c6 86 (..=.7.A..............s....0.^.. 2100 56 ef ef d9 b0 ff c5 86 5c f0 a3 3d 0d 84 9d 2b 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 V.......\..=...+................ 2120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 3c 00 0c b1 46 ...........................<...F 2140 0a 75 b7 4f 17 b1 b3 42 06 4e ad 32 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .u.O...B.N.2.................... 2160 00 00 00 00 00 00 9e 36 01 2d a3 43 11 a3 a0 3e 10 92 96 2c 00 20 00 00 00 00 00 00 00 00 00 00 .......6.-.C...>...,............ 2180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 39 00 20 bb 58 1e bf d6 97 71 ff c5 69 ...................9...X....q..i 21a0 39 cb b5 3d 00 45 b5 3a 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 00 00 01 9a 32 9..=.E.:..................v....2 21c0 01 59 ba 74 46 ed c4 87 5f f6 a3 42 16 92 9b 2d 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .Y.tF..._..B...-................ 21e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2200 00 00 ab 38 00 0b a9 31 00 14 a9 33 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...8...1...3.................... 2220 00 00 00 00 00 00 00 00 00 00 a3 39 00 03 98 29 00 12 93 25 00 0d 00 00 00 00 00 00 00 00 00 00 ...........9...)...%............ 2240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 3c 00 0c b1 46 0a 75 b7 4f .......................<...F.u.O 2260 17 b1 b3 42 06 4e ad 32 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...B.N.2........................ 2280 00 00 9e 36 01 2d a3 43 11 a3 a0 3e 10 92 96 2c 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...6.-.C...>...,................ 22a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 22c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 22e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 38 ...............................8 2320 00 0b a9 31 00 14 a9 33 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...1...3........................ 2340 00 00 00 00 00 00 a3 39 00 03 98 29 00 12 93 25 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .......9...)...%................ 2360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 23a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 23c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 23e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 2480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 24a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 24c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 24e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ................................ 2500 ff ff ff ff 80 00 ff ff ff ff ff ff 80 00 ff ff ff ff ff ff 80 00 ff ff ff ff ff ff 80 00 ff ff ................................ 2520 ff ff ff ff 80 00 ff ff ff e0 00 1f 80 00 ff ff ff e0 00 1f 80 00 ff ff ff e0 00 1f 80 00 fe 00 ................................ 2540 00 00 00 1f 80 00 f0 00 00 00 00 0f 80 00 e0 00 00 00 00 07 80 00 e0 00 00 00 00 07 80 00 e0 00 ................................ 2560 00 00 00 07 80 00 e0 00 00 00 00 07 80 00 e0 00 00 00 00 07 80 00 e0 00 00 00 00 07 80 00 e0 00 ................................ 2580 00 00 00 07 80 00 e0 00 00 00 00 07 80 00 e0 00 00 00 00 07 80 00 f0 00 00 00 00 0f 80 00 f0 00 ................................ 25a0 00 00 00 0f 80 00 f0 00 00 00 00 0f 80 00 f8 00 00 00 00 1f 80 00 f8 00 00 00 00 1f 80 00 f8 00 ................................ 25c0 00 00 00 1f 80 00 f8 00 00 00 00 1f 80 00 f8 00 00 00 00 3f 80 00 f8 00 00 00 00 3f 80 00 f8 00 ...................?.......?.... 25e0 00 00 00 3f 80 00 f8 00 00 00 00 3f 80 00 f8 00 00 00 00 1f 80 00 fc 00 00 00 00 1f 80 00 fe 00 ...?.......?.................... 2600 00 00 00 0f 80 00 fe 00 00 00 00 07 80 00 ff 00 00 00 00 03 80 00 ff 00 00 00 00 81 80 00 ff 00 ................................ 2620 00 00 01 81 80 00 fe 00 00 00 03 03 80 00 fc 0f 03 f0 1e 07 80 00 f8 1f 07 f0 3c 0f 80 00 f8 3f ..........................<....? 2640 0f e0 7c 1f 80 00 f8 7f 0f e0 fc 3f 80 00 f8 ff 1f e1 fc 3f 80 00 fd ff 3f e3 fc 7f 80 00 ff ff ..|........?.......?....?....... 2660 ff f7 fc ff 80 00 ff ff ff ff ff ff 80 00 ff ff ff ff ff ff 80 00 ff ff ff ff ff ff 80 00 ..............................