Bitcoin Forum
March 29, 2024, 04:42:18 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ... 2248 »
  Print  
Author Topic: KanoPool since 2014 🐈 - PPLNS and Solo 0.5% fee - Worldwide - 2435 blocks  (Read 5349945 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic. (50 posts by 3+ users deleted.)
MrGreenHat
Full Member
***
Offline Offline

Activity: 173
Merit: 104


View Profile
November 20, 2014, 03:40:47 AM
 #501

Hi,

I left shortly after I noticed my shares said zero in the shares.  Mind you, I had been mining for days before the shares changed from several million to zero in "miner status."  It was a reset of the pool after I read the pool forum a bit ago.

Shortly before leaving [after mining 3 days] I look to make note my expected payout would be .17etc BTC.

I come back about 15 minutes before the block was found to find it down to .10etc...

I found that 3 of my 17 miners went from 60 something thousand shares to 2, 3 and 7 [respectively].  I decided not to say anything about it.  However, I still had expected payout of at least 0.10etc... BTC.

Well, it appears we've had a payout.  Yet, I have not received an email to tell me I've been paid for the DAYS I've mined for this block.  Someone please explain:
This is a PPLNS pool, and the N is the current difficulty. What probably happened is that you stopped mining and more shares were submitted than the current difficulty to solve the most recent block, meaning you would not get paid for the block.

Thx Mr Green!

I still don't understand what that means or why.  I'm still a newbie to the whole mining thing.  I'll just take this as a loss and a learning experience and try to forget about it.
I just realized that I worded my response very poorly. Basically, a PPLNS payout system is one of several payout methods that are used by pools. it stands for pay per last N shares. In this case, the N is the current difficulty. If you stop mining at the pool, and the pool doesnt solve a block until it receives an amount of shares greater than the current difficulty since you stopped mining, you won't receive a payout. Do a google search for PPLNS payout, and that should help you understand it.
1711687338
Hero Member
*
Offline Offline

Posts: 1711687338

View Profile Personal Message (Offline)

Ignore
1711687338
Reply with quote  #2

1711687338
Report to moderator
1711687338
Hero Member
*
Offline Offline

Posts: 1711687338

View Profile Personal Message (Offline)

Ignore
1711687338
Reply with quote  #2

1711687338
Report to moderator
BitcoinCleanup.com: Learn why Bitcoin isn't bad for the environment
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1711687338
Hero Member
*
Offline Offline

Posts: 1711687338

View Profile Personal Message (Offline)

Ignore
1711687338
Reply with quote  #2

1711687338
Report to moderator
1711687338
Hero Member
*
Offline Offline

Posts: 1711687338

View Profile Personal Message (Offline)

Ignore
1711687338
Reply with quote  #2

1711687338
Report to moderator
kano (OP)
Legendary
*
Offline Offline

Activity: 4452
Merit: 1798


Linux since 1997 RedHat 4


View Profile
November 20, 2014, 03:45:54 AM
 #502

The share count will zero every new block.
The share count is per block, not per payout.

As per the definition of PPLNS (Pay Per Last N Shares) and the comments on the web site, the pool's last N shares (plus a bit) are counted for payout.
N is the network difficulty when the block is found.
https://www.kano.is/index.php?k=payout

The last block - 224% means that less than half the shares were included in the payout.
You, me, everyone else, did not receive a payout for the first 124% shares.
For any blocks that are under 100% (the last 17 blocks) some of the shares were paid multiple times.
All the shares in block 328952 were paid 6 times.
All the shares in block 329468 were paid 4 times.
That's how PPLNS works.

All payouts so far are shown here:
https://blockchain.info/address/1KzFJddTvK9TQWsmWFKYJ9fRx9QeSATyrT

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
MrGreenHat
Full Member
***
Offline Offline

Activity: 173
Merit: 104


View Profile
November 20, 2014, 03:53:28 AM
 #503



BTC Guid is PPLNS.  If i mined their for as many days as I've mined here, those 10 shifts would have been full.  They would have rolled down maybe 4 shifts on THEIR pool and I still would have gotten paid for 6 other shifts below it.  Also, the length of the shifts get longer as fewer people mine on their pool.  The shifts get shorter as more people mine on their pool.

I see no shifts here.  Please explain.
I believe you are confusing the S in PPLNS for shifts instead of shares.
eleuthria
Legendary
*
Offline Offline

Activity: 1750
Merit: 1007



View Profile
November 20, 2014, 04:39:15 AM
 #504


BTC Guid is PPLNS.  If i mined their for as many days as I've mined here, those 10 shifts would have been full.  They would have rolled down maybe 4 shifts on THEIR pool and I still would have gotten paid for 6 other shifts below it.  Also, the length of the shifts get longer as fewer people mine on their pool.  The shifts get shorter as more people mine on their pool.

I see no shifts here.  Please explain.

PPLNS in its purest form is a specific number of shares.  p2pool for example uses share based PPLNS where a specific number of shares are paid for each block.  When a new share is submitted on p2pool, the oldest share is pushed off.  Shifts are used to dramatically reduce the amount of data you need to store when using a very large N value.  p2pool gets around it by adjusting the difficulty needed to be part of the sharechain.


Would love to hear from kano exactly how he manages the accounting of a block payout with a 30 billion entry list of shares.  I would assume in the background there's some kind of grouping of shares every minute [which in effect would be shifts, just not visible as such on the front end], rather than a list of 30 billion entries that is constantly being churned.


EDIT:  It wouldn't actually be 30 billion entries since there's no need to store [for example] a diff=128 submission 128 times.  But it would still be a huge amount of churn.

EDIT2: At least for your comparison, BTC Guild uses shifts to reduce database churn (no need to store a huge list of shares using FIFO), and also have clean auditing of how any specific block was paid that can be audited by users.

RIP BTC Guild, April 2011 - June 2015
kano (OP)
Legendary
*
Offline Offline

Activity: 4452
Merit: 1798


Linux since 1997 RedHat 4


View Profile
November 20, 2014, 05:44:32 AM
 #505


BTC Guid is PPLNS.  If i mined their for as many days as I've mined here, those 10 shifts would have been full.  They would have rolled down maybe 4 shifts on THEIR pool and I still would have gotten paid for 6 other shifts below it.  Also, the length of the shifts get longer as fewer people mine on their pool.  The shifts get shorter as more people mine on their pool.

I see no shifts here.  Please explain.

PPLNS in its purest form is a specific number of shares.  p2pool for example uses share based PPLNS where a specific number of shares are paid for each block.  When a new share is submitted on p2pool, the oldest share is pushed off.  Shifts are used to dramatically reduce the amount of data you need to store when using a very large N value.  p2pool gets around it by adjusting the difficulty needed to be part of the sharechain.


Would love to hear from kano exactly how he manages the accounting of a block payout with a 30 billion entry list of shares.  I would assume in the background there's some kind of grouping of shares every minute [which in effect would be shifts, just not visible as such on the front end], rather than a list of 30 billion entries that is constantly being churned.


EDIT:  It wouldn't actually be 30 billion entries since there's no need to store [for example] a diff=128 submission 128 times.  But it would still be a huge amount of churn.

EDIT2: At least for your comparison, BTC Guild uses shifts to reduce database churn (no need to store a huge list of shares using FIFO), and also have clean auditing of how any specific block was paid that can be audited by users.
Internally ckpool has workinfos - each with a workinfoid.
A workinfo is the template received from bitcoind.
ckpool gets a new template every 30s and of course each network block change.
So most workinfos last 30s.

This effectively produces a shift of 30s - since a payout includes the full workinfo at the start and finish - i.e. a small % more than the N used.

In ckdb, I keep share summaries, In the postgresql DB (and in RAM), at this first level.
A share summary is per worker, per workinfoid.
A day's worth at the moment is somewhere around 2.5million

I've let it run like that for quite a few months on another small pool and this one.
However, the original database design includes the next level above that, that I called WorkMarkers.
Basically, a Marker that gives a begin+end range of workinfoids - more 'like' a shift.
That original design was to summarise share summaries such that there were only as many WorkMarkers as needed for payouts.
i.e. each block (finish) workinfoid and each payout (start) workinfoid would decide the markers.
This divides the number of records by about ... 1500 - i.e. less than 2000 a day - with a worker load of about 2000 - on a pool that finds a block around each day or two.
I've still not completely implemented it - it's a manual step at the moment creating the WorkMarkers - though it will be finished very soon - in a slightly different design:

However, due to the fact that I can use up 40GB of RAM without too much trouble, and no doubt in some expected future the pool will have some blocks in the 800% region, it's too long to wait for a block or a payout before doing a summarisation.
So, instead I've decided to extend the WorkMarker usage to also do shifts - still not decided yet, but either 50 or 100 workinfoids per shift.
i.e. ~25minutes or ~50minutes
Thus the daily storage would be around 100k or 50k records, independent of actual pool hash rate, but of course dependent upon the worker count.

If the pool starts to outgrow these sizes, I'll do one or both of two things:
Increase the shift size and/or summarise up to user level.

No doubt some time in the future this too will end up being too much data, however, of course, I don't need the full history forever stored in RAM, and probably not in the DB either, and solve that with archiving.

... and having just written all this, I realised I had written a lot of that before already Smiley
https://bitcointalk.org/index.php?topic=790323.msg9417792#msg9417792

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
eleuthria
Legendary
*
Offline Offline

Activity: 1750
Merit: 1007



View Profile
November 20, 2014, 06:40:37 AM
 #506

Thanks for the clarification kano.  I figured it was something like that when you mentioned "the pool's last N shares (plus a bit)".  It's still "shift based" PPLNS, but you have a fixed time length for "shifts" (~30s), and instead of varying up "shift" length, you vary up the number of "shifts" so that the total shares paid out are your 'N', plus a little overflow for the other shares in the "shift" that pushed it above N.

RIP BTC Guild, April 2011 - June 2015
aurel57
Legendary
*
Offline Offline

Activity: 1176
Merit: 1000



View Profile
November 20, 2014, 10:44:05 PM
 #507

I just pointed a miner back here... be ready for block  Grin
philipma1957
Legendary
*
Offline Offline

Activity: 4074
Merit: 7591


'The right to privacy matters'


View Profile WWW
November 21, 2014, 02:31:49 AM
 #508

I'm kind of thinking the reason 3 of my 17 miners had their shares erased and started over was when I was switching to another pool.

I changed the worker name from ProudClown_worker13 to ProudClown.worker13 [no underscore but a dot instead].  However, I forget to change the pool.  I only changed the worker.  So, when it was still pointed at the pool but changed from underscore to "dot", I think it deleted my shares for those miners and bumped my expected payout from .17 to .10

Now, after payout, I get no payout.  I'm not trying to sound like an ass hole.  So, don't take any of this the wrong way.  I'm just trying to understand and I need an explanation please.


this type of pool you lose your work when you leave it.  slowly but surely it dwindles away.  the only 'safe' time to leave is a few minutes before a block is made.  Since no one knows when a block is made there is no 'safe' time to leave.

Whaatttt!!! …..  okay we are on hour 50  

  leave now you risk wasting 50 hours of work.
waiting until a block is made the work does not get wasted.  (well kind of)

so you wait and on hour 52 we make the block you say fuck this shit I do not want to wait 52 hours for a block .  I will move to a really big pool that makes blocks fast.  So you move to a big pool.  and kano rips a 3 hour block then a 6 hour block    guess what you fucked your self  again..      you jumped and missed easy blocks.

  Some avoid and move to rental  like west hash and nice hash…..  you get paid every day but a score like 4 fast blocks from kano does not happen.

Its a game.  I am mining 10 s-3's right now.  waiting on 2 more.  and an sp20

 most are here.
 some are with ck's solo pool
some are with mmpool.org
some are with westhash
some are with nicehash
some are with btcguild.


▄▄███████▄▄
▄██████████████▄
▄██████████████████▄
▄████▀▀▀▀███▀▀▀▀█████▄
▄█████████████▄█▀████▄
███████████▄███████████
██████████▄█▀███████████
██████████▀████████████
▀█████▄█▀█████████████▀
▀████▄▄▄▄███▄▄▄▄████▀
▀██████████████████▀
▀███████████████▀
▀▀███████▀▀
.
 MΞTAWIN  THE FIRST WEB3 CASINO   
.
.. PLAY NOW ..
kano (OP)
Legendary
*
Offline Offline

Activity: 4452
Merit: 1798


Linux since 1997 RedHat 4


View Profile
November 21, 2014, 04:06:27 AM
Last edit: November 21, 2014, 04:24:30 AM by kano
 #509

The pool knows every share you have submitted since the pool started Tongue
It doesn't matter what worker name you add on the end of the username - it will not affect the actual payout.
The payout is to the username's payout address.

The payout estimate shown on the worker page is what it would be if the pool was Prop or if the block was found at exactly 100%
That's why it says estimate ...
If you change your hash rate, it's not very accurate.
If you mine with a consistent hash rate and don't leave the pool, and the pool hashrate doesn't change much, then it should be close.
I will make it more accurate when I complete the shift changes, or remove it if it uses too much CPU, or just leave it as it is.

Again ... when a block is found it will count back all shares EVERYONE has submitted back to N + a bit.
Any shares submitted before that will NOT be counted in the payout.
It uses workinfoids as explained above and all through the source code anyone can read.

The workinfoid range of the last payout limit was ... 'start 6078587314752225742' to 'end 6083182126600028332'
'end 6083182126600028332' is the workinfoid of block 330642

The N value when the block was found: 40300030327.891403
The N value used (which is the total of all shares in the workinfoid range above): 40301292000
If I was to use the next workinfoid after 6078587314752225742 as the start of the range, then the total would be under 40300030327.891403 - so that's basically how it decides the range.

The workinfoid of block 330149 was 6078587314752220154.

Since block 330642 was ~2.25 times N, then all the shares with a workinfoid greater than 6078587314752220154 and less than 6078587314752225742 got no payout ... ever ... and never will.

For you that was ... 344,497,929 diff
The shares you submitted in the payout range: 154,482,324 diff.
So the problem was that you reduced or stopped mining on a PPLNS pool before the block was found.
Bad idea.

In case you were curious, another user's unpaid shares (0 to ~125%): 16,033,088,109
Paid (i.e. ~125% to ~225%): 12,595,957,197
And if you compare those two numbers, they indeed are approximately Ax5/4 and A as would be expected since their hash rate was pretty consistent for the whole ~225%

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
bitwitt
Full Member
***
Offline Offline

Activity: 157
Merit: 100


View Profile
November 21, 2014, 04:13:42 AM
 #510

ZZZZZZZZZZZZZZZZZZZZZ

If you don't like the pool don't point your miners here.

Also if you don't understand the payouts ...STOP MINING and WHINING.

 Google is a wonderful thing, if you would spend your time educating yourself, rather than whining, Roll Eyes you would understand the payout terms.


best of luck
bitwitt
Full Member
***
Offline Offline

Activity: 157
Merit: 100


View Profile
November 21, 2014, 05:11:04 AM
 #511

ZZZZZZZZZZZZZZZZZZZZZ

If you don't like the pool don't point your miners here.

Also if you don't understand the payouts ...STOP MINING and WHINING.

 Google is a wonderful thing, if you would spend your time educating yourself, rather than whining, Roll Eyes you would understand the payout terms.


best of luck

Dude

Not whining.

Simply trying to help others avoid the same mistake

Lol

Do what I did and see what happens

Why an ass hole?

Who said anything about not liking the pool?

I talked well about the pool but it was deleted earlier.

What's the use, I'm probably arguing with a damn kid anyway.


Use this equation for your payout. I'm sure it will work well for you.


       ID+10+T =



best of luck Grin Grin 

bitwitt
Full Member
***
Offline Offline

Activity: 157
Merit: 100


View Profile
November 21, 2014, 05:48:53 AM
 #512



Use this equation for your payout. I'm sure it will work well for you.


       ID+10+T =



best of luck Grin Grin  



Like I said...

I was right...

A damn child...




Yes it's fun when a 9 year old schools an old boy like you.
kano (OP)
Legendary
*
Offline Offline

Activity: 4452
Merit: 1798


Linux since 1997 RedHat 4


View Profile
November 21, 2014, 06:06:47 AM
 #513

...
I talked well about the pool but it was deleted earlier.
...
Yes I deleted a post listing stuff you sell on ebay.
Guess why?

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
kano (OP)
Legendary
*
Offline Offline

Activity: 4452
Merit: 1798


Linux since 1997 RedHat 4


View Profile
November 21, 2014, 06:16:07 AM
 #514

Not doubting what you said, Kano.

On MY end it would leave one to believe shares were erased ON THOSE 3 RIGS. When I still had 3 rigs pointed here but changed their name to a "dot" instead of an "underscore"

Wish I had taken a screen shot now.

As for whining; I'm not F'ing whining.  I was simply trying to help others avoid the same mistake.

It may be YOUR end still remembers, but MY end made me believe otherwise.  Especially, after seeing estimated payout change from .17 to .10 in a matter of 15 minutes.  Then 4 hours later I get paid .09

So, 15 minutes MY end would leave me to believe I lost .7 and then in 4 hours [.09 pay out] I only lost .01 in 4 hours.

I'm telling you the shares were deleted.  I'm not worried about the chump change.  I was just pointing something out to help other miners avoid the same mistake.
If you think that is true then you are a fool to mine here.
No shares are deleted.
I can list every one of them and I have already pointed out that 2/3 of your shares in that block were before the N payout range.
The last block had, as I already stated, 40301292000 diff for calculating payouts.
As I already stated, you had 154,482,324 diff in the payout range.
If you check the block on blockchain, the 99.1% was 24.85684951 BTC
If you do the simple maths:  24.85684951 * 154,482,324 / 40301292000 = 0.09528091 (which also happens to round up to 0.10)
Again, you reduced your mining on the pool and as a result your payout reduced.
You chose a bad time to do that.
No one can predict when is a good or bad time.
Luck is a measure of the past, not the future.

Quote
I know the .17 estimation is what it is; an estimation.  At least I hope it's an estimation and not the actual payout.  Otherwise, there's another issue.  The last .17 "estimation" I ended up with .154 payout.  However, that could have more to do with me having my diff manually set higher than 256 on most of the S3's during that round; I'm not sure?   So, in 15 minutes I probably lost close to .5 payout from the "dot" to underscore issue.  Then I fix it.  And 4 hours later I lost only .01 because I got a .9 payout.  

Now go figure...

...
The payout estimate shown on the worker page is what it would be if the pool was Prop or if the block was found at exactly 100%
That's why it says estimate ...
If you change your hash rate, it's not very accurate.
If you mine with a consistent hash rate and don't leave the pool, and the pool hashrate doesn't change much, then it should be close.
I will make it more accurate when I complete the shift changes, or remove it if it uses too much CPU, or just leave it as it is.
...

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
bitwitt
Full Member
***
Offline Offline

Activity: 157
Merit: 100


View Profile
November 21, 2014, 06:25:03 AM
 #515

 Cry
jddebug
Sr. Member
****
Offline Offline

Activity: 446
Merit: 250



View Profile
November 21, 2014, 06:48:27 AM
 #516

MY END tells me estimated pay out if block found at 100% is .17etc.  yet I get paid .15etc.

I'm NOT saying your end is wrong.  I'm Saying MY END is not collocated with your end.

OR

I'm not understanding IF block found at 100%

I only want someone to explain that to me as well.

Instead I get ganged up on.

If you haven't already, you should read up on how pplns works and why most pools choose to use it.

If you were to stop mining right after the block was found and another is found a while later you would get some pay for it too due to the pplns reward system even though you stopped mining.
jddebug
Sr. Member
****
Offline Offline

Activity: 446
Merit: 250



View Profile
November 21, 2014, 06:52:08 AM
 #517

MY END tells me estimated pay out if block found at 100% is .17etc.  yet I get paid .15etc.

I'm NOT saying your end is wrong.  I'm Saying MY END is not collocated with your end.

OR

I'm not understanding IF block found at 100%

I only want someone to explain that to me as well.

Instead I get ganged up on.

If you haven't already, you should read up on how pplns works and why most pools choose to use it.

If you were to stop mining right after the block was found and another is found a while later you would get some pay for it too due to the pplns reward system even though you stopped mining.

Will you or someone please answer the question in the post above yours please?

Here it is:


I mined for 5 straight blocks.  24/7 for the 1st, 2nd and 3rd blocks.  My payout was approximately .02 less than the estimation each time.

That leaves us at the "100%" thing then.

If we find the block higher than 100%, does this mean more or less payout?

less
-ck
Legendary
*
Offline Offline

Activity: 4060
Merit: 1622


Ruu \o/


View Profile WWW
November 21, 2014, 07:00:34 AM
 #518

Then that means these 3 blocks that were less than 100% would have gotten me paid closer to the estimation I see on MY END.  I mined these 3 blocks 24/7; no hopping!
The value displayed is an estimate if everyone's hashrate was identical for the entire duration of the block till it was solved and the block took precisely 100% of diff to be found. That means the chance of the estimate being correct is ABSOLUTELY ZERO. So, treat it as an estimate to give you an approximation of how much you're going to get and nothing more. Calculating accurately how much you are going to get is very expensive in calculations and ram requirements which is why it's done only on block solve at the moment. Kano will work on giving a more accurate estimation in the future, but in the meantime can I kindly suggest you stop making it sound like an accusation or even I will lose my patience with you.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
-ck
Legendary
*
Offline Offline

Activity: 4060
Merit: 1622


Ruu \o/


View Profile WWW
November 21, 2014, 07:04:24 AM
 #519

Look at my post above.  I'm trying to figure out if it was because of what i had the diff set at during those blocks.  Here, I will post it again.
No, it has absolutely NOTHING to do with diff. It's an estimate and you will never get that precise amount. How much clearer can I make it?

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
-ck
Legendary
*
Offline Offline

Activity: 4060
Merit: 1622


Ruu \o/


View Profile WWW
November 21, 2014, 07:11:00 AM
 #520

If that's the case, we can set the diff to what ever we want and expect to find the same number of shares no matter what it's set at is what you are saying?
Yes

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ... 2248 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!