Code: Select all
x = 136, y = 84, rule = JvN29
68.A$69.LpA13KpA41.pA6IpAT$70.R8.L2K2IJ41.J2K2IL.R$69.SpA8KpAK2pA2K
41.2I2pAIpAIpAI$70.L.2IL4.J.J.IJ41.JK.J.J2.J$70.pAIpAIL4.JLpAKpA18K.K
.pAKpA3IpA15IpAIpALJ2.J$70.L.J.L4.JKJ2K3.LK13.RpAR2.J4.R14.2IJIJ2.J$
70.L.J.L12.LJ6.L6K.J3.J3.IpA.TpAK17.J$70.2IpA.L12.LJ6.L5.J.JpAT2J3.JS
.2TJ17.J$74.pA12.LKL2K.QTL.TpAK.JIpAJS.J3.pA4IpA.I3.11ILJ$69.14SpA3KL
JLKpAKpAKpA.2TJ.2JL3.J3.J4.QR15.LJ$83.IpA.JLJL2.pAK.L2.IpAI2J.pA2.J3.
J2.L19KJ$78.LK3.R2.JKJL6.LJ.QR.J2S2.J3.J2.L9.ILIL6.J$78.LJ3.R4.JK3.QT
LKJ4KpAK3.J3.J2.L9.JLJL6.J$78.LJ3.R9SpAKpAIpA2IJ2.J2.pAJ2.pAJ.LpAIpA
2IpA4IJLJL.pA4IJ$78.LJ13.L.LRS5.J2.JK2.JK.L.RS.pAK4.JLJL.J4.J$78.LJ
12.LpAL5.pA2.J2.IJ3.J.L5.R4.JLJIpAJ4.J$78.LJ11KpAK2L5.T2.J2.J2KpA.J2.
L3.QRIpA2.JI2J.R4.J$78.L11.JLJK5ILT2.J2.3IJ.J.LpAIpAIpAIpAIpAIJ2.JKR
4.J$78.L11.JpA7.LT2.J2.J4.J.L.RS4.pAK4.2JR4.J$78.L16.pAIpAILS2.J2.JK
3.J.L8.R4.pAJR4.J$78.L10.LK4.JKpAKL3.J3.J3.J2.L.6QR2.2IJ.R2S2.J$78.L
10.LJ3.3IpAJL3.J3.J3.J.LpAIpA6IpAIpAIpA3IpA2.J$78.L6.pAKpA2KJpA2KpA2K
pA2K3.J3.J3.J2L.RS12.TS3.J$78.L6.L17.J3.J3.J.17IpA3.J$78.L2.L3KL17.J
3.J3.J18.L3.J$78.L2.L2IJL3.T11SpA.J3.J3.J18.L3.J$78.2L2KJ2KL3.T11.J.J
3.J3.J.ILILILIL9.L3.J$78.L2IL2IJL3.T.TpAK7.J.J3.J3.J.JLJLJLJL9.L3.J$
69.13KpA2KpAL2.T.2TJ7.J.J3.J3.J.JLJLJLJL9.L3.J$83.pA.2L2.T.2IpA.I5.J.
J3.J3.J.JLJLJLJL9.L3.J$83.J2KL2.T.J.QR8.J3.J3.J.JLJLJLJL9.L3.J$78.LpA
5.LK2.T.J11KpA2K.J3.J.JLJLJLJL9.L3.J$78.LJ5.L3.T13.J.J.J3.J.JLJLJLJL
9.L3.J$73.LpAK2.LJ5.L3.T13.pAKpAKJ.2IpA.JLJLJLJL9.L3.J$73.pA.pAKpAKJpA
2KpAKpA3.T15.3J.J.J.JLJLJLJL9.L3.J$73.I2L.L2.L.pAK.L3.T14.IpA2JIpAIpA
.JLJLJLJL9.L3.J$70.L10K4.L3.T14.2J.3J3.JLJLJLJL9.L3.J$69.pAKLKLKLKLKL
KLpA2KpA3.T14.JpAK2JpAK2.JLJLJLJLIpA7.L3.J$70.JLJKJKJKJKJKLJ2K3.T16.
2J.2J2.JLJLJLJLJL7.L3.J$D69.J11KpA6.T16.JpAIpAJ2.JLJLJLJLJL6.pA.3IJ$.
LpA13KpA41.pA6IpAT22.T17.J.4IJIJIJIJIJ7IJ$GKR8.L2K2IJ41.J2K2IL.R39QT.
C27.B$.SpA8KpAK2pA2K41.2I2pAIpAIpA41I$2.L.2IL4.J.J.IJ41.JK.J.J2.J$2.pA
IpAIL4.JLpAKpA18KIK.pAKpA3IpA.14IpAIpALJ2.J$2.L.J.L4.JKJ2K3.LK13.RpAR
2.J4.R14.2IJIJ2.J$2.L.J.L12.LJ6.L6K.J3.J3.IpA.TpAK17.J$2.2IpA.L12.LJ
6.L5.J.JpAT2J4.S.2TJ17.J$6.pA12.LKL2K.QTL.TpAK.JIpA.S.J3.pA4IpA.15ILJ
$.14SpA3KLJLKpAKpA.pA.2TJ.2JL3.J3.J4.QR15.LJ$16.pA.JLJL2.pAK.L3.pA.2J
IpA2.J3.J2.L19KJ$10.LK3.R2.JKJL5.ILJ.QR2.2S2.J3.J2.L9.ILIL6.J$10.LJ3.
R4.JK3.QTLKJ4KpAK3.J3.J2.L9.JLJL6.J$10.LJ3.R9SpA.pA.pA2IJ2.J2.pAJ2.pA
J.LpA.pA2IpA4IJLJL.pA4IJ$10.LJ13.L.LRS5.J2.JK2.JK.L.RS.pA5.JLJL.J4.J$
10.LJ12.LpAL5IpA2.J2.IJ3.J.L5.R4.JLJIpA5.J$10.LJ11KpAK2L5.T2.J2.J2KpA
.J.IL3.QRIpA2.JI2J.R4.J$10.L11.JLJK5ILT2.J2.3IJ.J.LpA.pAIpAIpAIpAIJ2.
JKR4.J$10.L11.JpA7.LT2.J2.J4.J.L.RS4.pA5.2JR4.J$10.L16.pAIpA2IS2.J2.J
K3.J.L8.R4.pAJR4.J$10.L10.LK4.JKpAKL3.J3.J3.J.IL.6QR2.2IJ.R2S2.J$10.L
10.LJ3.3IpAJL3.J3.J3.J.LpA.pA6IpAIpAIpA3IpA2.J$10.L6.pAKpA2KJpA2KpA2K
pA2K3.J3.J3.J2L.RS12.TS3.J$10.L6.L17.J3.J3.J.16I.pA3.J$10.L2.L3KL17.J
3.J3.J18.L3.J$10.L2.L2IJL3.T11SpA.J3.J3.J18.L3.J$10.2L2KJ2KL3.T11.J.J
3.J3.J.ILILILIL9.L3.J$10.L2IL2IJL3.T.TpAK7.J.J3.J3.J.JLJLJLJL9.L3.J$H
13KpA2KpAL2.T.2TJ7.J.J3.J3.J.JLJLJLJL9.L3.J$15.pA.2L2.T.2IpA.6IJ.J3.J
3.J.JLJLJLJL9.L3.J$15.J2KL2.T.J.QR8.J3.J3.J.JLJLJLJL9.L3.J$10.LpA5.LK
2.T.J11KpA2K.J3.J.JLJLJLJL9.L3.J$10.LJ5.L3.T13.J.J.J3.J.JLJLJLJL9.L3.
J$5.LpAK2.LJ5.L3.T13.pAKpAKJ.2IpA.JLJLJLJL9.L3.J$5.pA.pAKpAKJpA2KpAKpA
3.T15.3J.J.J.JLJLJLJL9.L3.J$5.I2L.L2.L.pAK.L3.T14.IpA2JIpAIpA.JLJLJLJ
L9.L3.J$2.L10K4.L3.T14.2J.3J3.JLJLJLJL9.L3.J$.pAKLKLKLKLKLKLpA2KpA3.T
14.JpAK2JpAK2.JLJLJLJLIpA7.L3.J$2.JLJKJKJKJKJKLJ2K3.T16.2J.2J2.JLJLJL
JLJL7.L3.J$2.J11KpA6.T16.JpAIpAJ2.JLJLJLJLJL6.pA4IJ$21.T17.J.4IJIJIJI
JIJ7IJ$.36QT.F27.E$.36I2Q!
Code: Select all
local g = golly()
local skip_construct = false
local skip_destruct = false
local curlayer = g.getlayer()
local newindex = g.duplicate()
local cells = g.getcells(g.getrect())
local cells2 = {}
local new_top = 0
local new_left = 0
local new_bottom = 0
local new_right = 0
local new_tape_top = 0
local new_tape_left = 0
local old_top = 0
local old_left = 0
local old_bottom = 0
local old_right = 0
local old_tape_top = 0
local old_tape_left = 0
local old_destructor_x = 0
local old_destructor_y = 0
local tunnel_x = 0
local tunnel_y = 0
for i=1,#cells-2,3 do
local cell = {cells[i], cells[i+1], cells[i+2]}
cells2[#cells2+1] = cell
if cell[3]>0 and cell[3]<=8 then
g.setcell(cell[1], cell[2], 0)
end
if cell[3]==1 then
new_left = cell[1]+1
new_top = cell[2]+1
end
if cell[3]==2 then
new_right = cell[1]-1
new_bottom = cell[2]-1
end
if cell[3]==3 then
new_tape_left = cell[1]
new_tape_top = cell[2]
end
if cell[3]==4 then
old_left = cell[1]+1
old_top = cell[2]+1
end
if cell[3]==5 then
old_right = cell[1]-1
old_bottom = cell[2]-1
end
if cell[3]==6 then
old_tape_left = cell[1]
old_tape_top = cell[2]
end
if cell[3]==7 then
old_destructor_x = cell[1]
old_destructor_y = cell[2]
g.setcell(cell[1], cell[2], 11)
end
if cell[3]==8 then
tunnel_x = cell[1]
tunnel_y = cell[2]
end
end
for i=0,new_bottom-new_top-4 do
g.setcell(old_destructor_x - 1, old_destructor_y, 12)
g.setcell(old_destructor_x, old_destructor_y + 1, 20)
if old_destructor_x == tunnel_x and old_destructor_y + 1 == tunnel_y then
g.setcell(old_destructor_x, old_destructor_y + 1, 11)
end
old_destructor_y = old_destructor_y + 1
end
for i=0,new_right-new_left+2 do
g.setcell(old_destructor_x - 1, old_destructor_y, 11)
g.setcell(old_destructor_x, old_destructor_y + 1, 19)
old_destructor_x = old_destructor_x - 1
end
for i=0,new_bottom-new_top+2 do
g.setcell(old_destructor_x - 1, old_destructor_y, 12)
g.setcell(old_destructor_x, old_destructor_y + 1, 20)
old_destructor_y = old_destructor_y + 1
end
g.setcell(old_destructor_x - 1, old_destructor_y, 12)
g.setcell(old_destructor_x - 1, old_destructor_y + 1, 9)
for i=0,new_tape_left-new_left-2 do
g.setcell(old_destructor_x, old_destructor_y, 17)
g.setcell(old_destructor_x, old_destructor_y + 1, 9)
old_destructor_x = old_destructor_x + 1
end
g.setcell(old_destructor_x, old_destructor_y, 20)
g.setcell(old_destructor_x, old_destructor_y + 1, 10)
local rows = {}
local row_lefts = {}
local row_rights = {}
for i=1,#cells2 do
local x = cells2[i][1]
local y = cells2[i][2]
if x >= new_left and x <= new_right and y >= new_top and y <= new_bottom then
if rows[y] == nil then
rows[y] = {}
row_lefts[y] = x
row_rights[y] = x
end
rows[y][x] = cells2[i][3]
if row_lefts[y] >= x then row_lefts[y] = x end
if row_rights[y] <= x then row_rights[y] = x end
end
end
local old_cols = {}
local old_col_tops = {}
local old_col_bottoms = {}
for i=1,#cells2 do
local x = cells2[i][1]
local y = cells2[i][2]
if x >= old_left and x <= old_right and y >= old_top and y <= old_bottom then
if old_cols[x] == nil then
old_cols[x] = {}
old_col_tops[x] = y
old_col_bottoms[x] = y
end
old_cols[x][y] = cells2[i][3]
if old_col_tops[x] >= y then old_col_tops[x] = y end
if old_col_bottoms[x] <= y then old_col_bottoms[x] = y end
end
end
local c_init = {1,1,1,1,1,0,1,0,1,1,1,0,1,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,0,1,1,0,0,0}
local c_up = {1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,1,1,1,0,1,1,0,0,1,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,0,1,1,0,0,0}
local c_start_fastright = {1,1,1,1,1,0,1,1,1,0,1,0,0,0,1,1,1,1,1,0,0,0}
local c_fastright = {1,1,1,1,1,0,1,0,1,1,0,0,0}
local c_end_fastright = {1,1,1,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,0,1,1,0,0,0}
local c_left = {1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,0,1,1,0,0,0}
local c_down = {1,1,1,1,1,0,1,1,1,0,1,1,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,1,1,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,0,0}
local c_finalize = {1,0,1,1,0,1,1,1,0,0,0}
local constructions = {[9] = {1,0,0,0,0}, [10] = {1,0,0,0,1,0,0,0}, [11] = {1,0,0,1,0,0,0}, [12] = {1,0,1,0,0,0}, [17] = {1,0,1,1,0,0,0}, [18] = {1,1,0,0,0}, [19] = {1,1,0,1,0,0,0}, [20] = {1,1,1,0,0,0}, [25] = {1,1,1,1,0,0,0}}
local tape = {}
tape[#tape+1]=c_init
for y=new_top,new_bottom do tape[#tape+1]=c_up end
for y=new_top,new_bottom do
tape[#tape+1]=c_start_fastright
for x=new_left,row_rights[y] do tape[#tape+1]=c_fastright end
tape[#tape+1]=c_end_fastright
for x=row_rights[y],new_left,-1 do
tape[#tape+1]=c_left
tape[#tape+1]=constructions[rows[y][x]]
end
tape[#tape+1]=c_down
end
tape[#tape+1]=c_start_fastright
for i=new_left,new_tape_left-3 do tape[#tape+1]=c_fastright end
tape[#tape+1]=c_finalize
if skip_construct then
tape = {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
end
local d_init = {1,1,1,1,1,1,0,1,0,0,1,1,0,1,0}
local d_down = {1,0,0,0,0,1,0,1,0,1,0,1,1,1,1,1,0,1,0,0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,0,0,1,1,1,1,1,0,1,1,1,1,1,0}
local d_left = {1,1,0,0,0,1,0,0,0,1,1,1,1,1,0,1,0,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,1,1,1,1,1,0}
local d_right = {1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,1,1,0,1,1,0,1,0,1,1,1,0,1,0,1,0,0,0,1,1,1,1,1,0}
local d_up = {1,0,0,0,0,1,1,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0}
local d_retract = {1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,0,1,1,1,1,1,0}
local d_retract_turn = {1,1,1,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,1,1,1,1,0}
local d_modify = {1,0,0,0,0,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,0,0,1,1,1,1,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,1,0,0,0,0,1,1,0,0,0,1,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,0}
--local d_meld = {1,0,0,0,0,1,1,0,1,0,1,1,1,1,0,1,1,0,1,0,0,1,1,1,1,1,0,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,0,1,0,0,1,1,1,1,1,0}
local d_meld = {1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,0,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0}
local d_finalize = {1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,0,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0}
local destruct_normal = {1,1,1,0,0,1,0,0,0,1,1,1,1,1,0}
local destruct_special = {1,0,1,0,1,0,0,0,0,0,1,1,1,1,1,0}
tape[#tape+1] = d_init
tape[#tape+1] = d_left
for i=new_top,old_top-3 do
tape[#tape+1] = d_down
end
tape[#tape+1] = d_modify
tape[#tape+1] = d_up
tape[#tape+1] = d_up
for x=old_right,old_left,-1 do
tape[#tape+1] = d_left
if not skip_destruct then
for y=old_top,old_col_bottoms[x] do
if old_cols[x][y] and old_cols[x][y] >= 17 and old_cols[x][y] <= 20 then tape[#tape+1] = destruct_special
else if old_cols[x][y] then tape[#tape+1] = destruct_normal end end
tape[#tape+1] = d_down
end
for y=old_top,old_col_bottoms[x] do
tape[#tape+1] = d_up
end
end
end
tape[#tape+1] = d_left
tape[#tape+1] = d_left
--for y=old_top,old_bottom+1 do
-- tape[#tape+1] = d_down
--end
tape[#tape+1] = d_down
tape[#tape+1] = d_meld
for i=0,new_tape_left-new_left-2 do
tape[#tape+1] = d_retract
end
tape[#tape+1] = d_retract_turn
for i=0,new_bottom-new_top+2 do
tape[#tape+1] = d_up
end
for i=0,new_right-new_left+2 do
tape[#tape+1] = d_right
end
tape[#tape+1] = d_down
tape[#tape+1] = d_down
tape[#tape+1] = d_finalize
--tape = {{1,0,1,1,0,1,1,1,0,1,1,1,1,0}}
local tape2 = {}
for i=1,#tape do
for j=1,#tape[i] do
tape2[#tape2+1] = tape[i][j]
end
end
if #tape2%2 == 0 then
tape2[#tape2+1]=0
end
g.setcell(new_tape_left, new_tape_top, 25 + tape2[1] * 2 + tape2[2])
g.setcell(old_tape_left, old_tape_top, 25)
for i=3,(#tape2+1)//2 do
g.setcell(new_tape_left + i - 2, new_tape_top, 11+tape2[i]*4)
g.setcell(old_tape_left + i - 2, old_tape_top, 11)
end
g.setcell(new_tape_left + (#tape2+3)//2 - 3, new_tape_top + 1, 10+tape2[(#tape2+3)//2]*4)
g.setcell(old_tape_left + (#tape2+3)//2 - 3, old_tape_top + 1, 10)
for i=(#tape2+5)//2,#tape2 do
g.setcell(new_tape_left + (#tape2+3)//2 - 3 - (i - (#tape2+3)//2), new_tape_top + 1, 9+tape2[i]*4)
g.setcell(old_tape_left + (#tape2+3)//2 - 3 - (i - (#tape2+3)//2), old_tape_top + 1, 9)
end
g.setcell(old_tape_left + (#tape2+3)//2 - 3 - (#tape2 - (#tape2+3)//2), old_tape_top + 1, 0)
g.show(string.format("Tape length %d, period ~%d", #tape2, #tape2*(1+3+14)))Code: Select all
x = 124, y = 46, rule = JvN29
2.LpA13KpA41.pA6IpAT$LK.R8.L2K2IJ41.J2K2IL.R$LTSpA8KpAK2pA2K41.2I2pAI
pAIpAI$LT.L.2IL4.J.J.IJ41.JK.J.J2.J$LT.pAIpAIL4.JLpAKpA18K.K.pAKpA3IpA
15IpAIpALJ2.J$LT.L.J.L4.JKJ2K3.LK13.RpAR2.J4.R14.2IJIJ2.J$LT.L.J.L12.
LJ6.L6K.J3.J3.IpA.TpAK17.J$LT.2IpA.L12.LJ6.L5.J.JpAT2J3.JS.2TJ17.J$LT
5.pA12.LKL2K.QTL.TpAK.JIpAJS.J3.pA4IpA.I3.11ILJ$LT14SpA3KLJLKpAKpAKpA
.2TJ.2JL3.J3.J4.QR15.LJ$LT14.IpA.JLJL2.pAK.L2.IpAI2J.pA2.J3.J2.L19KJ$
LT9.LK3.R2.JKJL6.LJ.QR.J2S2.J3.J2.L9.ILIL6.J$LT9.LJ3.R4.JK3.QTLKJ4KpA
K3.J3.J2.L9.JLJL6.J$LT9.LJ3.R9SpAKpAIpA2IJ2.J2.pAJ2.pAJ.LpAIpA2IpA4IJ
LJL.pA4IJ$LT9.LJ13.L.LRS5.J2.JK2.JK.L.RS.pAK4.JLJL.J4.J$LT9.LJ12.LpAL
5.pA2.J2.IJ3.J.L5.R4.JLJIpAJ4.J$LT9.LJ11KpAK2L5.T2.J2.J2KpA.J2.L3.QRI
pA2.JI2J.R4.J$LT9.L11.JLJK5ILT2.J2.3IJ.J.LpAIpAIpAIpAIpAIJ2.JKR4.J$LT
9.L11.JpA7.LT2.J2.J4.J.L.RS4.pAK4.2JR4.J$LT9.L16.pAIpAILS2.J2.JK3.J.L
8.R4.pAJR4.J$LT9.L10.LK4.JKpAKL3.J3.J3.J2.L.6QR2.2IJ.R2S2.J$LT9.L10.L
J3.3IpAJL3.J3.J3.J.LpAIpA6IpAIpAIpA3IpA2.J$LT9.L6.pAKpA2KJpA2KpA2KpA
2K3.J3.J3.J2L.RS12.TS3.J$LT9.L6.L17.J3.J3.J.17IpA3.J$LT9.L2.L3KL17.J
3.J3.J18.L3.J$LT9.L2.L2IJL3.T11SpA.J3.J3.J18.L3.J$LT9.2L2KJ2KL3.T11.J
.J3.J3.J.ILILILIL9.L3.J$LT9.L2IL2IJL3.T.TpAK7.J.J3.J3.J.JLJLJLJL9.L3.
J$LT13KpA2KpAL2.T.2TJ7.J.J3.J3.J.JLJLJLJL9.L3.J$LT14.pA.2L2.T.2IpA.I
5.J.J3.J3.J.JLJLJLJL9.L3.J$LT14.J2KL2.T.J.QR8.J3.J3.J.JLJLJLJL9.L3.J$
LT9.LpA5.LK2.T.J11KpA2K.J3.J.JLJLJLJL9.L3.J$LT9.LJ5.L3.T13.J.J.J3.J.J
LJLJLJL9.L3.J$LT4.LpAK2.LJ5.L3.T13.pAKpAKJ.2IpA.JLJLJLJL9.L3.J$LT4.pA
.pAKpAKJpA2KpAKpA3.T15.3J.J.J.JLJLJLJL9.L3.J$LT4.I2L.L2.L.pAK.L3.T14.
IpA2JIpAIpA.JLJLJLJL9.L3.J$LT.L10K4.L3.T14.2J.3J3.JLJLJLJL9.L3.J$LTpA
KLKLKLKLKLKLpA2KpA3.T14.JpAK2JpAK2.JLJLJLJLIpA7.L3.J$LT.JLJKJKJKJKJKL
J2K3.T16.2J.2J2.JLJLJLJLJL7.L3.J$LT.J11KpA6.T16.JpAIpAJ2.JLJLJLJLJL6.
pA.3IJ$LT20.T17.J.4IJIJIJIJIJ7IJ$LT.35QT.pAOK3OK2OK5O48K6OKO2KOK2O4K
2OK$LT.35I2Q6M42IMI5MI5MIM3I3M3I2MI3M2I2MIJ$LT$L37QT.pA83K$38I2Q.82IJ
!