diff --git a/src/audiobuffer.cpp b/src/audiobuffer.cpp
index 349d033d534fd67affa44c7c1e55e5d86e54dd86..821cbb055819884bd89f540f0bd68eda17b8ce23 100644
--- a/src/audiobuffer.cpp
+++ b/src/audiobuffer.cpp
@@ -51,8 +51,7 @@ void AudioBuffer::resize (size_t newsize)
 
 void
 AudioBuffer::setData (short *buf, int vol) {
-	short *databuf = data;
-	
+	short *databuf = (short*)data;
 	for (int i = 0; i < (int)size; i++) {
 		databuf[i] = buf[i]*vol/100;
 	}
diff --git a/src/configurationpanel.ui b/src/configurationpanel.ui
index 5c41ea5cd9b6f1fbd20bbfc31f1ff3ec7e4d9461..fe0f1eeebad670f24ab9c3b47f20d9abf3bb4495 100644
--- a/src/configurationpanel.ui
+++ b/src/configurationpanel.ui
@@ -148,7 +148,7 @@
         </widget>
         <widget class="QLayoutWidget" row="0" column="1">
             <property name="name">
-                <cstring>layout19</cstring>
+                <cstring>layout18</cstring>
             </property>
             <vbox>
                 <property name="name">
@@ -867,16 +867,35 @@
                         <attribute name="title">
                             <string>Themes</string>
                         </attribute>
+                        <widget class="QPushButton">
+                            <property name="name">
+                                <cstring>buttonApplySkin</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>136</x>
+                                    <y>40</y>
+                                    <width>80</width>
+                                    <height>32</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>&amp;Apply</string>
+                            </property>
+                            <property name="accel">
+                                <string>Alt+A</string>
+                            </property>
+                        </widget>
                         <widget class="QComboBox">
                             <property name="name">
                                 <cstring>SkinChoice</cstring>
                             </property>
                             <property name="geometry">
                                 <rect>
-                                    <x>20</x>
-                                    <y>70</y>
-                                    <width>120</width>
-                                    <height>20</height>
+                                    <x>12</x>
+                                    <y>42</y>
+                                    <width>110</width>
+                                    <height>27</height>
                                 </rect>
                             </property>
                         </widget>
@@ -1136,7 +1155,7 @@ Montreal, Quebec H2T 1S6&lt;/p&gt;</string>
 </widget>
 <images>
     <image name="image0">
-        <data format="PNG" length="3603">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade00000dda49444154789ced5d5f685bd71dfe095270465694b187b8946197b5e00c4ae5b90ff2d6926bfa32c529addc3e24defa20c519b1b787d5695f9ca4b86a1e5247856c76873b2b1066b5609c3c388a076156868b5c706a7964480117e4e10db998e118116e8c097c7bb8bad2fd73cebde75c29a9d3e8bc7c89eef9f33be7fece77bff3bbe75c1388688288ea8600b0060040a68cd801eade4e039f58acd941532b450040607c0e740ea0e1692e2a4960f0460e00f05d77bc818f2f7a2a98db005400fe780a9405e8dcb434faf34064060d076ea034ca1500a05c76675459549240b1a43624440385502823763446f4c2a832189bcf351cb781aee89a21b7a12290a82fb33a61607cae21191ae8888e19b001f8f30f9f61ade88fa71a8edb402e722fe43654f8e31e18732c054a00343e074a00a1ab4b0080e9bc166510adc77f7eba76c705303a3e81c8c97e44fafacb1841e4643f46e223008062b1f8f8481200a999fa4e68b5a462240e44fafa113ca420d217f15eff43b08f85f561d8f39aa128c131650a78248c0b15c022d0d61140a663096d1d01043a82dcff0f0dc71e0b661f1a8e55ecaf9bbd33b08dc7e07b839e26f243b18f81f699b7036986154991d9254f1ad70be3464ef69b6e44a83b8cd1f10900c064721a88034a77a8723dd011c4527669f733ae6e7fbd1c0266870d740411e9ebaf8969eb6a1f076d3f289b921ab4e0eeb0c1a94c4d1a57b99c11772898191669fe006205400948cda61cebc70a6abf116ee56ba81f450ff601081e526c4f20acb88cd723b0cf2dbf6f8288a2449420a22800df875788f6f4103d10c348204b895fb5132f45ff96a54bcbedc2f5f170f2c83af5bef88c2f61b49781d9ec128e9ff81d6dd33635511305954e1a1b89bb963321809e63bdb4facd6aa51e238694100df445a9f585e77c9d87146cdfdba6a67d4db470334d099fcf67ac2f3d9fc1e9b3a769ebde1605dadaa8ebaf9ffb743bdbbf68a7ce5b5db47d6fdb547fa0ad8d022f05e8d4bba7ccf5c581835fb4531335d1854f2e50d7abbff08d8d4f20f19744a5bcffc07edafaf62e6dd336e5d3594a3c6db64747dd6e56fff2b7b25abb00ba8e1caed467ccd7b4af89169434adf7ad53f333e5fb22605fd3bea64a7f2bf60118fb2c41b3d76669f5db55533bfe03fb29fde675bafff67ddafbf40f7c09b2cc3c2f6fb89c92ac86757b8326b48701768d16ea0e032b40663e2334e3f5f2c1438ad69132d30ebe375861a4e06b0aa002b9d70a95f642dd219b7d85378ab6eb23f1519b7dea0c1039d96faacfaa0d4d8c582cffced0a4faff878663fcf12ab1353fd2d05e771ada0b758701409350e571d0f317de28d6669f85f10b6f14b5df5780f0d163e6f12e337d8569a3334bb8f42f0f8cf8e334e1441793650788e85349e676c2d8d91e6af6b199c3ca94075f6eb731889529dadadaa8eb975dd47bacc7cc6800b2cb596a6fffb98da10f76046064a4b1cf12646492eb3357aacc63b1237f2b4bd7af5da7331f9ea36dda26ff3e3f0df40d506fef5be6764ac0c1ae761bf38d7504a1b713ed8bd2c06f8ffba27dfd585e5eb631f5b1b78fd1e1d7bb7dc9e4347affd943d1ad28d19e266a7fa99d064e44b5fe5ada091f0953eb0767dcc781d12f4ff61d394cd11303a45f0f29216a1b3967babfa7876398bd364bdbb44dc19783d4f9e74f7d9a86d8a92d1e9bdbe050ed46fd98563a9a0060243e8acda42a1445a83003a3bea5ec12500242dd6153796451610a1bc390b69ab63292cebc998e254c4e4df39970b1ca50fa6a9e65af3a63d1f0967eb0faabb78b2cecfd71185764511e8790a93e7d112b6b1f56cced878f1e33313ae661bb7f00a031ad072d6bc4e01f7a68e1874cb2a50b5fadd27b375bebc2b49ab65da5de179f93d3a844b45e2ca2b9b999d25f2e50d7379dd4f377bb66356ab981f74fd1f2ad2c6ddddbe232b69eff6e1cb854d672bab65dfd66957a4f442be5636787e8f0ebdd3e2b535b35b0510b9f7af7548591a3ffb8c961b2089697ef54ec1af8fa2b1b53ad7fbb4ef48088f61035eddb4b631f5fa8f493c598464695190769fb049e8846f4eff3d3dccc75cde303e3b533a2531a59a81fe3661c18511653b32913634c8c4fc0c870c1438a167b2eaf6627a7a6990c8322b80c5ed184e57659e5dda2207a7911cd28d3ffa5ec12b33f5686d435ad711c580c2d6b9fb57dd178b9af5852f1cc9ff6d6cc80d36fae534f5b339b6e89e8ca9d757aeb5a33d176ed8c8bb33d5c863269b140bb6b3ee34c8f1ccd929531ade5bbba43a8acce0dcc64d45e36263a99a54454cb67d4782c0da763cfd163d09f04f923594a7c20a619ad4c2ba3fd8d4f1afd77e638d4a0699d98d6e9c9b35e2c425f2b105007061c9b7364da4a2abf31abb5bdc9db0eda0bf638ede454f949a06a9099cf981855d79c9877d07830af9a59d7599a598f3238d9678a7f82b16a2e5699cc55334a302d4fd31a9f40c1d714f313c1629fb4a6b5dab152bdae476b2af6a91abbeb6b864af420e2356aa0a3ff3aa1ff30976179c9f7599ae87f5d9eda1d3cdb436d9c1979bfa4e2f8c0715abe7347582b05dadae8a3331f51ebf3ad648dcffa0feca7ed7bf7999acec60cc3c0c16b668da6338e95e178f14f23b61e68a5d14f2e50eb0b9a864f1c52a0dbc1d28cad075a299cba5a17a6ed54ccf1639171b8da1d861e6765d9a76b73ab1dc635016f3c5a9f6fa52b9f2729e1f3f92827fb06cc80e1f26618af69289df3f886cc81690d8c30121f012f4eb89954d91a0a1a33eb7153cc680c8b5279555b84a67d4b3033a8ce0c8b5a3975a6dcbe839da9d99429bfdede487cd46e979e5fb747bf8e6af9ccbcc49b43437ff5fe307f9fa9d63f341cd3fa9d85691c44ed737cf3c8682f72b21f5804306f1e67f2b4eff56275d756ad2953d8048dc9b5ef8feffecd2d0d7c7848b24c57dc81eb6e2ee95402964a92d10a878ee9272d066f00ca66f53065e354f0f703c599f6bcd86eae5a93a83d4e1d6be1307720513b43abe5099159db04c0a9cf703db3b659d789a272269ede5e6c3e8718caa7a4ebd0dee862011194372d01c86d98fb935a2942496ad7359c430cdecffce536361183b9beb06aae4f8c69c71e89bf5652ad4cebb59c08668af6f8b4d5617971ec9a1c08d5bd21817198b57409ccfe66d650537f4717edf5faf3e67e1455fe7d1abc2171e60f40d86137a071fcdc99f61131ac35d5c2b45ecb093d9a2cf5590f6386a7325cbb9524c0634a11c6e3f683335eb11a274a8c53afd181d41d4049f2c75be8cc1f80968b29eeb859cbbb32edc348b90d4dc3a6f22e8ebb0b99d68d411597684ca058deab21db3ef8fdc8acb1993636efa11d03c6e625181cfc5d828e7b461ccab58cb1cb91938707ebbde0323aa4e14cd908804d465be11d6fdaf4bb645a91ef42f8e3f25a37369f93665aaea3c84c14997ae1fca5a196b1aae61ebc91036fed41e79cbf44c48fd3e6c18d1284af0254d4a4036501baecc1690b8c76cb62bf924a00add8f385a7b06b995626eeedf8668fe5409c7e80cbb4b57d472236cf8ea3c3452bf3185a04fd79f7fa6d3358c790e5c5c1603a07bac89f79d24ecb9b91160d1dbe6a3f5b667594ddc5b47c4dcbc2c88cd8d9342f4cfb28342d0f336b9bd2670d030931cdefb8daad38d8d89ce30c71d3a64ca72df2ebb3b52fb92ade4d9a36500452c63366d01cddb87f393c2570a202fc7eec0a4dcb409953dd2d0508c7d1b9cc547558bee67d284c6bd1d4d67cfef3ee8eb79b342d8f39d41d20ac56f3b9adb2076f3c069a56b03c0b5b2e8a6ff027105178ca3ea3008044ce8c099cc6653aad0bd3f25015e8d86ed1b442a788c178c2940c8e0e80152f3531da2ed3b4baddb2670e453f8955fbc985671708ef74926cf2bacb2bf39bbbd4f9931f399e5c387e0ee0952ffefe3e35974f75ca9c7cd0d1373c0d637db157f274fad59f55eaebba9cc1cdff76123db842ca4f7ba8b757ec4cdbfe8fafd0d603f171981832ef6f65dd3fe133751cbc0320cea8d7693ff3fd1d60ef53445efdc9bfe70add7ddf79bf74c5835b58ab7901f49abc30add0ee2e2267a61598c9f5d2b4a2f67a612663f91ce72c9e54fb0c6c1963dbc3d5b06b80931f05c6b57b1f9bd7c259bcfae9dc34729b96278ef1feeaff98bc5d14d21e6e510661a7956c47464bb9d51381cbde01a70921a16995a4fc073444bea8ced2e6bc78bb57891099617f118819ed801657758a0af0e2d2a38b056e94c11f0746170bb672641e700f5f82f1b243d1c3f710944d7107f0f2c4709af129c3c982ba6b5aa6c3b88f8f0c532b7a1cdd6575aeef8ee3312053733ae4177db2a104041c9ebcbafd664d4bdebf30a36b1c9924fb3d04ffbe1ecaf7896b51274deb15750de9a6698ddf8f10d6b40c4cde2ee0d7d7f8a7984d9ad670ff5aff789dfe7def30b79cf2ec02ed7fbb93025fe7895e3948f4659ed2ff39485bf7d2b4ecb0c6509e4d53fa9dae8ad6bcbf039c798a88a57945b5a91517005c12a8cf75352b8243e99c14d10a45250c28f5e688cae1a13a31ad75156ed4ac4c26318cdfe00d39bb591a91c54081f139c77a276f03d6dd685eb1a8b2e3b24ebbbbf46d8c9efaedf0c4d0c79b59300249cd795e3b81209264bf9e28fac6c88ad67daf5e9137b06ed7ebfa3724ac7649949bbc5d30ed4fe569dfc0f81c94a4f6a2a3b21fd7c1f1266f6bfb68fde7b5f2cae50cc26a9df6f142d3b24ab2fa373e5a2ea62a7f9b83ab6d9c3406130bdab7bb9c92ecf70fbc6ac2067ebfd191a9bcfcad05de61c74052ee9dbcd0abcd063e91e89a4145fdb4a1287a95040d7c32502c23aadac54b7c5514fd714d83ed868169e0ee45f1026531ffb01856d904f70d48031b6844e90299b54dc73341b2585378a4814f247aaf005a1cd2cb9e05fdec4f83591be805eb531180c9db5a5c2f3c95b19d830fabd54d128dbf81dbc05af1ff246a91a21391b6b20000000049454e44ae426082</data>
+        <data format="PNG" length="3586">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade00000dc949444154789ced5d5f681cc71dfe1d38452ea29c4b1fac108a149a80540839557938b5095e9197ca72484ec983ad360f77968ba5f625720245b68372f183235fc0ad94a2546730951210921fe4930aa2928bcc296057a7a2723238702a6a390551ce429893380c5f1ff6766fffccecceec9d1c39be79f9ecdbf9f39bd9df7cfbcd6f675604221a25a28a21006c0000902c220a40c5dba9e2538b653b68e27e1600101899075d026860928bca38d0379706007cdb1dafe2938b9e0aa6b75402f5c712a035802e4d4aa33f0384a75175e02a4aa35c0100ca7577469545651cc8eee4ab12a28a42289411059511bd30aa0c4617d355c7ada22bba66486fe511885796599d3030325f950c557444c70cd802fc99fd67582bfa6389aae356918bdc0be9ad3cfc310f8c399c00c5011a9907c581f61bcb0080c93535ca205a8ffff264f98e0b60686414e1b33d0877f714318cf0d91e0cc6060100d96cf6c991240012d3959dd0f99d3c066340b8bb07c1630ac2dd61eff5ef837d2cac0cc35e560dc50e1c533283c7c2b8c80358051a5b0248b764d0d81240a025c8fd7fff40f48960f6fe81a86e7fc5ec9d836d3cfadeeff33491f7c53e06da675e01d20c2b92c2b3cb9e34ae17c60d9fed31dd88f68e10864646010063e393400c503adaf5eb8196209653cb079f7135fb2be510303b6ca0258870774f594c5b51fb3868fb41c94b6ad0acbbc306279265695ce57a52dca16066582cf10710f7011480c46cc2b17edc47f937c2ad7c19f523ebc13e00c1638aed09840d97f17a0cf6b9e5f78d12518488e2441401e0fb688ae85027d123310c075214ff6533f152e4af29bab6d22c5c1f0fc74e6c52d74bcffae2467b19984a2de3f499dfd21eed510dd5505069a5e1c1986b391302e83cd545eb5fafebf518b15d69a7deee0835bcf8bcaff59882bd877b54535b434bb71628eef3f98cf52d2c2671fee279da7eb84d81c6466afbcb173ecdcee62f9ba9f56e1bed3ddc33d51f686ca4c0cb013af7de39737d31a0e9cb66aaa11abaf2e9156a7bede7bee19151c4ff1cd7cbfb8f1ea1ed6f1ed01eedd1da528ae2df33dba3a16637ab7f6b77536abb00da4e1cd7eb33e6aba9ada125658136bb37a9eed9e27d11b0afa6b646efaf6e1f80e1cfe3347b7396d6bf5937b5e33f7a8416de9aa1dd7776e9f00fbeef8b9365e67979c3e5946435acdb1b34a13d0cb06bb4f68e10b00124179342335e2b1f3ca6a81d29326ddffb7d3a23055f57803c907d3da7b7d7ded16eb32ff766de767d303664b76f0e089fed31d567d5862646cc157f676852edfffd0351fe7815d89a1f4b00f2ea389bec035409551c072d7feecd7c79f659183ff7665efd7d03089d3c651eef22d3eb4c1b995ec6b57f7960c41f2d10ceb43159b697883e93646e278c5eeca43a1f9b39ac4cd9f44ab38d41ac4cd1d8d8486dbf68a3ae539d664603905a495173f3cf6c0cddd412809191863f8f93914966a6a74acc63b163ed6e8a666eced0858f2ed11eed91bfd64fbdddbdd4d5f5b6b99d02d0d4da6c63bee19620b47622dd11eafdcd695fa4bb072b2b2b36a63ef5ce293afe46876f7c7c125dffeca4c87684e8500d35bfdc4cbd67226a7f2ded844e84a8e1c30beee3c0e89727fb4e1ca7c8995ed2aeb72bedd43878c9747fcf0f44317b7396f6688f82af04a9f54f9ff9540d51282f1eabed45b0a5adca31ad743401c0606c08b8211645d0998151df726a192800ed1d215379a4a033858d61485d4d5b194963de744b066313937c265c2d3194b69a67da3b67d1f0967eb0faabb58b14ecfd711857a4501c8776537dda2256d63edc37b71f3a79cac4e85884edfe0180cab41eb4ac1183bfefa4a56798644b57be5aa7f76f35548469556dbb4e5d2f3d2fa7518968339b455d5d1d2ddc5ea2b6af5ba9f36f76cd6ad472bd1f9ca395bb29da7eb8cd656c2dff831870ada8e5346dbbfef53a759d89e8e5a317fbe9f81b1d3e2b535b35b0510b9f7bef9ccec891bfdfe23059182b2bf774bb7afff1958da936bfd9247a444487886a6a0fd3f02757f47eb218d3c8a832e3206d9fc013d188fe5a3fcd4fcfa81e1f18299f119dd2e052e51837edc088b298984d98186374641446860b1e53541d5d5ccd8e4d4c3219065970195cd784c57659e5dda2205a7911cd28d3ffe5d432b33f5686d434ad711c580c2d6b9fb57dd178b92fbb93c7b37f3c5c36034ebeb5499d8d756cba25a2a97b9bf4f6cd3aa2bdf21917173bb90c65d2628166d77cc6991e3e99222b635acbb775b4435f9d1b98c9a8bd6c4c743645f1889acfa8f1581a4ec3ce93a7a03d09d64ea428fea19866b432ad8cf6373e69b4df99e35086a675625aa727cf66360b6dad404005187078de9169f5547c63566e7b63ab0eda0bf638edd844f149905721b9983431aaa639b1e8a0f1605e35b3aeb334b3166570b2cf14ff0463d59c2d3199ab6694605a9ea6353e8182af2b6606b6d827ad69ad766c94ae6bd11addbe3c805c69cda0470fc25ea3061afa67083dc7b90ccb4bbecf1788fed7e6a9ddbe8b9dd4c89991bb3b799cee3d4d2bf7ee096ba54063237d7ce1636a78a181acf159ffd123b4f77097a9e96ccc300034dd346b348d71ac0cc78b7f1ab1e168030d7d7a851a5e54357cfc9802cd0e96666c38da40a1c48d8a306dab628e1f8b8cc38d8e10b4382bcb3e4d9b5bed30ae0978e3d1f042034d7d314e719fcf4759d93760060c1537c3784dfd0b698f6fc81c98d6c00883b141f0e284b801b6864291998b7153cca90c8b4271559b83aa7d0b3033a8c60caba57283b141473b13b30953fe52b921bb5d5a7ecd1eed3a4ae5928b126f0e0dfdd5fac3fcdd6057ff4054ed770aa67110b5cff1cd23a3bdf0d91e60156a14c1909f3ced7bbd5adab5556e4a6672a061b9f6fdb183bfb9a58afb8724cb7479c075379774da013205c9688543c7b493167d7380922f1da6ac9e0afe6ea038d35e16dbcd556e12b5c7a963f51ce60ec4cb67e87c71422437720038f519ae273772159d2879cec4d3da8b2ea61145f1947405da1bba934118c54d4b00d25be6fe24ee67a18cabd7559c4714decffca5b77288c25c5fc8529f18d30e3f167fd553b94cebb59c08a673f6f8b4d5617971ecb21c08a5bd21811198b5f40e98fd4d6ea0acfe0eddb1d7ebcf98fb9177b85f7d731267fe00841c76031ac7cf9d691f13c35a53394cebb59cd0a3c9529ff530666822c9b55b1907784c29c278dc7e70c62b8af2fa1be5d46b74a07c0150c6f9e32d74e60f40fdd50477dcace55d99763f527a4bd5b0893517c73d804cebc6a08a4b3426902beed5906d1ffc7e2437d84c1b5df4d08e01a38b120c0efe2e41c73d230ee5ea87d9e5c8c9c38385fd70d9a2431ace940d02c831167721b0ed72d3a6df26d38a7c17c21f93d7bad1c5b434d3721d4566a2c8d40be72f0dd50f973477df5c1abcb5075d72fe12113f4e9b01374a10ba01504e950eb406d0750f4e9b65b45b14fb7ada0168c39e2f348103cbb432716fc7377b2c07e2f4035ca62def3b12d145761c1d2e5a99c7d022e8cfb8d76f9bc11ab65b5e1cf42da44157f9334fda697933d2a2a14337ec67cbac8e72b09896af6959189e163b9be685691f87a6e5617223277dd6301017d3fc8eab5dddc186e71d67889b36653a6d8e5f9fad7dc955f141d2b4811c90309e3183eae8c6fdcba109811315e0f7e340685a06ca9ceaaecf42388ece65a692c3f235efbe30ad45535bf3f92fbb3bde41d2b43ce6c817cc9add6d95dd37f704685ac1f22cacbf2abec19f4044a109fb8c0200123933e6f16dae1bd38ac4eb0e22d31a35add02962309e303b064707c08a979a18ed80695acd6ed93387a29fc42affe4c2734b84775b493679dde595fcf5036afdf10f1d4f2e9cbe04f0ca677fb74b75c5539d32271f34f40d4cc2585ff4d5353affda4ff5fadaae2771ebbfad448fa648f949277575899d693bf2c9146d3f121f87d17ef3fe56d6fd133e53c7c17b00628c7a9df633ef1680c3cf1079f527ffa1297af081f37e69dd83eb59ab7941e67b5c4c2bb4bb8bc89969056672a534ada8bd5e98c9583ecd398b27d53e03eb87d9f67035ec06e0e4478111f5de4717d57016af7eba34896cdef2c431de5fed1f63ab5921ede1166510765ac97664b4945b3d61b8ec1d709a10129a561997ff8086c817d559da9c176ff72a11c2d3ec2f0231a31d50e3aa4e51015e5c7ae84e861b65f0c780a13b195b39320fb8872fc1e43c78ac87ef2128797107f0f2c4709af109c3c9828a6b5aa6c3b88f8f0c532b5a1cdd6575aeed8ee3312053733ae4177db2610708383c7935fbcd9a96bc7f6146d3383249f67b08feda4e5aeb16d7a24e9ad62b6a1ad24dd31abf1f21ac691938be9ac1af6ef24f319b34ade1fe35fc6186fefdf038b79cf2dc121d79b79502b7d7885e6d22babd460bff69a2ed870bb4e2b0c6509e5ba08577db74adb95b002e3c43c4d2bca2dad48a4b00ae09d4e7ba9a15c1fe85b414d10a45250c28f5e6888ae1a10a31ad75156ed4ac4c26318c5fdf9c9cdd2c8dc862a0c0c8bc63bd63ab8075379a57cc831d97cd3bf889b68dd153bf1d9e18da78330b8621a9392fab27104492ecd71345df1859d1baefd52bf206d6ed7a45ff8684d52e897263ab19d3fe549ef60d8ccc4319575f74e8fb711d1c6f6c55dd47ebbfac9657ae27114285f6f142d5b2ca78e96f7cd45f4de87f9b83ab6d9c340613b3eab7bb9c92ecf70fbc6ac22a7eb7d191a9bcfcad05de61c7c0b8dc3b79a1579b557c2ad13d232aa70d45d1ab24a8e2d381621951d22e5ee2aba2e88fa91aec200c4c150f2e8a17288af9fd6258c5e10d4815ab6844e902c98d9ce39920592c2b3c52c5a712bd5700350ee965cf8276f6a7caac55f48295a908c0d8aa1ad70b4d246de7e043286d92a8fe0ddc2a968bff073b2dade7ee67c12d0000000049454e44ae426082</data>
     </image>
 </images>
 <connections>
@@ -1170,6 +1189,12 @@ Montreal, Quebec H2T 1S6&lt;/p&gt;</string>
         <receiver>ConfigurationPanel</receiver>
         <slot>useStunSlot(int)</slot>
     </connection>
+    <connection>
+        <sender>buttonApplySkin</sender>
+        <signal>clicked()</signal>
+        <receiver>ConfigurationPanel</receiver>
+        <slot>applySkinSlot()</slot>
+    </connection>
 </connections>
 <tabstops>
     <tabstop>fullName</tabstop>
@@ -1213,6 +1238,7 @@ Montreal, Quebec H2T 1S6&lt;/p&gt;</string>
     <slot>saveSlot()</slot>
     <slot>changeTabSlot()</slot>
     <slot>useStunSlot( int id )</slot>
+    <slot>applySkinSlot()</slot>
 </slots>
 <functions>
     <function access="private" specifier="non virtual">init()</function>
diff --git a/src/configurationpanel.ui.h b/src/configurationpanel.ui.h
index 2e82b7575caede234eacd4df448190f7425f6e8c..981ffaa0f7ea00f438ae210195ed5f34735e965a 100644
--- a/src/configurationpanel.ui.h
+++ b/src/configurationpanel.ui.h
@@ -226,3 +226,9 @@ void ConfigurationPanel::useStunSlot(int id)
 {
     Config::set("Signalisations", "STUN.useStun", id);
 }
+
+
+void ConfigurationPanel::applySkinSlot()
+{
+	Config::set("Preferences", "Themes.skinChoice", SkinChoice->currentText());
+}
diff --git a/src/configurationpanelui.cpp b/src/configurationpanelui.cpp
index aafccf5a27a4de7ff608668179c8b9b4e0360ef6..4661df4d23894a52214c32f28d781bca642a1b0b 100644
--- a/src/configurationpanelui.cpp
+++ b/src/configurationpanelui.cpp
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form implementation generated from reading ui file 'configurationpanel.ui'
 **
-** Created: Mon Jan 31 18:13:29 2005
+** Created: Wed Feb 2 17:25:45 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
@@ -34,304 +34,302 @@ static const unsigned char image0_data[] = {
     0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
     0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x30,
     0x08, 0x06, 0x00, 0x00, 0x00, 0x63, 0x57, 0xfa, 0xde, 0x00, 0x00, 0x0d,
-    0xda, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x5f, 0x68, 0x5b,
-    0xd7, 0x1d, 0xfe, 0x09, 0x52, 0x70, 0x46, 0x56, 0x94, 0xb1, 0x87, 0xb8,
-    0x94, 0x61, 0x97, 0xb5, 0xe0, 0x0c, 0x4a, 0xe5, 0xb9, 0x0f, 0xf2, 0xd6,
-    0x92, 0x6b, 0xfa, 0x32, 0xc5, 0x29, 0xad, 0xdc, 0x3e, 0x24, 0xde, 0xfa,
-    0x20, 0xc5, 0x19, 0xb1, 0xb7, 0x87, 0xd5, 0x69, 0x5f, 0x9c, 0xa4, 0xb8,
-    0x6a, 0x1e, 0x52, 0x47, 0x85, 0x6c, 0x76, 0x87, 0x3b, 0x2b, 0x10, 0x66,
-    0xb5, 0x60, 0x9c, 0x3c, 0x38, 0x8a, 0x07, 0x61, 0x56, 0x86, 0x8b, 0x5c,
-    0x70, 0x6a, 0x79, 0x64, 0x48, 0x01, 0x17, 0xe4, 0xe1, 0x0d, 0xb9, 0x98,
-    0xe1, 0x18, 0x11, 0x6e, 0x8c, 0x09, 0x7c, 0x7b, 0xb8, 0xba, 0xd2, 0xfd,
-    0x73, 0xce, 0xbd, 0xe7, 0x5c, 0x29, 0xa9, 0xd3, 0xe8, 0xbc, 0x7c, 0x89,
-    0xee, 0xf9, 0xf3, 0x3b, 0xe7, 0xfe, 0xce, 0x77, 0xbf, 0xf3, 0xbb, 0xe7,
-    0x5c, 0x13, 0x88, 0x68, 0x82, 0x88, 0xea, 0x86, 0x00, 0xb0, 0x06, 0x00,
-    0x40, 0xa6, 0x8c, 0xd8, 0x01, 0xea, 0xde, 0x4e, 0x03, 0x9f, 0x58, 0xac,
-    0xd9, 0x41, 0x53, 0x2b, 0x45, 0x00, 0x40, 0x60, 0x7c, 0x0e, 0x74, 0x0e,
-    0xa0, 0xe1, 0x69, 0x2e, 0x2a, 0x49, 0x60, 0xf0, 0x46, 0x0e, 0x00, 0xf0,
-    0x5d, 0x77, 0xbc, 0x81, 0x8f, 0x2f, 0x7a, 0x2a, 0x98, 0xdb, 0x00, 0x54,
-    0x00, 0xfe, 0x78, 0x0a, 0x94, 0x05, 0xe8, 0xdc, 0xb4, 0x34, 0xfa, 0xf3,
-    0x40, 0x64, 0x06, 0x0d, 0x07, 0x6e, 0xa0, 0x34, 0xca, 0x15, 0x00, 0xa0,
-    0x5c, 0x76, 0x67, 0x54, 0x59, 0x54, 0x92, 0x40, 0xb1, 0xa4, 0x36, 0x24,
-    0x44, 0x03, 0x85, 0x50, 0x28, 0x23, 0x76, 0x34, 0x46, 0xf4, 0xc2, 0xa8,
-    0x32, 0x18, 0x9b, 0xcf, 0x35, 0x1c, 0xb7, 0x81, 0xae, 0xe8, 0x9a, 0x21,
-    0xb7, 0xa1, 0x22, 0x90, 0xa8, 0x2f, 0xb3, 0x3a, 0x61, 0x60, 0x7c, 0xae,
-    0x21, 0x19, 0x1a, 0xe8, 0x88, 0x8e, 0x19, 0xb0, 0x01, 0xf8, 0xf3, 0x0f,
-    0x9f, 0x61, 0xad, 0xe8, 0x8f, 0xa7, 0x1a, 0x8e, 0xdb, 0x40, 0x2e, 0x72,
-    0x2f, 0xe4, 0x36, 0x54, 0xf8, 0xe3, 0x1e, 0x18, 0x73, 0x2c, 0x05, 0x4a,
-    0x00, 0x34, 0x3e, 0x07, 0x4a, 0x00, 0xa1, 0xab, 0x4b, 0x00, 0x80, 0xe9,
-    0xbc, 0x16, 0x65, 0x10, 0xad, 0xc7, 0x7f, 0x7e, 0xba, 0x76, 0xc7, 0x05,
-    0x30, 0x3a, 0x3e, 0x81, 0xc8, 0xc9, 0x7e, 0x44, 0xfa, 0xfa, 0xcb, 0x18,
-    0x41, 0xe4, 0x64, 0x3f, 0x46, 0xe2, 0x23, 0x00, 0x80, 0x62, 0xb1, 0xf8,
-    0xf8, 0x48, 0x12, 0x00, 0xa9, 0x99, 0xfa, 0x4e, 0x68, 0xb5, 0xa4, 0x62,
-    0x24, 0x0e, 0x44, 0xfa, 0xfa, 0x11, 0x3c, 0xa4, 0x20, 0xd2, 0x17, 0xf1,
-    0x5e, 0xff, 0x43, 0xb0, 0x8f, 0x85, 0xf5, 0x61, 0xd8, 0xf3, 0x9a, 0xa1,
-    0x28, 0xc1, 0x31, 0x65, 0x0a, 0x78, 0x24, 0x8c, 0x0b, 0x15, 0xc0, 0x22,
-    0xd0, 0xd6, 0x11, 0x40, 0xa6, 0x63, 0x09, 0x6d, 0x1d, 0x01, 0x04, 0x3a,
-    0x82, 0xdc, 0xff, 0x0f, 0x0d, 0xc7, 0x1e, 0x0b, 0x66, 0x1f, 0x1a, 0x8e,
-    0x55, 0xec, 0xaf, 0x9b, 0xbd, 0x33, 0xb0, 0x8d, 0xc7, 0xe0, 0x7b, 0x83,
-    0x9e, 0x26, 0xf2, 0x43, 0xb1, 0x8f, 0x81, 0xf6, 0x99, 0xb7, 0x03, 0x69,
-    0x86, 0x15, 0x49, 0x91, 0xd9, 0x25, 0x4f, 0x1a, 0xd7, 0x0b, 0xe3, 0x46,
-    0x4e, 0xf6, 0x9b, 0x6e, 0x44, 0xa8, 0x3b, 0x8c, 0xd1, 0xf1, 0x09, 0x00,
-    0xc0, 0x64, 0x72, 0x1a, 0x88, 0x03, 0x4a, 0x77, 0xa8, 0x72, 0x3d, 0xd0,
-    0x11, 0xc4, 0x52, 0x76, 0x69, 0xf7, 0x33, 0xae, 0x6e, 0x7f, 0xbd, 0x1c,
-    0x02, 0x66, 0x87, 0x0d, 0x74, 0x04, 0x11, 0xe9, 0xeb, 0xaf, 0x89, 0x69,
-    0xeb, 0x6a, 0x1f, 0x07, 0x6d, 0x3f, 0x28, 0x9b, 0x92, 0x1a, 0xb4, 0xe0,
-    0xee, 0xb0, 0xc1, 0xa9, 0x4c, 0x4d, 0x1a, 0x57, 0xb9, 0x9c, 0x11, 0x77,
-    0x28, 0x98, 0x19, 0x16, 0x69, 0xfe, 0x00, 0x62, 0x05, 0x40, 0x09, 0x48,
-    0xcd, 0xa6, 0x1c, 0xeb, 0xc7, 0x0a, 0x6a, 0xbf, 0x11, 0x6e, 0xe5, 0x6b,
-    0xa8, 0x1f, 0x45, 0x0f, 0xf6, 0x01, 0x08, 0x1e, 0x52, 0x6c, 0x4f, 0x20,
-    0xac, 0xb8, 0x8c, 0xd7, 0x23, 0xb0, 0xcf, 0x2d, 0xbf, 0x6f, 0x82, 0x88,
-    0xa2, 0x44, 0x94, 0x20, 0xa2, 0x28, 0x00, 0xdf, 0x87, 0x57, 0x88, 0xf6,
-    0xf4, 0x10, 0x3d, 0x10, 0xc3, 0x48, 0x20, 0x4b, 0x89, 0x5f, 0xb5, 0x13,
-    0x2f, 0x45, 0xff, 0x96, 0xa5, 0x4b, 0xcb, 0xed, 0xc2, 0xf5, 0xf1, 0x70,
-    0xf2, 0xc8, 0x3a, 0xf5, 0xbe, 0xf8, 0x8c, 0x2f, 0x61, 0xb4, 0x97, 0x81,
-    0xd9, 0xec, 0x12, 0x8e, 0x9f, 0xf8, 0x1d, 0x6d, 0xd3, 0x36, 0x35, 0x51,
-    0x13, 0x05, 0x95, 0x4e, 0x1a, 0x1b, 0x89, 0xbb, 0x96, 0x33, 0x21, 0x80,
-    0x9e, 0x63, 0xbd, 0xb4, 0xfa, 0xcd, 0x6a, 0xa5, 0x1e, 0x23, 0x86, 0x94,
-    0x10, 0x0d, 0xf4, 0x45, 0xa9, 0xf5, 0x85, 0xe7, 0x7c, 0x9d, 0x87, 0x14,
-    0x6c, 0xdf, 0xdb, 0xa6, 0xa6, 0x7d, 0x4d, 0xb4, 0x70, 0x33, 0x4d, 0x09,
-    0x9f, 0xcf, 0x67, 0xac, 0x2f, 0x3d, 0x9f, 0xc1, 0xe9, 0xb3, 0xa7, 0x69,
-    0xeb, 0xde, 0x16, 0x05, 0xda, 0xda, 0xa8, 0xeb, 0xaf, 0x9f, 0xfb, 0x74,
-    0x3b, 0xdb, 0xbf, 0x68, 0xa7, 0xce, 0x5b, 0x5d, 0xb4, 0x7d, 0x6f, 0xdb,
-    0x54, 0x7f, 0xa0, 0xad, 0x8d, 0x02, 0x2f, 0x05, 0xe8, 0xd4, 0xbb, 0xa7,
-    0xcc, 0xf5, 0xc5, 0x81, 0x83, 0x5f, 0xb4, 0x53, 0x13, 0x35, 0xd1, 0x85,
-    0x4f, 0x2e, 0x50, 0xd7, 0xab, 0xbf, 0xf0, 0x8d, 0x8d, 0x4f, 0x20, 0xf1,
-    0x97, 0x44, 0xa5, 0xbc, 0xff, 0xc0, 0x7e, 0xda, 0xfa, 0xf6, 0x2e, 0x6d,
-    0xd3, 0x36, 0xe5, 0xd3, 0x59, 0x4a, 0x3c, 0x6d, 0xb6, 0x47, 0x47, 0xdd,
-    0x6e, 0x56, 0xff, 0xf2, 0xb7, 0xb2, 0x5a, 0xbb, 0x00, 0xba, 0x8e, 0x1c,
-    0xae, 0xd4, 0x67, 0xcc, 0xd7, 0xb4, 0xaf, 0x89, 0x16, 0x94, 0x34, 0xad,
-    0xf7, 0xad, 0x53, 0xf3, 0x33, 0xe5, 0xfb, 0x22, 0x60, 0x5f, 0xd3, 0xbe,
-    0xa6, 0x4a, 0x7f, 0x2b, 0xf6, 0x01, 0x18, 0xfb, 0x2c, 0x41, 0xb3, 0xd7,
-    0x66, 0x69, 0xf5, 0xdb, 0x55, 0x53, 0x3b, 0xfe, 0x03, 0xfb, 0x29, 0xfd,
-    0xe6, 0x75, 0xba, 0xff, 0xf6, 0x7d, 0xda, 0xfb, 0xf4, 0x0f, 0x7c, 0x09,
-    0xb2, 0xcc, 0x3c, 0x2f, 0x6f, 0xb8, 0x9c, 0x92, 0xac, 0x86, 0x75, 0x7b,
-    0x83, 0x26, 0xb4, 0x87, 0x01, 0x76, 0x8d, 0x16, 0xea, 0x0e, 0x03, 0x2b,
-    0x40, 0x66, 0x3e, 0x23, 0x34, 0xe3, 0xf5, 0xf2, 0xc1, 0x43, 0x8a, 0xd6,
-    0x91, 0x32, 0xd3, 0x0e, 0xbe, 0x37, 0x58, 0x61, 0xa4, 0xe0, 0x6b, 0x0a,
-    0xa0, 0x02, 0xb9, 0xd7, 0x0a, 0x95, 0xf6, 0x42, 0xdd, 0x21, 0x9b, 0x7d,
-    0x85, 0x37, 0x8a, 0xb6, 0xeb, 0x23, 0xf1, 0x51, 0x9b, 0x7d, 0xea, 0x0c,
-    0x10, 0x39, 0xd9, 0x6f, 0xaa, 0xcf, 0xaa, 0x0d, 0x4d, 0x8c, 0x58, 0x2c,
-    0xff, 0xce, 0xd0, 0xa4, 0xfa, 0xff, 0x87, 0x86, 0x63, 0xfc, 0xf1, 0x2a,
-    0xb1, 0x35, 0x3f, 0xd2, 0xd0, 0x5e, 0x77, 0x1a, 0xda, 0x0b, 0x75, 0x87,
-    0x01, 0x40, 0x93, 0x50, 0xe5, 0x71, 0xd0, 0xf3, 0x17, 0xde, 0x28, 0xd6,
-    0x66, 0x9f, 0x85, 0xf1, 0x0b, 0x6f, 0x14, 0xb5, 0xdf, 0x57, 0x80, 0xf0,
-    0xd1, 0x63, 0xe6, 0xf1, 0x2e, 0x33, 0x7d, 0x85, 0x69, 0xa3, 0x33, 0x4b,
-    0xb8, 0xf4, 0x2f, 0x0f, 0x8c, 0xf8, 0xe3, 0x34, 0xe1, 0x44, 0x17, 0x93,
-    0x65, 0x07, 0x88, 0xe8, 0x53, 0x49, 0xe6, 0x76, 0xc2, 0xd8, 0xd9, 0x1e,
-    0x6a, 0xf6, 0xb1, 0x99, 0xc3, 0xca, 0x94, 0x07, 0x5f, 0x6e, 0xb7, 0x31,
-    0x88, 0x95, 0x29, 0xda, 0xda, 0xda, 0xa8, 0xeb, 0x97, 0x5d, 0xd4, 0x7b,
-    0xac, 0xc7, 0xcc, 0x68, 0x00, 0xb2, 0xcb, 0x59, 0x6a, 0x6f, 0xff, 0xb9,
-    0x8d, 0xa1, 0x0f, 0x76, 0x04, 0x60, 0x64, 0xa4, 0xb1, 0xcf, 0x12, 0x64,
-    0x64, 0x92, 0xeb, 0x33, 0x57, 0xaa, 0xcc, 0x63, 0xb1, 0x23, 0x7f, 0x2b,
-    0x4b, 0xd7, 0xaf, 0x5d, 0xa7, 0x33, 0x1f, 0x9e, 0xa3, 0x6d, 0xda, 0x26,
-    0xff, 0x3e, 0x3f, 0x0d, 0xf4, 0x0d, 0x50, 0x6f, 0xef, 0x5b, 0xe6, 0x76,
-    0x4a, 0xc0, 0xc1, 0xae, 0x76, 0x1b, 0xf3, 0x8d, 0x75, 0x04, 0xa1, 0xb7,
-    0x13, 0xed, 0x8b, 0xd2, 0xc0, 0x6f, 0x8f, 0xfb, 0xa2, 0x7d, 0xfd, 0x58,
-    0x5e, 0x5e, 0xb6, 0x31, 0xf5, 0xb1, 0xb7, 0x8f, 0xd1, 0xe1, 0xd7, 0xbb,
-    0x7d, 0xc9, 0xe4, 0x34, 0x7a, 0xff, 0xd9, 0x43, 0xd1, 0xad, 0x28, 0xd1,
-    0x9e, 0x26, 0x6a, 0x7f, 0xa9, 0x9d, 0x06, 0x4e, 0x44, 0xb5, 0xfe, 0x5a,
-    0xda, 0x09, 0x1f, 0x09, 0x53, 0xeb, 0x07, 0x67, 0xdc, 0xc7, 0x81, 0xd1,
-    0x2f, 0x4f, 0xf6, 0x1d, 0x39, 0x4c, 0xd1, 0x13, 0x03, 0xa4, 0x5f, 0x0f,
-    0x29, 0x21, 0x6a, 0x1b, 0x39, 0x67, 0xba, 0xbf, 0xa7, 0x87, 0x63, 0x98,
-    0xbd, 0x36, 0x4b, 0xdb, 0xb4, 0x4d, 0xc1, 0x97, 0x83, 0xd4, 0xf9, 0xe7,
-    0x4f, 0x7d, 0x9a, 0x86, 0xd8, 0xa9, 0x2d, 0x1e, 0x9b, 0xdb, 0xe0, 0x50,
-    0xed, 0x46, 0xfd, 0x98, 0x56, 0x3a, 0x9a, 0x00, 0x60, 0x24, 0x3e, 0x8a,
-    0xcd, 0xa4, 0x2a, 0x14, 0x45, 0xa8, 0x30, 0x03, 0xa3, 0xbe, 0xa5, 0xec,
-    0x12, 0x50, 0x02, 0x42, 0xdd, 0x61, 0x53, 0x79, 0x64, 0x51, 0x61, 0x0a,
-    0x1b, 0xc3, 0x90, 0xb6, 0x9a, 0xb6, 0x32, 0x92, 0xce, 0xbc, 0x99, 0x8e,
-    0x25, 0x4c, 0x4e, 0x4d, 0xf3, 0x99, 0x70, 0xb1, 0xca, 0x50, 0xfa, 0x6a,
-    0x9e, 0x65, 0xaf, 0x3a, 0x63, 0xd1, 0xf0, 0x96, 0x7e, 0xb0, 0xfa, 0xab,
-    0xb7, 0x8b, 0x2c, 0xec, 0xfd, 0x71, 0x18, 0x57, 0x64, 0x51, 0x1e, 0x87,
-    0x90, 0xa9, 0x3e, 0x7d, 0x11, 0x2b, 0x6b, 0x1f, 0x56, 0xcc, 0xed, 0x87,
-    0x8f, 0x1e, 0x33, 0x31, 0x3a, 0xe6, 0x61, 0xbb, 0x7f, 0x00, 0xa0, 0x31,
-    0xad, 0x07, 0x2d, 0x6b, 0xc4, 0xe0, 0x1f, 0x7a, 0x68, 0xe1, 0x87, 0x4c,
-    0xb2, 0xa5, 0x0b, 0x5f, 0xad, 0xd2, 0x7b, 0x37, 0x5b, 0xeb, 0xc2, 0xb4,
-    0x9a, 0xb6, 0x5d, 0xa5, 0xde, 0x17, 0x9f, 0x93, 0xd3, 0xa8, 0x44, 0xb4,
-    0x5e, 0x2c, 0xa2, 0xb9, 0xb9, 0x99, 0xd2, 0x5f, 0x2e, 0x50, 0xd7, 0x37,
-    0x9d, 0xd4, 0xf3, 0x77, 0xbb, 0x66, 0x35, 0x6a, 0xb9, 0x81, 0xf7, 0x4f,
-    0xd1, 0xf2, 0xad, 0x2c, 0x6d, 0xdd, 0xdb, 0xe2, 0x32, 0xb6, 0x9e, 0xff,
-    0x6e, 0x1c, 0xb8, 0x54, 0xd6, 0x72, 0xba, 0xb6, 0x5d, 0xfd, 0x66, 0x95,
-    0x7a, 0x4f, 0x44, 0x2b, 0xe5, 0x63, 0x67, 0x87, 0xe8, 0xf0, 0xeb, 0xdd,
-    0x3e, 0x2b, 0x53, 0x5b, 0x35, 0xb0, 0x51, 0x0b, 0x9f, 0x7a, 0xf7, 0x54,
-    0x85, 0x91, 0xa3, 0xff, 0xb8, 0xc9, 0x61, 0xb2, 0x08, 0x96, 0x97, 0xef,
-    0x54, 0xec, 0x1a, 0xf8, 0xfa, 0x2b, 0x1b, 0x53, 0xad, 0x7f, 0xbb, 0x4e,
-    0xf4, 0x80, 0x88, 0xf6, 0x10, 0x35, 0xed, 0xdb, 0x4b, 0x63, 0x1f, 0x5f,
-    0xa8, 0xf4, 0x93, 0xc5, 0x98, 0x46, 0x46, 0x95, 0x19, 0x07, 0x69, 0xfb,
-    0x04, 0x9e, 0x88, 0x46, 0xf4, 0xef, 0xf3, 0xd3, 0xdc, 0xcc, 0x75, 0xcd,
-    0xe3, 0x03, 0xe3, 0xb5, 0x33, 0xa2, 0x53, 0x1a, 0x59, 0xa8, 0x1f, 0xe3,
-    0x66, 0x1c, 0x18, 0x51, 0x16, 0x53, 0xb3, 0x29, 0x13, 0x63, 0x4c, 0x8c,
-    0x4f, 0xc0, 0xc8, 0x70, 0xc1, 0x43, 0x8a, 0x16, 0x7b, 0x2e, 0xaf, 0x66,
-    0x27, 0xa7, 0xa6, 0x99, 0x0c, 0x83, 0x22, 0xb8, 0x0c, 0x5e, 0xd1, 0x84,
-    0xe5, 0x76, 0x59, 0xe5, 0xdd, 0xa2, 0x20, 0x7a, 0x79, 0x11, 0xcd, 0x28,
-    0xd3, 0xff, 0xa5, 0xec, 0x12, 0xb3, 0x3f, 0x56, 0x86, 0xd4, 0x35, 0xad,
-    0x71, 0x1c, 0x58, 0x0c, 0x2d, 0x6b, 0x9f, 0xb5, 0x7d, 0xd1, 0x78, 0xb9,
-    0xaf, 0x58, 0x52, 0xf1, 0xcc, 0x9f, 0xf6, 0xd6, 0xcc, 0x80, 0xd3, 0x6f,
-    0xae, 0x53, 0x4f, 0x5b, 0x33, 0x9b, 0x6e, 0x89, 0xe8, 0xca, 0x9d, 0x75,
-    0x7a, 0xeb, 0x5a, 0x33, 0xd1, 0x76, 0xed, 0x8c, 0x8b, 0xb3, 0x3d, 0x5c,
-    0x86, 0x32, 0x69, 0xb1, 0x40, 0xbb, 0x6b, 0x3e, 0xe3, 0x4c, 0x8f, 0x1c,
-    0xcd, 0x92, 0x95, 0x31, 0xad, 0xe5, 0xbb, 0xba, 0x43, 0xa8, 0xac, 0xce,
-    0x0d, 0xcc, 0x64, 0xd4, 0x5e, 0x36, 0x26, 0x3a, 0x99, 0xa5, 0x44, 0x54,
-    0xcb, 0x67, 0xd4, 0x78, 0x2c, 0x0d, 0xa7, 0x63, 0xcf, 0xd1, 0x63, 0xd0,
-    0x9f, 0x04, 0xf9, 0x23, 0x59, 0x4a, 0x7c, 0x20, 0xa6, 0x19, 0xad, 0x4c,
-    0x2b, 0xa3, 0xfd, 0x8d, 0x4f, 0x1a, 0xfd, 0x77, 0xe6, 0x38, 0xd4, 0xa0,
-    0x69, 0x9d, 0x98, 0xd6, 0xe9, 0xc9, 0xb3, 0x5e, 0x2c, 0x42, 0x5f, 0x2b,
-    0x10, 0x50, 0x07, 0x06, 0x1c, 0x9b, 0x73, 0x64, 0xda, 0x4a, 0x2a, 0xbf,
-    0x31, 0xab, 0xb5, 0xbd, 0xc9, 0xdb, 0x0e, 0xda, 0x0b, 0xf6, 0x38, 0xed,
-    0xe4, 0x54, 0xf9, 0x49, 0xa0, 0x6a, 0x90, 0x99, 0xcf, 0x98, 0x18, 0x55,
-    0xd7, 0x9c, 0x98, 0x77, 0xd0, 0x78, 0x30, 0xaf, 0x9a, 0x59, 0xd7, 0x59,
-    0x9a, 0x59, 0x8f, 0x32, 0x38, 0xd9, 0x67, 0x8a, 0x7f, 0x82, 0xb1, 0x6a,
-    0x2e, 0x56, 0x99, 0xcc, 0x55, 0x33, 0x4a, 0x30, 0x2d, 0x4f, 0xd3, 0x1a,
-    0x9f, 0x40, 0xc1, 0xd7, 0x14, 0xf3, 0x13, 0xc1, 0x62, 0x9f, 0xb4, 0xa6,
-    0xb5, 0xda, 0xb1, 0x52, 0xbd, 0xae, 0x47, 0x6b, 0x2a, 0xf6, 0xa9, 0x1a,
-    0xbb, 0xeb, 0x6b, 0x86, 0x4a, 0xf4, 0x20, 0xe2, 0x35, 0x6a, 0xa0, 0xa3,
-    0xff, 0x3a, 0xa1, 0xff, 0x30, 0x97, 0x61, 0x79, 0xc9, 0xf7, 0x59, 0x9a,
-    0xe8, 0x7f, 0x5d, 0x9e, 0xda, 0x1d, 0x3c, 0xdb, 0x43, 0x6d, 0x9c, 0x19,
-    0x79, 0xbf, 0xa4, 0xe2, 0xf8, 0xc0, 0x71, 0x5a, 0xbe, 0x73, 0x47, 0x58,
-    0x2b, 0x05, 0xda, 0xda, 0xe8, 0xa3, 0x33, 0x1f, 0x51, 0xeb, 0xf3, 0xad,
-    0x64, 0x8d, 0xcf, 0xfa, 0x0f, 0xec, 0xa7, 0xed, 0x7b, 0xf7, 0x99, 0x9a,
-    0xce, 0xc6, 0x0c, 0xc3, 0xc0, 0xc1, 0x6b, 0x66, 0x8d, 0xa6, 0x33, 0x8e,
-    0x95, 0xe1, 0x78, 0xf1, 0x4f, 0x23, 0xb6, 0x1e, 0x68, 0xa5, 0xd1, 0x4f,
-    0x2e, 0x50, 0xeb, 0x0b, 0x9a, 0x86, 0x4f, 0x1c, 0x52, 0xa0, 0xdb, 0xc1,
-    0xd2, 0x8c, 0xad, 0x07, 0x5a, 0x29, 0x9c, 0xba, 0x5a, 0x17, 0xa6, 0xed,
-    0x54, 0xcc, 0xf1, 0x63, 0x91, 0x71, 0xb8, 0xda, 0x1d, 0x86, 0x1e, 0x67,
-    0x65, 0xd9, 0xa7, 0x6b, 0x73, 0xab, 0x1d, 0xc6, 0x35, 0x01, 0x6f, 0x3c,
-    0x5a, 0x9f, 0x6f, 0xa5, 0x2b, 0x9f, 0x27, 0x29, 0xe1, 0xf3, 0xf9, 0x28,
-    0x27, 0xfb, 0x06, 0xcc, 0x80, 0xe1, 0xf2, 0x66, 0x18, 0xaf, 0x69, 0x28,
-    0x9d, 0xf3, 0xf8, 0x86, 0xcc, 0x81, 0x69, 0x0d, 0x8c, 0x30, 0x12, 0x1f,
-    0x01, 0x2f, 0x4e, 0xb8, 0x99, 0x54, 0xd9, 0x1a, 0x0a, 0x1a, 0x33, 0xeb,
-    0x71, 0x53, 0xcc, 0x68, 0x0c, 0x8b, 0x52, 0x79, 0x55, 0x5b, 0x84, 0xa6,
-    0x7d, 0x4b, 0x30, 0x33, 0xa8, 0xce, 0x0c, 0x8b, 0x5a, 0x39, 0x75, 0xa6,
-    0xdc, 0xbe, 0x83, 0x9d, 0xa9, 0xd9, 0x94, 0x29, 0xbf, 0xde, 0xde, 0x48,
-    0x7c, 0xd4, 0x6e, 0x97, 0x9e, 0x5f, 0xb7, 0x47, 0xbf, 0x8e, 0x6a, 0xf9,
-    0xcc, 0xbc, 0xc4, 0x9b, 0x43, 0x43, 0x7f, 0xf5, 0xfe, 0x30, 0x7f, 0x9f,
-    0xa9, 0xd6, 0x3f, 0x34, 0x1c, 0xd3, 0xfa, 0x9d, 0x85, 0x69, 0x1c, 0x44,
-    0xed, 0x73, 0x7c, 0xf3, 0xc8, 0x68, 0x2f, 0x72, 0xb2, 0x1f, 0x58, 0x04,
-    0x30, 0x6f, 0x1e, 0x67, 0xf2, 0xb4, 0xef, 0xf5, 0x62, 0x75, 0xd7, 0x56,
-    0xad, 0x29, 0x53, 0xd8, 0x04, 0x8d, 0xc9, 0xb5, 0xef, 0x8f, 0xef, 0xfe,
-    0xcd, 0x2d, 0x0d, 0x7c, 0x78, 0x48, 0xb2, 0x4c, 0x57, 0xdc, 0x81, 0xeb,
-    0x6e, 0x2e, 0xe9, 0x54, 0x02, 0x96, 0x4a, 0x92, 0xd1, 0x0a, 0x87, 0x8e,
-    0xe9, 0x27, 0x2d, 0x06, 0x6f, 0x00, 0xca, 0x66, 0xf5, 0x30, 0x65, 0xe3,
-    0x54, 0xf0, 0xf7, 0x03, 0xc5, 0x99, 0xf6, 0xbc, 0xd8, 0x6e, 0xae, 0x5a,
-    0x93, 0xa8, 0x3d, 0x4e, 0x1d, 0x6b, 0xe1, 0x30, 0x77, 0x20, 0x51, 0x3b,
-    0x43, 0xab, 0xe5, 0x09, 0x91, 0x59, 0xdb, 0x04, 0xc0, 0xa9, 0xcf, 0x70,
-    0x3d, 0xb3, 0xb6, 0x59, 0xd7, 0x89, 0xa2, 0x72, 0x26, 0x9e, 0xde, 0x5e,
-    0x6c, 0x3e, 0x87, 0x18, 0xca, 0xa7, 0xa4, 0xeb, 0xd0, 0xde, 0xe8, 0x62,
-    0x01, 0x11, 0x94, 0x37, 0x2d, 0x01, 0xc8, 0x6d, 0x98, 0xfb, 0x93, 0x5a,
-    0x29, 0x42, 0x49, 0x6a, 0xd7, 0x35, 0x9c, 0x43, 0x0c, 0xde, 0xcf, 0xfc,
-    0xe5, 0x36, 0x36, 0x11, 0x83, 0xb9, 0xbe, 0xb0, 0x6a, 0xae, 0x4f, 0x8c,
-    0x69, 0xc7, 0x1e, 0x89, 0xbf, 0x56, 0x52, 0xad, 0x4c, 0xeb, 0xb5, 0x9c,
-    0x08, 0x66, 0x8a, 0xf6, 0xf8, 0xb4, 0xd5, 0x61, 0x79, 0x71, 0xec, 0x9a,
-    0x1c, 0x08, 0xd5, 0xbd, 0x21, 0x81, 0x71, 0x98, 0xb5, 0x74, 0x09, 0xcc,
-    0xfe, 0x66, 0xd6, 0x50, 0x53, 0x7f, 0x47, 0x17, 0xed, 0xf5, 0xfa, 0xf3,
-    0xe6, 0x7e, 0x14, 0x55, 0xfe, 0x7d, 0x1a, 0xbc, 0x21, 0x71, 0xe6, 0x0f,
-    0x40, 0xd8, 0x61, 0x37, 0xa0, 0x71, 0xfc, 0xdc, 0x99, 0xf6, 0x11, 0x31,
-    0xac, 0x35, 0xd5, 0xc2, 0xb4, 0x5e, 0xcb, 0x09, 0x3d, 0x9a, 0x2c, 0xf5,
-    0x59, 0x0f, 0x63, 0x86, 0xa7, 0x32, 0x5c, 0xbb, 0x95, 0x24, 0xc0, 0x63,
-    0x4a, 0x11, 0xc6, 0xe3, 0xf6, 0x83, 0x33, 0x5e, 0xb1, 0x1a, 0x27, 0x4a,
-    0x8c, 0x53, 0xaf, 0xd1, 0x81, 0xd4, 0x1d, 0x40, 0x49, 0xf2, 0xc7, 0x5b,
-    0xe8, 0xcc, 0x1f, 0x80, 0x96, 0x8b, 0x29, 0xee, 0xb8, 0x59, 0xcb, 0xbb,
-    0x32, 0xed, 0xc3, 0x48, 0xb9, 0x0d, 0x4d, 0xc3, 0xa6, 0xf2, 0x2e, 0x8e,
-    0xbb, 0x0b, 0x99, 0xd6, 0x8d, 0x41, 0x15, 0x97, 0x68, 0x4c, 0xa0, 0x58,
-    0xde, 0xab, 0x21, 0xdb, 0x3e, 0xf8, 0xfd, 0xc8, 0xac, 0xb1, 0x99, 0x36,
-    0x36, 0xef, 0xa1, 0x1d, 0x03, 0xc6, 0xe6, 0x25, 0x18, 0x1c, 0xfc, 0x5d,
-    0x82, 0x8e, 0x7b, 0x46, 0x1c, 0xca, 0xb5, 0x8c, 0xb1, 0xcb, 0x91, 0x93,
-    0x87, 0x07, 0xeb, 0xbd, 0xe0, 0x32, 0x3a, 0xa4, 0xe1, 0x4c, 0xd9, 0x08,
-    0x80, 0x4d, 0x46, 0x5b, 0xe1, 0x1d, 0x6f, 0xda, 0xf4, 0xbb, 0x64, 0x5a,
-    0x91, 0xef, 0x42, 0xf8, 0xe3, 0xf2, 0x5a, 0x37, 0x36, 0x9f, 0x93, 0x66,
-    0x5a, 0xae, 0xa3, 0xc8, 0x4c, 0x14, 0x99, 0x7a, 0xe1, 0xfc, 0xa5, 0xa1,
-    0x96, 0xb1, 0xaa, 0xe6, 0x1e, 0xbc, 0x91, 0x03, 0x6f, 0xed, 0x41, 0xe7,
-    0x9c, 0xbf, 0x44, 0xc4, 0x8f, 0xd3, 0xe6, 0xc1, 0x8d, 0x12, 0x84, 0xaf,
-    0x02, 0x54, 0xd4, 0xa4, 0x03, 0x65, 0x01, 0xba, 0xec, 0xc1, 0x69, 0x0b,
-    0x8c, 0x76, 0xcb, 0x62, 0xbf, 0x92, 0x4a, 0x00, 0xad, 0xd8, 0xf3, 0x85,
-    0xa7, 0xb0, 0x6b, 0x99, 0x56, 0x26, 0xee, 0xed, 0xf8, 0x66, 0x8f, 0xe5,
-    0x40, 0x9c, 0x7e, 0x80, 0xcb, 0xb4, 0xb5, 0x7d, 0x47, 0x22, 0x36, 0xcf,
-    0x8e, 0xa3, 0xc3, 0x45, 0x2b, 0xf3, 0x18, 0x5a, 0x04, 0xfd, 0x79, 0xf7,
-    0xfa, 0x6d, 0x33, 0x58, 0xc7, 0x90, 0xe5, 0xc5, 0xc1, 0x60, 0x3a, 0x07,
-    0xba, 0xc8, 0x9f, 0x79, 0xd2, 0x4e, 0xcb, 0x9b, 0x91, 0x16, 0x0d, 0x1d,
-    0xbe, 0x6a, 0x3f, 0x5b, 0x66, 0x75, 0x94, 0xdd, 0xc5, 0xb4, 0x7c, 0x4d,
-    0xcb, 0xc2, 0xc8, 0x8c, 0xd8, 0xd9, 0x34, 0x2f, 0x4c, 0xfb, 0x28, 0x34,
-    0x2d, 0x0f, 0x33, 0x6b, 0x9b, 0xd2, 0x67, 0x0d, 0x03, 0x09, 0x31, 0xcd,
-    0xef, 0xb8, 0xda, 0xad, 0x38, 0xd8, 0xd8, 0x9c, 0xe3, 0x0c, 0x71, 0xd3,
-    0xa6, 0x4c, 0xa7, 0x2d, 0xf2, 0xeb, 0xb3, 0xb5, 0x2f, 0xb9, 0x2a, 0xde,
-    0x4d, 0x9a, 0x36, 0x50, 0x04, 0x52, 0xc6, 0x33, 0x66, 0xd0, 0x1c, 0xdd,
-    0xb8, 0x7f, 0x39, 0x3c, 0x25, 0x70, 0xa2, 0x02, 0xfc, 0x7e, 0xec, 0x0a,
-    0x4d, 0xcb, 0x40, 0x99, 0x53, 0xdd, 0x2d, 0x05, 0x08, 0xc7, 0xd1, 0xb9,
-    0xcc, 0x54, 0x75, 0x58, 0xbe, 0xe6, 0x7d, 0x28, 0x4c, 0x6b, 0xd1, 0xd4,
-    0xd6, 0x7c, 0xfe, 0xf3, 0xee, 0x8e, 0xb7, 0x9b, 0x34, 0x2d, 0x8f, 0x39,
-    0xd4, 0x1d, 0x20, 0xac, 0x56, 0xf3, 0xb9, 0xad, 0xb2, 0x07, 0x6f, 0x3c,
-    0x06, 0x9a, 0x56, 0xb0, 0x3c, 0x0b, 0x5b, 0x2e, 0x8a, 0x6f, 0xf0, 0x27,
-    0x10, 0x51, 0x78, 0xca, 0x3e, 0xa3, 0x00, 0x80, 0x44, 0xce, 0x8c, 0x09,
-    0x9c, 0xc6, 0x65, 0x3a, 0xad, 0x0b, 0xd3, 0xf2, 0x50, 0x15, 0xe8, 0xd8,
-    0x6e, 0xd1, 0xb4, 0x42, 0xa7, 0x88, 0xc1, 0x78, 0xc2, 0x94, 0x0c, 0x8e,
-    0x0e, 0x80, 0x15, 0x2f, 0x35, 0x31, 0xda, 0x2e, 0xd3, 0xb4, 0xba, 0xdd,
-    0xb2, 0x67, 0x0e, 0x45, 0x3f, 0x89, 0x55, 0xfb, 0xc9, 0x85, 0x67, 0x17,
-    0x08, 0xef, 0x74, 0x92, 0x6c, 0xf2, 0xba, 0xcb, 0x2b, 0xf3, 0x9b, 0xbb,
-    0xd4, 0xf9, 0x93, 0x1f, 0x39, 0x9e, 0x5c, 0x38, 0x7e, 0x0e, 0xe0, 0x95,
-    0x2f, 0xfe, 0xfe, 0x3e, 0x35, 0x97, 0x4f, 0x75, 0xca, 0x9c, 0x7c, 0xd0,
-    0xd1, 0x37, 0x3c, 0x0d, 0x63, 0x7d, 0xb1, 0x57, 0xf2, 0x74, 0xfa, 0xd5,
-    0x9f, 0x55, 0xea, 0xeb, 0xba, 0x9c, 0xc1, 0xcd, 0xff, 0x76, 0x12, 0x3d,
-    0xb8, 0x42, 0xca, 0x4f, 0x7b, 0xa8, 0xb7, 0x57, 0xec, 0x4c, 0xdb, 0xfe,
-    0x8f, 0xaf, 0xd0, 0xd6, 0x03, 0xf1, 0x71, 0x98, 0x18, 0x32, 0xef, 0x6f,
-    0x65, 0xdd, 0x3f, 0xe1, 0x33, 0x75, 0x1c, 0xbc, 0x03, 0x20, 0xce, 0xa8,
-    0xd7, 0x69, 0x3f, 0xf3, 0xfd, 0x1d, 0x60, 0xef, 0x53, 0x44, 0x5e, 0xfd,
-    0xc9, 0xbf, 0xe7, 0x0a, 0xdd, 0x7d, 0xdf, 0x79, 0xbf, 0x74, 0xc5, 0x83,
-    0x5b, 0x58, 0xab, 0x79, 0x01, 0xf4, 0x9a, 0xbc, 0x30, 0xad, 0xd0, 0xee,
-    0x2e, 0x22, 0x67, 0xa6, 0x15, 0x98, 0xc9, 0xf5, 0xd2, 0xb4, 0xa2, 0xf6,
-    0x7a, 0x61, 0x26, 0x63, 0xf9, 0x1c, 0xe7, 0x2c, 0x9e, 0x54, 0xfb, 0x0c,
-    0x6c, 0x19, 0x63, 0xdb, 0xc3, 0xd5, 0xb0, 0x6b, 0x80, 0x93, 0x1f, 0x05,
-    0xc6, 0xb5, 0x7b, 0x1f, 0x9b, 0xd7, 0xc2, 0x59, 0xbc, 0xfa, 0xe9, 0xdc,
-    0x34, 0x72, 0x9b, 0x96, 0x27, 0x8e, 0xf1, 0xfe, 0xea, 0xff, 0x98, 0xbc,
-    0x5d, 0x14, 0xd2, 0x1e, 0x6e, 0x51, 0x06, 0x61, 0xa7, 0x95, 0x6c, 0x47,
-    0x46, 0x4b, 0xb9, 0xd5, 0x13, 0x81, 0xcb, 0xde, 0x01, 0xa7, 0x09, 0x21,
-    0xa1, 0x69, 0x95, 0xa4, 0xfc, 0x07, 0x34, 0x44, 0xbe, 0xa8, 0xce, 0xd2,
-    0xe6, 0xbc, 0x78, 0xbb, 0x57, 0x89, 0x10, 0x99, 0x61, 0x7f, 0x11, 0x88,
-    0x19, 0xed, 0x80, 0x16, 0x57, 0x75, 0x8a, 0x0a, 0xf0, 0xe2, 0xd2, 0xa3,
-    0x8b, 0x05, 0x6e, 0x94, 0xc1, 0x1f, 0x07, 0x46, 0x17, 0x0b, 0xb6, 0x72,
-    0x64, 0x1e, 0x70, 0x0f, 0x5f, 0x82, 0xf1, 0xb2, 0x43, 0xd1, 0xc3, 0xf7,
-    0x10, 0x94, 0x4d, 0x71, 0x07, 0xf0, 0xf2, 0xc4, 0x70, 0x9a, 0xf1, 0x29,
-    0xc3, 0xc9, 0x82, 0xba, 0x6b, 0x5a, 0xa6, 0xc3, 0xb8, 0x8f, 0x8f, 0x0c,
-    0x53, 0x2b, 0x7a, 0x1c, 0xdd, 0x65, 0x75, 0xae, 0xef, 0x8e, 0xe3, 0x31,
-    0x20, 0x53, 0x73, 0x3a, 0xe4, 0x17, 0x7d, 0xb2, 0xa1, 0x04, 0x04, 0x1c,
-    0x9e, 0xbc, 0xba, 0xfd, 0x66, 0x4d, 0x4b, 0xde, 0xbf, 0x30, 0xa3, 0x6b,
-    0x1c, 0x99, 0x24, 0xfb, 0x3d, 0x04, 0xff, 0xbe, 0x1e, 0xca, 0xf7, 0x89,
-    0x6b, 0x51, 0x27, 0x4d, 0xeb, 0x15, 0x75, 0x0d, 0xe9, 0xa6, 0x69, 0x8d,
-    0xdf, 0x8f, 0x10, 0xd6, 0xb4, 0x0c, 0x4c, 0xde, 0x2e, 0xe0, 0xd7, 0xd7,
-    0xf8, 0xa7, 0x98, 0x4d, 0x9a, 0xd6, 0x70, 0xff, 0x5a, 0xff, 0x78, 0x9d,
-    0xfe, 0x7d, 0xef, 0x30, 0xb7, 0x9c, 0xf2, 0xec, 0x02, 0xed, 0x7f, 0xbb,
-    0x93, 0x02, 0x5f, 0xe7, 0x89, 0x5e, 0x39, 0x48, 0xf4, 0x65, 0x9e, 0xd2,
-    0xff, 0x39, 0x48, 0x5b, 0xf7, 0xd2, 0xb4, 0xec, 0xb0, 0xc6, 0x50, 0x9e,
-    0x4d, 0x53, 0xfa, 0x9d, 0xae, 0x8a, 0xd6, 0xbc, 0xbf, 0x03, 0x9c, 0x79,
-    0x8a, 0x88, 0xa5, 0x79, 0x45, 0xb5, 0xa9, 0x15, 0x17, 0x00, 0x5c, 0x12,
-    0xa8, 0xcf, 0x75, 0x35, 0x2b, 0x82, 0x43, 0xe9, 0x9c, 0x14, 0xd1, 0x0a,
-    0x45, 0x25, 0x0c, 0x28, 0xf5, 0xe6, 0x88, 0xca, 0xe1, 0xa1, 0x3a, 0x31,
-    0xad, 0x75, 0x15, 0x6e, 0xd4, 0xac, 0x4c, 0x26, 0x31, 0x8c, 0xdf, 0xe0,
-    0x0d, 0x39, 0xbb, 0x59, 0x1a, 0x91, 0xc5, 0x40, 0x81, 0xf1, 0x39, 0xc7,
-    0x7a, 0x27, 0x6f, 0x03, 0xd6, 0xdd, 0x68, 0x5e, 0xb1, 0xa8, 0xb2, 0xe3,
-    0xb2, 0x4e, 0xbb, 0xbb, 0xf4, 0x6d, 0x8c, 0x9e, 0xfa, 0xed, 0xf0, 0xc4,
-    0xd0, 0xc7, 0x9b, 0x59, 0x30, 0x02, 0x49, 0xcd, 0x79, 0x5e, 0x3b, 0x81,
-    0x20, 0x92, 0x64, 0xbf, 0x9e, 0x28, 0xfa, 0xc6, 0xc8, 0x8a, 0xd6, 0x7d,
-    0xaf, 0x5e, 0x91, 0x37, 0xb0, 0x6e, 0xd7, 0xeb, 0xfa, 0x37, 0x24, 0xac,
-    0x76, 0x49, 0x94, 0x9b, 0xbc, 0x5d, 0x30, 0xed, 0x4f, 0xe5, 0x69, 0xdf,
-    0xc0, 0xf8, 0x1c, 0x94, 0xa4, 0xf6, 0xa2, 0xa3, 0xb2, 0x1f, 0xd7, 0xc1,
-    0xf1, 0x26, 0x6f, 0x6b, 0xfb, 0x68, 0xfd, 0xe7, 0xb5, 0xf2, 0xca, 0xe5,
-    0x0c, 0xc2, 0x6a, 0x9d, 0xf6, 0xf1, 0x42, 0xd3, 0xb2, 0x4a, 0xb2, 0xfa,
-    0x37, 0x3e, 0x5a, 0x2e, 0xa6, 0x2a, 0x7f, 0x9b, 0x83, 0xab, 0x6d, 0x9c,
-    0x34, 0x06, 0x13, 0x0b, 0xda, 0xb7, 0xbb, 0x9c, 0x92, 0xec, 0xf7, 0x0f,
-    0xbc, 0x6a, 0xc2, 0x06, 0x7e, 0xbf, 0xd1, 0x91, 0xa9, 0xbc, 0xfc, 0xad,
-    0x05, 0xde, 0x61, 0xc7, 0x40, 0x52, 0xee, 0x9d, 0xbc, 0xd0, 0xab, 0xcd,
-    0x06, 0x3e, 0x91, 0xe8, 0x9a, 0x41, 0x45, 0xfd, 0xb4, 0xa1, 0x28, 0x7a,
-    0x95, 0x04, 0x0d, 0x7c, 0x32, 0x50, 0x2c, 0x23, 0xaa, 0xda, 0xc5, 0x4b,
-    0x7c, 0x55, 0x14, 0xfd, 0x71, 0x4d, 0x83, 0xed, 0x86, 0x81, 0x69, 0xe0,
-    0xee, 0x45, 0xf1, 0x02, 0x65, 0x31, 0xff, 0xb0, 0x18, 0x56, 0xd9, 0x04,
-    0xf7, 0x0d, 0x48, 0x03, 0x1b, 0x68, 0x44, 0xe9, 0x02, 0x99, 0xb5, 0x4d,
-    0xc7, 0x33, 0x41, 0xb2, 0x58, 0x53, 0x78, 0xa4, 0x81, 0x4f, 0x24, 0x7a,
-    0xaf, 0x00, 0x5a, 0x1c, 0xd2, 0xcb, 0x9e, 0x05, 0xfd, 0xec, 0x4f, 0x83,
-    0x59, 0x1b, 0xe8, 0x05, 0xeb, 0x53, 0x11, 0x80, 0xc9, 0xdb, 0x5a, 0x5c,
-    0x2f, 0x3c, 0x95, 0xb1, 0x9d, 0x83, 0x0f, 0xab, 0xd5, 0x4d, 0x12, 0x8d,
-    0xbf, 0x81, 0xdb, 0xc0, 0x5a, 0xf1, 0xff, 0x24, 0x6a, 0x91, 0xa2, 0x13,
-    0x91, 0xb6, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
-    0x42, 0x60, 0x82
+    0xc9, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x5f, 0x68, 0x1c,
+    0xc7, 0x1d, 0xfe, 0x1d, 0x38, 0x45, 0x2e, 0xa2, 0x9c, 0x4b, 0x1f, 0xac,
+    0x10, 0x8a, 0x14, 0x9a, 0x80, 0x54, 0x08, 0x39, 0x55, 0x79, 0x38, 0xb5,
+    0x09, 0x5e, 0x91, 0x97, 0xca, 0x72, 0x48, 0x4e, 0xc9, 0x83, 0xad, 0x36,
+    0x0f, 0x77, 0x96, 0x8b, 0xa5, 0xf6, 0x25, 0x72, 0x02, 0x45, 0xb6, 0x83,
+    0x72, 0xf1, 0x83, 0x23, 0x5f, 0xc0, 0xad, 0x94, 0xa2, 0x54, 0x67, 0x30,
+    0x95, 0x12, 0x10, 0x92, 0x1f, 0xe4, 0x93, 0x0a, 0xa2, 0x92, 0x8b, 0xcc,
+    0x29, 0x60, 0x57, 0xa7, 0xa2, 0x72, 0x32, 0x38, 0x70, 0x2a, 0x6a, 0x39,
+    0x05, 0x51, 0xce, 0x42, 0x98, 0x93, 0x38, 0x0c, 0x5f, 0x1f, 0xf6, 0x76,
+    0x6f, 0xff, 0xcc, 0xec, 0xce, 0xec, 0x9d, 0x1c, 0x39, 0xbe, 0x79, 0xf9,
+    0xec, 0xdb, 0xf9, 0xf3, 0x9b, 0xd9, 0xdf, 0x7c, 0xfb, 0xcd, 0x6f, 0x67,
+    0x56, 0x04, 0x22, 0x1a, 0x25, 0xa2, 0x8a, 0x21, 0x00, 0x6c, 0x00, 0x00,
+    0x90, 0x2c, 0x22, 0x0a, 0x40, 0xc5, 0xdb, 0xa9, 0xe2, 0x53, 0x8b, 0x65,
+    0x3b, 0x68, 0xe2, 0x7e, 0x16, 0x00, 0x10, 0x18, 0x99, 0x07, 0x5d, 0x02,
+    0x68, 0x60, 0x92, 0x8b, 0xca, 0x38, 0xd0, 0x37, 0x97, 0x06, 0x00, 0x7c,
+    0xdb, 0x1d, 0xaf, 0xe2, 0x93, 0x8b, 0x9e, 0x0a, 0xa6, 0xb7, 0x54, 0x02,
+    0xf5, 0xc7, 0x12, 0xa0, 0x35, 0x80, 0x2e, 0x4d, 0x4a, 0xa3, 0x3f, 0x03,
+    0x84, 0xa7, 0x51, 0x75, 0xe0, 0x2a, 0x4a, 0xa3, 0x5c, 0x01, 0x00, 0xca,
+    0x75, 0x77, 0x46, 0x95, 0x45, 0x65, 0x1c, 0xc8, 0xee, 0xe4, 0xab, 0x12,
+    0xa2, 0x8a, 0x42, 0x28, 0x94, 0x11, 0x05, 0x95, 0x11, 0xbd, 0x30, 0xaa,
+    0x0c, 0x46, 0x17, 0xd3, 0x55, 0xc7, 0xad, 0xa2, 0x2b, 0xba, 0x66, 0x48,
+    0x6f, 0xe5, 0x11, 0x88, 0x57, 0x96, 0x59, 0x9d, 0x30, 0x30, 0x32, 0x5f,
+    0x95, 0x0c, 0x55, 0x74, 0x44, 0xc7, 0x0c, 0xd8, 0x02, 0xfc, 0x99, 0xfd,
+    0x67, 0x58, 0x2b, 0xfa, 0x63, 0x89, 0xaa, 0xe3, 0x56, 0x91, 0x8b, 0xdc,
+    0x0b, 0xe9, 0xad, 0x3c, 0xfc, 0x31, 0x0f, 0x8c, 0x39, 0x9c, 0x00, 0xc5,
+    0x01, 0x1a, 0x99, 0x07, 0xc5, 0x81, 0xf6, 0x1b, 0xcb, 0x00, 0x80, 0xc9,
+    0x35, 0x35, 0xca, 0x20, 0x5a, 0x8f, 0xff, 0xf2, 0x64, 0xf9, 0x8e, 0x0b,
+    0x60, 0x68, 0x64, 0x14, 0xe1, 0xb3, 0x3d, 0x08, 0x77, 0xf7, 0x14, 0x31,
+    0x8c, 0xf0, 0xd9, 0x1e, 0x0c, 0xc6, 0x06, 0x01, 0x00, 0xd9, 0x6c, 0xf6,
+    0xc9, 0x91, 0x24, 0x00, 0x12, 0xd3, 0x95, 0x9d, 0xd0, 0xf9, 0x9d, 0x3c,
+    0x06, 0x63, 0x40, 0xb8, 0xbb, 0x07, 0xc1, 0x63, 0x0a, 0xc2, 0xdd, 0x61,
+    0xef, 0xf5, 0xef, 0x83, 0x7d, 0x2c, 0xac, 0x0c, 0xc3, 0x5e, 0x56, 0x0d,
+    0xc5, 0x0e, 0x1c, 0x53, 0x32, 0x83, 0xc7, 0xc2, 0xb8, 0xc8, 0x03, 0x58,
+    0x05, 0x1a, 0x5b, 0x02, 0x48, 0xb7, 0x64, 0xd0, 0xd8, 0x12, 0x40, 0xa0,
+    0x25, 0xc8, 0xfd, 0x7f, 0xff, 0x40, 0xf4, 0x89, 0x60, 0xf6, 0xfe, 0x81,
+    0xa8, 0x6e, 0x7f, 0xc5, 0xec, 0x9d, 0x83, 0x6d, 0x3c, 0xfa, 0xde, 0xef,
+    0xf3, 0x34, 0x91, 0xf7, 0xc5, 0x3e, 0x06, 0xda, 0x67, 0x5e, 0x01, 0xd2,
+    0x0c, 0x2b, 0x92, 0xc2, 0xb3, 0xcb, 0x9e, 0x34, 0xae, 0x17, 0xc6, 0x0d,
+    0x9f, 0xed, 0x31, 0xdd, 0x88, 0xf6, 0x8e, 0x10, 0x86, 0x46, 0x46, 0x01,
+    0x00, 0x63, 0xe3, 0x93, 0x40, 0x0c, 0x50, 0x3a, 0xda, 0xf5, 0xeb, 0x81,
+    0x96, 0x20, 0x96, 0x53, 0xcb, 0x07, 0x9f, 0x71, 0x35, 0xfb, 0x2b, 0xe5,
+    0x10, 0x30, 0x3b, 0x6c, 0xa0, 0x25, 0x88, 0x70, 0x77, 0x4f, 0x59, 0x4c,
+    0x5b, 0x51, 0xfb, 0x38, 0x68, 0xfb, 0x41, 0xc9, 0x4b, 0x6a, 0xd0, 0xac,
+    0xbb, 0xc3, 0x06, 0x27, 0x92, 0x65, 0x69, 0x5c, 0xe5, 0x7a, 0x52, 0xdc,
+    0xa1, 0x60, 0x66, 0x58, 0x2c, 0xf1, 0x07, 0x10, 0xf7, 0x01, 0x14, 0x80,
+    0xc4, 0x6c, 0xc2, 0xb1, 0x7e, 0xdc, 0x47, 0xf9, 0x37, 0xc2, 0xad, 0x7c,
+    0x19, 0xf5, 0x23, 0xeb, 0xc1, 0x3e, 0x00, 0xc1, 0x63, 0x8a, 0xed, 0x09,
+    0x84, 0x0d, 0x97, 0xf1, 0x7a, 0x0c, 0xf6, 0xb9, 0xe5, 0xf7, 0x8d, 0x12,
+    0x51, 0x84, 0x88, 0xe2, 0x44, 0x14, 0x01, 0xe0, 0xfb, 0x68, 0x8a, 0xe8,
+    0x50, 0x27, 0xd1, 0x23, 0x31, 0x0c, 0x07, 0x52, 0x14, 0xff, 0x65, 0x33,
+    0xf1, 0x52, 0xe4, 0xaf, 0x29, 0xba, 0xb6, 0xd2, 0x2c, 0x5c, 0x1f, 0x0f,
+    0xc7, 0x4e, 0x6c, 0x52, 0xd7, 0x4b, 0xcf, 0xfa, 0xe2, 0x46, 0x7b, 0x19,
+    0x98, 0x4a, 0x2d, 0xe3, 0xf4, 0x99, 0xdf, 0xd2, 0x1e, 0xed, 0x51, 0x0d,
+    0xd5, 0x50, 0x50, 0x69, 0xa5, 0xe1, 0xc1, 0x98, 0x6b, 0x39, 0x13, 0x02,
+    0xe8, 0x3c, 0xd5, 0x45, 0xeb, 0x5f, 0xaf, 0xeb, 0xf5, 0x18, 0xb1, 0x5d,
+    0x69, 0xa7, 0xde, 0xee, 0x08, 0x35, 0xbc, 0xf8, 0xbc, 0xaf, 0xf5, 0x98,
+    0x82, 0xbd, 0x87, 0x7b, 0x54, 0x53, 0x5b, 0x43, 0x4b, 0xb7, 0x16, 0x28,
+    0xee, 0xf3, 0xf9, 0x8c, 0xf5, 0x2d, 0x2c, 0x26, 0x71, 0xfe, 0xe2, 0x79,
+    0xda, 0x7e, 0xb8, 0x4d, 0x81, 0xc6, 0x46, 0x6a, 0xfb, 0xcb, 0x17, 0x3e,
+    0xcd, 0xce, 0xe6, 0x2f, 0x9b, 0xa9, 0xf5, 0x6e, 0x1b, 0xed, 0x3d, 0xdc,
+    0x33, 0xd5, 0x1f, 0x68, 0x6c, 0xa4, 0xc0, 0xcb, 0x01, 0x3a, 0xf7, 0xde,
+    0x39, 0x73, 0x7d, 0x31, 0xa0, 0xe9, 0xcb, 0x66, 0xaa, 0xa1, 0x1a, 0xba,
+    0xf2, 0xe9, 0x15, 0x6a, 0x7b, 0xed, 0xe7, 0xbe, 0xe1, 0x91, 0x51, 0xc4,
+    0xff, 0x1c, 0xd7, 0xcb, 0xfb, 0x8f, 0x1e, 0xa1, 0xed, 0x6f, 0x1e, 0xd0,
+    0x1e, 0xed, 0xd1, 0xda, 0x52, 0x8a, 0xe2, 0xdf, 0x33, 0xdb, 0xa3, 0xa1,
+    0x66, 0x37, 0xab, 0x7f, 0x6b, 0x77, 0x53, 0x6a, 0xbb, 0x00, 0xda, 0x4e,
+    0x1c, 0xd7, 0xeb, 0x33, 0xe6, 0xab, 0xa9, 0xad, 0xa1, 0x25, 0x65, 0x81,
+    0x36, 0xbb, 0x37, 0xa9, 0xee, 0xd9, 0xe2, 0x7d, 0x11, 0xb0, 0xaf, 0xa6,
+    0xb6, 0x46, 0xef, 0xaf, 0x6e, 0x1f, 0x80, 0xe1, 0xcf, 0xe3, 0x34, 0x7b,
+    0x73, 0x96, 0xd6, 0xbf, 0x59, 0x37, 0xb5, 0xe3, 0x3f, 0x7a, 0x84, 0x16,
+    0xde, 0x9a, 0xa1, 0xdd, 0x77, 0x76, 0xe9, 0xf0, 0x0f, 0xbe, 0xef, 0x8b,
+    0x93, 0x65, 0xe6, 0x79, 0x79, 0xc3, 0xe5, 0x94, 0x64, 0x35, 0xac, 0xdb,
+    0x1b, 0x34, 0xa1, 0x3d, 0x0c, 0xb0, 0x6b, 0xb4, 0xf6, 0x8e, 0x10, 0xb0,
+    0x01, 0x24, 0x17, 0x93, 0x42, 0x33, 0x5e, 0x2b, 0x1f, 0x3c, 0xa6, 0xa8,
+    0x1d, 0x29, 0x32, 0x6d, 0xdf, 0xfb, 0x7d, 0x3a, 0x23, 0x05, 0x5f, 0x57,
+    0x80, 0x3c, 0x90, 0x7d, 0x3d, 0xa7, 0xb7, 0xd7, 0xde, 0xd1, 0x6e, 0xb3,
+    0x2f, 0xf7, 0x66, 0xde, 0x76, 0x7d, 0x30, 0x36, 0x64, 0xb7, 0x6f, 0x0e,
+    0x08, 0x9f, 0xed, 0x31, 0xd5, 0x67, 0xd5, 0x86, 0x26, 0x46, 0xcc, 0x15,
+    0x7f, 0x67, 0x68, 0x52, 0xed, 0xff, 0xfd, 0x03, 0x51, 0xfe, 0x78, 0x15,
+    0xd8, 0x9a, 0x1f, 0x4b, 0x00, 0xf2, 0xea, 0x38, 0x9b, 0xec, 0x03, 0x54,
+    0x09, 0x55, 0x1c, 0x07, 0x2d, 0x7f, 0xee, 0xcd, 0x7c, 0x79, 0xf6, 0x59,
+    0x18, 0x3f, 0xf7, 0x66, 0x5e, 0xfd, 0x7d, 0x03, 0x08, 0x9d, 0x3c, 0x65,
+    0x1e, 0xef, 0x22, 0xd3, 0xeb, 0x4c, 0x1b, 0x99, 0x5e, 0xc6, 0xb5, 0x7f,
+    0x79, 0x60, 0xc4, 0x1f, 0x2d, 0x10, 0xce, 0xb4, 0x31, 0x59, 0xb6, 0x97,
+    0x88, 0x3e, 0x93, 0x64, 0x6e, 0x27, 0x8c, 0x5e, 0xec, 0xa4, 0x3a, 0x1f,
+    0x9b, 0x39, 0xac, 0x4c, 0xd9, 0xf4, 0x4a, 0xb3, 0x8d, 0x41, 0xac, 0x4c,
+    0xd1, 0xd8, 0xd8, 0x48, 0x6d, 0xbf, 0x68, 0xa3, 0xae, 0x53, 0x9d, 0x66,
+    0x46, 0x03, 0x90, 0x5a, 0x49, 0x51, 0x73, 0xf3, 0xcf, 0x6c, 0x0c, 0xdd,
+    0xd4, 0x12, 0x80, 0x91, 0x91, 0x86, 0x3f, 0x8f, 0x93, 0x91, 0x49, 0x66,
+    0xa6, 0xa7, 0x4a, 0xcc, 0x63, 0xb1, 0x63, 0xed, 0x6e, 0x8a, 0x66, 0x6e,
+    0xce, 0xd0, 0x85, 0x8f, 0x2e, 0xd1, 0x1e, 0xed, 0x91, 0xbf, 0xd6, 0x4f,
+    0xbd, 0xdd, 0xbd, 0xd4, 0xd5, 0xf5, 0xb6, 0xb9, 0x9d, 0x02, 0xd0, 0xd4,
+    0xda, 0x6c, 0x63, 0xbe, 0xe1, 0x96, 0x20, 0xb4, 0x76, 0x22, 0xdd, 0x11,
+    0xea, 0xfd, 0xcd, 0x69, 0x5f, 0xa4, 0xbb, 0x07, 0x2b, 0x2b, 0x2b, 0x36,
+    0xa6, 0x3e, 0xf5, 0xce, 0x29, 0x3a, 0xfe, 0x46, 0x87, 0x6f, 0x7c, 0x7c,
+    0x12, 0x5d, 0xff, 0xec, 0xa4, 0xc8, 0x76, 0x84, 0xe8, 0x50, 0x0d, 0x35,
+    0xbf, 0xdc, 0x4c, 0xbd, 0x67, 0x22, 0x6a, 0x7f, 0x2d, 0xed, 0x84, 0x4e,
+    0x84, 0xa8, 0xe1, 0xc3, 0x0b, 0xee, 0xe3, 0xc0, 0xe8, 0x97, 0x27, 0xfb,
+    0x4e, 0x1c, 0xa7, 0xc8, 0x99, 0x5e, 0xd2, 0xae, 0xb7, 0x2b, 0xed, 0xd4,
+    0x38, 0x78, 0xc9, 0x74, 0x7f, 0xcf, 0x0f, 0x44, 0x31, 0x7b, 0x73, 0x96,
+    0xf6, 0x68, 0x8f, 0x82, 0xaf, 0x04, 0xa9, 0xf5, 0x4f, 0x9f, 0xf9, 0x54,
+    0x0d, 0x51, 0x28, 0x2f, 0x1e, 0xab, 0xed, 0x45, 0xb0, 0xa5, 0xad, 0xca,
+    0x31, 0xad, 0x74, 0x34, 0x01, 0xc0, 0x60, 0x6c, 0x08, 0xb8, 0x21, 0x16,
+    0x45, 0xd0, 0x99, 0x81, 0x51, 0xdf, 0x72, 0x6a, 0x19, 0x28, 0x00, 0xed,
+    0x1d, 0x21, 0x53, 0x79, 0xa4, 0xa0, 0x33, 0x85, 0x8d, 0x61, 0x48, 0x5d,
+    0x4d, 0x5b, 0x19, 0x49, 0x63, 0xde, 0x74, 0x4b, 0x06, 0x63, 0x13, 0x93,
+    0x7c, 0x26, 0x5c, 0x2d, 0x31, 0x94, 0xb6, 0x9a, 0x67, 0xda, 0x3b, 0x67,
+    0xd1, 0xf0, 0x96, 0x7e, 0xb0, 0xfa, 0xab, 0xb5, 0x8b, 0x14, 0xec, 0xfd,
+    0x71, 0x18, 0x57, 0xa4, 0x50, 0x1c, 0x87, 0x76, 0x53, 0x7d, 0xda, 0x22,
+    0x56, 0xd6, 0x3e, 0xdc, 0x37, 0xb7, 0x1f, 0x3a, 0x79, 0xca, 0xc4, 0xe8,
+    0x58, 0x84, 0xed, 0xfe, 0x01, 0x80, 0xca, 0xb4, 0x1e, 0xb4, 0xac, 0x11,
+    0x83, 0xbf, 0xef, 0xa4, 0xa5, 0x67, 0x98, 0x64, 0x4b, 0x57, 0xbe, 0x5a,
+    0xa7, 0xf7, 0x6f, 0x35, 0x54, 0x84, 0x69, 0x55, 0x6d, 0xbb, 0x4e, 0x5d,
+    0x2f, 0x3d, 0x2f, 0xa7, 0x51, 0x89, 0x68, 0x33, 0x9b, 0x45, 0x5d, 0x5d,
+    0x1d, 0x2d, 0xdc, 0x5e, 0xa2, 0xb6, 0xaf, 0x5b, 0xa9, 0xf3, 0x6f, 0x76,
+    0xcd, 0x6a, 0xd4, 0x72, 0xbd, 0x1f, 0x9c, 0xa3, 0x95, 0xbb, 0x29, 0xda,
+    0x7e, 0xb8, 0xcd, 0x65, 0x6c, 0x2d, 0xff, 0x83, 0x18, 0x70, 0xad, 0xa8,
+    0xe5, 0x34, 0x6d, 0xbb, 0xfe, 0xf5, 0x3a, 0x75, 0x9d, 0x89, 0xe8, 0xe5,
+    0xa3, 0x17, 0xfb, 0xe9, 0xf8, 0x1b, 0x1d, 0x3e, 0x2b, 0x53, 0x5b, 0x35,
+    0xb0, 0x51, 0x0b, 0x9f, 0x7b, 0xef, 0x9c, 0xce, 0xc8, 0x91, 0xbf, 0xdf,
+    0xe2, 0x30, 0x59, 0x18, 0x2b, 0x2b, 0xf7, 0x74, 0xbb, 0x7a, 0xff, 0xf1,
+    0x95, 0x8d, 0xa9, 0x36, 0xbf, 0xd9, 0x24, 0x7a, 0x44, 0x44, 0x87, 0x88,
+    0x6a, 0x6a, 0x0f, 0xd3, 0xf0, 0x27, 0x57, 0xf4, 0x7e, 0xb2, 0x18, 0xd3,
+    0xc8, 0xa8, 0x32, 0xe3, 0x20, 0x6d, 0x9f, 0xc0, 0x13, 0xd1, 0x88, 0xfe,
+    0x5a, 0x3f, 0xcd, 0x4f, 0xcf, 0xa8, 0x1e, 0x1f, 0x18, 0x29, 0x9f, 0x11,
+    0x9d, 0xd2, 0xe0, 0x52, 0xe5, 0x18, 0x37, 0xed, 0xc0, 0x88, 0xb2, 0x98,
+    0x98, 0x4d, 0x98, 0x18, 0x63, 0x74, 0x64, 0x14, 0x46, 0x86, 0x0b, 0x1e,
+    0x53, 0x54, 0x1d, 0x5d, 0x5c, 0xcd, 0x8e, 0x4d, 0x4c, 0x32, 0x19, 0x06,
+    0x59, 0x70, 0x19, 0x5c, 0xd7, 0x84, 0xc5, 0x76, 0x59, 0xe5, 0xdd, 0xa2,
+    0x20, 0x5a, 0x79, 0x11, 0xcd, 0x28, 0xd3, 0xff, 0xe5, 0xd4, 0x32, 0xb3,
+    0x3f, 0x56, 0x86, 0xd4, 0x34, 0xad, 0x71, 0x1c, 0x58, 0x0c, 0x2d, 0x6b,
+    0x9f, 0xb5, 0x7d, 0xd1, 0x78, 0xb9, 0x2f, 0xbb, 0x93, 0xc7, 0xb3, 0x7f,
+    0x3c, 0x5c, 0x36, 0x03, 0x4e, 0xbe, 0xb5, 0x49, 0x9d, 0x8d, 0x75, 0x6c,
+    0xba, 0x25, 0xa2, 0xa9, 0x7b, 0x9b, 0xf4, 0xf6, 0xcd, 0x3a, 0xa2, 0xbd,
+    0xf2, 0x19, 0x17, 0x17, 0x3b, 0xb9, 0x0c, 0x65, 0xd2, 0x62, 0x81, 0x66,
+    0xd7, 0x7c, 0xc6, 0x99, 0x1e, 0x3e, 0x99, 0x22, 0x2b, 0x63, 0x5a, 0xcb,
+    0xb7, 0x75, 0xb4, 0x43, 0x5f, 0x9d, 0x1b, 0x98, 0xc9, 0xa8, 0xbd, 0x6c,
+    0x4c, 0x74, 0x36, 0x45, 0xf1, 0x88, 0x9a, 0xcf, 0xa8, 0xf1, 0x58, 0x1a,
+    0x4e, 0xc3, 0xce, 0x93, 0xa7, 0xa0, 0x3d, 0x09, 0xd6, 0x4e, 0xa4, 0x28,
+    0xfe, 0xa1, 0x98, 0x66, 0xb4, 0x32, 0xad, 0x8c, 0xf6, 0x37, 0x3e, 0x69,
+    0xb4, 0xdf, 0x99, 0xe3, 0x50, 0x86, 0xa6, 0x75, 0x62, 0x5a, 0xa7, 0x27,
+    0xcf, 0x66, 0x36, 0x0b, 0x6d, 0xad, 0x40, 0x40, 0x05, 0x18, 0x70, 0x78,
+    0xde, 0x91, 0x69, 0xf5, 0x54, 0x7c, 0x63, 0x56, 0x6e, 0x7b, 0x63, 0xab,
+    0x0e, 0xda, 0x0b, 0xf6, 0x38, 0xed, 0xd8, 0x44, 0xf1, 0x49, 0x90, 0x57,
+    0x21, 0xb9, 0x98, 0x34, 0x31, 0xaa, 0xa6, 0x39, 0xb1, 0xe8, 0xa0, 0xf1,
+    0x60, 0x5e, 0x35, 0xb3, 0xae, 0xb3, 0x34, 0xb3, 0x16, 0x65, 0x70, 0xb2,
+    0xcf, 0x14, 0xff, 0x04, 0x63, 0xd5, 0x9c, 0x2d, 0x31, 0x99, 0xab, 0x66,
+    0x94, 0x60, 0x5a, 0x9e, 0xa6, 0x35, 0x3e, 0x81, 0x82, 0xaf, 0x2b, 0x66,
+    0x06, 0xb6, 0xd8, 0x27, 0xad, 0x69, 0xad, 0x76, 0x6c, 0x94, 0xae, 0x6b,
+    0xd1, 0x1a, 0xdd, 0xbe, 0x3c, 0x80, 0x5c, 0x69, 0xcd, 0xa0, 0x47, 0x0f,
+    0xc2, 0x5e, 0xa3, 0x06, 0x1a, 0xfa, 0x67, 0x08, 0x3d, 0xc7, 0xb9, 0x0c,
+    0xcb, 0x4b, 0xbe, 0xcf, 0x17, 0x88, 0xfe, 0xd7, 0xe6, 0xa9, 0xdd, 0xbe,
+    0x8b, 0x9d, 0xd4, 0xc8, 0x99, 0x91, 0xbb, 0x3b, 0x79, 0x9c, 0xee, 0x3d,
+    0x4d, 0x2b, 0xf7, 0xee, 0x09, 0x6b, 0xa5, 0x40, 0x63, 0x23, 0x7d, 0x7c,
+    0xe1, 0x63, 0x6a, 0x78, 0xa1, 0x81, 0xac, 0xf1, 0x59, 0xff, 0xd1, 0x23,
+    0xb4, 0xf7, 0x70, 0x97, 0xa9, 0xe9, 0x6c, 0xcc, 0x30, 0x00, 0x34, 0xdd,
+    0x34, 0x6b, 0x34, 0x8d, 0x71, 0xac, 0x0c, 0xc7, 0x8b, 0x7f, 0x1a, 0xb1,
+    0xe1, 0x68, 0x03, 0x0d, 0x7d, 0x7a, 0x85, 0x1a, 0x5e, 0x54, 0x35, 0x7c,
+    0xfc, 0x98, 0x02, 0xcd, 0x0e, 0x96, 0x66, 0x6c, 0x38, 0xda, 0x40, 0xa1,
+    0xc4, 0x8d, 0x8a, 0x30, 0x6d, 0xab, 0x62, 0x8e, 0x1f, 0x8b, 0x8c, 0xc3,
+    0x8d, 0x8e, 0x10, 0xb4, 0x38, 0x2b, 0xcb, 0x3e, 0x4d, 0x9b, 0x5b, 0xed,
+    0x30, 0xae, 0x09, 0x78, 0xe3, 0xd1, 0xf0, 0x42, 0x03, 0x4d, 0x7d, 0x31,
+    0x4e, 0x71, 0x9f, 0xcf, 0x47, 0x59, 0xd9, 0x37, 0x60, 0x06, 0x0c, 0x15,
+    0x37, 0xc3, 0x78, 0x4d, 0xfd, 0x0b, 0x69, 0x8f, 0x6f, 0xc8, 0x1c, 0x98,
+    0xd6, 0xc0, 0x08, 0x83, 0xb1, 0x41, 0xf0, 0xe2, 0x84, 0xb8, 0x01, 0xb6,
+    0x86, 0x42, 0x91, 0x99, 0x8b, 0x71, 0x53, 0xcc, 0xa9, 0x0c, 0x8b, 0x42,
+    0x71, 0x55, 0x9b, 0x83, 0xaa, 0x7d, 0x0b, 0x30, 0x33, 0xa8, 0xc6, 0x0c,
+    0xab, 0xa5, 0x72, 0x83, 0xb1, 0x41, 0x47, 0x3b, 0x13, 0xb3, 0x09, 0x53,
+    0xfe, 0x52, 0xb9, 0x21, 0xbb, 0x5d, 0x5a, 0x7e, 0xcd, 0x1e, 0xed, 0x3a,
+    0x4a, 0xe5, 0x92, 0x8b, 0x12, 0x6f, 0x0e, 0x0d, 0xfd, 0xd5, 0xfa, 0xc3,
+    0xfc, 0xdd, 0x60, 0x57, 0xff, 0x40, 0x54, 0xed, 0x77, 0x0a, 0xa6, 0x71,
+    0x10, 0xb5, 0xcf, 0xf1, 0xcd, 0x23, 0xa3, 0xbd, 0xf0, 0xd9, 0x1e, 0x60,
+    0x15, 0x6a, 0x14, 0xc1, 0x90, 0x9f, 0x3c, 0xed, 0x7b, 0xbd, 0x5a, 0xda,
+    0xb5, 0x55, 0x6e, 0x4a, 0x66, 0x72, 0xa0, 0x61, 0xb9, 0xf6, 0xfd, 0xb1,
+    0x83, 0xbf, 0xb9, 0xa5, 0x8a, 0xfb, 0x87, 0x24, 0xcb, 0x74, 0x79, 0xc0,
+    0x75, 0x37, 0x97, 0x74, 0xda, 0x01, 0x32, 0x05, 0xc9, 0x68, 0x85, 0x43,
+    0xc7, 0xb4, 0x93, 0x16, 0x7d, 0x73, 0x80, 0x92, 0x2f, 0x1d, 0xa6, 0xac,
+    0x9e, 0x0a, 0xfe, 0x6e, 0xa0, 0x38, 0xd3, 0x5e, 0x16, 0xdb, 0xcd, 0x55,
+    0x6e, 0x12, 0xb5, 0xc7, 0xa9, 0x63, 0xf5, 0x1c, 0xe6, 0x0e, 0xc4, 0xcb,
+    0x67, 0xe8, 0x7c, 0x71, 0x42, 0x24, 0x37, 0x72, 0x00, 0x38, 0xf5, 0x19,
+    0xae, 0x27, 0x37, 0x72, 0x15, 0x9d, 0x28, 0x79, 0xce, 0xc4, 0xd3, 0xda,
+    0x8b, 0x2e, 0xa6, 0x11, 0x45, 0xf1, 0x94, 0x74, 0x05, 0xda, 0x1b, 0xba,
+    0x93, 0x41, 0x18, 0xc5, 0x4d, 0x4b, 0x00, 0xd2, 0x5b, 0xe6, 0xfe, 0x24,
+    0xee, 0x67, 0xa1, 0x8c, 0xab, 0xd7, 0x55, 0x9c, 0x47, 0x14, 0xde, 0xcf,
+    0xfc, 0xa5, 0xb7, 0x72, 0x88, 0xc2, 0x5c, 0x5f, 0xc8, 0x52, 0x9f, 0x18,
+    0xd3, 0x0e, 0x3f, 0x16, 0x7f, 0xd5, 0x53, 0xb9, 0x4c, 0xeb, 0xb5, 0x9c,
+    0x08, 0xa6, 0x73, 0xf6, 0xf8, 0xb4, 0xd5, 0x61, 0x79, 0x71, 0xec, 0xb2,
+    0x1c, 0x08, 0xa5, 0xbd, 0x21, 0x81, 0x11, 0x98, 0xb5, 0xf4, 0x0e, 0x98,
+    0xfd, 0x4d, 0x6e, 0xa0, 0xac, 0xfe, 0x0e, 0xdd, 0xb1, 0xd7, 0xeb, 0xcf,
+    0x98, 0xfb, 0x91, 0x77, 0xb8, 0x5f, 0x7d, 0x73, 0x12, 0x67, 0xfe, 0x00,
+    0x84, 0x1c, 0x76, 0x03, 0x1a, 0xc7, 0xcf, 0x9d, 0x69, 0x1f, 0x13, 0xc3,
+    0x5a, 0x53, 0x39, 0x4c, 0xeb, 0xb5, 0x9c, 0xd0, 0xa3, 0xc9, 0x52, 0x9f,
+    0xf5, 0x30, 0x66, 0x68, 0x22, 0xc9, 0xb5, 0x5b, 0x19, 0x07, 0x78, 0x4c,
+    0x29, 0xc2, 0x78, 0xdc, 0x7e, 0x70, 0xc6, 0x2b, 0x8a, 0xf2, 0xfa, 0x1b,
+    0xe5, 0xd4, 0x6b, 0x74, 0xa0, 0x7c, 0x01, 0x50, 0xc6, 0xf9, 0xe3, 0x2d,
+    0x74, 0xe6, 0x0f, 0x40, 0xfd, 0xd5, 0x04, 0x77, 0xdc, 0xac, 0xe5, 0x5d,
+    0x99, 0x76, 0x3f, 0x52, 0x7a, 0x4b, 0xd5, 0xb0, 0x89, 0x35, 0x17, 0xc7,
+    0x3d, 0x80, 0x4c, 0xeb, 0xc6, 0xa0, 0x8a, 0x4b, 0x34, 0x26, 0x90, 0x2b,
+    0xee, 0xd5, 0x90, 0x6d, 0x1f, 0xfc, 0x7e, 0x24, 0x37, 0xd8, 0x4c, 0x1b,
+    0x5d, 0xf4, 0xd0, 0x8e, 0x01, 0xa3, 0x8b, 0x12, 0x0c, 0x0e, 0xfe, 0x2e,
+    0x41, 0xc7, 0x3d, 0x23, 0x0e, 0xe5, 0xea, 0x87, 0xd9, 0xe5, 0xc8, 0xc9,
+    0xc3, 0x83, 0x85, 0xfd, 0x70, 0xd9, 0xa2, 0x43, 0x1a, 0xce, 0x94, 0x0d,
+    0x02, 0xc8, 0x31, 0x16, 0x77, 0x21, 0xb0, 0xed, 0x72, 0xd3, 0xa6, 0xdf,
+    0x26, 0xd3, 0x8a, 0x7c, 0x17, 0xc2, 0x1f, 0x93, 0xd7, 0xba, 0xd1, 0xc5,
+    0xb4, 0x34, 0xd3, 0x72, 0x1d, 0x45, 0x66, 0xa2, 0xc8, 0xd4, 0x0b, 0xe7,
+    0x2f, 0x0d, 0xd5, 0x0f, 0x97, 0x34, 0x77, 0xdf, 0x5c, 0x1a, 0xbc, 0xb5,
+    0x07, 0x5d, 0x72, 0xfe, 0x12, 0x11, 0x3f, 0x4e, 0x9b, 0x01, 0x37, 0x4a,
+    0x10, 0xba, 0x01, 0x50, 0x4e, 0x95, 0x0e, 0xb4, 0x06, 0xd0, 0x75, 0x0f,
+    0x4e, 0x9b, 0x65, 0xb4, 0x5b, 0x14, 0xfb, 0x7a, 0xda, 0x01, 0x68, 0xc3,
+    0x9e, 0x2f, 0x34, 0x81, 0x03, 0xcb, 0xb4, 0x32, 0x71, 0x6f, 0xc7, 0x37,
+    0x7b, 0x2c, 0x07, 0xe2, 0xf4, 0x03, 0x5c, 0xa6, 0x2d, 0xef, 0x3b, 0x12,
+    0xd1, 0x45, 0x76, 0x1c, 0x1d, 0x2e, 0x5a, 0x99, 0xc7, 0xd0, 0x22, 0xe8,
+    0xcf, 0xb8, 0xd7, 0x6f, 0x9b, 0xc1, 0x1a, 0xb6, 0x5b, 0x5e, 0x1c, 0xf4,
+    0x2d, 0xa4, 0x41, 0x57, 0xf9, 0x33, 0x4f, 0xda, 0x69, 0x79, 0x33, 0xd2,
+    0xa2, 0xa1, 0x43, 0x37, 0xec, 0x67, 0xcb, 0xac, 0x8e, 0x72, 0xb0, 0x98,
+    0x96, 0xaf, 0x69, 0x59, 0x18, 0x9e, 0x16, 0x3b, 0x9b, 0xe6, 0x85, 0x69,
+    0x1f, 0x87, 0xa6, 0xe5, 0x61, 0x72, 0x23, 0x27, 0x7d, 0xd6, 0x30, 0x10,
+    0x17, 0xd3, 0xfc, 0x8e, 0xab, 0x5d, 0xdd, 0xc1, 0x86, 0xe7, 0x1d, 0x67,
+    0x88, 0x9b, 0x36, 0x65, 0x3a, 0x6d, 0x8e, 0x5f, 0x9f, 0xad, 0x7d, 0xc9,
+    0x55, 0xf1, 0x41, 0xd2, 0xb4, 0x81, 0x1c, 0x90, 0x30, 0x9e, 0x31, 0x83,
+    0xea, 0xe8, 0xc6, 0xfd, 0xcb, 0xa1, 0x09, 0x81, 0x13, 0x15, 0xe0, 0xf7,
+    0xe3, 0x40, 0x68, 0x5a, 0x06, 0xca, 0x9c, 0xea, 0xae, 0xcf, 0x42, 0x38,
+    0x8e, 0xce, 0x65, 0xa6, 0x92, 0xc3, 0xf2, 0x35, 0xef, 0xbe, 0x30, 0xad,
+    0x45, 0x53, 0x5b, 0xf3, 0xf9, 0x2f, 0xbb, 0x3b, 0xde, 0x41, 0xd2, 0xb4,
+    0x3c, 0xe6, 0xc8, 0x17, 0xcc, 0x9a, 0xdd, 0x6d, 0x95, 0xdd, 0x37, 0xf7,
+    0x04, 0x68, 0x5a, 0xc1, 0xf2, 0x2c, 0xac, 0xbf, 0x2a, 0xbe, 0xc1, 0x9f,
+    0x40, 0x44, 0xa1, 0x09, 0xfb, 0x8c, 0x02, 0x00, 0x12, 0x39, 0x33, 0xe6,
+    0xf1, 0x6d, 0xae, 0x1b, 0xd3, 0x8a, 0xc4, 0xeb, 0x0e, 0x22, 0xd3, 0x1a,
+    0x35, 0xad, 0xd0, 0x29, 0x62, 0x30, 0x9e, 0x30, 0x3b, 0x06, 0x47, 0x07,
+    0xc0, 0x8a, 0x97, 0x9a, 0x18, 0xed, 0x80, 0x69, 0x5a, 0xcd, 0x6e, 0xd9,
+    0x33, 0x87, 0xa2, 0x9f, 0xc4, 0x2a, 0xff, 0xe4, 0xc2, 0x73, 0x4b, 0x84,
+    0x77, 0x5b, 0x49, 0x36, 0x79, 0xdd, 0xe5, 0x95, 0xfc, 0xf5, 0x03, 0x6a,
+    0xfd, 0xf1, 0x0f, 0x1d, 0x4f, 0x2e, 0x9c, 0xbe, 0x04, 0xf0, 0xca, 0x67,
+    0x7f, 0xb7, 0x4b, 0x75, 0xc5, 0x53, 0x9d, 0x32, 0x27, 0x1f, 0x34, 0xf4,
+    0x0d, 0x4c, 0xc2, 0x58, 0x5f, 0xf4, 0xd5, 0x35, 0x3a, 0xff, 0xda, 0x4f,
+    0xf5, 0xfa, 0xda, 0xae, 0x27, 0x71, 0xeb, 0xbf, 0xad, 0x44, 0x8f, 0xa6,
+    0x48, 0xf9, 0x49, 0x27, 0x75, 0x75, 0x89, 0x9d, 0x69, 0x3b, 0xf2, 0xc9,
+    0x14, 0x6d, 0x3f, 0x12, 0x1f, 0x87, 0xd1, 0x7e, 0xf3, 0xfe, 0x56, 0xd6,
+    0xfd, 0x13, 0x3e, 0x53, 0xc7, 0xc1, 0x7b, 0x00, 0x62, 0x8c, 0x7a, 0x9d,
+    0xf6, 0x33, 0xef, 0x16, 0x80, 0xc3, 0xcf, 0x10, 0x79, 0xf5, 0x27, 0xff,
+    0xa1, 0x29, 0x7a, 0xf0, 0x81, 0xf3, 0x7e, 0x69, 0xdd, 0x83, 0xeb, 0x59,
+    0xab, 0x79, 0x41, 0xe6, 0x7b, 0x5c, 0x4c, 0x2b, 0xb4, 0xbb, 0x8b, 0xc8,
+    0x99, 0x69, 0x05, 0x66, 0x72, 0xa5, 0x34, 0xad, 0xa8, 0xbd, 0x5e, 0x98,
+    0xc9, 0x58, 0x3e, 0xcd, 0x39, 0x8b, 0x27, 0xd5, 0x3e, 0x03, 0xeb, 0x87,
+    0xd9, 0xf6, 0x70, 0x35, 0xec, 0x06, 0xe0, 0xe4, 0x47, 0x81, 0x11, 0xf5,
+    0xde, 0x47, 0x17, 0xd5, 0x70, 0x16, 0xaf, 0x7e, 0xba, 0x34, 0x89, 0x6c,
+    0xde, 0xf2, 0xc4, 0x31, 0xde, 0x5f, 0xed, 0x1f, 0x63, 0xab, 0x59, 0x21,
+    0xed, 0xe1, 0x16, 0x65, 0x10, 0x76, 0x5a, 0xc9, 0x76, 0x64, 0xb4, 0x94,
+    0x5b, 0x3d, 0x61, 0xb8, 0xec, 0x1d, 0x70, 0x9a, 0x10, 0x12, 0x9a, 0x56,
+    0x19, 0x97, 0xff, 0x80, 0x86, 0xc8, 0x17, 0xd5, 0x59, 0xda, 0x9c, 0x17,
+    0x6f, 0xf7, 0x2a, 0x11, 0xc2, 0xd3, 0xec, 0x2f, 0x02, 0x31, 0xa3, 0x1d,
+    0x50, 0xe3, 0xaa, 0x4e, 0x51, 0x01, 0x5e, 0x5c, 0x7a, 0xe8, 0x4e, 0x86,
+    0x1b, 0x65, 0xf0, 0xc7, 0x80, 0xa1, 0x3b, 0x19, 0x5b, 0x39, 0x32, 0x0f,
+    0xb8, 0x87, 0x2f, 0xc1, 0xe4, 0x3c, 0x78, 0xac, 0x87, 0xef, 0x21, 0x28,
+    0x79, 0x71, 0x07, 0xf0, 0xf2, 0xc4, 0x70, 0x9a, 0xf1, 0x09, 0xc3, 0xc9,
+    0x82, 0x8a, 0x6b, 0x5a, 0xa6, 0xc3, 0xb8, 0x8f, 0x8f, 0x0c, 0x53, 0x2b,
+    0x5a, 0x1c, 0xdd, 0x65, 0x75, 0xae, 0xed, 0x8e, 0xe3, 0x31, 0x20, 0x53,
+    0x73, 0x3a, 0xe4, 0x17, 0x7d, 0xb2, 0x61, 0x07, 0x08, 0x38, 0x3c, 0x79,
+    0x35, 0xfb, 0xcd, 0x9a, 0x96, 0xbc, 0x7f, 0x61, 0x46, 0xd3, 0x38, 0x32,
+    0x49, 0xf6, 0x7b, 0x08, 0xfe, 0xda, 0x4e, 0x5a, 0xeb, 0x16, 0xd7, 0xa2,
+    0x4e, 0x9a, 0xd6, 0x2b, 0x6a, 0x1a, 0xd2, 0x4d, 0xd3, 0x1a, 0xbf, 0x1f,
+    0x21, 0xac, 0x69, 0x19, 0x38, 0xbe, 0x9a, 0xc1, 0xaf, 0x6e, 0xf2, 0x4f,
+    0x31, 0x9b, 0x34, 0xad, 0xe1, 0xfe, 0x35, 0xfc, 0x61, 0x86, 0xfe, 0xfd,
+    0xf0, 0x38, 0xb7, 0x9c, 0xf2, 0xdc, 0x12, 0x1d, 0x79, 0xb7, 0x95, 0x02,
+    0xb7, 0xd7, 0x88, 0x5e, 0x6d, 0x22, 0xba, 0xbd, 0x46, 0x0b, 0xff, 0x69,
+    0xa2, 0xed, 0x87, 0x0b, 0xb4, 0xe2, 0xb0, 0xc6, 0x50, 0x9e, 0x5b, 0xa0,
+    0x85, 0x77, 0xdb, 0x74, 0xad, 0xb9, 0x5b, 0x00, 0x2e, 0x3c, 0x43, 0xc4,
+    0xd2, 0xbc, 0xa2, 0xda, 0xd4, 0x8a, 0x4b, 0x00, 0xae, 0x09, 0xd4, 0xe7,
+    0xba, 0x9a, 0x15, 0xc1, 0xfe, 0x85, 0xb4, 0x14, 0xd1, 0x0a, 0x45, 0x25,
+    0x0c, 0x28, 0xf5, 0xe6, 0x88, 0x8a, 0xe1, 0xa1, 0x0a, 0x31, 0xad, 0x75,
+    0x15, 0x6e, 0xd4, 0xac, 0x4c, 0x26, 0x31, 0x8c, 0x5f, 0xdf, 0x9c, 0x9c,
+    0xdd, 0x2c, 0x8d, 0xc8, 0x62, 0xa0, 0xc0, 0xc8, 0xbc, 0x63, 0xbd, 0x63,
+    0xab, 0x80, 0x75, 0x37, 0x9a, 0x57, 0xcc, 0x83, 0x1d, 0x97, 0xcd, 0x3b,
+    0xf8, 0x89, 0xb6, 0x8d, 0xd1, 0x53, 0xbf, 0x1d, 0x9e, 0x18, 0xda, 0x78,
+    0x33, 0x0b, 0x86, 0x21, 0xa9, 0x39, 0x2f, 0xab, 0x27, 0x10, 0x44, 0x92,
+    0xec, 0xd7, 0x13, 0x45, 0xdf, 0x18, 0x59, 0xd1, 0xba, 0xef, 0xd5, 0x2b,
+    0xf2, 0x06, 0xd6, 0xed, 0x7a, 0x45, 0xff, 0x86, 0x84, 0xd5, 0x2e, 0x89,
+    0x72, 0x63, 0xab, 0x19, 0xd3, 0xfe, 0x54, 0x9e, 0xf6, 0x0d, 0x8c, 0xcc,
+    0x43, 0x19, 0x57, 0x5f, 0x74, 0xe8, 0xfb, 0x71, 0x1d, 0x1c, 0x6f, 0x6c,
+    0x55, 0xdd, 0x47, 0xeb, 0xbf, 0xac, 0x96, 0x57, 0xae, 0x27, 0x11, 0x42,
+    0x85, 0xf6, 0xf1, 0x42, 0xd5, 0xb2, 0xca, 0x78, 0xe9, 0x6f, 0x7c, 0xd4,
+    0x5f, 0x4d, 0xe8, 0x7f, 0x9b, 0x83, 0xab, 0x6d, 0x9c, 0x34, 0x06, 0x13,
+    0xb3, 0xea, 0xb7, 0xbb, 0x9c, 0x92, 0xec, 0xf7, 0x0f, 0xbc, 0x6a, 0xc2,
+    0x2a, 0x7e, 0xb7, 0xd1, 0x91, 0xa9, 0xbc, 0xfc, 0xad, 0x05, 0xde, 0x61,
+    0xc7, 0xc0, 0xb8, 0xdc, 0x3b, 0x79, 0xa1, 0x57, 0x9b, 0x55, 0x7c, 0x2a,
+    0xd1, 0x3d, 0x23, 0x2a, 0xa7, 0x0d, 0x45, 0xd1, 0xab, 0x24, 0xa8, 0xe2,
+    0xd3, 0x81, 0x62, 0x19, 0x51, 0xd2, 0x2e, 0x5e, 0xe2, 0xab, 0xa2, 0xe8,
+    0x8f, 0xa9, 0x1a, 0xec, 0x20, 0x0c, 0x4c, 0x15, 0x0f, 0x2e, 0x8a, 0x17,
+    0x28, 0x8a, 0xf9, 0xfd, 0x62, 0x58, 0xc5, 0xe1, 0x0d, 0x48, 0x15, 0xab,
+    0x68, 0x44, 0xe9, 0x02, 0xc9, 0x8d, 0x9c, 0xe3, 0x99, 0x20, 0x59, 0x2c,
+    0x2b, 0x3c, 0x52, 0xc5, 0xa7, 0x12, 0xbd, 0x57, 0x00, 0x35, 0x0e, 0xe9,
+    0x65, 0xcf, 0x82, 0x76, 0xf6, 0xa7, 0xca, 0xac, 0x55, 0xf4, 0x82, 0x95,
+    0xa9, 0x08, 0xc0, 0xd8, 0xaa, 0x1a, 0xd7, 0x0b, 0x4d, 0x24, 0x6d, 0xe7,
+    0xe0, 0x43, 0x28, 0x6d, 0x92, 0xa8, 0xfe, 0x0d, 0xdc, 0x2a, 0x96, 0x8b,
+    0xff, 0x07, 0x3b, 0x2d, 0xad, 0xe7, 0xee, 0x67, 0xc1, 0x2d, 0x00, 0x00,
+    0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
 };
 
 
@@ -388,19 +386,19 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
 
     ConfigurationPanelLayout->addWidget( Menu, 0, 0 );
 
-    layout19 = new QVBoxLayout( 0, 0, 6, "layout19"); 
+    layout18 = new QVBoxLayout( 0, 0, 6, "layout18"); 
 
     TitleTab = new QLabel( this, "TitleTab" );
     QFont TitleTab_font(  TitleTab->font() );
     TitleTab_font.setBold( TRUE );
     TitleTab->setFont( TitleTab_font ); 
-    layout19->addWidget( TitleTab );
+    layout18->addWidget( TitleTab );
 
     line2 = new QFrame( this, "line2" );
     line2->setFrameShape( QFrame::HLine );
     line2->setFrameShadow( QFrame::Sunken );
     line2->setFrameShape( QFrame::HLine );
-    layout19->addWidget( line2 );
+    layout18->addWidget( line2 );
 
     Tab_Signalisations = new QTabWidget( this, "Tab_Signalisations" );
 
@@ -539,7 +537,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
 
     SettingsDTMFLayout->addLayout( layout11, 0, 0 );
     Tab_Signalisations->insertTab( DTMFPage, QString("") );
-    layout19->addWidget( Tab_Signalisations );
+    layout18->addWidget( Tab_Signalisations );
 
     Tab_Audio = new QTabWidget( this, "Tab_Audio" );
 
@@ -617,7 +615,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
     ringsChoice = new QComboBox( FALSE, RingPage, "ringsChoice" );
     ringsChoice->setGeometry( QRect( 20, 21, 150, 20 ) );
     Tab_Audio->insertTab( RingPage, QString("") );
-    layout19->addWidget( Tab_Audio );
+    layout18->addWidget( Tab_Audio );
 
     Tab_Video = new QTabWidget( this, "Tab_Video" );
 
@@ -626,7 +624,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
 
     CodecsPage_2 = new QWidget( Tab_Video, "CodecsPage_2" );
     Tab_Video->insertTab( CodecsPage_2, QString("") );
-    layout19->addWidget( Tab_Video );
+    layout18->addWidget( Tab_Video );
 
     Tab_Network = new QTabWidget( this, "Tab_Network" );
 
@@ -635,14 +633,17 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
 
     CodecsPage_3 = new QWidget( Tab_Network, "CodecsPage_3" );
     Tab_Network->insertTab( CodecsPage_3, QString("") );
-    layout19->addWidget( Tab_Network );
+    layout18->addWidget( Tab_Network );
 
     Tab_Preferences = new QTabWidget( this, "Tab_Preferences" );
 
     DriversPage_4 = new QWidget( Tab_Preferences, "DriversPage_4" );
 
+    buttonApplySkin = new QPushButton( DriversPage_4, "buttonApplySkin" );
+    buttonApplySkin->setGeometry( QRect( 136, 40, 80, 32 ) );
+
     SkinChoice = new QComboBox( FALSE, DriversPage_4, "SkinChoice" );
-    SkinChoice->setGeometry( QRect( 20, 70, 120, 20 ) );
+    SkinChoice->setGeometry( QRect( 12, 42, 110, 27 ) );
     Tab_Preferences->insertTab( DriversPage_4, QString("") );
 
     TabPage = new QWidget( Tab_Preferences, "TabPage" );
@@ -684,7 +685,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
     layout16_2->addItem( spacer6_2 );
     layout17->addLayout( layout16_2 );
     Tab_Preferences->insertTab( TabPage, QString("") );
-    layout19->addWidget( Tab_Preferences );
+    layout18->addWidget( Tab_Preferences );
 
     Tab_About = new QTabWidget( this, "Tab_About" );
 
@@ -704,9 +705,9 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
     textLabel1 = new QLabel( CodecsPage_4, "textLabel1" );
     textLabel1->setGeometry( QRect( 85, 126, 291, 131 ) );
     Tab_About->insertTab( CodecsPage_4, QString("") );
-    layout19->addWidget( Tab_About );
+    layout18->addWidget( Tab_About );
 
-    ConfigurationPanelLayout->addLayout( layout19, 0, 1 );
+    ConfigurationPanelLayout->addLayout( layout18, 0, 1 );
     languageChange();
     resize( QSize(560, 515).expandedTo(minimumSizeHint()) );
     clearWState( WState_Polished );
@@ -717,6 +718,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
     connect( Menu, SIGNAL( clicked(QListBoxItem*) ), this, SLOT( changeTabSlot() ) );
     connect( buttonSave, SIGNAL( clicked() ), this, SLOT( saveSlot() ) );
     connect( stunButtonGroup, SIGNAL( clicked(int) ), this, SLOT( useStunSlot(int) ) );
+    connect( buttonApplySkin, SIGNAL( clicked() ), this, SLOT( applySkinSlot() ) );
 
     // tab order
     setTabOrder( fullName, userPart );
@@ -831,6 +833,8 @@ void ConfigurationPanel::languageChange()
     Tab_Video->changeTab( CodecsPage_2, tr( "Codecs" ) );
     Tab_Network->changeTab( DriversPage_3, QString::null );
     Tab_Network->changeTab( CodecsPage_3, QString::null );
+    buttonApplySkin->setText( tr( "&Apply" ) );
+    buttonApplySkin->setAccel( QKeySequence( tr( "Alt+A" ) ) );
     Tab_Preferences->changeTab( DriversPage_4, tr( "Themes" ) );
     textLabel1_2->setText( tr( "Zone tone:" ) );
     zoneToneChoice->clear();
diff --git a/src/configurationpanelui.h b/src/configurationpanelui.h
index baaaf5503abee54d37e1c41125620cddfbcabf48..35e4dafb6be83b3adcd3813e5c6c07722bc37a7d 100644
--- a/src/configurationpanelui.h
+++ b/src/configurationpanelui.h
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form interface generated from reading ui file 'configurationpanel.ui'
 **
-** Created: Mon Jan 31 18:13:29 2005
+** Created: Wed Feb 2 17:25:45 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
@@ -104,6 +104,7 @@ public:
     QWidget* CodecsPage_3;
     QTabWidget* Tab_Preferences;
     QWidget* DriversPage_4;
+    QPushButton* buttonApplySkin;
     QComboBox* SkinChoice;
     QWidget* TabPage;
     QLabel* textLabel1_2;
@@ -124,13 +125,14 @@ public slots:
     virtual void saveSlot();
     virtual void changeTabSlot();
     virtual void useStunSlot( int id );
+    virtual void applySkinSlot();
 
 protected:
     QGridLayout* ConfigurationPanelLayout;
     QVBoxLayout* layout8;
     QHBoxLayout* layout7;
     QSpacerItem* Horizontal_Spacing2;
-    QVBoxLayout* layout19;
+    QVBoxLayout* layout18;
     QGridLayout* groupBox1Layout;
     QVBoxLayout* stunButtonGroupLayout;
     QGridLayout* SettingsDTMFLayout;
diff --git a/src/jpushbutton.cpp b/src/jpushbutton.cpp
index 541ab91e11c391c4ef44ee043665518807cc6b1b..fb2e3c9e1e7df0067e0f63b72a7daa22676edc06 100644
--- a/src/jpushbutton.cpp
+++ b/src/jpushbutton.cpp
@@ -33,29 +33,33 @@
 // This is the default constructor, it must be called with pixname being
 // the base name for the picture used as button pixmap.
 JPushButton::JPushButton (QWidget* parent, const char* name,
-		const char* pixname) : QLabel (parent, name) {
-		// Load pictures
-		this->loadPixmaps(pixname);
+	const char* pixname) : QLabel (parent, name) {
 
-		// Create transparency bitmasks
-		QImage tmpImg[2];
-		MyCreateHeuristicMask (*(this->btnImg[0]), tmpImg[0]);
-		mask[0] = tmpImg[0];
+	guiWidget = (QtGUIMainWindow*)parent;
 
-		MyCreateHeuristicMask (*(this->btnImg[1]), tmpImg[1]);
-		mask[1] = tmpImg[1];
+	// Load pictures
+	this->loadPixmaps(pixname);
 
-		// Resize ourself
-		resize (this->btnImg[0]->width(), this->btnImg[0]->height() );
-		
-		// Set default pixmap (released)
-		setMask (mask[0]);
-		setPixmap (*(this->btnImg[0]));
+	// Create transparency bitmasks
+	QImage tmpImg[2];
+	MyCreateHeuristicMask (*(this->btnImg[0]), tmpImg[0]);
+	mask[0] = tmpImg[0];
 
-		// Default cursor is pointing hand
-		setCursor (QCursor (Qt::PointingHandCursor));
+	MyCreateHeuristicMask (*(this->btnImg[1]), tmpImg[1]);
+	mask[1] = tmpImg[1];
 
-		setFocusPolicy(QWidget::NoFocus);
+	// Resize ourself
+	resize (this->btnImg[0]->width(), this->btnImg[0]->height() );
+	
+	// Set default pixmap (released)
+	setMask (mask[0]);
+	setPixmap (*(this->btnImg[0]));
+
+	// Default cursor is pointing hand
+	setCursor (QCursor (Qt::PointingHandCursor));
+
+	setFocusPolicy(QWidget::NoFocus);
+	show();
 }
 
 // Delete allocated items
@@ -73,10 +77,10 @@ JPushButton::loadPixmaps (const char* pixname) {
 	QString pressedPixmapPath, releasedPixmapPath;
 	
 	pressedPixmapPath = Skin::getPath(QString(SKINDIR),
-									QtGUIMainWindow::setPathSkin(),
+									guiWidget->setPathSkin(),
 									QString(pixname) + PRESS_PREFIX + ".png");
 	releasedPixmapPath = Skin::getPath(QString(SKINDIR),
-									QtGUIMainWindow::setPathSkin(),
+									guiWidget->setPathSkin(),
 									QString(pixname) + REL_PREFIX + ".png");
 
 	this->btnImg[0] = new QImage (releasedPixmapPath);
diff --git a/src/jpushbutton.h b/src/jpushbutton.h
index f0785a72f33d6da6f6b240e90ec744ee6c1cf86b..e69c818451c78c4e15d6834e39d602b69c2ddd98 100644
--- a/src/jpushbutton.h
+++ b/src/jpushbutton.h
@@ -32,6 +32,8 @@
 #define	PRESS_PREFIX	"_on"
 #define REL_PREFIX		"_off"
 
+class QtGUIMainWindow;
+
 class JPushButton : public QLabel {
 Q_OBJECT
 
@@ -40,6 +42,8 @@ public:
 	~JPushButton (void);
 
 private:
+	QtGUIMainWindow*	guiWidget;
+	
 	void iAmPressed (void);
 	void iAmReleased (void);
 	QImage*		btnImg[2];
@@ -49,6 +53,7 @@ private:
 	// This function was derived from QImage::createHeuristicMask()
 	int MyCreateHeuristicMask (const  QImage &, QImage &, long = -1 );
 
+
 protected:
 	void		mousePressEvent		(QMouseEvent *);
 	void		mouseReleaseEvent	(QMouseEvent *);
diff --git a/src/manager.h b/src/manager.h
index 320d3223636c27791b7d6926ab3f1e9dc6f1cf77..85b79fcacdc42dd4a5d641f7fe97867391b838af 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -82,7 +82,6 @@ public:
 	bool	getCallInProgress		(void);
 	void	setCallInProgress		(bool);
 #endif
-
 	bool	transferedCall			(void);
 
 	void	ringTone				(bool);
diff --git a/src/mydisplay.cpp b/src/mydisplay.cpp
index f8187fc9519cec9de418db8a4b5e15ce4cc04cc6..b29a3cb7f3193fd8bef6d61445b8339a8f1817cf 100644
--- a/src/mydisplay.cpp
+++ b/src/mydisplay.cpp
@@ -88,6 +88,9 @@ MyDisplay::MyDisplay (QWidget *parent, const char *name, QtGUIMainWindow* qtgui)
 	this->qtgui = qtgui;
 	this->initGraphics();
 	this->initText();
+	// Graphics engine animation thread
+	this->animationThread = new MyDisplayThread (this);
+	this->animationThread->start();
 }
 
 /**
@@ -177,8 +180,8 @@ MyDisplay::initGraphics (void) {
 	this->setGeometry (0, 0, centerImage.width(), centerImage.height());
 
 	// Graphics engine animation thread
-	this->animationThread = new MyDisplayThread (this);
-	this->animationThread->start();
+//	this->animationThread = new MyDisplayThread (this);
+//	this->animationThread->start();
 }
 
 /**
diff --git a/src/mydisplay.h b/src/mydisplay.h
index f7d3430f220700a86dadd67f38b3e8b5fd2002da..6d3cf44bd5d900acdf42c6f870b4c3a0b6c773fb 100644
--- a/src/mydisplay.h
+++ b/src/mydisplay.h
@@ -58,6 +58,7 @@ public:
 	QString &	getStatus (void);
 	void 		setTimer (const QString &);
 	QString &	getTimer (void);
+	void		initGraphics	(void);
 	bool 		inFunction;
 
 	QString		       *textBuffer;		
@@ -82,7 +83,6 @@ private:
 	MyDisplayThread	   *animationThread;
 	QtGUIMainWindow	   *qtgui;	
 	
-	void		initGraphics	(void);
 	void		initText		(void);
 	void		renderText		(QPainter &, QFontMetrics &, QString &);
 	void		renderStatus	(QPainter &, QFontMetrics &, QString &);
diff --git a/src/numerickeypad.cpp b/src/numerickeypad.cpp
index c98ce62a2cf9432490d2a9c836ce793ce84e53de..e43158559759e6ed234526deb5bd578b61f10eae 100644
--- a/src/numerickeypad.cpp
+++ b/src/numerickeypad.cpp
@@ -28,11 +28,12 @@
 NumericKeypad::NumericKeypad (QWidget *parent, const char *name, WFlags f) 
 						: TransQWidget (NULL, name, f) {
 	mainWindow = (TransQWidget *)parent;
+	gui = (QtGUIMainWindow*)parent;
 	this->setCaption("DTMF keypad");
 	
 	// Load background image phone 
 	setbgPixmap (new QPixmap (Skin::getPath(QString(SKINDIR), 
-											QtGUIMainWindow::setPathSkin(),
+											gui->setPathSkin(),
 											QString(PIXMAP_KEYPAD))));
 
 	// Transform pixmap to QImage
@@ -44,7 +45,7 @@ NumericKeypad::NumericKeypad (QWidget *parent, const char *name, WFlags f)
 	transparencyMask ();						
 
 	QString skinfilename(Skin::getPath(QString(SKINDIR), 
-										QtGUIMainWindow::setPathSkin(),
+										gui->setPathSkin(),
 										QString(FILE_INI)));
 	pt = new Point(skinfilename);
 	
diff --git a/src/numerickeypad.h b/src/numerickeypad.h
index 9b4c083b074aa8b8b74666997a6d65d312e6dd78..884bbbcd0473dea29f89f7a94f37963e67caf5ab 100644
--- a/src/numerickeypad.h
+++ b/src/numerickeypad.h
@@ -24,6 +24,8 @@
 #include "point.h"
 #include "transqwidget.h"
 
+class QtGUIMainwindow;
+
 class NumericKeypad : public TransQWidget {
 	Q_OBJECT
 public:
@@ -48,6 +50,7 @@ public:
 private:
 	Point				*pt;	
 	TransQWidget*		mainWindow;
+	QtGUIMainWindow*	gui;
 	void keyPressEvent 	(QKeyEvent*);
 };
 
diff --git a/src/phonebookui.cpp b/src/phonebookui.cpp
index ef9626f46e7fe5aea6dbb7b28c34c08ef3ee68d3..204596f4718b41802bbee628e5340b8ce6d68f38 100644
--- a/src/phonebookui.cpp
+++ b/src/phonebookui.cpp
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form implementation generated from reading ui file 'phonebook.ui'
 **
-** Created: Mon Jan 31 18:13:29 2005
+** Created: Wed Feb 2 17:25:45 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
diff --git a/src/phonebookui.h b/src/phonebookui.h
index bf561121e0c0d776998cc26c85eb03366dca3961..98923ad0cd018f2fdc6f5e9428ea70f8839533cc 100644
--- a/src/phonebookui.h
+++ b/src/phonebookui.h
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form interface generated from reading ui file 'phonebook.ui'
 **
-** Created: Mon Jan 31 18:13:29 2005
+** Created: Wed Feb 2 17:25:44 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
diff --git a/src/point.cpp b/src/point.cpp
index e0b54b8e32f4d5b2571440fc5c8152e6da471e59..aa31c6de46c1c76de84dc4e4599acffc025a1cb7 100644
--- a/src/point.cpp
+++ b/src/point.cpp
@@ -38,6 +38,7 @@ Point::~Point (void) {
 	}
 }
 
+
 /**
  * Extract the substring before the comma
  */
diff --git a/src/qtGUImainwindow.cpp b/src/qtGUImainwindow.cpp
index c87165b1c2a169a3543dccf787c98c90cc9ebf63..cf088db5448ba61440291e4f3abf55bf1b7ee8d5 100644
--- a/src/qtGUImainwindow.cpp
+++ b/src/qtGUImainwindow.cpp
@@ -98,7 +98,6 @@ MyTrayIcon::mousePressEvent (QMouseEvent *e)
 QtGUIMainWindow::QtGUIMainWindow (QWidget *parent, const char *name, WFlags f, 
 									Manager *mngr) 
 									: TransQWidget (parent, name, f) {
-
 	// Create configuration panel
 	panel = new ConfigurationPanel (0, 0, false);
 
@@ -115,152 +114,34 @@ QtGUIMainWindow::QtGUIMainWindow (QWidget *parent, const char *name, WFlags f,
 	key = new DTMF ();
 	buf = new short[SIZEBUF];
 
-	// Load file configuration skin
-	QString skinfilename(Skin::getPath(QString(SKINDIR), setPathSkin(),
-				QString(FILE_INI)));
-	this->pt = new Point(skinfilename.ascii());
-	
-	// Initialisations
-	this->initSpkrVolumePosition();
-	this->initMicVolumePosition();
-	this->initButtons();
-	this->initBlinkTimer();
-	
- 	// Initialisation variables for ringing and message
-	msgVar = false;
-	b_dialtone = false;
-	
-	// Load background image phone
-	setbgPixmap (new QPixmap (Skin::getPath(QString(SKINDIR), 
-											setPathSkin(),
-											QString(PIXMAP_PHONE))));
-	
-	// Transform pixmap to QImage
-	setSourceImage ();
-
-	this->setMaximumSize (getSourceImage().width(), getSourceImage().height());
-	this->setGeometry (MAIN_INITIAL_POSITION, 
-					   MAIN_INITIAL_POSITION, 
-					   getSourceImage().width(),
-					   getSourceImage().height());
-		
-	// Calculate just one time the transparency mask bit to bit
-	transparencyMask ();
-
-	// By default, keyboard mapping mode is numerical mode
-	this->setMode(NUM_MODE);
-	
-	// Connect blinkTimer signals to blink slot
-    connect(blinkTimer, SIGNAL(timeout()),this, SLOT(blinkMessageSlot()));
-	connect (blinkTimer, SIGNAL(timeout()), this, SLOT(blinkRingSlot()) );
-	connect (blinkTimer, SIGNAL(timeout()), this, SLOT(blinkLineSlot()));
-	
-	// Line pixmaps initialisation
-	for (int i = 0; i < NUMBER_OF_LINES; i++) {
-		for (int j = 0; j < NUMBER_OF_STATES; j++) {
-	 		TabLinePixmap[i][j] = QPixmap(Skin::getPath(QString(SKINDIR),
-												setPathSkin(), 
-												QString(PIXMAP_LINE(i, j))));
-	 	}
-	}
-	
+	// Create new display and numeric keypad
+	lcd = new MyDisplay(this, 0, this);
+	keypad = new NumericKeypad (this, NULL, Qt::WDestructiveClose |
+                    					Qt::WStyle_Customize |
+                    					Qt::WStyle_NoBorder);
+ 	// Initialisation of variables
 	currentLineNumber = -1;
 	onLine = currentLineNumber;
 	chosenLine = -1;
 	choose = false;
 	noChoose = false;
 	transfer = false;
+	msgVar = false;
+	b_dialtone = false;
+	apply = false;
+	this->first = true;
 	
-	// Message pixmaps initialisation
-	TabMsgPixmap[0] = QPixmap(Skin::getPath(QString(SKINDIR), setPathSkin(), 
-						PIXMAP_MESSAGE_OFF));
-	TabMsgPixmap[1] = QPixmap(Skin::getPath(QString(SKINDIR), setPathSkin(), 
-						PIXMAP_MESSAGE_ON));
-	
-	// Create new display and numeric keypad
-	lcd = new MyDisplay(this, 0, this);
-	keypad = new NumericKeypad (this, NULL, Qt::WDestructiveClose |
-                    					Qt::WStyle_Customize |
-                    					Qt::WStyle_NoBorder);
+	// Initialisation of all that concern the skin
+	initSkin();
+	this->initBlinkTimer();
 
-	this->first = true;
+	
+	// By default, keyboard mapping mode is numerical mode
+	this->setMode(NUM_MODE);
 	
 	// Move 
 	setMainLCD ();
-
-	// Connect to append url in display
-	connect (urlinput->buttonOK, SIGNAL(clicked()), this, SLOT(stripSlot()));
-
-	// Connect to save settings
-	connect (panel->buttonSave, SIGNAL(clicked()), this, SLOT(save()));
 	
-	// Handle keyboard events
-	// Connect for clicked numeric keypad button 
-	connect ((QObject*)keypad->key0, SIGNAL(clicked()), this, 
-			SLOT(pressedKey0()));
-	connect ((QObject*)keypad->key1, SIGNAL(clicked()), this, 
-			SLOT(pressedKey1()));
-	connect ((QObject*)keypad->key2, SIGNAL(clicked()), this, 
-			SLOT(pressedKey2()));
-	connect ((QObject*)keypad->key3, SIGNAL(clicked()), this, 
-			SLOT(pressedKey3()));
-	connect ((QObject*)keypad->key4, SIGNAL(clicked()), this, 
-			SLOT(pressedKey4()));
-	connect ((QObject*)keypad->key5, SIGNAL(clicked()), this, 
-			SLOT(pressedKey5()));
-	connect ((QObject*)keypad->key6, SIGNAL(clicked()), this, 
-			SLOT(pressedKey6()));
-	connect ((QObject*)keypad->key7, SIGNAL(clicked()), this, 
-			SLOT(pressedKey7()));
-	connect ((QObject*)keypad->key8, SIGNAL(clicked()), this, 
-			SLOT(pressedKey8()));
-	connect ((QObject*)keypad->key9, SIGNAL(clicked()), this, 
-			SLOT(pressedKey9()));
-	connect ((QObject*)keypad->keyStar, SIGNAL(clicked()), this, 
-			SLOT(pressedKeyStar()));
-	connect ((QObject*)keypad->keyHash, SIGNAL(clicked()), this, 
-			SLOT(pressedKeyHash()));
-	connect ((QObject*)keypad->keyClose, SIGNAL(clicked()), this, 
-			SLOT(dtmfKeypad()));
-
-	// Connections for the lines 
-	connect (callmanager->phLines[0]->button(), SIGNAL(clicked()), this, 
-			SLOT(button_line0()));
-	connect (callmanager->phLines[1]->button(), SIGNAL(clicked()), this, 
-			SLOT(button_line1()));
-	connect (callmanager->phLines[2]->button(), SIGNAL(clicked()), this, 
-			SLOT(button_line2()));
-	connect (callmanager->phLines[3]->button(), SIGNAL(clicked()), this, 
-			SLOT(button_line3()));
-	connect (callmanager->phLines[4]->button(), SIGNAL(clicked()), this, 
-			SLOT(button_line4()));
-	connect (callmanager->phLines[5]->button(), SIGNAL(clicked()), this, 
-			SLOT(button_line5()));
-
-	// Misc 
-	connect (phoneKey_msg, SIGNAL(clicked()), this, SLOT(button_msg()));
-	connect (phoneKey_transf, SIGNAL(clicked()), this, SLOT(button_transfer()));
-	connect (phoneKey_conf, SIGNAL(clicked()), this, SLOT(button_conf()));
-	connect (dial_button, SIGNAL(clicked()), this, SLOT(dial()));
-	connect (mute_button, SIGNAL(clicked()), this, SLOT(button_mute()));
-	connect (hangup_button, SIGNAL(clicked()), this, SLOT(hangupLine()));
-	connect (configuration_button,SIGNAL(clicked()),this,SLOT(configuration()));
-	connect (addr_book_button, SIGNAL(clicked()), this,SLOT(addressBook()));
-	connect (dtmf_button, SIGNAL(clicked()), this, SLOT(dtmfKeypad()));
-
-	// Connect to reduce
-	connect (reduce_button, SIGNAL(clicked()), this, SLOT(reduceHandle()));
-	// Connect to quit with keyboard
-	connect (this, SIGNAL(keyPressed(int)), this, SLOT(quitApplication()));
-   	// Connect to quit with quit button
-	connect (quit_button, SIGNAL(clicked()), this, SLOT(quitApplication()));
-	
-	// To register when program is launched
-	//if (Config::getb("Preferences", "Options.autoregister") 	
-	//		and panel->password->text() == "") { 
-	//	configuration ();
-	//}
-
 	// Change window title and Icon.
 	this->setCaption(PROGNAME);
 	this->setIcon(QPixmap(Skin::getPathPixmap(QString(PIXDIR), 
@@ -277,19 +158,39 @@ QtGUIMainWindow::QtGUIMainWindow (QWidget *parent, const char *name, WFlags f,
 				Skin::getPathPixmap(QString(PIXDIR), QString(TRAY_ICON))), 
 				NULL, mypop, parent, name);
 	trayicon->show();
-	connect(trayicon, SIGNAL(clickedLeft()), this, SLOT(clickHandle()));
 	
-	// Connections for volume control
-	connect(vol_spkr, SIGNAL(setVolumeValue(int)), this, 
-			SLOT(volumeSpkrChanged(int)));
-	connect(vol_mic, SIGNAL(setVolumeValue(int)), this, 
-			SLOT(volumeMicChanged(int)));
+	// Connect to handle trayicon
+	connect(trayicon, SIGNAL(clickedLeft()), this, SLOT(clickHandle()));
+	// Connect blinkTimer signals to blink slot
+    connect(blinkTimer, SIGNAL(timeout()),this, SLOT(blinkMessageSlot()));
+	connect (blinkTimer, SIGNAL(timeout()), this, SLOT(blinkRingSlot()) );
+	connect (blinkTimer, SIGNAL(timeout()), this, SLOT(blinkLineSlot()));
+	// Connect to append url in display
+	connect (urlinput->buttonOK, SIGNAL(clicked()), this, SLOT(stripSlot()));
+	// Connect to save settings
+	connect (panel->buttonSave, SIGNAL(clicked()), this, SLOT(save()));
+	// Connect to apply skin
+	connect (panel->buttonApplySkin, SIGNAL(clicked()), this,SLOT(applySkin()));
 }
 
 /**
  * Destructor
  */
 QtGUIMainWindow::~QtGUIMainWindow(void) {
+	deleteButtons();
+	delete	panel;
+	delete  blinkTimer;
+	delete  keypad;
+	delete	lcd;
+	delete  urlinput;
+	delete	callmanager;
+	delete 	mypop;
+	delete 	trayicon;
+	delete  pt;
+}
+
+void
+QtGUIMainWindow::deleteButtons (void) {
 	delete  phoneKey_transf;
 	delete  phoneKey_msg;
 	delete  phoneKey_conf;
@@ -309,22 +210,11 @@ QtGUIMainWindow::~QtGUIMainWindow(void) {
 	delete 	vol_spkr;
 	delete	micVolVector;
 	delete	spkrVolVector;
-	delete	panel;
-	delete  blinkTimer;
-	delete  keypad;
-	delete	lcd;
-	delete  urlinput;
-	delete	callmanager;
-	delete 	mypop;
-	delete 	trayicon;
-
 	for (int j = 0; j < NUMBER_OF_LINES; j++) {
 		delete callmanager->phLines[j]->button();
 	}
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////////
 // Private Methods implementations     	                               	     
 ///////////////////////////////////////////////////////////////////////////////
@@ -346,18 +236,74 @@ QtGUIMainWindow::setPathSkin (void) {
 					"Preferences", "Themes.skinChoice", "metal"));
 }
 
+/**
+ * Init variable with ring choice
+ */
 QString
 QtGUIMainWindow::ringFile(void) {
 	return QString(Config::getchar(
 					"Audio", "Rings.ringChoice", "konga.ul"));
 }
 
+/**
+ * Get whole path for rings
+ */
 QString
 QtGUIMainWindow::getRingFile (void) {
 	QString ringFilename(Skin::getPathRing(QString(RINGDIR), ringFile()));
 	return ringFilename;
 }
 
+void
+QtGUIMainWindow::initSkin (void) {
+	// Load file configuration skin
+	QString skinfilename(Skin::getPath(QString(SKINDIR), setPathSkin(),
+				QString(FILE_INI)));
+	
+	if (!apply) {
+		this->pt = new Point(skinfilename.ascii());	
+	} else {
+		// If click on apply button
+		delete pt;
+		deleteButtons();
+		this->pt = new Point(skinfilename.ascii());	
+	}
+	// Initialisation of the buttons
+	this->initSpkrVolumePosition();
+	this->initMicVolumePosition();
+	this->initButtons();
+	// Connections of the buttons
+	this->connections();
+	
+	// Load background image phone
+	setbgPixmap (new QPixmap (Skin::getPath(QString(SKINDIR), 
+											setPathSkin(),
+											QString(PIXMAP_PHONE))));
+	// Transform pixmap to QImage
+	setSourceImage ();
+	this->setMaximumSize (getSourceImage().width(), getSourceImage().height());
+	this->setGeometry (MAIN_INITIAL_POSITION, 
+					   MAIN_INITIAL_POSITION, 
+					   getSourceImage().width(),
+					   getSourceImage().height());
+	// Calculate just one time the transparency mask bit to bit
+	transparencyMask ();
+
+	// Line pixmaps initialisation
+	for (int i = 0; i < NUMBER_OF_LINES; i++) {
+		for (int j = 0; j < NUMBER_OF_STATES; j++) {
+	 		TabLinePixmap[i][j] = QPixmap(Skin::getPath(QString(SKINDIR),
+												setPathSkin(), 
+												QString(PIXMAP_LINE(i, j))));
+	 	}
+	}
+	// Message pixmaps initialisation
+	TabMsgPixmap[0] = QPixmap(Skin::getPath(QString(SKINDIR), setPathSkin(), 
+						PIXMAP_MESSAGE_OFF));
+	TabMsgPixmap[1] = QPixmap(Skin::getPath(QString(SKINDIR), setPathSkin(), 
+						PIXMAP_MESSAGE_ON));
+}
+
 void
 QtGUIMainWindow::initSpkrVolumePosition (void) {
 	if (pt->getDirection(VOL_SPKR) == VERTICAL) {
@@ -418,7 +364,7 @@ QtGUIMainWindow::initButtons (void) {
 	QToolTip::add(dial_button, tr("Dial"));
 	QToolTip::add(mute_button, tr("Mute"));
 	QToolTip::add(dtmf_button, tr("Show DTMF keypad"));
-	
+
 	// Buttons position
 	phoneKey_msg->move (pt->getX(VOICEMAIL), pt->getY(VOICEMAIL));
 	phoneKey_transf->move (pt->getX(TRANSFER), pt->getY(TRANSFER));
@@ -433,7 +379,7 @@ QtGUIMainWindow::initButtons (void) {
 	dtmf_button->move (pt->getX(DTMF_SHOW), pt->getY(DTMF_SHOW));
 	
 	// Loop for line buttons
-	//Initialisation, set no focus, set geometry, set palette, pixmap
+	// Initialisation, set no focus, set geometry, set palette, pixmap
 	for (int j = 0; j < NUMBER_OF_LINES; j++) {
 		QString lnum;
 
@@ -453,6 +399,75 @@ QtGUIMainWindow::initButtons (void) {
 	vol_spkr->move(vol_spkr_x, vol_spkr_y);
 }
 
+void
+QtGUIMainWindow::connections (void) {
+	// Connect for clicked numeric keypad button 
+	connect ((QObject*)keypad->key0, SIGNAL(clicked()), this, 
+			SLOT(pressedKey0()));
+	connect ((QObject*)keypad->key1, SIGNAL(clicked()), this, 
+			SLOT(pressedKey1()));
+	connect ((QObject*)keypad->key2, SIGNAL(clicked()), this, 
+			SLOT(pressedKey2()));
+	connect ((QObject*)keypad->key3, SIGNAL(clicked()), this, 
+			SLOT(pressedKey3()));
+	connect ((QObject*)keypad->key4, SIGNAL(clicked()), this, 
+			SLOT(pressedKey4()));
+	connect ((QObject*)keypad->key5, SIGNAL(clicked()), this, 
+			SLOT(pressedKey5()));
+	connect ((QObject*)keypad->key6, SIGNAL(clicked()), this, 
+			SLOT(pressedKey6()));
+	connect ((QObject*)keypad->key7, SIGNAL(clicked()), this, 
+			SLOT(pressedKey7()));
+	connect ((QObject*)keypad->key8, SIGNAL(clicked()), this, 
+			SLOT(pressedKey8()));
+	connect ((QObject*)keypad->key9, SIGNAL(clicked()), this, 
+			SLOT(pressedKey9()));
+	connect ((QObject*)keypad->keyStar, SIGNAL(clicked()), this, 
+			SLOT(pressedKeyStar()));
+	connect ((QObject*)keypad->keyHash, SIGNAL(clicked()), this, 
+			SLOT(pressedKeyHash()));
+	connect ((QObject*)keypad->keyClose, SIGNAL(clicked()), this, 
+			SLOT(dtmfKeypad()));
+
+	// Connections for the lines 
+	connect (callmanager->phLines[0]->button(), SIGNAL(clicked()), this, 
+			SLOT(button_line0()));
+	connect (callmanager->phLines[1]->button(), SIGNAL(clicked()), this, 
+			SLOT(button_line1()));
+	connect (callmanager->phLines[2]->button(), SIGNAL(clicked()), this, 
+			SLOT(button_line2()));
+	connect (callmanager->phLines[3]->button(), SIGNAL(clicked()), this, 
+			SLOT(button_line3()));
+	connect (callmanager->phLines[4]->button(), SIGNAL(clicked()), this, 
+			SLOT(button_line4()));
+	connect (callmanager->phLines[5]->button(), SIGNAL(clicked()), this, 
+			SLOT(button_line5()));
+
+	// Misc 
+	connect (phoneKey_msg, SIGNAL(clicked()), this, SLOT(button_msg()));
+	connect (phoneKey_transf, SIGNAL(clicked()), this, SLOT(button_transfer()));
+	connect (phoneKey_conf, SIGNAL(clicked()), this, SLOT(button_conf()));
+	connect (dial_button, SIGNAL(clicked()), this, SLOT(dial()));
+	connect (mute_button, SIGNAL(clicked()), this, SLOT(button_mute()));
+	connect (hangup_button, SIGNAL(clicked()), this, SLOT(hangupLine()));
+	connect (configuration_button,SIGNAL(clicked()),this,SLOT(configuration()));
+	connect (addr_book_button, SIGNAL(clicked()), this,SLOT(addressBook()));
+	connect (dtmf_button, SIGNAL(clicked()), this, SLOT(dtmfKeypad()));
+
+	// Connect to reduce
+	connect (reduce_button, SIGNAL(clicked()), this, SLOT(reduceHandle()));
+	// Connect to quit with keyboard
+	connect (this, SIGNAL(keyPressed(int)), this, SLOT(quitApplication()));
+   	// Connect to quit with quit button
+	connect (quit_button, SIGNAL(clicked()), this, SLOT(quitApplication()));
+
+	// Connections for volume control
+	connect(vol_spkr, SIGNAL(setVolumeValue(int)), this, 
+			SLOT(volumeSpkrChanged(int)));
+	connect(vol_mic, SIGNAL(setVolumeValue(int)), this, 
+			SLOT(volumeMicChanged(int)));
+}
+
 /**
  * Returns true if the keyboard mapping returns letters. 
  *
@@ -521,8 +536,6 @@ QtGUIMainWindow::dialTone (bool var) {
 
 /**
  * Initializes LCD display, and move it at the configuration file position.
- *
- * @param	lcd
  */
 void
 QtGUIMainWindow::setMainLCD (void) {
@@ -1011,24 +1024,24 @@ QtGUIMainWindow::blinkRingSlot (void) {
 void
 QtGUIMainWindow::quitApplication (void) {
 	bool confirm;
-	// Show QMessageBox
-	confirm = Config::get("Preferences", "Options.confirmQuit", (int)true);
 
 	// Save volume positions
 	// TODO: save position if direction is horizontal
 	Config::set("Audio", "Volume.speakers_x",  pt->getX(VOL_SPKR));
-	if (vol_spkr->getValue() != micVolVector->Y() - micVolVector->Variation()){ 
+	if (vol_spkr->getValue() != 0) { 
 		Config::set("Audio", "Volume.speakers_y",  pt->getY(VOL_SPKR) - 
 			vol_spkr->getValue());
 	}
 	Config::set("Audio", "Volume.micro_x",  pt->getX(VOL_MIC)); 
-	if (vol_mic->getValue() != spkrVolVector->Y() - spkrVolVector->Variation()){
+	if (vol_mic->getValue() != 0) {
 		Config::set("Audio", "Volume.micro_y",  pt->getY(VOL_MIC) - 
 			vol_mic->getValue());
 	}
-	
+	// Save current position of the controls volume
 	save();
 		
+	// Show QMessageBox
+	confirm = Config::get("Preferences", "Options.confirmQuit", (int)true);
 	if (confirm) {
 		if (QMessageBox::question(this, "Confirm quit",
 			"Are you sure you want to quit SFLPhone ?",
@@ -1096,7 +1109,8 @@ QtGUIMainWindow::pressedKeySlot (int id) {
 	key->startTone(code);
 	key->generateDTMF(buf, SAMPLING_RATE);
 	callmanager->audiodriver->audio_buf.resize(SAMPLING_RATE);
-	callmanager->audiodriver->audio_buf.setData (buf, callmanager->getSpkrVolume());
+	callmanager->audiodriver->audio_buf.setData(
+										buf, callmanager->getSpkrVolume());
 	pulselen = Config::get("Signalisations", "DTMF.pulseLength", 250);
 	callmanager->audiodriver->audio_buf.resize(pulselen * (OCTETS/1000));
 //	a = callmanager->audiodriver->writeBuffer(buf, pulselen * (OCTETS/1000));
@@ -1114,6 +1128,17 @@ QtGUIMainWindow::save() {
 	Config::tree()->saveToFile(callmanager->path.data());
 }
 
+void
+QtGUIMainWindow::applySkin (void) {
+	apply = true;
+	// For skin of the screen
+	lcd->initGraphics();
+	setMainLCD();
+	// For skin of the gui
+	initSkin();
+}
+
+
 // Handle operation to minimize the application
 void 
 QtGUIMainWindow::reduceHandle (void) {
diff --git a/src/qtGUImainwindow.h b/src/qtGUImainwindow.h
index 822ca2dc3822ec58b6ba56bcfde0c542bb83d17e..a5168b4a5835db06dfe30bbe1df1e5d2430075c5 100644
--- a/src/qtGUImainwindow.h
+++ b/src/qtGUImainwindow.h
@@ -129,8 +129,8 @@ public:
 	void 	 setMainLCD		 	(void);
 	void 	 toggleLine 	 	(int);
 	void 	 stopTimerMessage 	(void);
-	static 	 QString  setPathSkin(void);
-	static 	 QString  ringFile	(void);
+	QString  setPathSkin		(void);
+	QString  ringFile			(void);
 	QString	 getRingFile		(void);
 	inline 
 	void 	 ring				(bool b) { this->ringVar = b; }
@@ -170,6 +170,7 @@ public slots:
 	void 	 clickHandle 		(void);
 	void	 reduceHandle		(void);
 	void	 save				(void);
+	void	 applySkin			(void);
 	
 	void 	 pressedKey0		(void);
 	void 	 pressedKey1		(void);
@@ -221,15 +222,17 @@ private:
 	void 		 setMode		(int);
 	bool 		 isInTextMode	(void);
 	bool 		 isInNumMode	(void);
-	
+	void		 initSkin		(void);
 	void 		 initButtons 	(void);
 	void 		 initBlinkTimer	(void);
 	void		 initSpkrVolumePosition (void);
 	void		 initMicVolumePosition (void);
+	void		 connections	(void);
 
 	int 		 numLineBusy	(void);
 
 	int			 positionOffsetX		(void);
+	void 		 deleteButtons	(void);
 
 };
 
diff --git a/src/sip.cpp b/src/sip.cpp
index 8d8f4adf879f03f1571c1a95bc00fa41f6d5bb4c..c0e6d4d2c0c6f4a9aec39de92b45568c6e450a81 100644
--- a/src/sip.cpp
+++ b/src/sip.cpp
@@ -358,10 +358,6 @@ SIP::setRegister (void) {
 		callmanager->errorDisplay("Fill host part field");		
 		return -1;
 	}
-	if (Config::gets("Signalisations", "SIP.sipproxy") == "") {
-		callmanager->errorDisplay("Fill proxy field");		
-		return -1;
-	}
 	
 	eXosip_lock();
 	if (setAuthentication() == -1) {
diff --git a/src/tonegenerator.cpp b/src/tonegenerator.cpp
index 0e3280d9c46fe3ec9bb211834a01f717c7dd2c10..1ffcc01547c4b278657501112e1a47199ecae7f3 100644
--- a/src/tonegenerator.cpp
+++ b/src/tonegenerator.cpp
@@ -38,7 +38,7 @@ using namespace std;
 ///////////////////////////////////////////////////////////////////////////////
 ToneThread::ToneThread (Manager *mngr, short *buf, int total) {
 	this->mngr = mngr;
-	this->buf = buf;
+	this->buffer = buf;
 	this->totalbytes = total;
 }
 
@@ -49,7 +49,7 @@ ToneThread::~ToneThread (void) {
 void
 ToneThread::run (void) {
 	while (mngr->tonezone) {
-		mngr->audiodriver->audio_buf.setData (buf, mngr->getSpkrVolume());	
+		mngr->audiodriver->audio_buf.setData (buffer, mngr->getSpkrVolume());	
 		mngr->audiodriver->writeBuffer();
 		//mngr->audiodriver->writeBuffer(buf, totalbytes);
 	}
@@ -259,6 +259,7 @@ ToneGenerator::playRing (const char *fileName) {
 	if (fileName == NULL) {
 		return 0;
 	}
+	
 	fstream file;
 	file.open(fileName, fstream::in);
 	if (!file.is_open()) {
@@ -272,32 +273,32 @@ ToneGenerator::playRing (const char *fileName) {
 
   	// allocate memory:
   	src = new char [length];
-	dst = new short[length];
+	dst = new short[length*2];
 	
   	// read data as a block:
   	file.read (src,length);
 
+	// Decode file.ul
 	expandedsize = AudioCodec::codecDecode (
 				PAYLOAD_CODEC_ULAW,
 				dst,
-				(unsigned char*)src,
+				(unsigned char *)src,
 				length);
-
+	// Start tone thread
 	if (tonethread == NULL) {
 		tonethread = new ToneThread (manager, dst, expandedsize);
-		manager->audiodriver->audio_buf.resize(expandedsize);	
+		manager->audiodriver->audio_buf.resize(expandedsize);
 		tonethread->start();
 	}
 	if (!manager->tonezone) {
 		if (tonethread != NULL) {	
 			delete tonethread;
 			tonethread = NULL;
+			delete[] dst;
+			delete[] src;
 		}
 	}
-	
 	file.close();
-	delete[] dst;
-	delete[] src;
 	return 1;
 }
 
diff --git a/src/tonegenerator.h b/src/tonegenerator.h
index 778a0ed22ce071f3cbdd2461c508d925f8928382..256049f457344a33dd41cfabd7cda2f0d2a3cab5 100644
--- a/src/tonegenerator.h
+++ b/src/tonegenerator.h
@@ -53,7 +53,7 @@ public:
 	virtual void run ();
 private:
 	Manager *mngr;
-	short	*buf;
+	short	*buffer;
 	int		 totalbytes;
 };
 
diff --git a/src/url_inputui.cpp b/src/url_inputui.cpp
index e3b2ba09251844ef078d5d2abc3fe4fbc13b28a6..97810d78a31fb975f6965fd3633f822b1fd107cf 100644
--- a/src/url_inputui.cpp
+++ b/src/url_inputui.cpp
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form implementation generated from reading ui file 'url_input.ui'
 **
-** Created: Mon Jan 31 18:13:29 2005
+** Created: Wed Feb 2 17:25:45 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
diff --git a/src/url_inputui.h b/src/url_inputui.h
index 226b813979d5ab4308560e46dc5acecd0af16cd2..71d724d10230029b639a2c549371f3350d8b8b4f 100644
--- a/src/url_inputui.h
+++ b/src/url_inputui.h
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form interface generated from reading ui file 'url_input.ui'
 **
-** Created: Mon Jan 31 18:13:29 2005
+** Created: Wed Feb 2 17:25:45 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
diff --git a/src/volumecontrol.cpp b/src/volumecontrol.cpp
index 61ddb70ac08bbf620d9f8befefe0eb4d74a39b9a..a9def147053f306eea8fe032349e0f17a66a701c 100644
--- a/src/volumecontrol.cpp
+++ b/src/volumecontrol.cpp
@@ -26,7 +26,7 @@
 VolumeControl::VolumeControl (QWidget *parent, const char *name, 
 		const char* pixname, Vector *v) : JPushButton(parent, name, pixname) {
 	this->vect = v;
-	volumeValue = vect->Y() - vect->Variation();
+	volumeValue = 0;
 }
 
 VolumeControl::~VolumeControl (void) {