Bitcoin Forum
April 26, 2024, 05:52:41 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 [311] 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 ... 501 »
  Print  
Author Topic: [ANN][CLAM] CLAMs, Proof-Of-Chain, Proof-Of-Working-Stake, a.k.a. "Clamcoin"  (Read 1150751 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.
Trent Russell
Full Member
***
Offline Offline

Activity: 132
Merit: 100


willmathforcrypto.com


View Profile WWW
December 29, 2015, 09:03:27 PM
 #6201

I did find a bit of a hackish way to check if a vector of unsigned chars is a "prefix" of a CKeyID:

Code:
                CKeyID keyid = vchPubKey.GetID();
                std::vector<unsigned char> vchID = ParseHex(strID);
                bool isprefix=true;
                unsigned char* keyidarr = (unsigned char*) &keyid;
                for (unsigned int i = 0; i < vchID.size() && isprefix; ++i) {
                  if (vchID[i] != keyidarr[i])
                    isprefix=false;
                }

This rejects the old register (since it uses the checksum instead of a prefix) and accepts the new one. As a result there's one pubkey registered. I have commands "listrpubkeys" and "getrpubkey":

Code:
cct listrpubkeys
[
  {
    "id" : "73",
    "pubkey" : "039df70c1c46425ae4d3be53892949e17bebcbe30f419132441faab92677b220f5",
    "txid" : "8690cfc9b0e40b7fb328da478e2523071ac759eea7cac729038b47b8f180948d",
    "confirmations" : 446
  }
]

cct getrpubkey 73
{
  "pid" : "73",
  "id" : "73",
  "pubkey" : "039df70c1c46425ae4d3be53892949e17bebcbe30f419132441faab92677b220f5",
  "txid" : "8690cfc9b0e40b7fb328da478e2523071ac759eea7cac729038b47b8f180948d",
  "confirmations" : 446
}

The "pid" field given in response to "getrpubkey" shouldn't be there. I'll track it down later.

I'm saying "rpubkey" for "registered pubkey" to avoid confusing with ordinary public keys.

If someone has a suggestion for how I should've done it, I'd be happy to listen.

1714153961
Hero Member
*
Offline Offline

Posts: 1714153961

View Profile Personal Message (Offline)

Ignore
1714153961
Reply with quote  #2

1714153961
Report to moderator
1714153961
Hero Member
*
Offline Offline

Posts: 1714153961

View Profile Personal Message (Offline)

Ignore
1714153961
Reply with quote  #2

1714153961
Report to moderator
Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714153961
Hero Member
*
Offline Offline

Posts: 1714153961

View Profile Personal Message (Offline)

Ignore
1714153961
Reply with quote  #2

1714153961
Report to moderator
1714153961
Hero Member
*
Offline Offline

Posts: 1714153961

View Profile Personal Message (Offline)

Ignore
1714153961
Reply with quote  #2

1714153961
Report to moderator
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1330



View Profile
December 30, 2015, 05:03:48 AM
 #6202

I did find a bit of a hackish way to check if a vector of unsigned chars is a "prefix" of a CKeyID:

How about this?

Code:
                 bool isprefix=true;
                unsigned char* keyidarr = (unsigned char*) &keyid;
                for (unsigned int i = 0; i < vchID.size(); i++)
                  if (vchID[i] != keyidarr[i]) {
                    isprefix=false;
                    break;
                  }

The 'break' will stop the loop as soon as it finds a difference without needing to check isprefix each time through the loop.

You could get rid of isprefix all together, and just check whether i == vchID.size() after the loop is done. Iff that's true then it's a prefix:

Code:
                 unsigned char* keyidarr = (unsigned char*) &keyid;
                unsigned int i;
                for (i = 0; i < vchID.size(); i++)
                  if (vchID[i] != keyidarr[i])
                    break;
                if (i == vchID.size()) // it's a prefix ...

Edit: I meant to say that I was meaning to help you out with this about 12 hours ago, but when I went to check on my testnet instance it was dead, and crashed every time I tried to restart it, so I spent today tracking down and fixing the bugs that caused that instead.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
Trent Russell
Full Member
***
Offline Offline

Activity: 132
Merit: 100


willmathforcrypto.com


View Profile WWW
December 30, 2015, 06:38:57 PM
 #6203

You could get rid of isprefix all together, and just check whether i == vchID.size() after the loop is done. Iff that's true then it's a prefix:

Code:
                 unsigned char* keyidarr = (unsigned char*) &keyid;
                unsigned int i;
                for (i = 0; i < vchID.size(); i++)
                  if (vchID[i] != keyidarr[i])
                    break;
                if (i == vchID.size()) // it's a prefix ...

Edit: I meant to say that I was meaning to help you out with this about 12 hours ago, but when I went to check on my testnet instance it was dead, and crashed every time I tried to restart it, so I spent today tracking down and fixing the bugs that caused that instead.

Thanks, that code is an improvement. I'd forgotten about break.

I was originally hoping to take advantage of the representation in memory of the vchID "unsigned char vector" to avoid needing to loop at all, but it became clear that the representation isn't what I hoped it was (an array).

I'm happy with the response time I've been getting from the Clam team members, so thanks to all of you for that.

Now that I have "register pubkey" I started writing support for "register escrow agent", "create contract", "trade contract" and "settle contract" -- but found I have to rethink things again. For example, I had planned to have CLAMspeech declarations like:

register escrow agent 73 USD <timeout> <terms>

in which the controller of the pubkey registered to 73 indicates his/her willingness to act as an escrow agent under the given terms until the timeout.

Obviously this tx should be signed by the corresponding private key. The easiest way to enforce this is to check that the first input to the tx with the CLAMspeech came from the corresponding address. In which case the pubkey is explicitly in the tx already, and so why did it need to be registered in advance?

In other words, it's been one of those days of taking two steps back.

dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1330



View Profile
December 31, 2015, 03:22:30 AM
 #6204

Now that I have "register pubkey" I started writing support for "register escrow agent", "create contract", "trade contract" and "settle contract" -- but found I have to rethink things again. For example, I had planned to have CLAMspeech declarations like:

register escrow agent 73 USD <timeout> <terms>

in which the controller of the pubkey registered to 73 indicates his/her willingness to act as an escrow agent under the given terms until the timeout.

Obviously this tx should be signed by the corresponding private key. The easiest way to enforce this is to check that the first input to the tx with the CLAMspeech came from the corresponding address. In which case the pubkey is explicitly in the tx already, and so why did it need to be registered in advance?

Be careful. Just because one of my privkeys signed the first input to a transaction, it doesn't mean I agree with the content of the CLAMspeech. The transaction could be a withdrawal from Just-Dice. When withdrawing from Just-Dice you can specify any CLAMspeech you like. The transaction's inputs will be signed by private keys in the hot wallet, but the owner of those keys doesn't endorse the content of the CLAMspeech.

In other words, it's been one of those days of taking two steps back.

I worry that we're going to end up hard-coding many different similar-but-different features into the CLAM client, and wonder if there's some way we could generalize it so we don't have to edit C++ code for the next person to dream up a use for CLAMspeech.

(Cue sighs and groans from Creative and Kef...)

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
Trent Russell
Full Member
***
Offline Offline

Activity: 132
Merit: 100


willmathforcrypto.com


View Profile WWW
December 31, 2015, 11:21:51 AM
 #6205

Be careful. Just because one of my privkeys signed the first input to a transaction, it doesn't mean I agree with the content of the CLAMspeech. The transaction could be a withdrawal from Just-Dice. When withdrawing from Just-Dice you can specify any CLAMspeech you like. The transaction's inputs will be signed by private keys in the hot wallet, but the owner of those keys doesn't endorse the content of the CLAMspeech.

This is a good point. It's another reason for me to step back and think more carefully about "design" issues.

In other words, it's been one of those days of taking two steps back.

I worry that we're going to end up hard-coding many different similar-but-different features into the CLAM client, and wonder if there's some way we could generalize it so we don't have to edit C++ code for the next person to dream up a use for CLAMspeech.

(Cue sighs and groans from Creative and Kef...)

I've read before that bitcoin restricted OP_RETURN to 40 bytes because this is enough for key value pairs for a distributed hash table. Maybe a feature for storing such key value pairs would be sufficient for many different purposes.

Noolz39
Hero Member
*****
Offline Offline

Activity: 630
Merit: 503



View Profile
December 31, 2015, 08:25:30 PM
 #6206

i lost all my clams in JD
clayford08
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
January 01, 2016, 06:05:38 PM
 #6207

Where does the community hang out the most for this coin? The subreddit's last post was over two months ago. Is the community active?

EverGreenCoin (EGC) - promote and support Environmental Green Causes. http://evergreencoin.org
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
January 01, 2016, 06:18:37 PM
 #6208

Where does the community hang out the most for this coin? The subreddit's last post was over two months ago. Is the community active?

JD chat is probably the most active. There is also #clams on freenode IRC but not too much activity there.
Trent Russell
Full Member
***
Offline Offline

Activity: 132
Merit: 100


willmathforcrypto.com


View Profile WWW
January 02, 2016, 02:34:40 PM
Last edit: January 02, 2016, 02:44:43 PM by Trent Russell
 #6209

After thinking about the idea for using multisig to simulate exchanging crypto and fiat (see the link in my signature for the idea), the best way I can think to do it is in several steps.

1. A party makes an offer, including price, amount, collateral (with a specified txout), an expiration time, boundary information for the window and possible escrows.
2. A counterparty accepts the offer by determining the rest (counterparty collateral and which escrow), writing the full terms in (formal) text, signing the text, and creating a tx with the appropriate 2-of-3 tx with a hash of the contract text in the CLAMspeech. No one signs the tx yet.
3. The party accepts this by adding his/her signature of the contract text.
4. The escrow accepts this by adding his/her signature of the contract text.
Only now do the party and counterparty start signing the tx.
5. One signs the tx.
6. Another signs the tx and publishes it.

The contract text would need to specify that it's void if there's not a tx with the contract hash in the clamspeech published by time X.

Unfortunately, I can't believe very many people would prefer trading with a 6 step process over simply trusting a third party exchange. Unless this could be simplified significantly, it's probably not worth implementing.

On the other hand, now that I've started looking into the CLAMour code, I'm imagining other potential uses of CLAMspeech. For example, another proof-of-stake coin could be "merge staked" with clams. Suppose the other coin (which I'll call "othercoin") is also proof-of-stake using its own token. When othercoin stakers make a new block, the block header hash could be published in the CLAMspeech of a coinstake:

othercoin <othercoinnewblockheaderhash>

For the othercoin block to be correct, the timestamp would have to be earlier than the time stamp in the Clams block where its hash was published. Also, the hashes would be required to be published in order.

An advantage of this is that someone couldn't silently make a separate long othercoin fork (since it would be visible in the Clams chain). To be more precise, they couldn't silently stake a separate othercoin history without also silently staking a separate Clams history. It would also rely on timestamps in Clams blocks to prevent attacks by falsely claiming an othercoin time in the future, unless they also attacked Clams this way at the same time.

Would there be any objection to this on the Clams side? It seems like it would give more people a reason to own and stake Clams.

The only downside I can see is that it restricts stakers from making clamour votes. It seems like "othercoin <hash>" might only take up about half the CLAMspeech, so people could still vote for some clamours by having a speech like:

clamour <id1> <id2> othercoin <hash>

PS: I now have two testnet clam nodes running. For testing, I need to be able to stake fairly regularly, so it would help if someone could send massive amounts of testnet clams to n422ULsfpah4GEJciZ1uRYMCLgFdGCpBsP and mxHPD9KUvyvezaVC87b2vFrnHaiFnB44mf. Based on the current staking weight on testnet, it looks like approximately 100,000 clams would let me stake a few times an hour.

VultureFund
Sr. Member
****
Offline Offline

Activity: 366
Merit: 250



View Profile
January 02, 2016, 08:24:04 PM
 #6210

Happy new year CLAM addicted ladies.

I'm here again just to tell you CLAM holders that your coins will have a shitty value within two months, to the 0.0006-0.0007 range. You can take my advise or you can lose your panties, I don't really care cause I'm gonna win big in here.

Just to tell you how we control this shit: That stupid 150 BTC buy wall was from us, and the sell order of +40,000 CLAMS was us too.

Last advice, small fishes get away from this shit, this is our game and you'll be burned if you try to play, specially if you go long.

It's not our choice, but simply it's not fair that this shitcoin has a value of +2.5 M$...

Have a nice year. Wink
P-Funk
Sr. Member
****
Offline Offline

Activity: 360
Merit: 250

Token


View Profile
January 02, 2016, 08:26:53 PM
 #6211

 Grin Your lies are transparent to anyone paying attention, who happen to know who sold 50K (get your numbers straight if you're gonna lie)
Ron~Popeil
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250



View Profile
January 02, 2016, 08:57:58 PM
 #6212

Happy new year CLAM addicted ladies.

I'm here again just to tell you CLAM holders that your coins will have a shitty value within two months, to the 0.0006-0.0007 range. You can take my advise or you can lose your panties, I don't really care cause I'm gonna win big in here.

Just to tell you how we control this shit: That stupid 150 BTC buy wall was from us, and the sell order of +40,000 CLAMS was us too.

Last advice, small fishes get away from this shit, this is our game and you'll be burned if you try to play, specially if you go long.

It's not our choice, but simply it's not fair that this shitcoin has a value of +2.5 M$...

Have a nice year. Wink

Really? The sale was 50k clams actually and it was sold by a just dice investor.

Some advice for you:

Stop wasting your time trying to manipulate people and crypto markets. People like yourself are the lowest of the low and an example of everything wrong in this community. You control nothing outside of your mothers basement.

BayAreaCoins
Legendary
*
Offline Offline

Activity: 3906
Merit: 1240


Owner at AltQuick.com & FreeBitcoins.com


View Profile WWW
January 02, 2016, 09:01:16 PM
 #6213

Happy new year CLAM addicted ladies.

I'm here again just to tell you CLAM holders that your coins will have a shitty value within two months, to the 0.0006-0.0007 range. You can take my advise or you can lose your panties, I don't really care cause I'm gonna win big in here.

Just to tell you how we control this shit: That stupid 150 BTC buy wall was from us, and the sell order of +40,000 CLAMS was us too.

Last advice, small fishes get away from this shit, this is our game and you'll be burned if you try to play, specially if you go long.

It's not our choice, but simply it's not fair that this shitcoin has a value of +2.5 M$...

Have a nice year. Wink

Really? The sale was 50k clams actually and it was sold by a just dice investor.

Some advice for you:

Stop wasting your time trying to manipulate people and crypto markets. People like yourself are the lowest of the low and an example of everything wrong in this community. You control nothing outside of your mothers basement.

Perhaps that is a JD investor  Roll Eyes

Free advice is worth exactly what it costs.

The best trade is your own trade.

https://www.youtube.com/watch?v=h4TTedpirFs

https://AltQuick.com/exchange/ - Trade altcoins & Bitcoin Testnet coins with real Bitcoin. Fast, private, and easy!
https://FreeBitcoins.com/faucet/ - Load your AltQuick exchange account with free Bitcoins & Testnet every 10 minutes.
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1330



View Profile
January 02, 2016, 10:28:51 PM
Last edit: January 03, 2016, 12:03:08 AM by dooglus
 #6214

I wrote a Python script that lets me pipe 'clamd' style RPC commands to it. I was having trouble running up against the maximum shell command length when trying to use clamd to create and send large raw transactions.

It lets me do things like this:

Quote
$ # test raw transaction with duplicated output address
$ echo 'createrawtransaction [] {"xJDCLAMZw7oNy2cUXAwnxbrkqyimL54zto":1,"xJDCLAMZw7oNy2cUXAwnxbrkqyimL54zto":2}' | clams | \
  sed 's/^/decoderawtransaction /' | clams | grep value

      "value": 1.0,
      "value": 2.0,

Quote
$ # get last 8 bytes of 'proofhash' from most recent block
$ echo getblockcount | clams | sed 's/^/getblockhash /' | clams | sed 's/^/getblock /' | clams | grep proofhash | cut -d'"' -f4 | cut -c49-
0c6278c211c66693

The Python source is here.

Edit:

I should mention that the script comes with no warranty. It nearly cost me 3200 CLAMs earlier:



I've since fixed that bug, but there could be others.



Just to tell you how we control this shit: That stupid 150 BTC buy wall was from us, and the sell order of +40,000 CLAMS was us too.

The 50k sell was mostly matched with the 129 BTC buy wall. So you appear to be saying that you just bought 43000 CLAMs from yourself for 129 BTC? That seems like a silly thing to do on an exchange. Couldn't you have come to a private agreement between your various selves off-exchange? Or were you sacrificing the fees to bump CLAM up to 2nd place by daily volume?

Just kidding. We know who sold into that buy wall. It was a Just-Dice investor. I helped him make the withdrawal, and he announced his dump seconds before it happened.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
VultureFund
Sr. Member
****
Offline Offline

Activity: 366
Merit: 250



View Profile
January 02, 2016, 11:43:11 PM
 #6215

LIES, LIES AND MORE LIES, that's my job and your job.

Maybe I'm lying, but it's not a lie that CLAMS has a value of +2.5 M$ ?¿! Roll Eyes Roll Eyes Roll Eyes

Think about it a moment please, and look what has CLAMS so special to have a value of 2.5M$...

Just telling some lies, and some thruths, who knows... Wink
BayAreaCoins
Legendary
*
Offline Offline

Activity: 3906
Merit: 1240


Owner at AltQuick.com & FreeBitcoins.com


View Profile WWW
January 02, 2016, 11:52:04 PM
 #6216

Just telling some lies, and some thruths, who knows... Wink

You're gay.

https://AltQuick.com/exchange/ - Trade altcoins & Bitcoin Testnet coins with real Bitcoin. Fast, private, and easy!
https://FreeBitcoins.com/faucet/ - Load your AltQuick exchange account with free Bitcoins & Testnet every 10 minutes.
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
January 03, 2016, 12:37:29 AM
 #6217

LIES, LIES AND MORE LIES, that's my job

Thank you for your candour but really, you needn't have gone to the trouble, it was amusingly clear from the outset.

I have to respect the strength of your commitment to the folk tradition of New Year first-fudding but are you sure you read it correctly?

You might want to include a BTC address in the future because if you continue to entertain people with your hilariously lame slapstick fud, you might get some tips (it might work even better if you could find a flouncy costume to wear).

Cheers

Graham
chilly2k
Legendary
*
Offline Offline

Activity: 1007
Merit: 1000


View Profile
January 03, 2016, 12:57:59 AM
 #6218

LIES, LIES AND MORE LIES, that's my job and your job.

Maybe I'm lying, but it's not a lie that CLAMS has a value of +2.5 M$ ?¿! Roll Eyes Roll Eyes Roll Eyes

Think about it a moment please, and look what has CLAMS so special to have a value of 2.5M$...

Just telling some lies, and some thruths, who knows... Wink

   I know...   It's so cheap....   Should be 20M at a minimum  Smiley  Now who's full of it.  Tongue

clayford08
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
January 03, 2016, 02:38:08 AM
 #6219

Welp, now anyone that wants to invest can buy in at low costs! Thanks for that large sell! We should all be thanking this person. MOAR STEAK.

EverGreenCoin (EGC) - promote and support Environmental Green Causes. http://evergreencoin.org
gamblingbad
Hero Member
*****
Offline Offline

Activity: 568
Merit: 500


https://bit-exo.com/?ref=gamblingbad


View Profile WWW
January 03, 2016, 02:26:10 PM
 #6220

Happy new year CLAM addicted ladies.

I'm here again just to tell you CLAM holders that your coins will have a shitty value within two months, to the 0.0006-0.0007 range. You can take my advise or you can lose your panties, I don't really care cause I'm gonna win big in here.

Just to tell you how we control this shit: That stupid 150 BTC buy wall was from us, and the sell order of +40,000 CLAMS was us too.

Last advice, small fishes get away from this shit, this is our game and you'll be burned if you try to play, specially if you go long.

It's not our choice, but simply it's not fair that this shitcoin has a value of +2.5 M$...

Have a nice year. Wink

Everyone on JD know who sold the coins, if u was the buyer then congrats on your 150btc buy. Unless uid 6 on jd change his name to vulturefund no one belives you. If you want loose 0.4% trade against yourself thats fine. Until UID 6 change name to vulturefund you are a liar.


░▄░   ████   ░▄░
████░░██████░░████
▄▄░░▄██████████████████▄░░▄▄
░██████████████████████████████░
▀████▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██████▀
▄▄▄█████▌                  ▀█████▄▄▄
▐████████▌                   ▐███████▌
▀███████▌     ███████▄      ▐██████▀
▄███████▌     ███████▀      ▐██████▄
▐█████████▌     ▀▀▀▀▀▀       ▄█████████▌
▐█████████▌                   ▀████████▌
▀███████▌     ████████▄      ▐█████▀
▄███████▌     ████████▀      ▐█████▄
▐████████▌     ▀▀▀▀▀▀▀        ▐██████▌
▀▀▀█████▌                   ▄████▀▀▀
▄████▌                 ▄█████▄
░██████████████████████████████░
▀▀░░▀██████████████████▀░░▀▀
████░░██████░░████
░▀    ████    ▀░
.
Bit-Exo



                 ▄████████████████
                ▐█▀
      ▄▄▄▄▄▄▄▄▄██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
     ▐████████████████████████████
▄██▄ █████████████████████████████
▀██▀ ████           █     ▐██   █
 ▐▌  ████  ██████▌  █     ██    █
 ▐▌  ████  ██ ▐██   █    ▐█▌    █
 ▐▌  ████     ██    █    ██     █
 ▐▌  ████    ▐█▌    █   ▐█▌     █
█████████    ██     █           █
▀▀▀▀▀████   ▐█▌     █           █
     ████           █           █
     █████████████████████████████
▄█████████████████████████████████
██████████████████████████████████



             ▄████████▄
          ▄██████████████▄
       ▄▄ ████████████████ ▄▄
      ████████████████████████
     ▐█▌  ▀██████████████▀  ▐█▌
     ▐█▄   ▐████████████▌   ▄█▌
      ▀██▄  ████████████  ▄██▀
        ▀██▄ ██████████ ▄██▀
          ▀██████████████▀
          ▀██▀████████▀██▀
▄▄▄▄▄▄▄▄       ██████       ▄▄▄▄▄▄▄▄
  ██████▄▄▄▄▄▄▄▐████▌▄▄▄▄▄▄▄██████
▀▀▀▀███████████ ████ ███████████▀▀▀▀
     ▀▀▀▀▀▀▀▀▀▀▐████▌▀▀▀▀▀▀▀▀▀▀
              ▄██████▄
           ▄████████████▄
           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▄▄░░░░░░░░▄▄
▄▄████▌░░░░░░▐████▄▄
▄░███████▌░░░░░░▐███████░▄
▄░░░░███████░░░░░░███████░░░░▄
▄░░░░░░██████████████████░░░░░░▄
▐░░░░░░░░████  ██  ██████░░░░░░░░▌
░░░░░░░░░███▀        ▀█████░░░░░░░░
▐▄▄▄▄▄▄▄████▄  ▐███▄   █████▄▄▄▄▄▄▄▌
█████████████  ▐███▀   █████████████
█████████████         ▀█████████████
█████████████  ▐████▄   ████████████
▐▀▀▀▀▀▀▀████▀  ▐████▀   ████▀▀▀▀▀▀▀▌
░░░░░░░░░███▄         ▄████░░░░░░░░
▐░░░░░░░░████  ██  ██████░░░░░░░░▌
▀░░░░░░██████████████████░░░░░░▀
▀░░░░███████░░░░░░███████░░░░▀
▀░███████▌░░░░░░▐███████░▀
▀▀████▌░░░░░░▐████▀▀
▀▀░░░░░░░░▀▀




Pages: « 1 ... 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 [311] 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 ... 501 »
  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!