Close

so long v4.3, welcome v4.4

A project log for Another Table-Based Stream Scrambler

Non-reversible, non-cryptographic scrambler for PRNG, 16 bits at a time.

yann-guidon-ygdesYann Guidon / YGDES 02/20/2025 at 23:060 Comments

v4.3 is coming but going as fast...

the "unilateral mix" is a total catastrophe 🫣

iteration: 501 LUT:
 190  ⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣧⢀⠐⣿⣿⣿⢿⣾⣹⠿⣿⡖⣮⢈⠀⠁⢥⣊⠄⣻⣿
  84  ⢾⣷⣮⣿⢿⠺⠐⠀⠀⠄⣩⢚⢀⠠⠀⠀⠀⢠⡅⢔⠀⠠⡀⢀⠀⠀⠁⡶⠀⠀⣿⣿
 143  ⠵⠱⢻⡻⢗⠿⣩⠶⠈⢌⠢⢀⣿⣿⠠⠂⠛⣟⡅⡘⣿⣿⡥⠩⠝⡟⠂⡂⡿⣿⣅⣽
 108  ⡶⡿⠇⡕⢌⢠⢶⠑⣿⣿⢀⢐⠀⠀⣿⣿⠀⠐⠂⠀⠘⢀⢽⣳⠀⠀⢼⣾⠀⠀⣻⣵
 120  ⡑⡄⠯⡧⡀⠀⢼⢭⣰⢭⠕⠁⢌⠂⣟⠜⣟⡝⢓⠟⡊⢑⢭⠠⠔⠀⣿⣿⢤⡑⢯⡙
 115  ⣿⣿⠄⠡⠫⠣⣓⠒⡲⡅⠉⠇⢀⠀⢟⣏⣷⠌⠉⡰⢷⠦⠂⠄⣩⣯⠁⠲⣿⣿⠀⠀
  98  ⠐⣢⠪⡔⣿⣿⠀⡀⠀⠀⢍⣨⢄⡀⠆⡃⣎⡾⢠⠹⣪⣗⠠⣄⠀⠀⣿⣯⠇⠃⠢⠀
 170  ⣏⣽⣫⢮⣱⣺⠀⠀⡁⣧⣚⣳⣐⢺⣐⠨⣿⣿⣿⢿⣡⠂⣿⣿⠩⠴⢿⣼⣿⣿⣿⣿
 122  ⣿⣿⢃⠅⢴⠑⣿⣟⣿⣿⣗⢋⠠⣁⠀⠀⠄⡀⣿⣿⣿⡯⠀⠀⡍⡀⡶⢮⡀⠀⠐⢀
 102  ⣉⢰⢺⢆⣫⠶⠄⠉⣡⡶⢽⢫⠁⠀⠌⡐⢬⠛⡊⡣⡿⣍⠤⠀⠀⠀⣢⢈⠠⡘⡕⡷
 112  ⣿⣷⣮⣪⢤⢵⠀⠀⡼⠨⣿⢠⢽⣓⢟⡯⢬⡝⠀⠀⠀⠀⠠⠈⠀⠄⡯⣯⠠⡲⡛⠣
 105  ⡗⣼⠀⠁⢵⡏⠟⣘⠕⢍⠈⠡⠀⠑⣹⣷⡀⠀⠀⠀⠀⠀⠀⢉⣿⣷⣼⣑⢽⣧⢨⣪
 119  ⠋⠰⣿⢽⠀⠀⠥⢈⡠⡺⡪⠣⡨⡋⠌⠐⣿⣿⣹⣧⣯⣿⡁⡉⠀⠐⠀⠀⣿⠞⣲⣋
 139  ⣦⣏⠄⠂⠄⢈⠖⢻⣖⣟⡽⣡⣾⢶⠁⡄⠨⣼⣐⣯⣿⣿⣻⣼⠠⠐⣿⣿⢈⠔⠾⢑
 130  ⣭⣿⠫⠇⣯⠫⢈⡢⠀⠀⣿⣿⠂⡡⠀⠀⢂⠁⡀⠀⣻⣷⢽⣲⡔⠁⣿⣿⢍⠯⢿⣿
 191  ⣿⣿⠀⠈⠀⠀⣿⡻⢝⣷⠀⠀⣿⣿⣿⣿⣿⣯⣿⣿⢌⡋⣿⣿⣿⣿⣟⣽⣿⣿⣿⣿
Total 2048

the "move" is not anisotropic at all. I thought that the entropy of the indices would reduce this problem but not at all.

I moved to a LFSR32 so there is now "enough entropy" to mix 16 bits and use as either a swap/bi-selector, or anisotropic move.

The "enhanced mixer" is like that :

That's ... 13 boolean ops if written in C...

Try at home with Falstad's CircuitJS

OTOH the "swapper" doesn't care what the values of the bits are.

Simulate with this link.

That's 7 boolean instructions only, half the above and doing the same job...

So we get this:

uint16_t S1 = S >> 8;
uint16_t S2 = ~S1;
uint16_t X2 = (X & S1) | (Y & S2);
uint16_t Y2 = (X & S2) | (Y & S1);

And yes, the S>>8 eats 3 bits that the barrel shifter uses, I hope it will be solved later.

Source code is there and the new diagram is below:

And now the result is back to "good", breaking the zero-entropy situation easily.

 LUT:
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
Total 2048


iteration: 51 LUT:
  42  ⡟⣭⠀⠀⢀⠆⠀⠀⣿⢲⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⣿⠀⠀
  23  ⠀⠀⠀⠀⠀⠀⠂⣪⠀⠀⠀⠀⠀⠀⠀⠀⢐⠁⠀⠀⠀⠀⠀⠀⣿⣸⠀⠀⠀⠀⠀⠂
  10  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢁⠀⠀⠀⠀⠀⠀
   0  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  33  ⣿⢃⠀⡃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⣼⠇
  26  ⠀⠀⠀⠀⠁⣸⠀⠀⠀⠀⠀⠀⠀⠂⣿⢒⠠⠆⠀⠀⠀⡝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  14  ⠀⠀⠀⠀⠀⣽⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   4  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 228  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⠀⠅⣿⣿⣿⣽⣿⣿⣿⣿⠀⡍
 256  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
 226  ⠀⡾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡼⣿⣿⠀⣻⣿⣿
 237  ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣺⣿⣿⡂⠂⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿
 242  ⣿⣿⣿⣿⣾⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⡿⣹⣿⣿⣿⣿
 247  ⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢷⣿⣬⣿⣿⣿⣿⣿⣿⣿⣿
 232  ⣿⣿⢀⠀⢱⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠧⣿
 228  ⣿⣿⣿⣿⣿⣿⣿⢼⣿⣿⣿⣿⣿⣿⣿⣿⣿⢢⣿⣯⣿⢺⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀
Total 2048


iteration: 501 LUT:
 133  ⠿⢡⠢⣗⠂⣸⣿⣿⢐⠀⡜⠀⣭⣿⠁⢀⢸⠇⡏⢼⠄⡀⠃⣠⣏⢺⠃⣿⡗⣿⣏⣿
 113  ⣿⣿⠀⠀⠀⡏⣿⢺⣾⣦⡟⣑⠃⢸⠇⢰⢠⠅⠀⣸⣿⣿⠈⠀⠀⡝⣗⣚⠀⠄⢐⠀
  89  ⣿⣻⠆⡄⣌⠂⠀⡔⠀⠀⠀⡒⣔⡽⠀⠜⠀⠀⢰⠁⠀⠀⢀⠀⣿⣿⣾⠀⣻⡄⢇⢹
  90  ⡀⠌⣿⢁⠐⠂⡀⢀⠨⠅⡜⣘⢅⠎⠀⠀⠇⢸⣧⣹⠐⠞⣈⠽⢈⠀⣼⠲⠀⠀⣿⢴
  89  ⣃⣼⣺⠵⠁⢰⡄⠄⠀⠀⡏⣾⣺⡯⠀⠀⠀⡎⡿⡭⢨⡲⠀⠄⠀⠀⡇⡀⠘⠁⠀⡻
  81  ⣺⡟⢀⠀⠀⠀⠀⡂⢸⡄⠀⠀⢠⠀⣿⢒⢂⠁⠟⠨⠀⡝⠁⢺⢀⠀⠇⢴⠇⣺⢸⡏
  82  ⠁⢰⣿⣠⠀⣽⠀⠀⠀⠀⠿⠰⢰⡇⠇⠀⣾⣿⣸⠅⠀⠰⠀⠀⠀⠀⡩⢄⢰⠗⠈⡇
 143  ⣯⣾⢠⠉⢻⣟⣿⣟⡟⢰⠀⠀⡛⣸⢂⡎⠀⠀⡔⠄⣿⢣⣏⣹⣽⡿⢿⣿⠐⡘⣭⣇
 150  ⠆⢈⣾⠅⣞⣉⠋⣏⣿⣿⣿⢺⣾⢁⢸⣃⣿⣿⠠⡿⡈⡮⠸⡟⠊⡯⣿⣿⢸⠃⢐⠀
 158  ⢀⢞⣸⡟⣼⡘⣿⣿⠀⣦⣵⡿⠹⣿⣿⣿⠀⠀⣿⣿⢞⢂⣾⠃⢀⢀⣿⣿⡏⢰⠟⣾
 160  ⠇⢡⣿⢾⣿⣿⣿⣟⣿⢣⠀⠈⣿⣿⣸⡧⢰⡏⡮⣮⣿⠁⠇⠂⡾⡛⣧⢧⠐⡏⢾⡙
 132  ⠃⣝⣿⣻⡷⠡⠀⡜⢼⠉⣿⣿⠠⠟⢰⣱⢼⠌⣿⣹⡟⢲⠀⡸⢀⠆⣽⢁⠁⣜⢠⡮
 136  ⡠⠇⣿⣿⣨⡷⣿⣾⠃⢴⣼⠇⢮⣏⡆⣾⢠⡁⡔⡄⠀⠇⣿⢤⣸⢧⠀⠃⢰⠄⣿⣽
 193  ⣿⣿⣿⣿⢸⠃⣿⣿⣿⣿⣾⣾⢢⠀⡿⢃⣾⠂⣿⢗⡾⠇⠰⡌⡿⣻⣿⣿⣿⣿⣿⣽
 165  ⣷⣿⢀⠀⠏⣾⣿⣻⣿⣾⣿⣿⢡⢅⡼⠼⢸⠀⢽⠅⠐⠃⢀⡯⣿⣿⡟⡚⣿⣿⣿⢶
 134  ⡋⠄⡇⣬⣿⣿⠀⠀⣟⣧⣻⢿⠻⠫⠢⠃⢸⠃⠀⠁⣟⣓⢿⡝⠀⡸⡟⣿⣿⣹⠀⠄
Total 2048

iteration: 1001 LUT:
 118  ⡧⢒⡟⣓⢩⣄⠁⢾⢄⠄⡜⠀⡟⡼⢸⡀⡎⠀⢑⣿⠘⣛⢀⡇⣢⠇⡩⣼⡢⡺⢰⢯
 117  ⠹⠦⠡⡏⠀⡏⢸⠘⢹⠠⡿⡋⡇⣀⡃⣿⣾⠐⢀⡘⠃⣧⡅⣱⠐⡼⣿⢂⢐⢁⠟⣸
 102  ⣼⡇⢛⢺⠸⡂⢰⠇⢠⠣⠁⠹⣾⡗⣄⠗⠀⠀⣝⣄⠇⢀⢸⠆⡦⠾⣾⠀⡄⡋⠄⠀
 108  ⣩⣠⠀⡇⠀⠐⠈⠷⢐⡃⡿⠂⢲⢐⠁⠢⢟⢵⣧⣹⣪⡁⣦⢠⡞⡻⣘⠚⡞⢻⠀⠄
 132  ⢤⣼⠸⠂⣟⣪⣾⠈⣙⢺⢦⠰⡯⣏⡺⣙⢹⣻⢘⡿⢨⡲⣾⢃⣀⠐⠌⠩⣣⣣⣔⠀
 119  ⢠⠫⣟⣸⢠⠠⢷⢫⠀⡼⣪⢪⠁⢀⣿⢒⢀⢻⠟⣞⢀⢛⠁⢺⢀⠌⡼⢰⠿⢱⠡⣾
 118  ⣹⠕⠀⠸⢡⠇⣄⠂⡏⠼⣾⠜⢇⣾⢲⡗⡿⡆⡰⠇⠀⠰⠠⣹⣑⢻⣿⣽⢰⠙⠀⠐
 133  ⢇⠧⡘⠀⢷⡿⣳⢫⠸⢂⠁⣟⡀⡯⢭⡑⢿⠿⢈⣁⢆⣺⣟⣿⠀⡀⣯⣿⣜⣦⠀⡂
 160  ⣽⠇⢳⣿⢟⢫⡞⣾⣿⡸⣿⢉⢀⠱⣟⣽⣽⣯⠟⣣⣾⠧⠃⣸⣌⠇⣿⢻⠰⡯⢐⠀
 163  ⠐⡕⣿⣟⣼⡘⣿⣽⢇⢼⢸⠗⢾⣻⡍⡾⠀⠅⣿⣿⡧⣠⠾⢾⢁⢿⡏⣿⢺⡇⣯⢕
 120  ⢷⣼⠸⠡⡘⣏⠆⣱⠀⠀⠀⠈⠂⠄⢷⢝⠇⣼⣰⡝⣿⠁⢲⣵⢠⡗⢕⢅⣵⢹⡸⣻
 147  ⠮⠁⠐⠋⠨⡴⢙⣼⢲⣽⢾⢫⣧⣳⢺⣷⠑⣵⢯⢻⣾⠗⣝⣿⣰⡑⣌⠇⠪⡅⣴⠿
 102  ⠻⡪⡀⢳⡋⣾⡘⠀⡠⠐⢤⠀⢀⡇⣽⢁⢠⡁⣤⠉⠀⡸⢜⣛⣱⣳⣯⣿⠀⠘⡀⠀
 132  ⡹⡿⢿⣇⢠⠙⡇⢠⢳⣾⠡⣬⠃⡄⠨⠽⠫⣽⣏⣶⣿⣽⠀⠈⡉⣻⠀⠢⠮⡙⡷⠤
 143  ⠰⡴⣮⡂⢫⢿⡉⣟⡗⢡⣿⣿⢰⢢⡘⠈⡽⣧⣼⡞⢡⠆⡟⣇⢾⠂⢥⢠⠃⡿⡛⣾
 134  ⣢⠅⢠⢀⠗⣧⡿⠆⢟⡿⢇⢘⢁⣻⣿⣏⢷⡻⠀⠈⡵⢨⢬⠀⣏⣿⠅⡈⣸⣋⢯⢣
Total 2048

iteration: 1501 LUT:
 126  ⡏⢼⡍⠠⡐⠏⢣⣻⢋⠔⢪⣆⣹⡾⢰⠺⠪⡟⠀⢂⡇⡊⣸⣾⣢⠇⠋⣆⢘⣏⢠⣭
 123  ⢶⢾⣿⠁⠗⢳⢷⡿⡽⠳⠡⣋⢪⠍⡱⢂⠊⡣⢠⠥⡾⠃⡅⣱⢍⠇⡖⡇⠀⠢⣊⢃
 140  ⣅⣿⣧⣟⣭⣀⢐⠄⢇⣾⣆⡾⢞⠥⣿⢤⣽⢱⣠⠱⣾⠀⣡⣎⠃⢄⡇⢰⣝⡹⣶⠍
 132  ⣿⣶⠀⡇⠇⣦⠂⠪⡜⡘⣼⠯⣅⢌⣪⢏⢟⢵⣾⢄⢣⣫⣦⣥⠀⢰⣨⠌⡨⠹⠝⣯
 131  ⢾⣻⠗⠐⠰⡟⠁⢳⠢⢠⢙⡏⢌⣽⠏⡌⠼⣭⡑⡦⣅⡠⣿⣸⡗⢽⣃⣟⠣⠺⠠⡅
 126  ⡿⢹⣞⡯⣘⢚⢔⢮⡞⠎⢃⡅⡤⢉⢢⠀⡬⠅⠇⣓⡛⣿⠇⡮⢊⠄⠖⡰⢸⢓⢴⡟
 130  ⡙⢛⣎⢃⣑⢹⡬⢘⢏⣺⣅⡎⣣⢃⠱⣼⡈⢂⡰⠇⠰⢵⡞⣰⣮⣧⡏⣿⡈⢸⢀⠥
 136  ⣾⢜⣬⣻⢻⣞⡮⡶⢳⣑⠡⠗⢫⠅⡦⣴⠀⠞⢀⣼⣛⣰⡞⢁⠎⢠⣿⣩⠎⠘⣏⠥
 119  ⡏⣻⡟⡊⢟⢫⠈⣰⣊⠊⡏⣰⢴⠈⡎⡌⣑⡊⠈⡯⢸⡅⡸⠆⡰⡥⡃⣹⡴⡂⢡⠓
 137  ⢺⠾⠇⡑⢏⢺⠼⢱⣦⡹⠵⡈⡣⡼⢻⡫⢂⣼⠣⣋⡇⢼⡭⣙⢁⢿⣁⣐⠹⢇⠿⡅
 123  ⡜⠱⡇⡶⢪⡍⠟⡠⣼⠀⠷⣅⡯⢂⡁⢠⡗⢘⠂⡍⣓⠀⣊⠳⣿⢘⡦⢎⣻⡸⡇⢺
 125  ⣿⢀⠱⢅⠅⡘⣿⡳⠃⢻⠐⢽⡶⡸⢲⡍⡸⡩⡾⡟⠵⢀⢧⠺⠌⢈⡳⢠⣽⢹⠄⠰
 114  ⣘⠂⠆⠠⡫⣴⠈⣸⡠⠓⢤⠀⢳⠂⢅⡵⠗⡄⡹⣘⡈⠓⢪⣷⡏⣴⣭⠇⠖⡟⡛⢲
 119  ⠀⡀⢞⠇⢻⠐⠀⢅⢓⣿⠡⣬⠷⡹⡀⡟⠢⣸⢺⣭⡉⣱⠀⠨⢻⠥⡞⡝⢷⣺⠒⢰
 132  ⡿⠱⢾⡹⠶⣎⡤⢂⢰⢁⡎⣱⡟⢚⡧⢆⢼⠀⣳⢘⡟⠋⢧⣾⠢⢾⠡⣀⢐⡬⡿⠾
 135  ⠩⣘⣟⣟⢄⡇⡏⠰⢜⠼⠞⢞⢿⡦⣵⣘⢇⡒⡖⡻⢶⠌⡻⢘⢰⢱⣈⠈⣵⠤⣿⡃
Total 2048

...

Cool.

Discussions