Carpet an Airport

17

Em 2015, o Aeroporto Internacional de Portland iniciou a substituição de seu tapete icônico . Quero que você escreva um programa para desenhar o tapete antigo no menor número de bytes possível.

O tapete:

Um bloco

Especificações

  • Aqui está um link para uma imagem em PDF escalável de um bloco. Sua saída deve corresponder às dimensões relativas e ao posicionamento dessa imagem.

  • Todas as cores na sua imagem final devem estar dentro de 15 de cada valor RGB na imagem especificada. Estes estão listados abaixo para sua conveniência.

                Red   Green Blue
    Teal:       0,    168,  142
    Magenta:    168,  108,  185
    Orange:     247,  58,   58
    Light Blue: 90,   166,  216
    Dark Blue:  0,    77,   117
    
  • Sua saída deve ter pelo menos 150 x 150 pixels e deve ser quadrada. Se você optar por imprimir em um formato escalável como uma imagem vetorial, deverá corresponder exatamente à imagem.

  • Você pode imprimir a imagem em qualquer formato de imagem preexistente.

  • Isso é então você deve tentar minimizar o número de bytes no seu código.

Post Rock Garf Hunter
fonte
Inspirado pelo Reddit?
Hexaholic 12/02
@ Hexaholic Acho que não, então eu estava acertando aleatoriamente na wikipedia e acertei a página. No entanto, eu também posso ter visto isso no reddit antes da mão.
Post Rock Garf Hunter
11
Tem que ser uma imagem bidimensional ou poderia ser algo como um modelo visto de um ângulo específico?
devRicher

Respostas:

9

HTML puro, 873 bytes

<table width=152 height=152 bgcolor=#0a8><tr><td colspan=7><td bgcolor=#5AD><tr><td><td bgcolor=#057><td colspan=5><td bgcolor=#5AD><tr><td><td><td bgcolor=#057><td colspan=4><td bgcolor=#5AD><tr><td><td><td><td bgcolor=#057><td><td><td><td bgcolor=#5AD><tr><td colspan=7><td bgcolor=#057><td><td><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057><td><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057><td bgcolor=#057><td><td><td><td bgcolor=#F33><td bgcolor=#F33><td bgcolor=#F33><tr><td colspan=6><td bgcolor=#F33><td bgcolor=#057><td colspan=7 bgcolor=#057><tr><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td rowspan=6 bgcolor=#057><tr><td><tr><td><tr><td colspan=11><td bgcolor=#057><tr><td colspan=12><td bgcolor=#057><tr><td colspan=13><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057>

HTML + CSS, 625 bytes

#l{background:#5AD}th{background:#057}#o{background:#F33}#m>td{background:#A6B
<table width=152 height=152 bgcolor=#0A8><tr><td colspan=7><td id=l><tr><td><th><td colspan=5><td id=l><tr><td><td><th><td colspan=4><td id=l><tr><td><td><td><th><td><td><td><td id=l><tr><td colspan=7><th><td><td><th><tr><td colspan=7><th><td><th><tr><td colspan=7><th><th><td><td><td><td bgcolor=#F33><td bgcolor=#F33><td bgcolor=#F33><tr><td colspan=6><td bgcolor=#F33><th><th colspan=7><tr id=m><td><td><td><td><td><td><td><th rowspan=6><tr><td><tr><td><tr><td colspan=11><th><tr><td colspan=12><th><tr><td colspan=13><th><tr><td colspan=7><th>

Neil
fonte
9

TikZ, 725 693 681 671 bytes

\documentclass{standalone}\usepackage{xcolor,tikz}\begin{document}\tikz[line width=20,every node/.style={minimum size=20}]{\definecolor{t}{RGB}{0,168,142}\definecolor{m}{RGB}{168,99,185}\definecolor{o}{RGB}{247,58,58}\definecolor{b}{RGB}{90,166,216}\definecolor{d}{RGB}{40,77,117}\fill[t](-7.5,-7.5)rectangle(7.5,7.5);\draw(-1,0)node[fill=o]{};\foreach\x in{1,...,7}{\draw(-\x,-1)node[fill=m]{};\draw(0,\x)node[fill=b]{};}\foreach\x in{1,...,3}{\draw(\x,\x)node[fill=d]{};\draw(3+\x,-3-\x)node[fill=d]{};\draw(-3-\x,3+\x)node[fill=d]{};\draw(4+\x,1)node[fill=o]{};}\draw[d](.65,0)--(7.35,0);\draw[d,dash pattern=on20off8.5on162.5off8.5](0,-7.35)--(0,3.35);}\end{document}

Experimente Online!

Explicação

Uma boa parte do código é um wrapper:

\documentclass{standalone}\usepackage{xcolor,tikz}\begin{document}\tikz{...}\end{document}

Essa é uma pequena variação no invólucro padrão do Tikz, pois ele também possui a linha \usepackage{xcolor}para que possamos criar as cores corretamente.

A primeira coisa que é feita é line width=20,every node/.style={minimum size=20}]que define as linhas e os nós para o tamanho adequado.

Feito isso, definimos as cores que usaremos para as várias partes da imagem:

\definecolor{t}{RGB}{0,168,142}\definecolor{m}{RGB}{168,99,185}\definecolor{o}{RGB}{247,58,58}\definecolor{b}{RGB}{90,166,216}\definecolor{d}{RGB}{40,77,117}

Agora que tudo está configurado, pintamos o plano de fundo da tela azul-petróleo:

\fill[t](-7.5,-7.5)rectangle(7.5,7.5);

(Não incluirei uma imagem disso porque é apenas um quadrado verde-azulado, mas incluirei imagens uma da outra)

O primeiro nó que adicionamos é o nó laranja, à esquerda do centro da tela.

\draw(-1,0)node[fill=o]{};

Uma laranja no mar

Agora vamos desenhar os nós azul claro e magenta. Existem 7 nós azuis e 4 nós azuis, mas podemos desenhar nós extras que serão cobertos por linhas posteriormente, portanto, desenharemos 7 de cada um.

\foreach\x in{1,...,7}{
    \draw(-\x,-1)node[fill=m]{};
    \draw(0,\x)node[fill=b]{};
}

Caminhos bifurcados

Agora vamos desenhar todos os grupos de 3 pontos usando um único \foreachloop

\foreach\x in{1,...,3}{\draw(\x,\x)node[fill=d]{};\draw(3+\x,-3-\x)node[fill=d]{};\draw(-3-\x,3+\x)node[fill=d]{};\draw(4+\x,1)node[fill=o]{};}

Pontos dispersos

Agora desenhamos a linha certa. Essa linha será uma linha simples com deslocamentos de .35em cada direção para corresponder ao tamanho de um nó.

\draw[d](.65,0)--(7.35,0);

Colisão

Agora devemos desenhar as linhas e quadrados azuis escuros no eixo x. Vamos desenhá-los com uma linha usando um padrão de traço personalizado.

Este padrão é [dash pattern=on20off8.5on162.5off8.5]Isso cria um quadrado com uma cauda longa e sólida. Nossa linha começará do fundo e não cobrirá exatamente 2 ciclos do padrão.

\draw[d,dash pattern=on20off8.5on162.5off8.5](0,-7.35)--(0,3.35);

Final

E agora terminamos.

Post Rock Garf Hunter
fonte
Você pode usar números para representar cores RGB em Tikz, em vez de digitar as compensações RGB?
Yytsi
@TuukkaX Acho que sim, mas não consegui descobrir. Se você souber como eu ficaria agradecido por ser esclarecido.
Post Rock Garf Hunter
Eu não conheço o Tikz, então não posso ajudar com isso :( No entanto, se eu entendi sua regra sobre "dentro de 15 de cada RGB" corretamente, você pode alterar 108 para 99, pois o erro é abaixo de 15.
Yytsi
@TuukkaX Thanks!
Post Rock Garf Hunter
Usar \definecolorcom a HTMLespecificação (em vez de RGB) permite especificar cores usando hex.
Julian Lobo
6

arquivo PNG literal, 283 , 234 227 bytes

EDIT : Usando o serviço de compactação de imagem on-line https://compress-or-die.com/ , isso diminuiu outros 7 bytes.

albn @ alexhi

j:~/tmp$ ls -l carpet3.png
-rw-r--r-- 1 albn albn 227 15. Feb 12:01 carpet3.png
albn@alexhij:~/tmp$ base64 carpet3.png 
iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLn3Ojpapthl
S7nNAAAAj0lEQVR4Ae3ThRHCQBQGYVqgBVq4Fui/Jt4ILks8/80uLvkyOTlkd67EILHojtWEyxQT
Sw6uFS5TTCw/uFa+TDGx/PjS3z+KiS2GcRtgzIqJdboDPomteniCxMTyatXtMiExMcB22amCJ7wG
MbHpBWBiYmJiYmJwAjGx/ncAn0VMrP8dwL+KieXHFyImltoF6oWZiblRTNQAAAAASUVORK5CYII=

carpet3.png

Os 227 bytes são o tamanho real do arquivo binário carpet.png. Quando codificado em base64, conforme exibido no bloco acima, é alguns bytes mais longo (308 bytes). Encapsular isso em um trecho de html que renderiza a imagem diretamente adicionará mais alguns bytes:

HTML, 414 , 343 , 336 bytes

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLn3OjpapthlS7nNAAAAj0lEQVR4Ae3ThRHCQBQGYVqgBVq4Fui/Jt4ILks8/80uLvkyOTlkd67EILHojtWEyxQTSw6uFS5TTCw/uFa+TDGx/PjS3z+KiS2GcRtgzIqJdboDPomteniCxMTyatXtMiExMcB22amCJ7wGMbHpBWBiYmJiYmJwAjGx/ncAn0VMrP8dwL+KieXHFyImltoF6oWZiblRTNQAAAAASUVORK5CYII

Edit : Eu removi as aspas e fechei> como Shaggy sugeriu. Também compactou a imagem em outros 17 , 24 bytes

domingo
fonte
11
Eu não acho que um arquivo literal seja considerado uma linguagem de programação válida aqui no code-golf. Cabe ao OP se isso é válido ou não.
precisa saber é o seguinte
11
Você pode estar certo, mas mesmo a descrição da tag kolmogorov-complexidade em codegolf.stackexchange.com/tags/kolmogorov-complexity/info menciona uma sequência complexa, cuja representação mais curta pode ser impressa literalmente. Se uma sequência literal for considerada a "solução do pior caso" para um código-golfe baseado em sequência, um arquivo de imagem literal poderá ser considerado uma "solução do pior caso" para um campo de golfe baseado em imagem. Editar: eu apenas publiquei o arquivo, porque fiquei surpreso que ele era realmente mais curto do que as outras soluções postadas anteriormente. (após remover o pedaço opcional de timE do arquivo)
domingo
Se depende de mim, eu estou bem com isso.
Post Rock Garf Hunter
2
Com um pouco de compactação, você pode diminuir isso. Solte também as aspas, qualquer final =e final >. Aqui está uma versão de 366 bytes em que eu estava trabalhando antes de ver sua resposta:<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII
Shaggy
11
@ComradeSparklePony Geralmente, não exigimos respostas da linguagem de programação para perguntas como esta: codegolf.meta.stackexchange.com/questions/3610/…
isaacg
5

Mathematica, 285 bytes

e={1,1};r=RGBColor["#"<>#]&;c=Cuboid;s=c[3#-e,3#+e]&;a=Array;b=a[s[{1,-1}#]&,3,#]&;Graphics@{r@"0a8",c[-23e,23e],r@"a6b",a[s@{-#,-1}&,7],r@"f33",a[s@{#,1}&,3,5],s@{-1,0},r@"5ad",a[s@{0,#}&,4,4],r@"057",a[s[e#]&,4,0],b@4,b[-6],s@{0,-7},{-1,2}~c~{1,10},{-1,-2}~c~{1,-19},{2,-1}~c~{22,1}}

Mais fácil de ler:

 1  c = Cuboid; e = {1, 1};
 2  s = c[3 # - e, 3 # + e] &;
 3  a = Array; b = a[s[{1, -1} #] &, 3, #] &;
 4  r = RGBColor["#" <> #] &; 
 5  Graphics@{
 6   r@"0a8", c[-23 e, 23 e],
 7   r@"a6b", a[s@{-#, -1} &, 7],
 8   r@"f33", a[s@{#, 1} &, 3, 5], s@{-1, 0},
 9   r@"5ad", a[s@{0, #} &, 4, 4],
10   r@"057",
11    a[s[e #] &, 4, 0], b@4, b[-6], s@{0, -7},
12    {-1, 2}~c~{1, 10}, {-1, -2}~c~{1, -19}, {2, -1}~c~{22, 1}
13  }

As linhas 1 a 3 definem nomes abreviados para funções, a mais importante delas é sque desenha um quadrado centrado nas coordenadas que recebe (na verdade, 3 vezes suas coordenadas, para o dimensionamento apropriado). A Linha 4 define uma função de cor usando o sistema RGB de "atalho" do Mathematica:, RGBColor["#xyz"]onde xyzsão dígitos hexadecimais, significa RGBColor[{17x, 17y, 17z}](de modo que cada coordenada tenha 16 opções igualmente espaçadas, de 0 a 255). Os primeiros comandos nas linhas 6–10 alternam a cor atual, usando as cores de atalho mais próximas das cinco cores designadas (nenhum valor é desativado em mais de 8 quando arredondamos para o múltiplo mais próximo de 17).

A linha 6 desenha o quadrado grande verde-azulado. A linha 7 desenha a linha dos quadrados magenta, a linha 8 desenha a linha dos quadrados laranja e o único quadrado laranja. A linha 9 desenha a linha de quadrados azuis claros. A linha 11 desenha as três linhas diagonais dos quadrados azuis escuros, bem como o único quadrado azul escuro na parte inferior. Finalmente, a linha 12 desenha os três longos retângulos azuis escuros. A saída está abaixo:

Portland

(Dica de golfe: o comando Cuboid, destinado a objetos gráficos 3D, funciona bem em 2D e é mais curto queRectangle .)

Greg Martin
fonte
2

Python, 420

from PIL import Image,ImageDraw
B=0,77,117
I=Image.new('RGB',(300,300),(0,168,142))
r=ImageDraw.Draw(I).rectangle
for x,y,c in['7172737a98cde670123456bcd70112233456666778888888bcde23232323331111300000003333'[x::26]for x in range(26)]:exec'r([W,W,14+W,14+W],[(168,108,185),(247,58,58),(90,166,216),B][%s]);'.replace('W','2+20*0x%s')%(x,y,x,y,c)
r([162,142,296,156],B)
r([142,82,156,136],B)
r([142,162,156,276],B)
I.show()
dieter
fonte
1

HTML / SVG, 550 542 521 bytes

<svg><path fill=#0a8 d="M0 0h152v152H0z"/><path fill=#5ad d="M72 2h8v8h-8zm0 10h8v8h-8zm0 10h8v8h-8zm0 10h8v8h-8z"/><path fill=#057 d="M12 12h8v8h-8zm10 10h8v8h-8zm10 10h8v8h-8zm40 10h8v28h-8zm0 30h8v8h-8zm10-10h8v8h-8zm10-10h8v8h-8zm10-10h8v8h-8zM82 72h68v8H82zM72 82h8v58h-8zm0 60h8v8h-8zm40-30h8v8h-8zm10 10h8v8h-8zm10 10h8v8h-8z"/><path fill=#f33 d="M62 72h8v8h-8zm60-10h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8z"/><path fill=#a6b d="M2 82h8v8H2zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8z"

Shaggy
fonte
1

HTML, 366 bytes

O domingo recebeu uma resposta do Base64 enquanto eu ainda estava trabalhando nisso; se ele optar por usá-lo, excluirei esta resposta.

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII

Se a string Base64 por si só for uma resposta válida, serão apenas 335 bytes:

iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII
Shaggy
fonte
1

HTML / SVG + JavaScript (ES6), 500 499 bytes

É >necessário um extra para que ele funcione como um trecho; consulte este Fiddle para obter o código real.

[[t="5ad",2],[t,o=12],[t,p=22],[t,q=32],[,o,o],[,p,p],[,q,q],[,42,,28],[],[,v=62,s=82],[,52,92],[,42,102],[,,s,,68],[,s,,58],[,142],[,112,112],[,122,122],[,132,132],[t="f33",,v],[t,v,122],[t,v,132],[t,v,142],[t="a6b",s,2],[t,s,o],[t,s,p],[t,s,q],[t,s,42],[t,s,52],[t,s,v],["0a8",0,0,152,152]].map(x=>a(x[0],x[1],x[2],x[3],x[4]),a=(f="057",y=72,x=72,h=8,w=8)=>(c.after(r=c.cloneNode()),r.id++,r[s="setAttribute"]("fill","#"+f),r[s]("x",x),r[s]("y",y),r[s]("width",w),r[s]("height",h)))
<svg><rect id=c>


Explicação

Uma matriz de matrizes é mapeada para a função a, a criação de clones do rectno HTML, inserindo-os após o inicial recte definindo as respectivas fill, x, y, widthe heightatributos. Cada matriz contém valores para esses atributos, nessa ordem, com qualquer valor ausente sendo definido pelos parâmetros padrão de a. O aparentemente desnecessário r.id++permite o uso de cloneNode()enquanto garante que só exista 1 rectcom um idde c; isso economiza a necessidade de usar o ridiculamente caro document.createElementNS("http://www.w3.org/2000/svg","rect").

Shaggy
fonte
1

PHP + SVG, 425 bytes

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 /><?foreach(["004d75"=>[[1,1],[2,2],[3,3],[7,14],[7,7],[8,6],[9,5],[10,4],[11,11],[12,12],[13,13],[7,4,0,2],[8,7,6,0],[7,8,0,5]],"5aa6d8"=>[[7,0],[7,1],[7,2],[7,3]],a86cb9=>[[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[6,8]],f73a3a=>[[6,7],[12,6],[13,6],[14,6]]]as$c=>$p)foreach($p as$v)echo"<rect x={$v[0]}1 y={$v[1]}1 width=".(8+10*$v[2])." height=".(8+10*$v[3])." fill=#$c />";

expandido

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 />
<?foreach([
"004d75"=>[[1,1],[2,2],[3,3],[7,14],[7,7],[8,6],[9,5],[10,4],[11,11],[12,12],[13,13],[7,4,0,2],[8,7,6,0],[7,8,0,5]]
,"5aa6d8"=>[[7,0],[7,1],[7,2],[7,3]]
,a86cb9=>[[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[6,8]]
,f73a3a=>[[6,7],[12,6],[13,6],[14,6]] # Array containing color and position ,width, height of each rect without the background
]as$c=>$p)
  foreach($p as$v)
    echo"<rect x={$v[0]}1 y={$v[1]}1 width=".(8+10*$v[2])." height=".(8+10*$v[3])." fill=#$c />"; # Output the rects

O resultado do código em um snippet HTML

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 /><rect x=11 y=11 width=8 height=8 fill=#004d75 /><rect x=21 y=21 width=8 height=8 fill=#004d75 /><rect x=31 y=31 width=8 height=8 fill=#004d75 /><rect x=71 y=141 width=8 height=8 fill=#004d75 /><rect x=71 y=71 width=8 height=8 fill=#004d75 /><rect x=81 y=61 width=8 height=8 fill=#004d75 /><rect x=91 y=51 width=8 height=8 fill=#004d75 /><rect x=101 y=41 width=8 height=8 fill=#004d75 /><rect x=111 y=111 width=8 height=8 fill=#004d75 /><rect x=121 y=121 width=8 height=8 fill=#004d75 /><rect x=131 y=131 width=8 height=8 fill=#004d75 /><rect x=71 y=41 width=8 height=28 fill=#004d75 /><rect x=81 y=71 width=68 height=8 fill=#004d75 /><rect x=71 y=81 width=8 height=58 fill=#004d75 /><rect x=71 y=01 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=11 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=21 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=31 width=8 height=8 fill=#5aa6d8 /><rect x=01 y=81 width=8 height=8 fill=#a86cb9 /><rect x=11 y=81 width=8 height=8 fill=#a86cb9 /><rect x=21 y=81 width=8 height=8 fill=#a86cb9 /><rect x=31 y=81 width=8 height=8 fill=#a86cb9 /><rect x=41 y=81 width=8 height=8 fill=#a86cb9 /><rect x=51 y=81 width=8 height=8 fill=#a86cb9 /><rect x=61 y=81 width=8 height=8 fill=#a86cb9 /><rect x=61 y=71 width=8 height=8 fill=#f73a3a /><rect x=121 y=61 width=8 height=8 fill=#f73a3a /><rect x=131 y=61 width=8 height=8 fill=#f73a3a /><rect x=141 y=61 width=8 height=8 fill=#f73a3a />

PHP + SVG, 375 bytes

Essa contagem de bytes pode ser alcançada com a compactação do SVG

<?=bzdecompress(base64_decode("QlpoNDFBWSZTWY2177gAASSZgEgA/+c/5B3gMAE5TQVtQeig0AAACU0VNMAAAEYIlEnpMKNlGahso2plh0zoaSEpIkukINaC3RWRF74IvArdRF1FcBXrSTFWXTorp2xvpb3k7FbaV62syISgiBEweHhxtWUmgWCsqqaKSEARyAOAEZJJOwYBQqTAWotSrmEXJbBRTYNhCg4RPaKOUUbAX+Fr4VfIrzzIQQkkJCWfMEEOOISTuDkOzgQzDQDNQKu/4K7AZh8L41DddV8iv2LQOBXv+iugriHAr6sK/IrUV1FeRXMV3FdhW8V9KugrmK8CvOQin+LuSKcKEhG2vfcA"));
Jörg Hülsermann
fonte