FAApply[rule_,s0_,list_]:=FoldList[{First[#1],#2}/.rule&,{s0},list]
FAStep[rule_,s0_,list_]:=Map[Last,Rest[FoldList[{First[#1],#2}/.rule&,{s0},list]]]
FAEvolveList[rule_,s0_,init_,t_]:=NestList[FAStep[rule,s0,#]&,init,t]
GFAEvolveList[rule_,seq_,init_]:=FoldList[FAStep[rule,#2,#]&,init,seq]
GFAEvolve[rule_,seq_,init_]:=Fold[FAStep[rule,#2,#]&,init,seq]
ToFARule[n_Integer,{s_Integer,k_Integer}]:=Flatten[MapIndexed[{1,-1}#2+{0,k}Mod[Quotient[#1,{k,1}],{s,k}]+{1,0}&,Partition[IntegerDigits[n,sk,sk],k],{2}]]
RasterGraphics[data_]:=Graphics[Raster[1-Reverse[data]],AspectRatioAutomatic]
RasterGraphics[data_,lab_]:=Graphics[Raster[1-Reverse[data]],AspectRatioAutomatic,PlotLabellab]
Table[FromDigits[Reverse[GFAEvolve[ToFARule[58,{2,2}],Reverse[IntegerDigits[i,2,8]],Table[0,{8}]]],2],{i,0,2^8-1}]
{0,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2}
ListPlot[%38,PlotJoinedTrue]
⁃Graphics⁃
Show[GraphicsArray[Partition[Table[Graphics[Line[Table[{i,FromDigits[Reverse[GFAEvolve[ToFARule[rn,{2,2}],Reverse[IntegerDigits[i,2,8]],Table[0,{8}]]],2]},{i,0,2^8-1}]],FrameTrue,FrameTicksNone,PlotLabelrn],{rn,0,255}],8]]];