Advertisement
Guest User

LLLL.rule

a guest
Apr 15th, 2018
540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.39 KB | None | 0 0
  1. @RULE LLLL
  2.  
  3. LLLL By Lode Vandevenne (2014-2015)
  4.  
  5. (alternate version with icons)
  6.  
  7. A cellular automaton rule allowing design of logic circuits, such as a computer chip. It is loosely based on WireWorld and Minecraft redstone. It uses von Neumann neighborhood (4 neighbors) and full perumtation symmetry (order of neighbors does not matter). It has 8 types of components (wire, diode input, inverting input, diode output, inverted output, xor output, counter output, substrate) with 4 excitment states (off, head, on, tail) each, plus background makes 33 states. De Morgan's law allows OR, NOR, AND and NAND with 3 cells. Input cells all also take the XOR of inputs, allowing a 2-cell XOR gate. There is a 3x3 cell tileable wire crossing. The rules allow easy toggling on and off inputs in Golly, making it interactive.
  8.  
  9. Comparing with WireWorld, the main difference is that LLLL can work with constant on and off signals, while WireWorld works with short pulses. This allows a more traditional chip-like design rather than using exact timing of single electrons. This at the cost of way more states and rules. This makes it act more like Minecraft redstone than WireWorld.
  10.  
  11. Comparing with MineCraft redstone: the red cell (invertor output) works like the redstone torch, with a blue cell (diode input) being the block the torch is attached to, and grey cells (wire) being the redstone wires. However, in LLLL more types of cells are available, allowing gates with less blocks than it'd be in MineCraft.
  12.  
  13. It may be funny that XOR is the simplest gate here while in electronics it requires the most transistors, but this is a really good way to make circuits in this cellular automaton a lot more managable and compact, especially for the 3x3 wire crossing.
  14.  
  15. The name LLLL stands for Lazy Logic Like Language. Lazy because the cellular automaton works like a lazy algorithm, components don't look ahead more than one cell through wires.
  16.  
  17. List of states:
  18.  
  19. 0: ' ': background [BLACK]
  20. 1: '.': wire off [DARK GREY]
  21. 2: 'h': wire head [LIGHT GREY]
  22. 3: '*': wire on [WHITE]
  23. 4: 't': wire tail [DARKEST GREY]
  24. 5: 'a': diode input off [DARK BLUE]
  25. 6: 'E': diode input head [MEDIUM BLUE]
  26. 7: 'A': diode input on [LIGHT BLUE]
  27. 8: 'e': diode input tail [DARKEST BLUE]
  28. 9: 'i': invertor input off [DARK ORANGE]
  29. 10: 'J': invertor input head [MEDIUM ORANGE]
  30. 11: 'I': invertor input on [LIGHT ORANGE]
  31. 12: 'j': invertor input tail [DARKEST ORANGE]
  32. 13: 'b': diode output off [DARK GREEN]
  33. 14: 'D': diode output head [MEDIUM GREEN]
  34. 15: 'B': diode output on [LIGHT GREEN]
  35. 16: 'd': diode output tail [DARKEST GREEN]
  36. 17: 'c': invertor output off [DARK RED]
  37. 18: 'S': invertor output head [MEDIUM RED]
  38. 19: 'C': invertor output on [LIGHT RED]
  39. 20: 's': invertor output tail [DARKEST RED]
  40. 21: 'x': xor output off [DARK YELLOW]
  41. 22: 'Y': xor output head [MEDIUM YELLOW]
  42. 23: 'X': xor output on [LIGHT YELLOW]
  43. 24: 'y': xor output tail [DARKEST YELLOW]
  44. 25: 'm': counter output off [DARK MAGENTA]
  45. 26: 'N': counter output head [MEDIUM MAGENTA]
  46. 27: 'M': counter output on [LIGHT MAGENTA]
  47. 28: 'n': counter output tail [DARKEST MAGENTA]
  48. 29: 'u': substrate off [DARK CYAN]
  49. 30: 'V': substrate head [MEDIUM CYAN]
  50. 31: 'U': substrate on [LIGHT CYAN]
  51. 32: 'v': substrate tail [DARKEST CYAN]
  52.  
  53. The list gives 4 different identifiers for each state, all 4 are used interchangeably in the documentation:
  54. -The index number: E.g. instructions might say "while the CA is running in Golly, click at that position with state number 18"
  55. -The ASCII symbol: used in diagrams in this documentation, e.g. a wire with diode is ....ab....
  56. -The name. If the excitment state (e.g. 'head') is not mentioned, it refers to any. And simply "output" refers to any of diode, invertor or counter output. Similar for "input".
  57. -The color, as displayed in e.g. Golly. Usually here too the excitment state is left out, e.g. 'red cell' or 'red block' refers to any invertor output
  58.  
  59. No attempt has been done to minimize the amount of states or rules. Rather, compactness and convenience are preferred, but all while remaining a permutable von Neumann neighborhood.
  60.  
  61. The rules, rough description:
  62.  
  63. -In the order from top to bottom, first rule matching gets executed. If nothing matches it keeps state.
  64. -Wires touching output head become head
  65. -Wires touching output tail but no output on/head become tail
  66. -Wire tail touching output on becomes head
  67. -Substrate touching input head become head
  68. -Substrate touching input tail but no input on/head become tail
  69. -Substrate tail touching input on becomes head
  70. -Electricity flows through wires/substrate with heads turning off wires/substrate on and tails turning on wires/substrate off
  71. -Diode inputs go on/off (temporarily head/tail when just triggered) when touching odd/even amount of on wires
  72. -Invertor inputs go on/off (temporarily head/tail when just triggered) when touching even/odd amount of on wires
  73. -Unconnected (to diode input) diode/invertor outputs serve as permanent tails/heads for wire
  74. -Diode outputs go on/off (temporarily head/tail when just triggered) when touching zero/some on inputs/substrate
  75. -Invertor outputs go on/off (temporarily head/tail when just triggered) when touching some/zero on inputs/substrate head/tail
  76. -Xor outputs go on/off (temporarily head/tail when just triggered) when touching odd/even amount of on inputs/substrate head/tail
  77. -Counter outputs flip state (temporarily head/tail when just triggered) when touching an input/substrate head while not touching any input/substrate tail or off
  78. -Off wire touching on wire becomes head. This rule is for convenience only (some "auto-warmup"), see section about warmup
  79. -Off substrate touching on substrate becomes head. Here it's not for convenience but because substrate can form long gates, to keep the OR effect working in flaky situations.
  80.  
  81. Some notable effects of the rules:
  82.  
  83. -Cells can switch between their 4 excitment states but keep their type (e.g. invertor can never become wire, etc...)
  84. -Wires read only from wires and outputs, Inputs read only from wires, Outputs read only from inputs and substrate, substrate reads only from inputs
  85. -Substrate (don't worry about its name) is very similar to wire, but sits between inputs/outputs rather than outside inputs/outputs (it's an optional way to make the inside of logic gates longer, for more compact circuits).
  86. -Substrate and wire don't interact so can touch each other without interfering.
  87. -Some cases of on and off states touching each other without head or tail in between, don't interact, e.g. on diode output touching off wire.
  88. -Touching inputs don't interact with each other
  89. -Touching outputs also don't interact with each other
  90. -Invertor inputs can be attached to diode outputs and vice versa (or with substrate in between).
  91.  
  92. The rules, in full detail:
  93.  
  94. *** Output to wire ***
  95. -Any wire touching diode/invertor/xor/counter output head becomes head
  96. -Any wire touching diode/invertor/xor/counter output tail but not any diode/invertor/counter output head/on becomes tail
  97. -Tail wire touching on diode/invertor/xor/counter output becomes head
  98. *** Input to substrate ***
  99. -Any substrate touching diode/invertor input head becomes head
  100. -Any substrate touching diode/invertor input tail but not any diode/invertor input head/on becomes tail
  101. -Tail substrate touching on diode/invertor input becomes head
  102. *** Within wires ***
  103. -On-wire touching tail wire becomes tail
  104. -Off wire touching head wire becomes head
  105. -Head wire touching tail wire and no wire/output head/on states becomes tail
  106. -Head wire not touching tail becomes on-wire
  107. -Tail wire touching head wire and no wire/output tail/off becomes head
  108. -Tail wire not touching head wire becomes off wire
  109. *** Within substrate ***
  110. -On-substrate touching tail substrate becomes tail
  111. -Off substrate touching head substrate becomes head
  112. -Head substrate touching tail substrate and no substrate/output head/on states becomes tail
  113. -Head substrate not touching tail becomes on-substrate
  114. -Tail substrate touching head substrate and no substrate/output tail/off becomes head
  115. -Tail substrate not touching head substrate becomes off substrate
  116. *** Diode Input ***
  117. -Off or tail diode input touching odd amount of on/head wires becomes head
  118. -Head diode input touching odd amount of on/head wires becomes on
  119. -On or head diode input touching even amount of on/head wires becomes tail
  120. -Tail diode input touching even amount of on/head wires becomes off
  121. *** Invertor Input ***
  122. -Off or tail diode input touching even amount of on/head wires becomes head
  123. -Head diode input touching even amount of on/head wires becomes on
  124. -On or head diode input touching odd amount of on/head wires becomes tail
  125. -Tail diode input touching odd amount of on/head wires becomes off
  126. *** Unconnected outputs serving as circuit inputs ***
  127. -Any diode output touching no diode inputs goes to tail state
  128. -Any invertor output touching no diode inputs goes to head state
  129. -Any diode input touching no wire goes to tail state
  130. -Any invertor input touching no wire goes to head state
  131. *** Diode Output ***
  132. -Off or tail diode output touching some amount of on/head inputs/substrate becomes head
  133. -Head diode output touching some amount of on/head inputs/substrate becomes on
  134. -On or head diode output touching zero amount of on/head inputs/substrate becomes tail
  135. -Tail diode output touching zero amount of on/head inputs/substrate becomes off
  136. *** Invertor Output ***
  137. -Off or tail invertor output touching zero amount of on/head inputs/substrate becomes head
  138. -Head invertor output touching zero amount of on/head inputs/substrate becomes on
  139. -On or head invertor output touching some amount of on/head inputs/substrate becomes tail
  140. -Tail invertor output touching some amount of on/head inputs/substrate becomes off
  141. *** Xor Output ***
  142. -Off or tail diode output touching odd amount of on/head inputs/substrate becomes head
  143. -Head diode output touching odd amount of on/head inputs/substrate becomes on
  144. -On or head diode output touching even amount of on/head inputs/substrate becomes tail
  145. -Tail diode output touching even amount of on/head inputs/substrate becomes off
  146. *** Counter Output ***
  147. -Counter output touching at least one of input or substrate heads, but not touching any off or tail input or substrate, flips state from off/tail to head, on/head to tail
  148. -Otherwise, counter output head becomes on
  149. -Otherwise, counter output tail becomes off
  150. *** Fixing wire/substrate internals ***
  151. -Off wire touching on wire becomes head. This prevents requiring many signals before the following wire works: ...***...***...***...***... (see section about warmup)
  152. -Off substrate touching on substrate becomes head. For same reason.
  153.  
  154. What reads/writes from/to what
  155. ------------------------------
  156.  
  157. -Wires read from wires and outputs
  158. -Inputs read from wires (But inputs not touching any wires read from outputs)
  159. -Substrate reads from inputs and substrate
  160. -Outputs read from inputs and substrate (But outputs not touching any wires don't read from inputs)
  161.  
  162. -Wires write to wires and inputs
  163. -Inputs write to substrate and outputs (but not to outputs that don't touch any wires)
  164. -Substrate writes to substrate and outputs
  165. -Outputs write to wires (and to inputs that don't touch any wires)
  166.  
  167. ............................
  168. . .
  169. . +----------------------+ .
  170. . | | .
  171. /v v | /v v .
  172. +--> wire --> input --> substrate --> output --+
  173. | |
  174. +----------------------------------------------+
  175.  
  176.  
  177. Wires
  178. -----
  179.  
  180. Electricity (the 'on' states lead by 'head' and finished by 'tail') moves through wires: a head moves into off zones, leaving a trail of On cells behind. A tail does the opposite. The following configurations all move to the right (shift by 1 per tick):
  181.  
  182. ......th......
  183.  
  184. ....t****h....
  185.  
  186. ******ht******
  187.  
  188. ****h....t****
  189.  
  190. Because the rules are symmetrical, this also works around corners in bent wires. The signals also split through multiple cells at junctions.
  191.  
  192. Diodes and Invertors
  193. --------------------
  194.  
  195. A diode is made of two cells: a blue and a green one (diode input and diode output). For an invertor, the green one is replaced by a red one (invertor output), or alternatively, the blue one is replaced by an orange one (invertor input).
  196.  
  197. A diode input (blue) reads only from wires as input, it ignores anything else (including other diode inputs). Diode and invertor outputs only read from the blue cells. Wires, on their turn, read from diode/invertor outputs (and other wires, but they don't read from diode inputs, only write to)
  198.  
  199. So the diode is directional: some input (diode input or invertor input) reads from the wire, and some output (diode output, invertor output, or counter (see later)) reads from that input, and then outputs to a wire again.
  200.  
  201. A diode works like this:
  202.  
  203. off state:
  204.  
  205. ....ab....
  206.  
  207. power came in from the left side:
  208.  
  209. ****AB****
  210.  
  211. power came in from the right side:
  212.  
  213. ....ab****
  214.  
  215. An invertor works similar, but its output is inverted, resulting in this steady state (before and after current coming in from the left):
  216.  
  217. ....aC****
  218.  
  219. ****Ac....
  220.  
  221. Note that there is redundancy: there are two ways to make a diode, and two ways to make an invertor. The reason is that it allows making smaller logic gates, see further. To clarify:
  222.  
  223. -diode input + diode output = diode
  224. -invertor input + invertor output = diode (because two inversions cancel each other out)
  225. -diode input + invertor output = invertor
  226. -invertor input + diode output = invertor
  227.  
  228.  
  229. Substrate
  230. ---------
  231.  
  232. Substrate is very similar to wires, but sits in between input and output rather than outside of output. It allows making the inside of diodes, invertors or gates longer, e.g.:
  233.  
  234. ....ab..... --> short diode
  235.  
  236. ....auuuuuuuub -> long diode
  237.  
  238. Substrate is optional but can make circuits more compact, especially logic gates (see further), where 1 substrate cell can sit between two inputs and one output.
  239.  
  240. It does not interact with wires at all. So another semi-useful side effect is that this way signals can pass right next to each other without interfering:
  241.  
  242. ...............
  243. uuuuuuuuuuuuuuu
  244. ...............
  245. uuuuuuuuuuuuuuu
  246.  
  247. Logic Gates
  248. -----------
  249.  
  250. Diode/invertor inputs/outputs allow making logic gates.
  251.  
  252. OR gate (the reason inputs/outputs are needed is to avoid one input signal crawling back into the other input):
  253.  
  254. ...a
  255. b.......
  256. ...a
  257.  
  258. With the De Morgan's rule, a similarly shaped AND gate can be made: use invertor inputs and outputs instead:
  259.  
  260. ...i
  261. c......
  262. ...i
  263.  
  264. NOR gate:
  265.  
  266. ...a
  267. c.....
  268. ...a
  269.  
  270. NAND gate:
  271.  
  272. ...i
  273. b.....
  274. ...i
  275.  
  276. Becauce a and x take the XOR of their inputs, making a XOR gate is easy. Here are two ways:
  277.  
  278. ...
  279. ax....
  280. ...
  281.  
  282. ...a
  283. x....
  284. ...a
  285.  
  286. XOR gates also allow a compact wire crossing. The crossing is directional. The one below supports flow from left to right and top to bottom (the b's are the output sides):
  287.  
  288. .
  289. .a
  290. ....ax...
  291. ax
  292. .
  293. .
  294.  
  295. It is possible to make logic gates with full diodes, but are then bigger, for example an AND gate can be made the way it is in MineCraft redstone:
  296.  
  297. ...ac
  298. .ac....
  299. ...ac
  300.  
  301. See llll_specification.mc for much more gates and components.mc for entire contraptions such as binary multipliers etc...
  302.  
  303. Counters
  304. --------
  305.  
  306. A convenient extra component is the counter. This is a 1-input toggle flip flop, which has input or substrate as its input, but the magenta counter cell (rather than green or red cell) as output. Whenever it receives an input head or substrate tail (or odd amount of those) at the input, it toggles its state. It's a "perfect" T-flip flop supporting the smallest possible signal.
  307.  
  308. If it has multiple inputs, it only reacts if all inputs are on (it reacts to the last head). This AND behavior is chosen (rather than the more obvious choice of XOR) because it is possible to make more compact SR and D latches that way: many flip flop circuits made from a counter involve an AND gate as input to the counter.
  309.  
  310. It's possible to build something similar to the counter out of the other components (e.g. with SR latches made from NAND gates), but those are larger and require more time and longer input signals to become stable. The counter block allows building more compact and stable flipflops, binary counters, long delay clocks, etc...
  311.  
  312. Other than that, similar rules as the green and red outputs apply. That is, it has inputs or substrate as input, wires as output, and does not interact with other magenta, red or green cells.
  313.  
  314. Unconnected Diode/Invertor Outputs As Permanent Inputs
  315. ------------------------------------------------------
  316.  
  317. As a special rule, a diode/invertor output that is not connected to any diode input remains in respectively head/tail state forever. That means any wire those loose green or red block connect to, are respectively a permanent tail or permanent head. These serve as permanent signal inputs.
  318.  
  319. As a special trick in golly, a convenient mouse-controlled toggle switch can be made with this: Have a wire touch a disconnected green block. Then pick block type 18 'invertor output head'. Then have an empty cell next to said wire, and click to toggle it to cell 18, click again to toggle it off. By toggling it off, the 'tail' signal of the green block takes over again, while when on the head overrules the tail. A perfect interactive toggle switch! So in electronic contraptions, just select block type 18, and click on a black cell next to any wire touching a green cell to toggle the input on to activate the contraption.
  320.  
  321. A different type of input is much bigger and easy to aim when zoomed out in golly: make a large plane of off wire (1). Connect one counter (blue 5 and magenta 25) to it. Also connect one loose green block to it (16). Then, select color 2 ('head'). Whenever you click with the mouse on the big wire plane, it sends out the head to the counter which toggles, and the green block causes tail to reset the wire to off state again, so it's ready for a next click. This allows easy toggling of an input without careful aiming at a single cell with the mouse. Remove the counter (or add a change detector behind the counter) to send out a pulse with every click, e.g. for calculator buttons. When using the switch, don't click in fast succession because if a head and a tail touch, an oscillating pattern that is hard to clean occurs.
  322.  
  323. Warmup
  324. ------
  325.  
  326. When on cells touch off cells without head or tail in between, they can be stuck. A convenience rule fixes this for wires (off wire touching on wire becomes head) and substrate. However, it can still happen with e.g. an on invertor output touching an off wire, etc... (in theory rules to fix those could be added as well, but it's not done)
  327.  
  328. These states often occur while building a circuit. A side effect of this is that the circuit may need to be warmed up before it works correctly. This is done by sending a few on/off signals through each input or combination of inputs.
  329.  
  330. An example of something require a lot of warmup before a signal successfully passes from left to right:
  331.  
  332. ....aC.aC.aC.aC.aC.aC....
  333.  
  334. Tips
  335. ----
  336.  
  337. Tip 1:
  338.  
  339. When designing/editing circuits, it doesn't really matter which excitment state of each cell you use. Just pick any red cell as invertor output, any grey or white cell as wire, etc... The circuits will stabilize when ran but may require warmup as explained under "warmup".
  340.  
  341. Tip 2:
  342.  
  343. When looking at circuits in the provided demo files, typically inputs are marked with one green cell next to a wire that doesn't touch any blue cells (see explanation under "Permanent Inputs")
  344.  
  345. However, if that is not present, then you can still recognize what are the inputs and outputs: the input sides usually have blue or orange cells, while the output side has green, yellow, red or magenta cells. For example the 9-cell wire crossing: the two input wires enter a blue cell, the two output wires start at a yellow cell. Also true for the logic gates.
  346.  
  347. Tip 3:
  348.  
  349. For editing in Golly:
  350. -use selections, copy and paste
  351. -moving a selection is done with cut and paste instead
  352. -there is a selection paste mode "copy" to avoid the overlapping
  353. -golly can run complicated circuits like the calculator extremely fast, but for seeing something happen, a delay of 0.025s is nice
  354. -to draw a straight line, either use the arrow keys while the mouse button is down, or use the "draw-lines.py" script.
  355.  
  356. "Minimal Set"
  357. -------------
  358.  
  359. Lots of cell types are redundant, for example there are multiple ways of making diodes, multiple xor gates, you can make T flipflop without using counter cell, ...
  360.  
  361. To avoid such redundancy, it is possible to limit oneself to only the following cell types:
  362.  
  363. -isolator
  364. -wire
  365. -diode input
  366. -diode output (not strictly needed)
  367. -invertor output
  368.  
  369. Or alternatively, to go for NAND logic, choose this set and don't use the XOR ability of inputs:
  370.  
  371. -isolator
  372. -wire
  373. -invertor input
  374. -diode output
  375.  
  376. ################################################################################
  377. ################################################################################
  378. ################################################################################
  379. ################################################################################
  380.  
  381. @TABLE
  382.  
  383. n_states:33
  384. neighborhood:vonNeumann
  385. symmetries:permute
  386.  
  387. #anything (don't care)
  388. var xa = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}
  389. var xb = {xa}
  390. var xc = {xa}
  391. var xd = {xa}
  392. #any wire state
  393. var wa = {1,2,3,4}
  394. var wb = {wa}
  395. var wc = {wa}
  396. var wd = {wa}
  397. #anything except wires
  398. var nwa = {0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}
  399. var nwb = {nwa}
  400. var nwc = {nwa}
  401. var nwd = {nwa}
  402. #anything that is zero for diode input (that is, anything except wire on or wire head)
  403. var za = {0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}
  404. var zb = {za}
  405. var zc = {za}
  406. var zd = {za}
  407. #anything that is one for diode input (wire head or wire on)
  408. var oa = {2,3}
  409. var ob = {oa}
  410. var oc = {oa}
  411. var od = {oa}
  412. #off or tail wire
  413. var ooa = {1,4}
  414. var oob = {ooa}
  415. var ooc = {ooa}
  416. var ood = {ooa}
  417. #anything that is zero for diode output
  418. var ba = {5,8,9,12,29,30}
  419. var bb = {ba}
  420. var bc = {ba}
  421. var bd = {ba}
  422. #anything that is one for diode output (input/substrate on/head)
  423. var aa = {6,7,10,11,30,31}
  424. var ab = {aa}
  425. var ac = {aa}
  426. var ad = {aa}
  427. #anything that is zero or neutral for diode output (that is, anything except input/substrate on/head)
  428. var bna = {0,1,2,3,4,5,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32}
  429. var bnb = {bna}
  430. var bnc = {bna}
  431. var bnd = {bna}
  432. #any diode output that disables wires (output tails)
  433. var ca = {16,20,24,28}
  434. var cb = {ca}
  435. var cc = {ca}
  436. var cd = {ca}
  437. #any output that enables wires (output heads)
  438. var ea = {14,18,22,26}
  439. var eb = {ea}
  440. var ec = {ea}
  441. var ed = {ea}
  442. #any on or head output
  443. var eea = {14,15,18,19,22,23,26,27}
  444. var eeb = {eea}
  445. var eec = {eea}
  446. var eed = {eea}
  447. #any input that disables substrate (input tails)
  448. var csa = {8,12}
  449. var csb = {csa}
  450. var csc = {csa}
  451. var csd = {csa}
  452. #any input that enables substrate (input heads)
  453. var esa = {6,10}
  454. var esb = {esa}
  455. var esc = {esa}
  456. var esd = {esa}
  457. #anything that makes counter flip: head inputs or substrate
  458. var essa = {6,10,30}
  459. var essb = {essa}
  460. var essc = {essa}
  461. var essd = {essa}
  462. #anything that is against counter flip: tail and off inputs or substrate
  463. var etta = {5,8,9,13,29,32}
  464. var ettb = {etta}
  465. var ettc = {etta}
  466. var ettd = {etta}
  467. #anything that is not essa or etta
  468. var ka = {0,1,2,3,4,6,7,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31}
  469. var kb = {ka}
  470. var kc = {ka}
  471. var kd = {ka}
  472. #anything that is on or neutral for a wire tail: anything not an off/tail wire state or off diode output
  473. var na = {0,2,3,5,6,7,8,9,10,11,12,14,15,16,18,19,22,23,26,27,29,30,31,32}
  474. var nb = {na}
  475. var nc = {na}
  476. var nd = {na}
  477. #anything that is off or neutral for a wire head: anything not an on/head wire state or on diode output
  478. var ma = {0,1,4,5,6,7,8,9,10,11,12,13,16,17,20,21,24,25,28,29,30,31,32}
  479. var mb = {ma}
  480. var mc = {ma}
  481. var md = {ma}
  482. #same for substrate: not off/tail substrate or input state
  483. var nsa = {0,1,2,3,4,6,7,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31}
  484. var nsb = {nsa}
  485. var nsc = {nsa}
  486. var nsd = {nsa}
  487. #same for substrate: not on/head substrate or input state
  488. var msa = {0,1,2,3,4,5,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32}
  489. var msb = {msa}
  490. var msc = {msa}
  491. var msd = {msa}
  492. #any NON-input to outputs
  493. var naa = {0,1,2,3,4,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28}
  494. var nab = {naa}
  495. var nac = {naa}
  496. var nad = {naa}
  497. #any diode output
  498. var bba = {13,14,15,16}
  499. var bbb = {bba}
  500. var bbc = {bba}
  501. var bbd = {bba}
  502. #any XOR diode output
  503. var bbax = {21,22,23,24}
  504. var bbbx = {bbax}
  505. var bbcx = {bbax}
  506. var bbdx = {bbax}
  507. #any invertor output
  508. var cca = {17,18,19,20}
  509. var ccb = {cca}
  510. var ccc = {cca}
  511. var ccd = {cca}
  512. #any diode input
  513. var bbia = {5,6,7,8}
  514. var bbib = {bbia}
  515. var bbic = {bbia}
  516. var bbid = {bbia}
  517. #any invertor input
  518. var ccia = {9,10,11,12}
  519. var ccib = {ccia}
  520. var ccic = {ccia}
  521. var ccid = {ccia}
  522. #anything that is not an on/head output (anything but 14,15,18,19,22,23,26,27) [inverse of eea]
  523. var qa = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,20,21,24,25,28,29,30,31,32}
  524. var qb = {qa}
  525. var qc = {qa}
  526. var qd = {qa}
  527. #anything that is not an output and also not any wire
  528. var qqwa = {0,5,6,7,8,9,10,11,12,29,30,31,32}
  529. var qqwb = {qqwa}
  530. var qqwc = {qqwa}
  531. var qqwd = {qqwa}
  532. #anything that is not an on/head input
  533. var qqa = {0,1,2,3,4,5,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}
  534. var qqb = {qqa}
  535. var qqc = {qqa}
  536. var qqd = {qqa}
  537. #any substrate state
  538. var sa = {29,30,31,32}
  539. var sb = {sa}
  540. var sc = {sa}
  541. var sd = {sa}
  542. #substrate on or head
  543. var aaa = {30,31}
  544. var aab = {aaa}
  545. var aac = {aaa}
  546. var aad = {aaa}
  547. #any input on
  548. var ioa = {7,11}
  549. var iob = {ioa}
  550. var ioc = {ioa}
  551. var iod = {ioa}
  552.  
  553. #### The actual rules ##########################################################
  554.  
  555. #Important note: The order of the rules is of importance here: if a rule higher in the list applies, it overrides lower rules. Golly does this, possible other programs not.
  556.  
  557. #output to wires. The one for turning on is first. Any head overrules any amount of tails. Any active diode/invertor output overrules tails too. Thanks to that, the 2- and 3-input OR and AND gates can be made.
  558. wa,ea,xa,xb,xc,2 #wire touching any output head become head
  559. 4,eea,xa,xb,xc,2 #wire tail touching on input becomes head instead. This allows long minecraft-style gates to work correctly (if flaky)
  560. wa,ca,qa,qb,qc,4 #wire touching diode/invertor/counter output tail but not any diode/invertor/counter output head/on becomes tail
  561.  
  562. #regular wire states (1 is off, 2 is head, 3 is on, 4 is tail)
  563. 3,4,xa,xb,xc,4 #on touching tail becomes off
  564. 1,2,xa,xb,xc,2 #off touching head becomes head
  565. 2,4,ma,mb,mc,4 #head touching tail and no wire/output head/on becomes tail
  566. 2,xa,xb,xc,xd,3 #otherwise, head becomes on
  567. 4,2,na,nb,nc,2 #tail touching head and no wire/output tail/off becomes head
  568. 4,xa,xb,xc,xd,1 #otherwise, tail becomes off
  569.  
  570. #input to substrate
  571. sa,esa,xa,xb,xc,30 #substrate touching any input head become head
  572. 32,ioa,xa,xb,xc,30 #substrate tail touching any on input gets converted into a head instead. That makes multiple outputs on even a long section of substrate act as OR (though flaky, requires settle time). It IS tail for one tick though, so can toggle a counter at this point (it can become tail if a neighboring substrate becomes tail)!
  573. sa,csa,qqa,qqb,qqc,32 #substrate touching input tail but not any input head/on becomes tail
  574.  
  575. #regular substrate states (29 is off, 30 is head, 31 is on, 32 is tail)
  576. 31,32,xa,xb,xc,32 #on touching tail becomes off
  577. 29,30,xa,xb,xc,30 #off touching head becomes head
  578. 30,32,msa,msb,msc,32 #head touching tail and no substrate/input head/on becomes tail
  579. 30,xa,xb,xc,xd,31 #otherwise, head becomes on
  580. 32,30,nsa,nsb,nsc,30 #tail touching head and no substrate/input tail/off becomes head
  581. 32,xa,xb,xc,xd,29 #otherwise, tail becomes off
  582.  
  583. #unconnected diode and invertor inputs serve as constant input of substrate tails or heads
  584. bbia,qqwa,qqwb,qqwc,qqwd,8 #diode input touching no wire/output goes to tail state
  585. ccia,qqwa,qqwb,qqwc,qqwd,10 #invertor input touching no wire/output goes to head state
  586.  
  587. #diode input (5 is off, 6 is head, 7 is on, 8 is tail). Acts as xor.
  588. 5,oa,zb,zc,zd,6 #off and odd number of on inputs ==> head
  589. 5,oa,ob,oc,zd,6 #off and odd number of on inputs ==> head
  590. 6,oa,zb,zc,zd,7 #head and odd number of on inputs ==> on
  591. 6,oa,ob,oc,zd,7 #head and odd number of on inputs ==> on
  592. 6,ooa,zb,zc,zd,8 #head and even number of on inputs ==> tail
  593. 6,oa,ob,zc,zd,8 #head and even number of on inputs ==> tail
  594. 6,oa,ob,oc,od,8 #head and even number of on inputs ==> tail
  595. 7,ooa,zb,zc,zd,8 #on and even number of on inputs ==> tail
  596. 7,oa,ob,zc,zd,8 #on and even number of on inputs ==> tail
  597. 7,oa,ob,oc,od,8 #on and even number of on inputs ==> tail
  598. 8,ooa,zb,zc,zd,5 #tail and even number of on inputs ==> off
  599. 8,oa,ob,zc,zd,5 #tail and even number of on inputs ==> off
  600. 8,oa,ob,oc,od,5 #tail and even number of on inputs ==> off
  601. 8,oa,zb,zc,zd,6 #tail and odd number of on inputs ==> head
  602. 8,oa,ob,oc,zd,6 #tail and odd number of on inputs ==> head
  603.  
  604. #invertor input (9 is off, 10 is head, 11 is on, 12 is tail). Acts as xor.
  605. 9,ooa,zb,zc,zd,10 #off and even number of on inputs ==> head
  606. 9,oa,ob,zc,zd,10 #off and even number of on inputs ==> head
  607. 9,oa,ob,oc,od,10 #off and even number of on inputs ==> head
  608. 10,ooa,zb,zc,zd,11 #head and even number of on inputs ==> on
  609. 10,oa,ob,zc,zd,11 #head and even number of on inputs ==> on
  610. 10,oa,ob,oc,od,11 #head and even number of on inputs ==> on
  611. 10,oa,zb,zc,zd,12 #head and odd number of on inputs ==> tail
  612. 10,oa,ob,oc,zd,12 #head and odd number of on inputs ==> tail
  613. 11,oa,zb,zc,zd,12 #on and odd number of on inputs ==> tail
  614. 11,oa,ob,oc,zd,12 #on and odd number of on inputs ==> tail
  615. 12,oa,zb,zc,zd,9 #tail and odd number of on inputs ==> off
  616. 12,oa,ob,oc,zd,9 #tail and odd number of on inputs ==> off
  617. 12,ooa,zb,zc,zd,10 #tail and even number of on inputs ==> head
  618. 12,oa,ob,zc,zd,10 #tail and even number of on inputs ==> head
  619. 12,oa,ob,oc,od,10 #tail and even number of on inputs ==> head
  620.  
  621. #unconnected diode and invertor outputs serve as constant input of tails or heads ==> put a '12' next to a wire. Then you can in golly easily toggle this to high or low by toggling a '14' next to that wire (on another cell touching the same wire cell)
  622. bba,naa,nab,nac,nad,16 #diode output touching no inputs/substrate goes to tail state
  623. cca,naa,nab,nac,nad,18 #invertor output touching no inputs/substrate goes to head state
  624.  
  625. #xor output that touches at least some wire (21 is off, 22 is head, 23 is on, 24 is tail, aa-ad is diode input on, bna-bnd is NOT diode input on). Acts as xor.
  626. 21,aa,wa,bnc,bnd,22 #off and odd number of on inputs ==> head
  627. 21,aa,ab,ac,wa,22 #off and odd number of on inputs ==> head
  628. 22,aa,wa,bnc,bnd,23 #head and odd number of on inputs ==> on
  629. 22,aa,ab,ac,wa,23 #head and odd number of on inputs ==> on
  630. 22,wa,bnb,bnc,bnd,24 #head and even number of on inputs ==> tail
  631. 22,aa,ab,wa,bnd,24 #head and even number of on inputs ==> tail
  632. 22,aa,ab,ac,ad,24 #head and even number of on inputs ==> tail
  633. 23,wa,bnb,bnc,bnd,24 #on and even number of on inputs ==> tail
  634. 23,aa,ab,wa,bnd,24 #on and even number of on inputs ==> tail
  635. 23,aa,ab,ac,ad,24 #on and even number of on inputs ==> tail
  636. 24,wa,bnb,bnc,bnd,21 #tail and even number of on inputs ==> off
  637. 24,aa,ab,wa,bnd,21 #tail and even number of on inputs ==> off
  638. 24,aa,ab,ac,ad,21 #tail and even number of on inputs ==> off
  639. 24,aa,bnb,wa,bnd,22 #tail and odd number of on inputs ==> head
  640. 24,aa,ab,ac,wa,22 #tail and odd number of on inputs ==> head
  641.  
  642. #diode output that touches at least some wire (13 is off, 14 is head, 15 is on, 16 is tail, aa-ad is diode input on, bna-bnd is NOT diode input on). Acts as or.
  643. 13,aa,wa,xc,xd,14 #off and some number of on inputs ==> head
  644. 14,aa,wa,xc,xd,15 #head and some number of on inputs ==> on
  645. 14,wa,bnb,bnc,bnd,16 #head and no on inputs ==> tail
  646. 15,wa,bnb,bnc,bnd,16 #on and no on inputs ==> tail
  647. 16,wa,bnb,bnc,bnd,13 #tail and no on inputs ==> off
  648. 16,aa,xb,wa,xc,14 #tail and some on inputs ==> head
  649.  
  650. #invertor output that touches at least some wire (17 is off, 18 is head, 19 is on, 20 is tail, aa-ad is diode input on, bna-bnd is NOT diode input on). Acts as nor.
  651. 17,wa,bnb,bnc,bnd,18 #off and no on inputs ==> head
  652. 18,wa,bnb,bnc,bnd,19 #head and no on inputs ==> on
  653. 18,aa,wa,xc,xd,20 #head and some on inputs ==> tail
  654. 19,aa,wa,xc,xd,20 #on and some on inputs ==> tail
  655. 20,aa,wa,xc,xd,17 #tail and some on inputs ==> off
  656. 20,wa,bnb,bnc,bnd,18 #tail and no on inputs ==> head
  657.  
  658. #counter that touches at least some wire (note: counter ANDs its inputs)
  659. 25,essa,wa,kc,kd,26 #input heads w/o off/tail ==> flip state from off to head
  660. 28,essa,wa,kc,kd,26 #input heads w/o off/tail ==> flip state from tail to head
  661. 26,essa,wa,kc,kd,28 #input heads w/o off/tail ==> flip state from head to tail
  662. 27,essa,wa,kc,kd,28 #input heads w/o off/tail ==> flip state from on to tail
  663.  
  664. #otherwise, counter tail/head flips to off/on state
  665. 26,xa,xb,xc,xd,27 #if none of the above, then head becomes on
  666. 28,xa,xb,xc,xd,25 #if none of the above, then tail becomes off
  667.  
  668. #become head in inconsistent on-touching-off state
  669. 1,3,xa,xb,xc,2 #off wire touching an on wire: this is inconsistent state. To avoid requiring some of the required "warmup" of a circuit, become head.
  670. 29,31,xa,xb,xc,30 #idem for substrate
  671.  
  672.  
  673. ################################################################################
  674. ################################################################################
  675. ################################################################################
  676. ################################################################################
  677.  
  678. @COLORS
  679.  
  680. #background: black
  681. 0 0 0 0
  682. #wire: grey/white
  683. 1 128 128 128
  684. 2 192 192 192
  685. 3 255 255 255
  686. 4 96 96 96
  687. #diode input: blue
  688. 5 0 0 192
  689. 6 0 0 255
  690. 7 128 128 255
  691. 8 0 0 128
  692. #invertor input: orange
  693. 9 160 96 0
  694. 10 255 160 0
  695. 11 255 192 128
  696. 12 128 80 0
  697. #diode output: green
  698. 13 0 192 0
  699. 14 0 255 0
  700. 15 128 255 128
  701. 16 0 128 0
  702. #invertor output: red
  703. 17 128 0 0
  704. 18 255 0 0
  705. 19 255 128 128
  706. 20 96 0 0
  707. #xor output: yellow
  708. 21 160 160 0
  709. 22 192 192 0
  710. 23 255 255 0
  711. 24 140 140 0
  712. #counter output: magenta
  713. 25 192 0 192
  714. 26 255 0 255
  715. 27 255 128 255
  716. 28 128 0 128
  717. #substrate: cyan
  718. 29 0 160 160
  719. 30 0 192 192
  720. 31 0 255 255
  721. 32 0 128 128
  722.  
  723. @ICONS
  724.  
  725. XPM
  726. "7 224 2 1",
  727. " c #FFFFFF",
  728. ". c #000000",
  729. " ",
  730. " ",
  731. " ",
  732. " ",
  733. " ",
  734. " ",
  735. " ",
  736. " ",
  737. " ",
  738. " ",
  739. " ",
  740. " ",
  741. " ",
  742. " ",
  743. " ",
  744. " ",
  745. " ",
  746. " ",
  747. " ",
  748. " ",
  749. " ",
  750. " ",
  751. " ",
  752. " ",
  753. " ",
  754. " ",
  755. " ",
  756. " ",
  757. ".. ..",
  758. " ..... ",
  759. " ",
  760. " ",
  761. ". .",
  762. ".......",
  763. ".......",
  764. ".. ..",
  765. " ..... ",
  766. " ",
  767. " ",
  768. ". .",
  769. ".......",
  770. ".......",
  771. ".. ..",
  772. " ..... ",
  773. " ",
  774. " ",
  775. ". .",
  776. ".......",
  777. ".......",
  778. ".. ..",
  779. " ..... ",
  780. " ",
  781. " ",
  782. ". .",
  783. ".......",
  784. ".......",
  785. ".. ..",
  786. " ..... ",
  787. " ",
  788. " ",
  789. ". .",
  790. ".......",
  791. "... ...",
  792. ".. ..",
  793. " ..... ",
  794. " ",
  795. " ",
  796. ". .",
  797. ".......",
  798. "... ...",
  799. ".. ..",
  800. " ..... ",
  801. " ",
  802. " ",
  803. ". .",
  804. ".......",
  805. "... ...",
  806. ".. ..",
  807. " ..... ",
  808. " ",
  809. " ",
  810. ". .",
  811. ".......",
  812. "... ...",
  813. ".......",
  814. ".......",
  815. ". .",
  816. " ",
  817. " ",
  818. " ..... ",
  819. ".......",
  820. ".......",
  821. ".......",
  822. ". .",
  823. " ",
  824. " ",
  825. " ..... ",
  826. ".......",
  827. ".......",
  828. ".......",
  829. ". .",
  830. " ",
  831. " ",
  832. " ..... ",
  833. ".......",
  834. ".......",
  835. ".......",
  836. ". .",
  837. " ",
  838. " ",
  839. " ..... ",
  840. ".......",
  841. "... ...",
  842. ".......",
  843. ". .",
  844. " ",
  845. " ",
  846. " ..... ",
  847. ".......",
  848. "... ...",
  849. ".......",
  850. ". .",
  851. " ",
  852. " ",
  853. " ..... ",
  854. ".......",
  855. "... ...",
  856. ".......",
  857. ". .",
  858. " ",
  859. " ",
  860. " ..... ",
  861. ".......",
  862. "... ...",
  863. ".......",
  864. ". .",
  865. " ",
  866. " ",
  867. " ..... ",
  868. ".......",
  869. ".......",
  870. ".......",
  871. ". .",
  872. " ",
  873. " ",
  874. " ..... ",
  875. ".. ..",
  876. ".......",
  877. ".......",
  878. ". .",
  879. " ",
  880. " ",
  881. " ..... ",
  882. ".. ..",
  883. ".......",
  884. ".......",
  885. ". .",
  886. " ",
  887. " ",
  888. " ..... ",
  889. ".. ..",
  890. ".......",
  891. ".......",
  892. ". .",
  893. " ",
  894. " ",
  895. " ..... ",
  896. ".. ..",
  897. ".......",
  898. ". .",
  899. " .. ",
  900. " . ",
  901. " .. ",
  902. " ",
  903. ".......",
  904. ".......",
  905. ". .",
  906. " .. ",
  907. " . ",
  908. " .. ",
  909. " ",
  910. ".......",
  911. ".......",
  912. ". .",
  913. " .. ",
  914. " . ",
  915. " .. ",
  916. " ",
  917. ".......",
  918. ".......",
  919. ". .",
  920. " .. ",
  921. " . ",
  922. " .. ",
  923. " ",
  924. ".......",
  925. ". .",
  926. " ",
  927. " ",
  928. " ",
  929. " ",
  930. " ",
  931. ". .",
  932. ". .",
  933. " ",
  934. " ",
  935. " ",
  936. " ",
  937. " ",
  938. ". .",
  939. ". .",
  940. " ",
  941. " ",
  942. " ",
  943. " ",
  944. " ",
  945. ". .",
  946. ". .",
  947. " ",
  948. " ",
  949. " ",
  950. " ",
  951. " ",
  952. ". ."};
  953.  
  954. XPM
  955.  
  956. "15 480 2 1",
  957. " c #FFFFFF",
  958. ". c #000000",
  959. " ",
  960. " ",
  961. " ",
  962. " ",
  963. " ",
  964. " ",
  965. " ",
  966. " ",
  967. " ",
  968. " ",
  969. " ",
  970. " ",
  971. " ",
  972. " ",
  973. " ",
  974. " ",
  975. " ",
  976. " ",
  977. " ",
  978. " ",
  979. " ",
  980. " ",
  981. " ",
  982. " ",
  983. " ",
  984. " ",
  985. " ",
  986. " ",
  987. " ",
  988. " ",
  989. " ",
  990. " ",
  991. " ",
  992. " ",
  993. " ",
  994. " ",
  995. " ",
  996. " ",
  997. " ",
  998. " ",
  999. " ",
  1000. " ",
  1001. " ",
  1002. " ",
  1003. " ",
  1004. " ",
  1005. " ",
  1006. " ",
  1007. " ",
  1008. " ",
  1009. " ",
  1010. " ",
  1011. " ",
  1012. " ",
  1013. " ",
  1014. " ",
  1015. " ",
  1016. " ",
  1017. " ",
  1018. " ",
  1019. "...............",
  1020. ". ........... .",
  1021. ".. ......... ..",
  1022. ". . . .",
  1023. ". ......... .",
  1024. ". .",
  1025. ". .",
  1026. ". .",
  1027. ". .",
  1028. ".. ..",
  1029. "... ...",
  1030. "...............",
  1031. "...............",
  1032. "...............",
  1033. "...............",
  1034. "...............",
  1035. ". ........... .",
  1036. ".. ......... ..",
  1037. ". . . .",
  1038. ". ......... .",
  1039. ". .",
  1040. ". .",
  1041. ". .",
  1042. ". .",
  1043. ".. ..",
  1044. "... ...",
  1045. "...............",
  1046. "...............",
  1047. "...............",
  1048. "...............",
  1049. "...............",
  1050. ". ........... .",
  1051. ".. ......... ..",
  1052. ". . . .",
  1053. ". ......... .",
  1054. ". .",
  1055. ". .",
  1056. ". .",
  1057. ". .",
  1058. ".. ..",
  1059. "... ...",
  1060. "...............",
  1061. "...............",
  1062. "...............",
  1063. "...............",
  1064. "...............",
  1065. ". ........... .",
  1066. ".. ......... ..",
  1067. ". . . .",
  1068. ". ......... .",
  1069. ". .",
  1070. ". .",
  1071. ". .",
  1072. ". .",
  1073. ".. ..",
  1074. "... ...",
  1075. "...............",
  1076. "...............",
  1077. "...............",
  1078. "...............",
  1079. "...............",
  1080. ". ........... .",
  1081. ".. ......... ..",
  1082. ". . . .",
  1083. ". ......... .",
  1084. ". .",
  1085. ". .",
  1086. ". .",
  1087. ". .",
  1088. ".. ..",
  1089. "... ...",
  1090. "....... .......",
  1091. "...... . ......",
  1092. "....... .......",
  1093. "...............",
  1094. "...............",
  1095. ". ........... .",
  1096. ".. ......... ..",
  1097. ". . . .",
  1098. ". ......... .",
  1099. ". .",
  1100. ". .",
  1101. ". .",
  1102. ". .",
  1103. ".. ..",
  1104. "... ...",
  1105. "....... .......",
  1106. "...... . ......",
  1107. "....... .......",
  1108. "...............",
  1109. "...............",
  1110. ". ........... .",
  1111. ".. ......... ..",
  1112. ". . . .",
  1113. ". ......... .",
  1114. ". .",
  1115. ". .",
  1116. ". .",
  1117. ". .",
  1118. ".. ..",
  1119. "... ...",
  1120. "....... .......",
  1121. "...... . ......",
  1122. "....... .......",
  1123. "...............",
  1124. "...............",
  1125. ". ........... .",
  1126. ".. ......... ..",
  1127. ". . . .",
  1128. ". ......... .",
  1129. ". .",
  1130. ". .",
  1131. ". .",
  1132. ". .",
  1133. ".. ..",
  1134. "... ...",
  1135. "....... .......",
  1136. "...... . ......",
  1137. "....... .......",
  1138. "...............",
  1139. "...............",
  1140. "...............",
  1141. "...............",
  1142. "...............",
  1143. "... ...",
  1144. ".. ..",
  1145. ". .",
  1146. ". .",
  1147. ". .",
  1148. ". .",
  1149. ". ......... .",
  1150. ". ........... .",
  1151. "...............",
  1152. "...............",
  1153. "...............",
  1154. "...............",
  1155. "...............",
  1156. "...............",
  1157. "...............",
  1158. "... ...",
  1159. ".. ..",
  1160. ". .",
  1161. ". .",
  1162. ". .",
  1163. ". .",
  1164. ". ......... .",
  1165. ". ........... .",
  1166. "...............",
  1167. "...............",
  1168. "...............",
  1169. "...............",
  1170. "...............",
  1171. "...............",
  1172. "...............",
  1173. "... ...",
  1174. ".. ..",
  1175. ". .",
  1176. ". .",
  1177. ". .",
  1178. ". .",
  1179. ". ......... .",
  1180. ". ........... .",
  1181. "...............",
  1182. "...............",
  1183. "...............",
  1184. "...............",
  1185. "...............",
  1186. "...............",
  1187. "...............",
  1188. "... ...",
  1189. ".. ..",
  1190. ". .",
  1191. ". .",
  1192. ". .",
  1193. ". .",
  1194. ". ......... .",
  1195. ". ........... .",
  1196. "...............",
  1197. "...............",
  1198. "...............",
  1199. "...............",
  1200. "....... .......",
  1201. "...... . ......",
  1202. "....... .......",
  1203. "... ...",
  1204. ".. ..",
  1205. ". .",
  1206. ". .",
  1207. ". .",
  1208. ". .",
  1209. ". ......... .",
  1210. ". ........... .",
  1211. "...............",
  1212. "...............",
  1213. "...............",
  1214. "...............",
  1215. "....... .......",
  1216. "...... . ......",
  1217. "....... .......",
  1218. "... ...",
  1219. ".. ..",
  1220. ". .",
  1221. ". .",
  1222. ". .",
  1223. ". .",
  1224. ". ......... .",
  1225. ". ........... .",
  1226. "...............",
  1227. "...............",
  1228. "...............",
  1229. "...............",
  1230. "....... .......",
  1231. "...... . ......",
  1232. "....... .......",
  1233. "... ...",
  1234. ".. ..",
  1235. ". .",
  1236. ". .",
  1237. ". .",
  1238. ". .",
  1239. ". ......... .",
  1240. ". ........... .",
  1241. "...............",
  1242. "...............",
  1243. "...............",
  1244. "...............",
  1245. "....... .......",
  1246. "...... . ......",
  1247. "....... .......",
  1248. "... ...",
  1249. ".. ..",
  1250. ". .",
  1251. ". .",
  1252. ". .",
  1253. ". .",
  1254. ". ......... .",
  1255. ". ........... .",
  1256. "...............",
  1257. "...............",
  1258. "...............",
  1259. "...............",
  1260. "...............",
  1261. "...............",
  1262. "...............",
  1263. "... ...",
  1264. ".. ..",
  1265. ". .",
  1266. ". .",
  1267. ". .",
  1268. ". .",
  1269. ". ......... .",
  1270. ". . . .",
  1271. ".. ......... ..",
  1272. ". ........... .",
  1273. "...............",
  1274. "...............",
  1275. "...............",
  1276. "...............",
  1277. "...............",
  1278. "... ...",
  1279. ".. ..",
  1280. ". .",
  1281. ". .",
  1282. ". .",
  1283. ". .",
  1284. ". ......... .",
  1285. ". . . .",
  1286. ".. ......... ..",
  1287. ". ........... .",
  1288. "...............",
  1289. "...............",
  1290. "...............",
  1291. "...............",
  1292. "...............",
  1293. "... ...",
  1294. ".. ..",
  1295. ". .",
  1296. ". .",
  1297. ". .",
  1298. ". .",
  1299. ". ......... .",
  1300. ". . . .",
  1301. ".. ......... ..",
  1302. ". ........... .",
  1303. "...............",
  1304. "...............",
  1305. "...............",
  1306. "...............",
  1307. "...............",
  1308. "... ...",
  1309. ".. ..",
  1310. ". .",
  1311. ". .",
  1312. ". .",
  1313. ". .",
  1314. ". ......... .",
  1315. ". . . .",
  1316. ".. ......... ..",
  1317. ". ........... .",
  1318. "...............",
  1319. "...............",
  1320. "...............",
  1321. "...............",
  1322. "...............",
  1323. "... ...",
  1324. ".. ... ..",
  1325. ". . .",
  1326. ". . .",
  1327. ". . .",
  1328. ". . .",
  1329. ". ... .",
  1330. ". .",
  1331. "...............",
  1332. "...............",
  1333. "...............",
  1334. "...............",
  1335. "...............",
  1336. "...............",
  1337. "...............",
  1338. "... ...",
  1339. ".. ... ..",
  1340. ". . .",
  1341. ". . .",
  1342. ". . .",
  1343. ". . .",
  1344. ". ... .",
  1345. ". .",
  1346. "...............",
  1347. "...............",
  1348. "...............",
  1349. "...............",
  1350. "...............",
  1351. "...............",
  1352. "...............",
  1353. "... ...",
  1354. ".. ... ..",
  1355. ". . .",
  1356. ". . .",
  1357. ". . .",
  1358. ". . .",
  1359. ". ... .",
  1360. ". .",
  1361. "...............",
  1362. "...............",
  1363. "...............",
  1364. "...............",
  1365. "...............",
  1366. "...............",
  1367. "...............",
  1368. "... ...",
  1369. ".. ... ..",
  1370. ". . .",
  1371. ". . .",
  1372. ". . .",
  1373. ". . .",
  1374. ". ... .",
  1375. ". .",
  1376. "...............",
  1377. "...............",
  1378. "...............",
  1379. ".. ..",
  1380. ". .",
  1381. " ",
  1382. " ",
  1383. " ",
  1384. " ",
  1385. " ",
  1386. " ",
  1387. " ",
  1388. " ",
  1389. " ",
  1390. " ",
  1391. " ",
  1392. ". .",
  1393. ".. ..",
  1394. ".. ..",
  1395. ". .",
  1396. " ",
  1397. " ",
  1398. " ",
  1399. " ",
  1400. " ",
  1401. " ",
  1402. " ",
  1403. " ",
  1404. " ",
  1405. " ",
  1406. " ",
  1407. ". .",
  1408. ".. ..",
  1409. ".. ..",
  1410. ". .",
  1411. " ",
  1412. " ",
  1413. " ",
  1414. " ",
  1415. " ",
  1416. " ",
  1417. " ",
  1418. " ",
  1419. " ",
  1420. " ",
  1421. " ",
  1422. ". .",
  1423. ".. ..",
  1424. ".. ..",
  1425. ". .",
  1426. " ",
  1427. " ",
  1428. " ",
  1429. " ",
  1430. " ",
  1431. " ",
  1432. " ",
  1433. " ",
  1434. " ",
  1435. " ",
  1436. " ",
  1437. ". .",
  1438. ".. .."};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement