How To Configure Linux, and build Cgminer for bitcoin and litecoin.

How To Configure Linux, and build Cgminer for bitcoin and litecoin.

For those of us Windows (or Apple) users, Linux can be daunting at first.  It's the wild west of operating systems.  In many ways is far superior than it's Microsoft and Apple counterparts; however, there are some strong caveats.  To make bitcoin and litecoin even more confusing to the average person, try adding Linux to the mix.  Frustration typically ensues.  

I hope to break down a few of the barriers to entry in the bitcoin/litecoin mining arena, in the world of Linux.

Let's begin. I'm using a fresh install of Linux, and the following hardware: 

System details

Motherboard: ASUS M5A99FX PRO

Processor: AMD FX 6100 6-Core Processor

Memory/RAM: Corsair Vengeance 8GB

Power Supply: Cooler Master Silent Pro M - 1000W 80 PLUS Bronze Power Supply

Graphics card: Sapphire AMD Radeon 7970 Dual-x Grahics Card (I'm using two gpu's)

Operating system:  Xubuntu 12.04

AMD Drivers: 13.8 Beta

AMD SDK: 2.8.1.0

AMD ADL: 5.0

Installing Xubuntu

First we must install Linux.  For this tutorial, I'm using Xubuntu 12.04 (see the link above).  Download the xubuntu distribution, and place it on a USB drive (or burn it to a DVDROM).  I use an application called: Linux live usb creator.  This is an easy way to get an install of linux on a USB drive, from a windows computer.

Insert the USB drive to the PC you want linux on, and boot into the BIOS.  Inside the BIOS, you'll need to change the boot order, so that the USB drive boots first.  You'll have to change it back once Linux is installed.  

The Linux install will begin upon bootup.  Select "Install Xubuntu", and it will begin.  It's best to let it use the automatic settings, if you don't know what you're doing.  When it prompts you for a username and password, be sure to select "log in automatically"

After the installation is complete, the computer will reboot.  At this point, you can remove the USB drive, and go back into the BIOS settings, and change the boot order back to your hard drive.

Boot into Linux for the first time, you'll be prompted to update the system.  It's always a good practice to update your system before you begin.  

Getting prepared for Cgminer

Note:  Using sdk & driver versions different from the versions listed above may cause problems.  

After you've updated your Linux installation, we are ready to begin.  Open up your web browser, and download to your "home/username" directory the AMD driver, AMD SDK, and AMD ADL (links are above).  Navigate to your "Home/username" directory, and verify that you've downloaded these files.

Open up the Terminal Emulator program.

Type the following:

sudo apt-get install libcurl4-openssl-dev pkg-config libtool libncurses5-dev libudev-dev screen xterm
sudo apt-get install git-core
sudo apt-get install openssh-server byobu
sudo apt-get install autoconf
sudo apt-get install automake

Downloading Cgminer

ATTENTION:  If you are mining with a GPU, you must use Cgminer version 3.7 or below!  The GPU portion of the code has been removed.  

Inside your home directory, download Cgminer 3.7

git clone https://github.com/ckolivas/cgminer/tree/3.7

Installing AMD drivers

Now it's time to install the AMD drivers.  We downloaded them into our Home directory.  Inside your terminal emulator, do the following:

cd /opt
sudo tar xvzf /home/username/AMD-APP-SDK-v2.8.1.0-lnx32.tgz
cd /
sudo tar xvzf /opt/icd-registration.tgz
cd /opt
sudo tar xvzf AMD-APP-SDK-v2.8.1.0-RC-lnx32.tgz
sudo ln -s /opt/AMD-APP-SDK-v2.8.1.0-RC-lnx32/include/CL /usr/include
sudo ln -s /opt/AMD-APP-SDK-v2.8.1.0-RC-lnx32/lib/x86/* /usr/lib/

Now we will install the ADL drivers.  Inside the home/username directory

mkdir ADL
mv ADL_SDK_5.0.zip ADL
cd ADL
unzip ADL_SDK_5.0.zip
sudo cp include/*.h /home/username/cgminer/ADL_SDK

Build Cgminer with Bitcoin, and Litecoin (scrypt) support.

cd cgminer
./autogen.sh       # Only needed if building from git
CFLAGS="-O2 -Wall -march=native -I/opt/AMD-APP-SDK-v2.8.1.0-RC-lnx32/include" LDFLAGS="-L/opt/AMD-APP-SDK-v2.8.1.0-RC-lnx32/lib/x86" ./configure --enable-opencl --enable-scrypt 

Your output should look something like this

b2ap3_thumbnail_Linux_cgminer_007.jpg

Then type the following commands:

sudo make
sudo make install

Install the AMD Catalyst driver (fglrx).

In your terminal, go into your home/username directory, and lets finish!  This will prompt you with the AMD installation window (pictures).

unzip amd-catalyst-13.8-beta2-linux-x86.x86_64.zip
chmod 700 amd-catalyst-13.8-beta2-linux-x86.x86_64.run
sudo ./amd-catalyst-13.8-beta2-linux-x86.x86_64.run

b2ap3_thumbnail_Linux_002.jpg    b2ap3_thumbnail_Linux_004.jpg

Reboot

Final driver configuration

Once the system has rebooted, open your Terminal emulator, and type the following commands:

sudo aticonfig --adapter=all --initial

Now we can see if our installation has been successful. Type the following commands:

sudo aticonfig --lsa
sudo aticonfig --adapter=all --odgt

This will give you an output that looks something like this:

b2ap3_thumbnail_Linux_caminer_006.jpg

Now, we have to make sure that cgminer recognizes our drivers, and our GPU cards.  In terminal: 

cd cgminer
./cgminer -n

It should look like this, with no errors.

b2ap3_thumbnail_Linux_cgminer_009.jpg

You can start cgminer, and enter the pool information manually.  This will be the final confirmation, that you've installed, and configured everything properly.

./cgminer

Here is a fresh install, with no overclock settings.  Hashing away.

b2ap3_thumbnail_Linux_cgminer_010.jpg

That's it!  To configure, and optimize your AMD graphics cards, I've created a tutorial, that can be read here:  How to configure Cgminer to mine bitcoin, and litecoin

Rate this blog entry:
32
Poland confiscates pension funds, bitcoin still fr...
Bitcoin - An Emerging Global Payment System - Coin...
  • Guest - Tracer

    Hey guys , i'm having this error "configure: error: Could not find pthread library - please install libpthread" and i have installed it. I have this error when i'm running ./configure. Any ideas ?

    Thanks!

  • Guest - L0laapk3

    when I tried to perform

    CFLAGS="-O2 -Wall -march=native -I/opt/AMD-APP-SDK-v2.8.1.0-RC-lnx32/include" LDFLAGS="-L/opt/AMD-APP-SDK-v2.8.1.0-RC-lnx32/lib/x86" ./configure --enable-opencl --enable-scrypt 

    it will say openCL not found, GPU mining support disabled. is this because I am using ADL 6.0 (I can't seem to find the 5.0 download), or is it caused by the following thing:

    when I run the amd catalyst installer, it'll give me an error when it is pretty much finished, but it will act like the installation succeeded and let me reboot my pc ect... here's what the log file says: http://pastebin.com/DN3PsdtB. also when I perform the
    sudo aticonfig --adapter=all --odgt
    command, it says this: ERROR - OD Get Version failed. but
    sudo aticonfig --adapter=all --odgt
    gives me the correct output. I have a no clue how to fix this, any idea how to?

    Thanks in advance!

  • Guest - L0laapk3

    Guest - L0laapk3

    the second problem was also solved by performing this alternative way to install amd catalyst. http://wiki.cchtml.com/index.php/Ubuntu_Saucy_Installation_Guide

  • Guest - L0laapk3

    Guest - L0laapk3

    ok the first problem is fixed, I don't exactly know how I fixed it, I just got myself a fresh install and started over and it was working :)
    the fglrx still gives me an error, and causes cgminer to also give me an error. :(

  • Guest - Kevin

    Hey guys, has anyone else had difficulty with the codes:

    ;;sudo ln -s /opt/AMD-APP-SDK-v2.8.1.0-RC-lnx64/include/CL /usr/include
    ;;ln: failed to create symbolic link `/usr/include/CL': File exists

    and the line after it:
    sudo ln -s /opt/AMD-APP-SDK-v2.8.1.0-RC-lnx64/lib/x86/* /usr/lib/
    ln: failed to create symbolic link `/usr/lib/libamdocl32.so': File exists
    ln: failed to create symbolic link `/usr/lib/libGLEW.so': File exists
    ln: failed to create symbolic link `/usr/lib/libglut.so': File exists
    ln: failed to create symbolic link `/usr/lib/libOpenCL.so': File exists
    ln: failed to create symbolic link `/usr/lib/libOpenCL.so.1': File exists

    I am not sure if this is a good thing or a bad thing and if I should write over the existing files or not. Thanks for your help, this is a great guide.

  • Guest - L0laapk3

    Guest - Kevin

    its because you already ran the command before and the files it is trying to create already exist. use the -f flag to make it overwrite the files

  • Guest - Ian

    1. Looking a the ordering above, you are suggesting that it's ok to install the AMD driver _after_ compiling cgminer?
    2. I ask, as after running cgminer autogen.sh, I get
    “OpenCL……………: Detection overrided. GPU mining support DISABLED"
    So I was thinking that it was unable to detect my card due to drivers not being installed/correct.
    3. I can force the option true with “–enable-opencl” when using autogen & configure, but that results in "cgminer -n" itself to not run with
    [2014-02-19 01:13:29] CL Platform 0 vendor: Advanced Micro Devices, Inc.
    [2014-02-19 01:13:29] CL Platform 0 name: AMD Accelerated Parallel Processing
    [2014-02-19 01:13:29] CL Platform 0 version: OpenCL 1.2 AMD-APP (1214.3)
    [2014-02-19 01:13:29] Error -1: Getting Device IDs (num)
    [2014-02-19 01:13:29] clDevicesNum returned error, no GPUs usable
    [2014-02-19 01:13:29] 0 GPU devices max detected
    (I have a Ubuntu 13.10 & a R9 290)
    Any help much appreciated!

    0 Short URL: r? Short URL: Facebook Reply
    9/div>
  • 1. we.pnand fonf, evenood igure, bi"kmtll ts ain#km. With mtll tr-foCgure, b3.7Lookinmtly creater n"k-- the option t (1. ) AdvanceAgmine n"krd due
    dden" itemprop="datePubl19:38:55atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    3/div>
  • Guest - Ian

    Any help much appreciated!

    dden" itemprop="datePu3T07:19:34atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short URL: r? Short URL: Facebook Reply
4/div>
  • . Ct-pokinexplin (that it's o-19 01:s etctco> Any help much appreciated!

    dden" itemprop="datePu4lish54:24atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
  • 85/div>
  • Guest - Ian

    In and somem/i_ comlsoevices2x HD7970 SaphialrDualXer te on-rap105" consoousta'penninm alrtht-p42serH/s on eacht it _ cotri di andhang"k kmers thssing autogedida'pe0 &amtoomp; a_ cotem n"kms="k.php/ting ng , a go n"k dw/a> Thalmosin n"kms="tco wtogecg or bm n"kp105" c?> Any help much appreciated!

    dden" itemprop="dat1-29T20:0d" datetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
  • 83/div>
  • Guest - Ian

    xvzf om/me/tem-Pers/tform [email protected]:/$ nd th"> xvzfom/me/dava/tform 0-SDK-v2.8.1.0-lnx32.tgzCL.so.1"> : Oldct.
    <0 &a' `"> [email protected]:/$ Any help much appreciated!

    dden" itemprop="dat1-26T02:28:4datetime="2014-02-19T09:15:57+00:00"> about 4 years ago
  • 89/div>
  • dden" itemprop="dat2-01T01:02:44atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    74/div>
  • Guest - Ian

    ./.php/tuto -- the opmt-yp the option tCL.so.1ounnin:CL.so.1bash: ./.php/tuto: Nk -uch fi thopx !rec://yCL.so.1ofkmt-rs it amido Dg/ n" Tha fi th.php/tuto.acCL.so.1anye0 &amwg or bm n creci"> d> Any help much appreciated!

    dden" itemprop="dat1-08T09:22:21atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
  • 87/div>
  • Guest - Ian Guest - Kevin
    Any help much appreciated!

    dden" itemprop="dat1-31T10:08:36atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    76/div>
  • (pas t/ n"k (out CFLAGS="-O2 -Wgest-divch=nativ"k-I//sp/tform 0-SDK-v2.8.1.0-RC-lnx32" hcludlasLDFLAGS="-L//sp/tform 0-SDK-v2.8.1.0-RC-lnx32"lib/x86/d./.php/tuto -- the option t -- the opmt-yp > Any help much appreciated!

    dden" itemprop="dat1-09Tteti3:12atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
  • 77/div>
  • Guest - Ian Guest - Kevin
    ./thoogen.shCL.so.1on-raafer - n"./.php/tuto -- the option t -- the opmt-yp C Any help much appreciated!

    dden" itemprop="dat1-09Tt8:21:16atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    68/div>
  • Guest - Ian
    Link kmtgithublink"ckoli km/o-confi/tree/3.7/ink"'ts infoundCL.so.1CL.so.1anyesugg an>s?> Any help much appreciated!

    dden" itemprop="3-12-29Ttet12:32atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    75/div>
  • Guest - Ian Guest - Kevin
    c"parentLink kmtgithublink"ckoli km/o-confi/tree/3.7/".kmarenofo w">Link kmtgithublink"ckoli km/o-confi/tree/3.7/ink" d-bndownss=" n"k.zip CL.so.1tn"a> Tha downss=" .zip t-shareos/ n"kto"> > Any help much appreciated!

    dden" itemprop="dat1-08T09:25:03atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    59/dieply-wrap -->item kmt-comment-i="kmt-item kmt-comment-item-public kmt-c5 kmt-ctem-ussergroup-9 kmt-98 kmt-child-0 kmt-published" parenti"kmt-100" depth="1" childs="0" published="1" itemscope itemtype="http://schema.org/Comment">
    Guest - Ian
    s> Any help much appreciated!

    dden" itemprop="3-12-11T18:52:23atetime="2014-02-19T09:15:57+00:00"> about 4 years ago
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    58/div>
  • Guest - Ian
    CL.so.1CL.so.1I d:CL.so.1giShorone 3.7CL.so.1cd 3.7CL.so.1./.php/tuto -- the opmt-yp Any help much appreciated!

    dden" itemprop="3-12-11T17:45:03atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    6ed" eply-wrap -->item kmt-comment-iregis ths aid="kmt-98" class id="kmt-98" classtem-public2 id="kmt-98" classtem-public3 id="kmt-98" classtem-publicment-itmt-98" classtem-publicment-itmt-98" classtem-publicment-itmt-98" classtem-public7ent-i6sergrotem-usergroup-9 kmt-104 kmt-child-1 k58/dblished" parentid="kmt-100" depth="1" childs="0" published="1" itemscope itemtype="http://schema.org/Comment">
    us Dg/3.7,-okinmu ad" n"kfo w Dg/(as-okinvicesabove)CL.so.1CL.so.1./.php/tuto -- the opmt-yp -- the option tCL.so.1CL.so.1Let ="kknow if- n" Any help much appreciated!

    dden" itemprop="3-12-12T06:59:51atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
  • 55/dieply-wrap -->ent-itmt-98" class="kmt-item kmt-comment-item-public kmt-c5ment-item-ussergroup-9 kmt-98 kmt-child-0 kmt-published" parenti3kmt-100" depth="1" childs="0" published="1" itemscope itemtype="http://schema.org/Comment">
    Guest - Ian
    s. Any> e://owank do nis ranhcCGMINER 3.8.4 do I need nk unist d-b goank t-pearlifi vteman>?> Any help much appreciated!

    dden" itemprop="3-12-09T21:30:34atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    56/dieply-wrap -->ent-itmt-98" classregis ths aid="kmt-98" class id="kmt-98" classtem-public2 id="kmt-98" classtem-public3 id="kmt-98" classtem-publicment-itmt-98" classtem-publicment-itmt-98" classtem-publicment-itmt-98" classtem-public7ent-i5ment-item-usergroup-9 kmt-104 kmt-child-1 k55/dblished" parentid=2kmt-100" depth="1" childs="0" published="1" itemscope itemtype="http://schema.org/Comment">
    is/C-confi 3.8+. In ordfi o tem C-confi,-okinwill.need nk downss=" 3.7 belrw. Should be n"a>: cl&amnni="_bl> c"parentLink kmtgithublink"ckoli km/o-confi/tree/3.7".kmarenofo w">Link kmtgithublink"ckoli km/o-confi/tree/3.7ink"iL.so.1Hr" i n" Any help much appreciated!

    dden" itemprop="3-12-09T22:03:38atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    57/dieply-wrap -->ent-itmt-98" class="kmt-item kmt-comment-item-public kmt-c57ent-item-us2 id="p-9 kmt-104 kmt-child-1 k56/dblished2 parentid=d="kmt-0" depth="0" childs="1" published="1" itemscope itemtype="http://schema.org/Comment">

    Guest - Ian

    Guest - Kevin
    .16px;/dieply-wrap emof64e9238ca" itemprop-parent-link"inkponexts"ink_kotexto/ttemes/kuro/n" cls/divkitup/emof64e9-unhn cy.pngass=CL.so.1CL.so.1I've tried nnis a.few diffest - ways andcla always says n" would kmgesy bemt-evisf64!CL.so.1CL.so.1Th s> Any help much appreciated!

    dden" itemprop="3-12-09T23:40:21atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    0 t-share-wrap"> Short - Sha/span> r? Short URL: Facebook Reply
    6" paeply-wrap -->item kmt-comment-iregis ths aid="kmt-98" class id="kmt-98" classtem-public2 id="kmt-98" classtem-public3 id="kmt-98" classtem-publicment-itmt-98" classtem-publicment-itmt-98" classtem-publicment-itmt-98" classtem-public7ent-i6ergroutem-us3 id="p-9 kmt-104 kmt-child-1 k57/dblished3 parentid="kmt-100" depth="1" childs="0" published="1" itemscope itemtype="http://schema.org/Comment">

    Guest - Ian

    Guest - Kevin
    Any help much appreciated!

    dden" itemprop="3-12-13Ttet14:41atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    0 t-share-wrap"> Short - Sha/span> ld-cgminer-f Reply
    Any help much appreciated!

    dden" itemprop="3-12-13Ttet14:41atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    t-shrt-url inpuDid Share Short - Sha/span> Reply
    56/dieply-wrap -->ent-itmt-98
    Reply
    56/die1b282131f210ca801f56d714ecb8f8cf85ce56ba9f4d8c6a3ab3cf18ca" itemprop="url">

    Yes,ink-wra> was fromrap kmh OSment p/t,"kmt-optin sha, goo="ppnf5 ass=.." classFedora 19rap rel_debile-er< ="parentLink kmt-patawww.ocialgoott-v> rel_debile-er ="0"> i Pgomag.php/rapLe Pge know if
    Any help much appreciated!

    dden" itemprop="3-12-13Ttet14:41atetime="2014-02-19T09:15:57+00:00"> about 4 years ago pan>
    t-sttps://coinaYes,ink-wra> was fromrapps://coinaxis.cokmt-btn kmt-share"class="kavascript:void(0);">Share Short - Sha/span> {iv>
    1insre-locat/isbyes,ink" https:/display:inttpe-block;271b28728px;K!ins>K!-- Re1!-- R10 1-- Re 1umer-f5flumeclx-afix"> re-l>EasyBpubflumAaxier flum- tr'//p re-l> EasyBpubfluady'percoin- Rp{104a // B re-l> EasyBpubfluady'percoin- Rp9T094a $('[-infild-c-prile]').n- 'click',AdminTool(evelei9T09 vaclel2iv <-his),09 url2ivel.attr(' sha'lummri09 w =yes,271b2=640, re-l> EasyBpubflumAaxier-fflum- tr'ld-cs/ld-cs'r-ffummt'percoin- Rplummmm mm // Imp nk upsocwd1library4a $('[-infiblogiocwd]').imp nk up(EasyBpubftmt-pcoin- Pcwdslummplu lassls="so1umer-f5flumeclx-afix"> re-l> EasyBpubflumAaxier fflum- tr'layout/-t-"kmsive'r ffummt'percoin- Rp{0 if<($('#-wra-set mt--f6"').lengthxi= 0)lu $('#-wra-set mt--').pan clr'l"')./i9=-loc(' ide'lum } -5$(docuk up).n- 'click',A'[-infiblogitoolbar pubout]',AdminTool(evelei9Tagu$('[-infiblogipubout R <4e rntlmfsi
    d14e re-locatebilyK!i>K!-- Re. 14e re-locatebilywrap"v clo ->w--- Ret--- Rt4e re-locatebitrollant" -infi s-nt/layout/lyK!aRe 1!-- Re 14e re-locatebilyK!ifr yp>Jx">Smer-f5isvcurxt kly dis-> r.cla-pcng>Plmtse en-> l">PRJumiK!aR.clnosls="so d d1!-- Re d 1!-- Re d1!-- Re 1!-- Re 1!-- Re d 14e re-locatmodule-outttpe-1t-t d14e re-locatmodule-outttpe-2t-t d14e re-locatt3pblockt-t d 6d7dd14e re-locatmodule-er.kmt5t d 6ep2aG93L7d1!-- Re d d 14e re-locatmodule-fmmegle3kt d d14e re-locatin-module-fmmegle3kt d d re-l> EasyBpubflumAaxier flum- tr'/="3t--')ffummt'percoin- Rp {0 $('#fd.mod_mtsyblogmcwdldpuhp/ocwd1[-infi/="3t- R563kt 14e re-locatebimoditcoi modi--> viign-middkmt5t e 14e re-locatmodicel="km e 1!-- Re 1!-- Rem e e e e 14e re-locatebimodier.kmt5t 1 --> --ntrykL w PeR (W Pet-lrl"> -- LMD--ntrykL.104agSys>56 de="ils104ag104agMotherboard: Gigabyte 990FXA-UD3104ag10a-4agurProcessor: AMD FX 4100 4-CwrapProcessor4agurMnk" t/RAM: Gskill Ripjdiv> 1!-- Re e 14e re-locatebi/="3t-.km ser flZWNvebmcwdldpuhp/-26i/="3t-s R aggregantR="3t- >witter /="3t-V> 16dmeglese2.5kmt-v worstR="3t- 6dmeglese1t-t bestR="3t- 6dmeglese5t-t t t <4e rZWNvebmcwdldpuhp/-26i/="3t-s 798c LM9=plumgleselicel=1ebi-="3t- lx-a" -infi-="3t- lx-a>R="rmalisvblog nd-bu:1!-- Re t <4e rZWNvebmcwdldpuhp/-26i/="3t-s9=plumgleselicel=1ebi-="3t- st> st> prop="3-1" -infi nd-bu" -infiZWNv26okm radion 4ewrant" "> plumgleoddkmt-v radion 4ewrant" "> 2din', Pov> t-v radion 4ewrant" "> 3din', Notmalin badkmt-v radion 4ewrant" "> 4din', Fai> t-v radion 4ewrant" "> 5din', Aver radion 4ewrant" "> 6din', Almcwd goop t-v radion 4ewrant" "> 7din', Goop t-v radion 4ewrant" "> 8din', Very goop t-v radion 4ewrant" "> 9din', Excel=gle3 t-v radion 4ewrant" "> 10 < ', Perfect3 t-v ="kmt-conWNvebmcwdldpuhp/-26i/="3t-s-uisi "> 2 ="kmt-conWNvebmcwdldpuhp/-26i/="3t-s-/="3t-" "> 5dt-v --ntrykL w ) 23l.kmt56d7 K!aRe 1!-- Re p 14e re-locatmodicel=an. 1 --> --ntrykL w Rcoi Mot-liaRe 1!-- Re 1!-- Re1!-- Re 14e re-locatmodiv>563kt 14e re-locatebimoditcoi modi--> viign-middkmt5t e 14e re-locatmodicel="km e 1!-- Re 1!-- Rem e e e e 14e re-locatebimodier.kmt5t 1 --> viign-middkmt5t e 14e re-locatmodicel="km e 1!-- Re 1!-- Rem e e e e 14e re-locatebimodier.kmt5t 1 --> --ntrykL lfigui
    PeR -L-ntrykL (Lfigu)K!aRe 1!-- Re t 14e re-locatebimodi!-- .km t Hownt-lner-f57/d="url">Pet-lrl"> -- LMD--ntrykL.104agigureseportt-lnd-b ldpuhp/rapLe Permalia> u nk-minurxt cies.  The/d=arapc Ly nuancmt-9o="url6d7clia> uer-f57/="3-1 uerxicl-- La> 1!-- Re e 14e re-locatebi/="3t-"Re 1er flZWNvebmcwdldpuhp/-16i/="3t-s R aggregantR="3t- >witter /="3t-V> 16dmeglese3.5kmt-v worstR="3t- 6dmeglese1t-t bestR="3t- 6dmeglese5t-t t t <4e rZWNvebmcwdldpuhp/-16i/="3t-s 798c LM9=plumgleselicel=1ebi-="3t- lx-a" -infi-="3t- lx-a>R="rmalisvblog nd-bu:1!-- Re t <4e rZWNvebmcwdldpuhp/-16i/="3t-s9=plumgleselicel=1ebi-="3t- st> st> prop="3-1" -infi nd-bu" -infiZWNv16okm radion 4ewrant" "> plumgleoddkmt-v radion 4ewrant" "> 2din', Pov> t-v radion 4ewrant" "> 3din', Notmalin badkmt-v radion 4ewrant" "> 4din', Fai> t-v radion 4ewrant" "> 5din', Aver radion 4ewrant" "> 6din', Almcwd goop t-v radion 4ewrant" "> 7din', Goop iv cweplyiv cwep t-v radion 4ewrant" "> 8din', Very goop t-v radion 4ewrant" "> 9din', Excel=gle3 t-v radion 4ewrant" "> 10 < ', Perfect3 t-v ="kmt-conWNvebmcwdldpuhp/-16i/="3t-s uisi "> 1 ="kmt-conWNvebmcwdldpuhp/-16i/="3t-s /="3t-" "> 7dt-v --ntrykL lfigui>) 2l.kmt56d7 K!aRe 1!-- Re p 14e re-locatmodicel=an. 1 --> --ntrykL lfigui>Rcoi Mot-liaRe 1!-- Re 1!-- Re1!-- Re 14e re-locatmodiv>563kt 14e re-locatebimoditcoi modi--> viign-middkmt5t e 14e re-locatmodicel="km e 1!-- Re 1!-- Rem e e e e 14e re-locatebimodier.kmt5t 1 --> -alin u 1!-- Re e 14e re-locatebi/="3t-"Re 1er flZWNvebmcwdldpuhp/-37i/="3t-s R aggregantR="3t- >witter /="3t-V> 16dmeglese4.5kmt-v worstR="3t- 6dmeglese1t-t bestR="3t- 6dmeglese5t-t t t <4e rZWNvebmcwdldpuhp/-37i/="3t-s 798c LM9=plumgleselicel=1ebi-="3t- lx-a" -infi-="3t- lx-a>R="rmalisvblog nd-bu:1!-- Re t <4e rZWNvebmcwdldpuhp/-37i/="3t-s9=plumgleselicel=1ebi-="3t- st> st> prop="3-1" -infi nd-bu" -infiZWNv37okm radion 4ewrant" "> 1din', Very pov> plumgleoddkmt-v radion 4ewrant" "> 2din', Pov> t-v radion 4ewrant" "> 3din', Notmalin badkmt-v radion 4ewrant" "> 4din', Fai> t-v radion 4ewrant" "> 5din', Aver radion 4ewrant" "> 6din', Almcwd goop t-v radion 4ewrant" "> 7din', Goop t-v radion 4ewrant" "> 8din', Very goop t-v radion 4ewrant" "> 9din', Excel=gle3 iv cweplyiv cwep t-v radion 4ewrant" "> 10 < ', Perfect3 t-v ="kmt-conWNvebmcwdldpuhp/-37i/="3t-s uisi "> 37o t-v ="kmt-conWNvebmcwdldpuhp/-37i/="3t-s /="3t-" "> 9dt-v ) 6l.kmt56d7 K!aRe 1!-- Re p 14e re-locatmodicel=an. 1 --> Rcoi Mot-liaRe 1!-- Re 1!-- Re1!-- Re 1!-- Re 1!-- Re d d1!-- Re d 1!-- Re d1!-- Re 1!-- Re 1!-- Re d 14e re-locatmodule-outttpe-1t-t d14e re-locatmodule-outttpe-2t-t d14e re-locatt3pblockt-t d d 14e re-locatmodule-6dmeglet-t d d14e re-locatin-module-fmmegle3kt d d 104a1-- share-gooargi/indixwebhcwd3t-to09-trollants/ix/v2/affiliant/clickthru.cgi?ntlmwin-nlegendsl> wrap" style="margilocetsdixwebhcwd3t-to09-ly d250x250-ix4ew.gif" borrer=0>K!aR wnosls="so1u-pcng>Jx">Smer-f5isvcurxt kly dis-> r.cla-pcng>Plmtse en-> l">PRJumiK!aR.clnosls="so d d1!-- Re d 1!-- Re d1!-- Re 1!-- Re 1!-- Re d 14e re-locatmodule-outttpe-1t-t d14e re-locatmodule-outttpe-2t-t d14e re-locatt3pblockt-t d d 14e re-locatmodule-6dmeglet-t d d14e re-locatin-module-fmmegle3kt d d 101-- Re.req,ink-wr--> ttpe" -infidlesetrueomrap kmh OSmen,ink-wrto09-stecch?q=%23 %2C+%23--ntrykLi -infiwidw-tiZWNv346683026241118208/a> eed7 at-inf"# --#--ntrykLiK!aR wsls="so!percoin- d,s,id){vacljs,fjs=d.w-tE nk upsByTagN (s)[0],p=/^-goole.if (d.rop="3-1)?'-goo':'-goos';if(!d.w-tE nk upById(id)){js=d..kmt-eE nk up(s);jsdicrpt;jsd styp+"menllanss=".,ink-wrto09-widw-ts.js=;fjs.pan clNwin.insertBess=e(js,fjs);}}(docuk up," re-l,q,ink-wr-wjs=luassls="so104a1nosls="so1u-pcng>Jx">Smer-f5isvcurxt kly dis-> r.cla-pcng>Plmtse en-> l">PRJumiK!aR.clnosls="so d d1!-- Re d 1!-- Re d1!-- Re 1!-- Re 1!-- Re i> 1!-- Re.d1rgix//SIDEBAR RIGHTen upe.t--- Ret--- R -- 10 10 1rgixBACK TOP TOP BUTTONen up14e rZWNv Repcgmitopi -infispy="affixi -infioff